Pourquoi les systèmes d'exploitation basés sur Linux sont-ils considérés plus sûrs que Windows? [fermé]


19

J'ai entendu dire que les systèmes basés sur Linux sont meilleurs pour la sécurité. Apparemment, ils n'ont pas de virus et n'ont pas besoin d'un logiciel antivirus. Même mon université le prétend - ils refusent d'avoir Windows sur leurs serveurs, ce qui est vraiment dommage car nous voulions utiliser le framework .NET pour créer certains sites Web.

La seule raison pour laquelle je peux voir que Linux est plus sûr est qu'il est open-source, donc les bugs seraient théoriquement détectés et corrigés plus tôt.

Je connais un peu le fonctionnement des systèmes d'exploitation, mais je n'ai pas vraiment exploré comment Linux et Windows implémentent leur système d'exploitation. Quelqu'un peut-il expliquer la différence qui rend les systèmes basés sur Linux plus sûrs?


5
Je ne réponds pas exactement à votre question, mais je veux défendre un peu le choix de votre école. Mon école exploite à la fois un système Windows et un système Linux qui (tentent de) partager un système de fichiers commun. Mais en pratique, cela peut être coûteux car les fenêtres et les domaines Unix du réseau ne s'entendent vraiment pas, malheureusement. Étant donné que nous voyons que les utilisateurs de Windows ont besoin d'utiliser un composant open source plus que l'inverse (désolé pour .net), alors c'est un choix respectable qu'ils ne prennent en charge Linux que sur le matériel de base comme les serveurs. Linux prend en charge les services les plus cruciaux aujourd'hui
Notmyfault

merci pour votre réponse - et aux autres intervenants aussi, cela m'a certainement aidé à clarifier les choses. Pour mémoire, j'étais plus sceptique que fâché contre les prétentions de mon université.
echoblaze

Réponses:


55

Je ne pense pas qu'un système d'exploitation soit "sécurisé". Une configuration particulière d'un système d'exploitation a un degré particulier de résistance aux attaques.

Je vais probablement être critiqué pour être un "apologiste Microsoft" ici, mais ce fil est très orienté vers des généralisations sur "Windows" qui ne sont pas vraies.

Windows 1.0 - 3.11, 95, 98 et ME sont basés sur DOS. Cette lignée de systèmes d'exploitation n'avait aucune sécurité au sens formel (espaces d'adressage protégés, séparation noyau / mode utilisateur, etc.). Heureusement, lorsque nous parlons de «Windows» aujourd'hui, nous ne parlons pas de ces systèmes d'exploitation.

La famille de systèmes d'exploitation Windows NT (Windows NT 3.5, 3.51, 4.0, 2000, XP, 2003, Vista, 2008 et 7) dispose d'un système de sécurité très «conçu» depuis la version initiale de 1992. Le système d'exploitation était conçu avec le TCSEC "Orange Book" à l'esprit et, bien qu'il ne soit pas parfait, je pense qu'il est raisonnablement bien conçu et mis en œuvre.

  • Windows NT était "multi-utilisateur" depuis le début (bien que la fonctionnalité de plusieurs utilisateurs recevant une interface utilisateur graphique simultanément à partir du même serveur ne se soit pas produite avant Citrix WinFrame à l'époque de Windows NT 3.51). Il existe une séparation du mode noyau / utilisateur, la protection de l'espace d'adressage reposant sur les fonctions matérielles sous-jacentes de la MMU et du CPU. (Je dirais que c'est très "Unix-y", mais en fait c'est très "VMS-y".)

  • Le modèle d'autorisation du système de fichiers dans NTFS est assez "riche" et, bien qu'il comporte des verrues relatives à "l'héritage" (ou à son absence - voir Comment contourner la faille de conception de déplacement / copie NTFS? ), Cela ne s'est produit que au cours des 10 dernières années environ, les systèmes d'exploitation de style Unix ont implémenté des fonctionnalités similaires. (Novell NetWare a battu Microsoft au coup de poing sur celui-ci, même si je pense que MULTICS les a tous deux battus ...> sourire <)

  • Le gestionnaire de contrôle des services, y compris le système d'autorisation pour contrôler l'accès aux programmes de service de démarrage / arrêt / pause, est très bien conçu et est beaucoup plus robuste dans la conception que les différentes architectures de script "init.d" "(plus comme" gentleman's agreement " ") dans de nombreuses distributions Linux.

  • Le gestionnaire d'objets exécutif (voir http://en.wikipedia.org/wiki/Object_Manager_(Windows) ), qui est vaguement analogue au système de fichiers / proc et au système de fichiers / dev combinés, a un modèle ACL qui est similaire au système de fichiers et beaucoup plus riche que tout modèle d'autorisation que je connais pour / proc ou / dev sur n'importe quelle distribution Linux.

  • Bien que nous puissions débattre des avantages et des inconvénients du registre, le modèle d'autorisation pour les clés du registre est beaucoup plus précis que le modèle de définition des autorisations sur les fichiers du répertoire / etc. (J'aime particulièrement les commentaires de Rob Short sur le registre dans son interview "Behind the Code":http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution Rob était initialement l'une des principales personnes derrière le registre Windows, et je pense qu'il est sûr de dire qu'il ne l'est pas nécessairement heureux avec la tournure des choses.)

Linux lui-même n'est qu'un noyau, tandis que Windows est plus analogue à une distribution Linux. Vous comparez des pommes et des oranges pour les comparer comme ça. Je conviens que Windows est plus difficile à "démanteler" que certains systèmes basés sur Linux. Certaines distributions Linux, d'autre part, sont également livrées avec beaucoup de "merde". Avec l'avènement des différentes saveurs "intégrées" de Windows, il est possible (mais pas pour le grand public) de créer des "distributions" de Windows qui diffèrent dans leur comportement des valeurs par défaut de Microsoft (à l'exclusion de divers services, modification des autorisations par défaut, etc.) .

Les différentes versions de Windows ont eu leur part de valeurs par défaut mal choisies, des bogues qui permettaient aux utilisateurs non autorisés d'obtenir des privilèges, des attaques par déni de service, etc. Les noyaux Unix (et de nombreuses applications basées sur Unix fonctionnant par défaut en tant que root) ont eu le mêmes problèmes. Microsoft a fait un travail incroyable, depuis Windows 2000, pour faciliter la compartimentation des applications, exécuter des programmes avec le moins de privilèges et supprimer les fonctionnalités inutiles du système d'exploitation.

En bref, je suppose que ce que je dis, c'est que la configuration spécifique d'un système d'exploitation donné pour vos besoins, en matière de sécurité, importe plus que le type de système d'exploitation que vous utilisez. Les distributions Windows et Linux ont des capacités très similaires en ce qui concerne les fonctionnalités de sécurité. Vous pouvez appliquer des techniques de sécurité solides (moindre privilège, installation limitée de composants facultatifs, mécanismes d'authentification sécurisés cryptographiquement, etc.) dans l'un ou l'autre système d'exploitation. Que vous le fassiez ou non, c'est ce qui compte.


pour quelqu'un comme moi qui n'a aucune idée de la façon dont les systèmes Windows et Linux ont été construits, votre message était incroyablement informatif
echoblaze

D'accord. Bons points.
Kyle Hodgson le

1
+1 - Je suis un utilisateur Linux à la maison et un professionnel de la sécurité principalement Windows au travail. La configuration importe beaucoup plus que le système d'exploitation seul, et vous devez certainement comparer les distributions Linux à Windows, et pas seulement «Linux» à la base du noyau.
romandas

3
slow clap +1
chickeninabiscuit

Une chose qui a vraiment nui au monde Windows pendant longtemps (même si c'est maintenant principalement de l'histoire) est que pendant très longtemps, vous deviez être administrateur local pour faire beaucoup de choses alors que dans le monde * nix, vous le feriez simplement être sudoer sur cette machine. Le problème était évidemment que tout ce qui était géré par un administrateur local sur la plupart des machines pouvait tout faire avec la machine. Cela aurait été une menace égale pour linux / unix s'il n'avait pas toujours été une pratique bien connue de ne pas être root mais de faire sudo / su en cas de besoin. Je suppose que ce n'était pas vraiment un problème Windows, mais un problème logiciel et avec UAC, il est principalement résolu.
Fredrik

16

Une autre chose qui n'est pas mentionnée est que la sécurité sous Windows est beaucoup plus opaque que sous Linux.

Par exemple, je peux regarder quelques fichiers texte et voir exactement ce que mon serveur Web exécute. IIS? Pas tellement - vous pouvez voir les résultats de la configuration via l'outil GUI, mais il y a des paramètres cachés. Ensuite, vous devez utiliser un ensemble d'outils différent pour examiner les ACL sur les fichiers, etc.

C'est la même chose avec la plupart des programmes dans le monde Windows - il est très difficile de comprendre rapidement ce qui affecte l'environnement d'exécution, entre le registre et les listes de contrôle d'accès.


11

Je ne sais pas à propos de cette comparaison d'autorisations de fichiers ... lorsque j'étais administrateur UNIX / Linux, NT4 avait des ACL de fichiers beaucoup plus granulaires que les autorisations de style '777' UNIX / Linux traditionnelles. Les autorisations ne sont pas tout, bien sûr, et je suis sûr que les distributions Linux modernes rendent au moins disponibles les ACL à grain fin, même si elles ne sont pas implémentées par défaut. À mon avis, les concepts sudo et root ont toujours existé sous UNIX, bien que Windows ait régulièrement ajouté ces concepts et soit probablement maintenant au pair.

Ma propre interprétation est que, puisque le code du noyau Linux, et bon nombre de ses pilotes et utilitaires, sont ouverts - il a probablement été examiné de manière beaucoup plus approfondie et corrigé beaucoup plus fréquemment pour les erreurs de codage qui peuvent conduire à des vulnérabilités à distance qu'un pirate peut exploiter. La théorie veut, dans ma tête de toute façon, que puisque Linux n'appartient pas à une entreprise, il peut explorer l'objectif de sécurité plus complètement qu'une entreprise. Les entreprises doivent gagner de l'argent; tandis que les groupes open source n'ont tout simplement pas cette restriction.

Il est beaucoup plus facile d'accéder à un système Linux et d'arrêter simplement tout le système de fenêtrage, les démons RPC, etc. - vous pouvez obtenir un système basé sur Linux ou BSD sur un ou deux ports ouverts avec un minimum de packages installés et toujours avoir un système très utile très facilement. Cela a probablement plus à voir avec l'héritage UNIX en tant que système d'exploitation d'un développeur; tout a été construit pour être modulaire, pas trop interconnecté. Cela conduit à un système beaucoup plus configurable où vous pouvez simplement supprimer les choses qui ne sont pas pertinentes. Je ne pense pas que ce soit aussi facile de durcir les serveurs Windows de cette façon.

Le groupe OpenBSD a poussé ce concept à l'extrême. Le principal objectif numéro un du programme est d'examiner chaque ligne de code pour détecter d'éventuelles failles de sécurité. La preuve est dans le pudding, un nombre incroyablement faible de vulnérabilités ont été trouvées pour OpenBSD au fil des ans en raison de cette attention presque fanatique (j'utilise le mot avec respect) aux détails.

Les entreprises, bien qu'elles créent de merveilleux logiciels (MSSQL, Exchange, Windows Server 2003 sont toutes merveilleuses dans mon livre), ont juste des objectifs différents.


5
Oui; Les ACL Windows sont plus fins que Linux / Unix sans ACL (bien que la plupart des versions modernes aient des options pour utiliser les ACL). La différence significative est que les gens ont tendance à être connectés à Windows en tant qu'administrateur - c'est toujours la configuration standard sur les ordinateurs portables XP fournis par l'entreprise - tandis que les gens sur Linux / Unix ne font pas la plupart des opérations en tant que root. Cela limite les dommages qui peuvent être causés sur Linux / Unix par rapport à Windows - par défaut. Si quelqu'un s'exécute en tant que root tout le temps, tous les paris sont désactivés (sauf qu'ils auront tôt ou tard un accident regrettable - et regretté).
Jonathan Leffler

"Il est tout à fait vrai que les concepts sudo et root ont toujours existé sous UNIX et ne viennent que pour Windows." Qu'est-ce que tu racontes? Windows NT n'est pas aussi ancien qu'Unix, mais Windows NT a une sécurité très «conçue» depuis sa sortie en 1992. Il est regrettable que beaucoup d'administrateurs Windows ne déploient pas d'utilisateurs avec des comptes «utilisateur limité» (comme ils auraient dû l'être depuis le début), mais cela ne devrait pas damner le système d'exploitation.
Evan Anderson

Du point de vue du serveur, d'accord. Mais un utilisateur Windows typique avait besoin d'un accès administratif pour avoir un environnement encore relativement confortable jusqu'à Vista. Je vois le "clic droit, exécuter en tant qu'administrateur" de Vista comme comparable à sudo.
Kyle Hodgson le

3
Je suis totalement en désaccord. J'ai supprimé des milliers de postes de travail depuis Windows NT 4.0 avec des comptes d'utilisateurs limités. "RunAs", qui est quelque peu analogue à "sudo", fait partie du système d'exploitation depuis Windows 2000 (le "clic droit, fonctionnalité Exécuter en tant que"). Je dirai que le contrôle des comptes d'utilisateurs est une fonctionnalité stupide et n'aurait pas dû être inclus dans le système d'exploitation. Microsoft a fait la mauvaise chose en le rendant "plus sûr" à fonctionner en tant qu '"Administrateur" au lieu de le rendre plus difficile et douloureux tout en encourageant les développeurs à travailler sur l'écriture de logiciels qui ne craignent pas (c'est-à-dire qu'ils nécessitent des droits "Administrateur").
Evan Anderson

2
Les utilisateurs de Vista sur les sites de mes clients ne voient jamais l'UAC car ils s'exécutent en tant que comptes d'utilisateurs limités. Vous ne verrez jamais UAC que si vous exécutez en tant qu '"Administrateur". Vous pouvez désactiver l'UAC avec la stratégie de groupe, mais vous ne devriez jamais en avoir besoin.
Evan Anderson

9

À mon avis, si les systèmes basés sur Linux sont suffisamment bien configurés, ils sont plus sûrs que les systèmes Windows. Certaines des raisons sont:

  1. Transparence et abondance d'outils réseau simples: Par exemple, il est très facile pour l'administrateur Linux de voir la configuration actuelle du pare-feu en tapant "iptables -L -n" sur le shell. Vous pouvez également voir quels ports sont ouverts sur la machine en exécutant "nmap" à partir d'une autre machine Linux. Cela rend la vie tellement plus facile que vous pouvez spécifier très précisément quels ports sont autorisés à être accessibles et à partir de quelles adresses, etc.

  2. Fichiers journaux de texte dans un emplacement: Les fichiers journaux basés sur du texte dans un emplacement "/ var / log" sont faciles à sauvegarder et à analyser. Des outils comme logwatch, qui peuvent surveiller ces fichiers journaux et vous envoyer des courriers électroniques importants, rendent les choses très faciles. Nous pouvons même écrire nos propres outils pour analyser les fichiers journaux et trouver les informations qui nous intéressent. Les journaux peuvent même être exportés vers un serveur syslog distant au cas où nous ne voudrions pas que les journaux soient présents sur le même serveur.

  3. Ne vous inquiétez pas des virus: si les virus sont moins nombreux sous Linux car il y a moins de systèmes basés sur Linux OU parce que tous les utilisateurs aiment Linux ou parce que Linux est plus sécurisé. La raison n'a pas d'importance. Si à la fin Linux a moins de menace virale, c'est une bonne chose à propos de Linux. J'ai personnellement vu des gens installer deux anti-virus, anti-spyware et anti-adware sur la même machine. Tous ces outils de protection consomment beaucoup de CPU et de mémoire.

  4. Prise en charge de nombreux langages de programmation: il est très facile de coder sous Linux. C, C ++, Python, Perl, Java, etc. fonctionnent simplement sans avoir besoin d'installer de paquet supplémentaire. (Ceci dans le cas où vous installez une grande distribution comme Fedora qui vient en DVD.) Cela ajoute à la sécurité car nous pouvons effectuer des tâches répétitives en codant. Donc, si vous vous trompez et qu'il y a un problème, ce serait avec tous les comptes et ce serait facile à détecter et à corriger. Si nous devions faire les mêmes modifications à un grand nombre de comptes / répertoires à la main, nous pourrions faire une erreur dans un ou deux et cela pourrait prendre beaucoup de temps pour trouver de telles erreurs. Nous pouvons également corriger les erreurs et rechercher des erreurs simples en utilisant du code. Étant donné que tous les fichiers de configuration, les fichiers d'informations utilisateur, les fichiers journaux, etc. sont en texte, il est très facile de coder tout ce que nous voulons réaliser et il existe de nombreuses façons de faire les mêmes choses.

  5. Code open source: Étant donné que de nombreuses personnes ont probablement vu le code, il est très rare que certains spywares / adwares fassent partie des applications fournies avec Linux. Vous pouvez également voir le code source si la sécurité est très importante pour certains services et voir comment cela fonctionne. Si vous savez exactement comment cela fonctionne, vous connaissez les limites et le moment où il se cassera. En fait, s'il existe des limitations de sécurité bien connues qui auraient été documentées dans les pages de manuel, le site Web du package et les commentaires dans les fichiers de configuration. Les développeurs n'ont rien à perdre à dire que si vous utilisez notre outil dans un tel scénario, c'est risqué. Il peut ne pas être lucratif pour les organisations qui vendent des logiciels d'indiquer les limitations des logiciels et cela rendrait leur logiciel mauvais et pourrait réduire les ventes / bénéfices.

  6. Gratuit et interopérabilité: bien que cela ne soit pas lié à la sécurité. Pour l'Université où les coûts sont importants, les systèmes basés sur Linux sont beaucoup plus économiques que les systèmes basés sur Windows et il n'est pas nécessaire d'acheter des licences pour le système d'exploitation, ainsi que pour des logiciels supplémentaires que nous installerions après l'installation du système d'exploitation. En ce qui concerne l'interopérabilité, nous pouvons nous connecter de machines Linux à d'autres systèmes d'exploitation et partager facilement des fichiers. Sous Linux, nous pouvons monter de nombreux systèmes de fichiers, notamment FAT, NTFS, HFSPLUS. Nous pouvons partager des choses en utilisant ftp, http, ssh, samba, nfs, etc. et toutes ces choses sont installées ou peuvent être installées avec une seule commande. Les autres systèmes d'exploitation ne fournissent généralement qu'une seule option de partage de choses.

Mais s'il n'est pas configuré correctement, les systèmes basés sur Linux peuvent causer plus de problèmes, alors on peut imaginer. De nombreux utilisateurs peuvent se connecter à la machine en même temps et faire presque tout simplement à partir du shell. Il est très facile de laisser des portes dérobées, des chevaux de Troie au cas où le pare-feu n'est pas configuré correctement. L'attaquant peut supprimer le fichier journal ou les altérer pour masquer ses traces. L'attaquant peut coder sur la machine attaquée car tous les éditeurs, compilateurs et débogueurs sont facilement disponibles une fois que l'attaquant a accès au shell. Tous les serveurs ftp, http, peuvent être exécutés à partir du compte utilisateur, mais pas sur des ports sécurisés (1-1024). L'attaquant peut donc télécharger le code du serveur http, le compiler et exécuter le serveur http sur le port 6000 pour le faire ressembler à X Server.

Les systèmes Linux sont donc plus sécurisés à condition que l'administrateur sache ce qu'il fait ou au moins se soucie de rechercher des informations dans les pages de manuel et la documentation avant d'effectuer de nouveaux changements.


6

La sécurité du serveur est bien plus que le système d'exploitation. Je dirais qu'un facteur plus important dans la sécurité du serveur est la personne qui exécute le serveur, et à quel point ils ont pris soin de verrouiller les choses.

Cela dit, si l'université est une boutique Linux, ils ne vous laisseront pas utiliser un serveur Windows, quelles que soient les données que vous trouverez sur la sécurité du serveur Windows. J'enquêterais en utilisant Mono (www.mono-project.com) si vous souhaitez utiliser le framework .Net.


6

La transparence

  • Exécutez ps auxfet vous savez quels services fonctionnent, sous quel compte.
  • Exécutez netstat -lnpet vous savez quels programmes ont quels ports TCP ouverts.
  • Exécutez iptables -Let vous savez quelles règles votre pare-feu a.
  • Exécutez straceou lsofpour inspecter l'activité du processus.
  • Exécutez ls -lahou tree -puget vous savez exactement quelle propriété et quelles autorisations possède un dossier complet.
  • Les journaux sont en place /var/loget peuvent être inspectés avec une simple "recherche dans les fichiers".
  • Pas de paramètres cachés. Tout est lisible par l'homme /etc. La recherche dans les fichiers texte, leur archivage ou l'application du contrôle de version (subversion / git) est vraiment facile.

Système d'autorisation clair

  • Dans la base, il n'y a que des autorisations de fichiers. Pas d '"autorisations sur les clés regex", d'autorisations ACL héritées, de contextes de sécurité par processus ou d'autres fonctionnalités cachées.
  • Les bits d'autorisation sont simples:
    • Écrire sur les fichiers = modifier le contenu des fichiers
    • Écrire sur des dossiers = créer / renommer / supprimer des nœuds de fichiers.
    • Sticky = éditer ses propres fichiers uniquement.
    • Les fichiers avec des autorisations d'exécution ou de setuid sont mis en évidence (en lsmode couleur).
  • Un simple "trouver tous les fichiers" révèle les autorisations dont dispose un utilisateur.
  • De plus, les ACL ne peuvent être utilisées que lorsque cela est nécessaire.
  • Les comptes d'utilisateurs n'ont que deux emplacements pour écrire des fichiers par défaut: leur $HOMEet /tmp.

Options de sécurité avancées

  • SELinux / AppArmor peut restreindre les processus pour accéder à un ensemble spécifique de fichiers uniquement (en plus des autorisations de fichiers)
  • Une prison Chroot permet aux administrateurs d'exécuter un programme complètement isolé du reste. Comme s'il était installé sur un disque dur vide, avec uniquement les fichiers dont il a vraiment besoin.
  • Avec sudo, les utilisateurs et les processus peuvent être autorisés à exécuter uniquement quelques commandes d'administration.

Points uniques pour l'entrée et l'élévation des privilèges

  • Un processus ne peut pas obtenir à lui seul plus de privilèges. La seule façon est d'exécuter un autre programme "SetUID Root", comme sudoou de contacter un service DBus qui vérifie PolicyKit en premier. Ces programmes SetUID peuvent être trouvés avec une seule commande "Rechercher tous les fichiers".
  • L'IPC entre les processus est assez restreint, ce qui réduit les vecteurs d'attaque.
  • L'accès au système (console texte, poste de travail distant, RPC, invocation de commande de suppression, etc.) se fait entièrement ssh. Il s'agit d'un tunnel SSL avec vérification des clés publiques / privées.

Processus d'arrière-plan sécurisés

  • Les services d'arrière-plan s'exécutent avec des privilèges inférieurs dès que possible. Des services comme Apache, Dovecot et Postfix transfèrent la connexion entrante à un processus à faibles privilèges dès que possible.
  • Verrouillé par défaut. Microsoft a également adopté cette approche dans Windows Server 2008.

De bons outils d'audit

  • Des outils comme nmap, ncatfacilitent l'audit de sécurité.
  • Les services d'arrière-plan peuvent être audités à partir de la ligne de commande.
  • Les outils d'audit des journaux sont courants.
  • Le codage d'un service sécurisé est plus facile car il peut être réalisé de manière modulaire.
  • Il existe de nombreux outils gratuits de détection d'intrusion disponibles.
  • Les outils de ligne de commande sont conçus pour être scriptables, afin que les administrateurs puissent automatiser les tâches.

Bonnes mises à jour de sécurité

  • Chaque partie du système d'exploitation reçoit des mises à jour de sécurité. Lorsque Apache, Python ou PHP sont installés via le gestionnaire de packages, ils obtiennent également des mises à jour.
  • Il y a beaucoup d'ouverture dans ce que corrige une mise à jour de sécurité, vous pouvez donc comprendre comment cela vous affecte.
  • Les packages logiciels partagent tous les mêmes bibliothèques. Ils n'envoient pas de copies séparées, laissant des versions exploitables.
  • Pas de mardis de patch, en attendant une solution lorsque les pirates exploitent déjà le bug dans la nature.
  • Les développeurs peuvent facilement tester les mises à jour de sécurité et les déployer.
  • Aucun redémarrage ne doit être planifié pour effectuer une mise à jour. Les fichiers peuvent être remplacés tandis que les processus existants continuent d'accéder aux anciennes données sur le disque. Ensuite, vous pouvez savoir quels services ont besoin d'un redémarrage ( lsof | grep =).
  • L'ensemble du système d'exploitation peut être mis à niveau sans réinstaller!

Tout ce qui est mentionné ici est fourni ou toutes les distributions Linux traditionnelles, à savoir Red Hat, Debian, openSUSE ou Ubuntu.


5

Linux a été conçu pour être un système multi-utilisateurs dès le début, il a donc un système d'autorisations beaucoup plus fort que Windows. Il a également été conçu pour ne pas fonctionner avec des droits d'administration (accès root), de sorte que tous les programmes sont conçus pour ne pas avoir besoin de ces droits. Cela signifie que si votre compte est compromis, tout le système ne l'est pas.

Une partie de cela vient probablement aussi du fait que les gens qui exécutent Linux sont (généralement parlant), plus techniques, et donc moins susceptibles de commettre les erreurs stupides qui mènent au piratage des ordinateurs.


2
Quelques différences entre les systèmes d'exploitation multi-utilisateurs et mono-utilisateurs: jdurrett.ba.ttu.edu/courseware/opsys/os01a.htm
moshen

7
OK, j'utilise Linux depuis plus de 12 ans et les systèmes d'exploitation de type UNIX depuis encore plus longtemps. Autant j'aime Linux, vous ne pouvez pas dire qu'il a un système d' autorisations plus fort que Windows. Il a un meilleur modèle de sécurité que les premières versions de Windows (c'est-à-dire qu'il n'est pas toujours administrateur), mais WinNT et les versions ultérieures ont un système d'autorisations puissant qui n'a tout simplement pas été utilisé à bon escient. Les versions récentes de Linux ont selinux, ce qui est encore plus fort, mais c'est un ajout relativement récent (bien que très puissant).
Eddie

5

«La sécurité, c'est le contrôle»

De mon point de vue, sous Windows, vous avez moins de contrôle que sous Linux. Renforcer Windows est ... plus difficile :). Bien que tout outil dépende des compétences du porteur, je considérerais ce qui suit:

  • Windows présente plus de vulnérabilités à haut risque et une exploitation plus automatique (virus, botnets)
  • Les administrateurs Windows sont (ou devraient être) paranoïaques (par peur des intrusions) et ont fait une sorte de durcissement
  • Les administrateurs système Linux font parfois trop confiance à la sécurité du système d'exploitation et oublient de renforcer
  • Une fois piraté, dans un système Linux, vous pouvez faire plus que dans un système Windows, car il existe des outils de commande plus puissants

Donc, bien que je préfère Linux à Windows, je pense que vous ne devriez pas faire confiance aux installations par défaut.


3

La plupart des articles précédents se sont concentrés sur l'intrusion, et un bon travail a été fait sur ce point, l'un des points de votre question concernait les virus. La plus grande raison pour laquelle les distributions Linux ont moins de problèmes avec les virus est qu'il y a plus de boîtes Windows que Linux et Mac réunis. Les auteurs de virus veulent en avoir pour leur argent, c'est pourquoi ils écrivent pour Windows.

Tous les systèmes sont capables d'intrusion et d'infection. Quiconque vous dit différent, que ce soit vos instructeurs ou autres, soit des imbéciles ont une propriété face à l'océan dans l'Utah pour vous vendre.


3

À en juger par les correctifs de sécurité sur TOUS les logiciels ces jours-ci, je pense que le problème n'est pas le logiciel, mais le nombre de bureaux exécutant Windows. Ceci est l'objectif, pour créer des botnets. Si Linux se développe vraiment dans l'espace de bureau, il sera également attaqué. Je pense que Mac OSX le voit déjà.


2

Il y a une raison très importante pour laquelle Linux et OpenBSD ont le potentiel d'être plus sécurisés que Windows. C'est la capacité du système d'exploitation à se pare-feu contre les attaques réseau.

Sous Windows, les paquets réseau entrants ont été exposés à des parties importantes du système d'exploitation bien avant qu'un pare-feu Windows ne puisse rejeter le paquet. Sur linux, en utilisant IPTables ou sur OpenBSD en utilisant PF, vous pouvez isoler les paquets escrocs beaucoup plus tôt dans le processus de l'OS recevant un nouveau paquet réseau - réduisant l'exposition.

Cependant, une fois que vous ouvrez un port et exécutez un service dessus - c'est-à-dire que vous rendez un ordinateur en réseau utile - vous n'êtes aussi sûr que le code qui exécute ce service.


2

Il n'y a pas de système d'exploitation plus sûr qu'un autre. Tout dépend de la connaissance des personnes qui administrent le système.

J'ai rencontré et travaillé avec des administrateurs * nix extrêmement talentueux au fil des ans et ils ont pu configurer un serveur * nix extrêmement sécurisé. Cependant, collez-les devant un hôte Windows et ils n'auraient aucune idée de comment verrouiller la machine. Il en va de même dans l'autre sens, je connais assez bien la sécurisation d'un hôte Windows, mais mettez-moi devant une boîte * nix et je n'aurais aucune idée de ce que je faisais.

Aucun des deux OS n'est plus ou moins sécurisé que les autres. Bien sûr, nous pourrions parler de l'histoire des plates-formes et l'utiliser pour débattre de celle qui a été la plus sécurisée au fil du temps, mais nous ne parlons pas des OS * nix d'il y a 10 ans et du déploiement de Windows NT 4 dans des environnements de production. . Nous parlons d'OS modernes (ou du moins nous devrions l'être) et lesquels peuvent être mieux sécurisés.

J'ai vu quelqu'un dire quelque chose dans une réponse à propos des paquets arrivant au pare-feu Windows touchant plus de parties du système d'exploitation que le pare-feu Linux. Par lui, devient qui diable fait confiance à un pare-feu logiciel fonctionnant sur l'hôte? C'est à cela que servent les pare-feu terminaux / frontaux. Pour protéger le réseau. L'hôte qui exécute un service a un service exposé. C'est le travail des hôtes de s'assurer que ce service ne soit pas compromis. C'est le travail des périphériques réseau devant lui pour empêcher d'autres paquets de passer d'Internet aux hôtes d'autres services.

Une fois le réseau correctement sécurisé, tout dépend de la sécurité de l'application exécutée sur l'hôte. Cette application a-t-elle des débordements de tampons qui peuvent être exploités? Existe-t-il des moyens au sein de l'application exposée pour accéder au système d'exploitation et obtenir en quelque sorte un niveau plus élevé d'autorisations? Sinon, c'est une application bien sécurisée. S'il y en a, vous avez un problème qui doit être exposé.

Si quelqu'un ne considère pas un autre système d'exploitation dans son centre de données, c'est un signe d'ignorance (vaut pour une boutique entièrement Linux, ainsi qu'une boutique tout Windows). Les deux OS ont leur utilité et doivent être utilisés comme tels. Ni l'un ni l'autre n'est meilleur ou pire que l'autre. (Et oui, nous avons quelques machines Linux dans notre environnement qui gèrent les services de production.)


1
Je ne serais pas d’avis que tout dépend de la connaissance des administrateurs. Si on vous demande de défendre un fort contre une attaque contre une tente, je pense que vous avez un petit avantage avec un fort. Si les deux comparés ici sont Linux et Windows, ils ont été conçus avec deux philosophies différentes pour gérer plusieurs utilisateurs et accéder simultanément au système. Alors que de bons administrateurs peuvent aider à corriger les lacunes, il existe toujours des avantages les uns par rapport aux autres comme point de départ.
Bart Silverstrim

1

Il n'est pas nécessaire de maudire votre université pour l'utilisation de serveurs Linux, pour vos besoins spécifiques comme l'a dit AdamB, utilisez Mono (www.mono-project.com). Habituellement, les professeurs intéressés par les systèmes d'exploitation préfèrent Linux, même tout amateur de systèmes d'exploitation préférerait Linux, pour de simples curiosités sur la façon dont les choses fonctionnent dans les livres.

  • En ce qui concerne la sécurité,

linux suit désormais le DAC (contrôle d'accès discrétionnaire), un système plus intelligent pour le contrôle d'accès. Comme mentionné dans d'autres réponses, oui, Linux était un moyen multi-utilisateur, et le système de contrôle d'accès était donc meilleur que les autres.

Mais la sécurité à laquelle vous faites référence ressemble à la sécurité du serveur, qui n'est pas tant un problème de système d'exploitation que l'ensemble des problèmes de serveur-réseau. où, je veux dire, listes de contrôle d'accès pare-feu, routeur, etc. Les mises à jour sont gratuites, à vie. son ouvert donc son testé beaucoup, ce qui est très important.

en dehors de la sécurité, la viabilité économique fait de linux la meilleure option pour les serveurs, où très peu, mais les applications sont supposées exécuter ou héberger des services. Et ces applications leur sont très bien portées. Par exemple - Apache.

Je pense que ce n'était pas seulement la sécurité, mais d'autres facteurs qui font que vous aimez la plupart des autres universités à opter pour Linux sur les serveurs.


1

Bien qu'il existe de nombreuses bonnes réponses ici, je veux également ajouter qu'il n'existe pas de système d'exploitation sécurisé.

On sait que si un humain a créé une plateforme «sécurisée», alors un autre humain peut trouver des trous dans cette plateforme avec le temps.

Je suis d'accord que les deux premières phrases d'Evan résument le mieux la sécurité du système d'exploitation:

Je ne pense pas qu'un système d'exploitation soit "sécurisé". Une configuration particulière d'un système d'exploitation a un degré particulier de résistance aux attaques.

Donc, peu importe si nous comparons GNU / Linux, les systèmes BSD (Free / Open / Net), Microsoft, Windows, Mac OSX, Symbian, PalmOS, Cisco IOS, AIX, QNX, Solaris, z / OS ou l'un des d'autres "systèmes d'exploitation" qui exécutent des choses comme votre téléviseur, lecteur MP3, four à micro-ondes, etc., etc.

Chacun d'eux a une partie de l'ensemble qui a la capacité d'être exploitée par un individu déterminé.

Pour cette raison, la plupart des fournisseurs ont des livres blancs sur la façon de configurer leurs systèmes pour une configuration aussi sécurisée que possible. Cela signifie utiliser d'autres technologies pour minimiser la surface.

par exemple:

  • NAT
  • proxy inverse
  • pare-feu

1
je mettrais toujours mon argent sur openbsd tous les jours pour "les moins susceptibles d'être vulnérables à distance".
Kyle Hodgson

Je ne mettrai pas mon argent contre le vôtre non plus! A moins que nous ne parlions de DOS <= 4 (pas de pilotes NDIS avant 5.5 je crois?)
Wayne

1

Le fait de la sécurité du système d'exploitation concernant les frameworks est un peu plus qu'un simple problème de type noyau. Individuellement, chacun des cadres a ses mécanismes de sécurité conformes. La spécification de compte multi-utilisateurs dans Microsoft Windows permet un peu plus de flexibilité en termes de déploiement de masse, mais avec Linux, vous avez la possibilité de contrôler jusqu'au pied - les tenants et aboutissants des autorisations et de la délégation.

Le niveau de sécurité de .NET Framework est principalement lié à votre stratégie de groupe, à vos paramètres de console PowerShell et Netsh. La raison en est la télémétrie du noyau à des paramètres d'accès de bas niveau avec des demandes d'accès dynamiques en mémoire. Les frameworks Linux nécessitent souvent un niveau d'attention similaire, mais cela concerne principalement les indicateurs que vous spécifiez lorsque vous configurez le langage. Linux, lorsqu'il est correctement configuré, s'avère plus sûr que la sécurité configurée par Microsoft Windows. Bien qu'à un niveau de configuration "décent"; les outils peuvent glisser directement dans votre IIS et plonger directement dans vos services en utilisant un GUID spécifique. Dans l'ensemble, Linux permet plus de contrôle d'aspect que

Points majeurs:

inodes and NTFS index primers and permissions in Windows (including registry) 
    are easier to sift through than an EXT hardnened Linux 

protocol traversal within Linux for exception handling are easier to find 
    than a solid configured Windows Firewall. 

cache indexes within ASP.NET are easier to violate than cache management    
    technologies which are well handled within GNU and C++ libraries
    they are practically built for parallel systems now. 

SQL parse queries, have been proven over and over again; MySQL is faster. 
    than MSSQL, though Oracle has been pushing the belt. Transactional 
    security is proven to be more secure on Windows, but for performance 
    and sheer flexibility shows that MySQL should be used or something 
    along the lines of a iSQL or NSQL (not SQLAB like Berkeley SQL which 
    MSSQL is based on) 

Gateway permissions, Linux has an amazing ability to fondle packets and tiny 
    little things that Windows can only put into sorting bins. This being 
    said, if you are running a Windows network, you have more network auditing 
    than a Linux network because the packages are easier to apply walls to 
    than DLL files and protocol requests. 

Surface layer GUI, .NET Framework offers strict field definitions; while Linux 
    allows intense PCRE and other Regular Expressions. 

Statuts du gouvernement:

OWASP proves over and over again that it is harder to crack a hardened Linux Server 
than it is to crack a hardened Windows Server. Why? Because the firewall and Group 
Policy does not allow as far a tuned key for aspects of the closed source framework 
within ASP.NET; Linux will let you choose a color for every letter on your command. 

NIST Shows over time that SQL management permissions are harder to parse with Windows 
while Linux PCRE makes it harder to bypass SQL queries whether it be within a GUI or 
a Web Interface. 

Carnagie Mellon shows that ASP.NET can hold higher regulations because it is built 
in a more module based context which employs the use of MVC frameworks and can potentially 
have a higher restriction. Meanwhile PHP and Java show that they are incredibly robust 
with their Obfuscation and encapsulation methodologies.

Opinions personnelles:

Chaque système d'exploitation a le potentiel d'être plus sécurisé que le reste de la boîte. Pris la comparaison brute des frameworks qui fonctionnent avec une sécurité plus élevée avec Linux ou Windows, je dois dire que l'essentiel de la sécurité Web utilise le framework le plus incompatible mais efficace. De cette façon, il devient beaucoup plus difficile de verrouiller les autorisations d'accès natives au disque dur et les poignées de bibliothèque. De cette façon, vous avez un peu un bol soudé sur le dessus de votre système d'exploitation. Comme Evan l'avait dit avec les autorisations NTFS et / proc ou / dev. Si vous utilisez quelque chose qui ne peut pas lui parler; c'est plus difficile à casser.

Ce que j'ai appris du développement web, c'est de ne jamais sous-estimer votre framework. .NET dispose d'autorisations pour créer des volumes montés partagés et des mécanismes de contrôle pour les clusters SQL Server; tandis qu'Apache Source peut faire la même chose avec les systèmes d'exploitation utilisant Linux. C'est une question assez décente, mais je dois dire que Linux permet plus de sécurité sur le contrôle d'aspect individuel et les restrictions et la surveillance multilingues; tandis que Windows a le pouvoir étendu d'auditer et de se connecter avec une interface de débogage logique de haut niveau. Les deux sont comparables, il se réduit finalement à "comment bien - le verrouillez-vous" et "combien de cloches et de sifflets y a-t-il?" dans le cadre. Apache a plus de boosts de sécurité supplémentaires;

À l'heure actuelle, comparant PHP sur Linux ou Windows, il est assez évident qu'il existe plus d'extensions que vous pouvez utiliser dans un système d'exploitation Linux; Windows a un niveau de gestion des autorisations différent de PHP, ce qui rend plus difficile la gestion des répertoires et l'accès aux fichiers. Au sein d'Apache par exemple XAMPP, LAMPP ou WAMP, je pense que Windows est un peu moins sécurisé compte tenu du fait que ses restrictions sur le pare-feu sont plus faciles à violer car il partage les mêmes règles de tunneling que votre navigateur Web. Linux, d'autre part, peut utiliser des pools d'applications et d'autres mécanismes de sécurité au niveau des paquets qui sont beaucoup plus compliqués à émuler. Windows vous obligerait à utiliser tous les aspects du système d'exploitation pour sécuriser le réseau.

IIS (sur un serveur Microsoft, pas un client Windows) sur Windows avec ASP.NET avec les derniers mélanges SEC_ATL peut également être très sécurisé.

Juste Apache seul, vous souhaiterez peut-être l'exécuter avec Linux pour activer les pilotes de niveau supérieur et inférieur, SMIME, les codecs et les titres de niveau paquet. Alors que Windows vous obligerait à installer des mécanismes de sécurité superposés qui obstrueraient autrement votre trafic un peu plus que vous ne le souhaiteriez s'il s'agit de faire fonctionner des milliers de serveurs.

Avec Linux, plus le noyau est fin et plus optimal pour la sécurité du réseau, mieux c'est (comme la fusion dans Apache avec NSLUG).

Avec Windows, vous préférez la programmation des modules Powershell et la sécurité de superposition supplémentaire pour votre infrastructure ASP.NET et la configuration de votre stratégie de groupe sur USGS, car la plupart du temps, il en a vraiment besoin pour bloquer le type de trafic que Linux refusera automatiquement et ne pense pas sur.

De même, ils peuvent être forts. Hors de la boîte, une distribution en direct de Linux sera plus forte qu'un serveur Microsoft Windows non configuré qui vient d'être installé avec l'assistant.

Au fil du temps, Linux dépassera Windows dans le jeu de sécurité. Les serveurs Debian 3 sont encore plus puissants aujourd'hui que Microsoft Server 2008 R2 prêts à l'emploi et devinez ce qu'ils peuvent prendre en charge les mêmes technologies sans reconstruction du noyau. Debian peut toujours le fumer, et je l'ai vu de mes propres yeux.

Bien que comme cela a été dit auparavant, je suis sûr. Cela dépend du personnel avec lequel vous travaillez et de votre souci du détail. Cela fait toujours la plus grande différence lorsqu'il s'agit de travailler dans un grand réseau de serveurs.


0

Surtout, je crois que Linux est considéré comme un choix plus sûr en raison de son utilisation omniprésente des logiciels open source.

La simplicité vient de l'idée que "la communauté" remarquera que si quelque chose de louche est ajouté quelque part (par exemple, si openSSH a soudainement commencé à téléphoner à la maison avec des mots de passe), il ne resterait pas longtemps.

Mais je ne peux pas répéter assez ce que les autres ont déjà dit: la sécurité dépend en grande partie de la configuration: qui se soucie si openSSH ne téléphone pas à la maison si vous n'avez pas de pare-feu, un mot de passe root nul et PermitRootLogin activé dans sshd;)


0

Réponse courte: au départ, UNIX a été conçu pour être sécurisé; Windows a été conçu pour être simple. Désormais, les descendants d'UNIX vont prétendre être plus simples pour leurs utilisateurs; Windows prétend être plus sécurisé.

Ils ne se sont pas encore rencontrés


2
Bah! Windows NT avait plus de prévoyance en matière de sécurité dans sa conception initiale qu'Unix. Unix a renforcé la sécurité plus tard, après coup. Les systèmes d'exploitation modernes de type Unix (tels que Linux, qui n'est pas vraiment un système d'exploitation "Unix" car il s'agit d'une toute nouvelle base de code) se sont considérablement améliorés par rapport à Unix d'origine, mais Windows NT a été conçu, dès le début, pour répondre aux exigences de sécurité du "Livre orange" du DoD américain.
Evan Anderson

0

Les versions précédentes de Windows avaient des applications s'exécutant dans le même espace d'adressage, de sorte qu'ils pouvaient parcourir les pointeurs les uns par rapport aux autres. Ils s'appuyaient également sur le multitâche coopératif et parfois ne coopéraient pas.

Même les toutes premières versions de Linux / Unix avaient un partitionnement entre les applications et entre le O / S et la couche d'application. Le découpage des tâches, bien que pas toujours idéal, était au moins juste.

D'où l'héritage d'Unix (ou Linux) pour les systèmes plus robustes qui nécessitent une plus grande disponibilité.

Est-ce que tout cela s'applique encore aujourd'hui? Voilà une autre question.


Bien sûr que non. Une grande partie de la presse négative que Windows obtient de la communauté Linux est en fait directement ciblée sur ces versions précédentes et ne tient pas compte du fait que les choses ont évolué. La dernière version de Windows à utiliser coop m / t était 3.1, et la dernière version de Windows qui avait DOS battant en son cœur était ME.
Maximus Minimus

0

Maintenant que NT a rattrapé Unix dans de nombreux endroits auparavant déficients, les autorisations de fichiers et la protection de la mémoire ne sont plus d'énormes problèmes de différenciation.

Mais ... a. Dans les systèmes Unix, tous les accès à tous les appareils passent par des fichiers, pour lesquels la sécurité peut être facilement administrée. Par exemple, savez-vous comment empêcher l'utilisateur X d'accéder à la carte son sous Windows tout en autorisant l'utilisateur Y? Sous Unix, ce genre de choses est facile.

b. La structure du répertoire est beaucoup plus saine. (Par exemple, une application utilisateur n'a besoin que d'un accès en écriture à votre dossier personnel, etc.). Cela s'est toutefois amélioré dans Windows également au cours des dernières années.

ré. C'est un gros problème: SELinux (et la fonctionnalité de bac à sable "Seatbelt" de Trusted Solaris et Mac OS). Ceci est connu sous le nom de NDAC (Non-Discretionary Access Control). Si vous exécutez une distribution de système d'exploitation avec ces fonctionnalités, il y a essentiellement deux couches de sécurité en cours simultanément, le DAC normal (système d'autorisations) qu'Unix a toujours eu, et les versions modernes de Windows ont - et en plus de cela, le "pare-feu d'application" imposé par SELinux et des systèmes similaires. Par exemple, vous pouvez définir une stratégie indiquant que le serveur Web Apache est autorisé à écrire dans / tmp et à lire à partir de / var / www et / etc / apache. Tout autre accès au disque sera refusé quel que soitdes autorisations. De même, vous pouvez spécifier qu'il peut accepter les connexions entrantes sur le port 80 uniquement et ne pas établir de connexions sortantes. Ensuite, même s'il y a un bogue qui permettrait à quelqu'un de faire quelque chose de très mal, et même si apache s'exécutait en tant que root, cela n'aurait pas d'importance - la politique l'empêcherait. Cela nécessite une pénalité de vitesse (très mineure) et peut être pénible si vous utilisez une configuration inhabituelle, mais dans le cas normal, vous pouvez augmenter considérablement votre niveau de sécurité par rapport à Unix et Windows à l'ancienne.

e. Couches - Les systèmes Unix sont composés de nombreuses couches et services plus discrets qui peuvent être échangés. Cela signifie qu'ils peuvent être analysés individuellement pour l'exactitude et la sécurité, échangés, etc. Pour presque n'importe lequel d'entre eux, il n'est pas nécessaire de redémarrer. C'est un gros plus sur les systèmes de type serveur. De plus, il est plus facile de désactiver (et de désinstaller) les choses dont vous n'avez pas besoin sur un système Unix. Par exemple, pourquoi exécuter une interface graphique sur une boîte de serveur Web? Il augmente la surface d'attaque et prend de la RAM.

F. Pour ceux qui ont dit que Windows NT a été conçu dès le départ pour la sécurité ... c'est vrai, le noyau a été conçu dès le départ avec des fonctionnalités de sécurité avancées et multi-utilisateurs, mais il y a deux problèmes principaux: 1. Le mauvais bilan de Microsoft en matière de sécurité et 2. Le système d'exploitation dans son ensemble a été conçu pour être compatible avec les applications Windows héritées, ce qui impliquait de nombreux compromis. Unix a toujours été multi-utilisateurs, et les applications n'ont donc aucune grande surprise lorsque la sécurité est appliquée, ce qui signifie moins de compromis.


La sécurité d'accès aux «fichiers de périphérique» dans Windows NT est effectuée via des listes de contrôle d'accès appliquées dans le gestionnaire d'objets exécutif. Il a à peu près le même modèle ACL que le système de fichiers. Re: votre point "a": les applications avec logo conformes aux directives de développement Microsoft n'ont pas non plus besoin d'un accès en écriture en dehors du répertoire personnel de l'utilisateur. re: "b": Je conviens que la fonctionnalité MAC est limitée dans Windows. Les niveaux d'intégrité, ajoutés dans Vista, sont une forme de MAC. Le "pare-feu avancé" (également ajouté dans Vista) peut limiter le trafic sortant de la manière que vous décrivez si vous choisissez de le configurer de cette façon.
Evan Anderson

re: "e": Je suis d'accord, en principe, que moins de logiciels signifie moins de risques d'échec. Il existe des versions internes de Windows qui n'ont pas d'interface graphique, mais Microsoft a choisi de ne pas les publier. re: "f": les développeurs tiers ont été plus un problème re: obtenir des politiques de sécurité par défaut saines définies dans Windows que Microsoft. Personnellement, je pense que Microsoft devrait être plus intransigeant vis-à-vis des applications qui se comportent mal, mais elles vivent dans un "espace" différent de celui des développeurs de systèmes d'exploitation libres et open source lorsqu'il s'agit de s'assurer que les applications de leurs clients fonctionnent.
Evan Anderson

re: "Le système d'exploitation dans son ensemble ... conçu pour être compatible ..." Win32 est un sous-système du noyau - ce n'est pas NT. Si Microsoft le voulait (ou laisserait quelqu'un d'autre), vous pourriez créer une "distribution" de Windows NT sans sous-système Win32, sans interface graphique et démarrée avec, disons, le sous-système de noyau POSIX "Interix". La quasi-totalité de l'interface utilisateur dans un système d'exploitation NT est basée sur Win32, mais le noyau est parfaitement capable de prendre en charge un environnement non Win32.
Evan Anderson

0

Il existe plusieurs raisons pour lesquelles les systèmes basés sur Linux sont souvent considérés comme plus sécurisés que les systèmes Windows.

L'un est l'habileté du propriétaire. Si vous entrez dans Best Buy ou Wal-Mart (ici aux États-Unis) et achetez un ordinateur sans trop y penser, il exécutera Microsoft Windows. Cela signifie qu'il existe un nombre immense de systèmes Windows gérés par des personnes qui n'ont aucune idée. Étant donné que presque personne n'achète un ordinateur Linux par accident (du moins depuis que Microsoft a contre-attaqué sur les netbooks), la plupart des utilisateurs de Linux connaissent quelque chose sur les ordinateurs ou ont fait installer leur ordinateur par quelqu'un qui le fait. Cela s'applique à tous les environnements où vous rencontrez des gens qui ne savent pas ce qu'ils font; ceux qui n'exécutent pas Windows et ceux qui exécutent différents systèmes d'exploitation différents.

L'un est le nombre d'attaquants. Microsoft Windows est une cible beaucoup plus attrayante, en raison de toutes les machines mal administrées. Il existe de nombreuses cibles Linux de grande valeur, mais elles sont généralement bien administrées (ainsi que de nombreuses cibles Windows de grande valeur). Pour une approximation raisonnable, personne ne cible les ordinateurs Linux en général.

L'un est la culture. Dans tout environnement Unix / Linux, il existe une distinction claire entre les comptes root et les comptes d'utilisateurs, et dans presque tous les cas, les gens travaillent dans leurs comptes d'utilisateurs lorsqu'ils n'ont pas besoin d'être root. D'après mon expérience, la distinction n'est pas aussi forte dans les environnements Windows, dans la mesure où chaque utilisateur aura normalement un compte, avec tous les privilèges associés. Je suis sur mon ordinateur de travail maintenant, où j'ai un compte, un compte administrateur. Tout ce que je fais se fait par un compte avec des privilèges élevés. Lorsque je rentrerai chez moi dans ma boîte Linux, je ferai presque tout dans un compte à privilèges limités et j'escaladerai quand j'en aurai besoin. Ma femme a dû se disputer pour obtenir deux comptes sur son ordinateur au travail, un compte administrateur normal et un compte à privilèges limités afin qu'elle puisse voir si les utilisateurs réguliers ont les privilèges pour exécuter ce qu'elle écrit.

L'un est la compatibilité descendante. Bien qu'Unix n'ait pas commencé comme un système d'exploitation sécurisé, il a obtenu la sécurité dès le début. Les programmes pour Linux ne nécessitent pas de s'exécuter en tant que root à moins qu'ils ne remplissent réellement les fonctions root. Windows, d'autre part, exécute un grand nombre de programmes qui nécessitent des comptes d'administrateur parce que c'est ce que les développeurs ont exécuté et testé (voir le paragraphe ci-dessus), et ces développeurs n'étaient généralement pas soucieux de la sécurité, et cela fonctionnait très bien. C'est le gros problème que Microsoft tentait de résoudre avec l'UAC. Je ne pense pas que ce soit une solution particulièrement bonne, mais pour être honnête, Microsoft ne trouvera pas de bonne solution ici (je ne pense pas que l'abandon de la compatibilité descendante soit une bonne solution ici).

Ceux-ci conduisent au fait que la plupart des problèmes de sécurité à grande échelle seront sur les systèmes Microsoft, quels que soient les mérites des modèles de sécurité, et la perception que Microsoft obtient les gros problèmes de sécurité. Par l'heuristique de disponibilité, le fait que les gens puissent penser à plus de problèmes de sécurité Microsoft biaise leur jugement.

Ce sont, à mon avis, les raisons valables. Je n'ai pas abordé la sécurité réelle du système d'exploitation, car je ne sais pas si Windows ou une distribution Linux est plus vulnérable que l'autre lorsqu'elle est exécutée par un administrateur compétent. Linux a l'avantage de l'open source, en ce que n'importe qui peut trouver et corriger des bogues, tandis que Microsoft a mis en place des pratiques de sécurité qui peuvent ou non fonctionner mieux. (Si je voulais exécuter un système d'exploitation vraiment sécurisé, je choisirais OpenBSD, un système d'exploitation open source qui s'efforce d'être sécurisé.) Les deux systèmes d'exploitation ont de bons systèmes d'autorisations (ma préférence est celle Unix, mais d'autres personnes raisonnables ne sont pas d'accord).

Il y a, bien sûr, de mauvaises raisons de considérer les systèmes d'exploitation comme moins sûrs. Certaines personnes ont un système d'exploitation préféré et ne perdent aucune occasion d'en dénigrer d'autres. Certaines personnes n'aiment pas Microsoft ou Richard Stallman ou une autre personne ou organisation et dénigrent les systèmes d'exploitation associés. Certaines personnes n'ont pas remarqué que Microsoft a changé au fil des ans, car il n'y a pas si longtemps que Microsoft ne se souciait vraiment pas de la sécurité, et Windows était vraiment moins sécurisé que Linux.


-1

Il n'y a pas de vraie raison autre que l'inertie. J'ai vu beaucoup de partisans de Linux faire des arguments contre Windows (et pas seulement sur le plan de la sécurité) qui à première vue semblent valides, mais - qui quand vous creusez un peu - ne s'appliquent qu'à Windows 3.1 ou 95/98.

Je l'ai déjà dit, mais bien que Windows puisse avoir plus de correctifs / etc, ce sont des correctifs pour les failles de sécurité qui ont été identifiées . Et ce ne sont pas ceux qui ont été corrigés qui vous inquiètent, n'est-ce pas? Je ne pense pas non plus qu'être open source soit intrinsèquement plus sûr. Rouler vos propres correctifs peut être bien pour un utilisateur à domicile, mais un utilisateur ou un administrateur d'entreprise voudra toujours que la vraie chose qui soit certifiée fonctionne (et ait été testée entièrement) avec une variété d'applications, et qui est certifiée pour ne pas casser la prochaine mise à jour du noyau. La même chose s'applique aux correctifs de la communauté FOSS.

Donc, dans mon livre, c'est un mélange d'inertie, de préjugés et d'être intégré dans la culture UNIX à l'exclusion des alternatives.


-2

Les processus sous Linux / Unix ne peuvent pas modifier leurs privilèges après avoir été assignés à un utilisateur, les processus sous Windows peuvent changer leurs privilèges utilisateur et changer leur utilisateur en cours de processus.

C'est l'essence même de la raison pour laquelle Windows est moins sécurisé que Linux / Unix.


2
Cela n'est vrai que si le contexte dans lequel le processus s'exécute dispose des droits "Agir en tant que partie du système d'exploitation" (SE_TCB PRIVILEGE). Si vous démarrez un processus avec un contexte de sécurité qui n'a pas SE_TCB PRIVILEGE, le processus ne peut pas simplement "emprunter l'identité" au hasard (le NT-ism pour supposer un autre contexte de sécurité) un autre utilisateur. Si vous exécutez une application avec SE_TCB PRIVILEGE sans raison valable, vous obtenez ce que vous méritez, IMO.
Evan Anderson

Ainsi, la sécurité est renforcée par un "contexte" comme opposé à une règle à l'échelle du système, c'est pourquoi Windows est moins sécurisé qu'Unix / Linux.
Fire Crow
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.