Frage Warum gelten Linux-basierte Betriebssysteme als sicherer als Windows? [geschlossen]


Ich habe gehört, dass Linux-basierte Systeme besser für die Sicherheit sind. Anscheinend haben sie keine Viren und benötigen keine Antivirensoftware. Selbst meine Universität behauptet dies - sie weigern sich, Windows auf ihren Servern zu haben, was sehr schade ist, weil wir das .NET-Framework verwenden wollten, um einige Websites zu erstellen.

Der einzige Grund, warum ich sehe, dass Linux sicherer ist, ist, dass es sich um Open-Source handelt, also würden Fehler theoretisch früher eingefangen und behoben werden.

Ich weiß ein wenig darüber, wie Betriebssysteme funktionieren, habe mich aber nicht wirklich damit beschäftigt, wie Linux und Windows ihr Betriebssystem implementieren. Kann jemand den Unterschied erklären, der Linux-basierte Systeme sicherer macht?


19
2017-07-03 18:26


Ursprung


Ich beantworte Ihre Frage nicht genau, aber ich möchte die Entscheidung Ihrer Schule ein wenig verteidigen. Meine Schule betreibt sowohl ein Windows-System als auch ein Linux-System, die sich ein gemeinsames Dateisystem teilen. Aber in der Praxis kann das teuer werden, weil die Windows und Unix-Domains im Netzwerk leider nicht miteinander auskommen. Angesichts der Tatsache, dass Windows-Benutzer eine Open-Source-Komponente mehr nutzen müssen als umgekehrt (Entschuldigung für .net), ist es eine respektable Entscheidung, dass sie Linux nur auf der Kern-Hardware wie Servern unterstützen. Linux unterstützt heute die wichtigsten Dienste - Notmyfault
Danke für Ihre Antwort - und auch an die anderen Antwortenden, hat mir definitiv geholfen, die Dinge zu klären. Zur Erinnerung, ich war skeptischer als verärgert über den Anspruch meiner Universität. - echoblaze


Antworten:


Ich glaube nicht, dass ein Betriebssystem "sicher" ist. Eine bestimmte Konfiguration eines Betriebssystems weist eine besondere Widerstandsfähigkeit gegenüber Angriffen auf.

Ich werde hier wahrscheinlich als "Microsoft-Apologetin" entlarvt werden, aber dieser Thread neigt zu Verallgemeinerungen über "Windows", die nicht wahr sind.

Windows 1.0 - 3.11, 95, 98 und ME basieren auf DOS. Diese Reihe von Betriebssystemen hatte keine Sicherheit im formellen Sinn (geschützte Adressräume, Trennung von Kern- / Benutzermodus usw.). Wenn wir heute über "Windows" sprechen, sprechen wir nicht von diesen Betriebssystemen.

Die Windows NT-Familie von Betriebssystemen (Windows NT 3.5, 3.51, 4.0, 2000, XP, 2003, Vista, 2008 und 7) hat seit der ersten Veröffentlichung im Jahr 1992 ein sehr vernünftiges Sicherheitssystem "entworfen". Das Betriebssystem war entworfen mit dem TCSEC "Orange Book" im Hinterkopf und, obwohl nicht perfekt, ich denke, dass es ziemlich gut gestaltet und implementiert ist.

  • Windows NT war von Anfang an "Multi-User" (obwohl die Funktionalität von mehreren Benutzern, die eine grafische Benutzeroberfläche gleichzeitig von demselben Server erhielten, nicht vor Citrix WinFrame in der Windows NT 3.51-Ära erfolgte). Es gibt eine Trennung zwischen Kernel und Benutzermodus, wobei der Schutz des Adressraums auf den zugrunde liegenden Hardwarefunktionen von MMU und CPU beruht. (Ich würde sagen, dass es sehr "Unix-y" ist, aber eigentlich ist es sehr "VMS-y".)

  • Das Dateisystemberechtigungsmodell in NTFS ist ziemlich "reich" und obwohl es einige Warzen relativ zu "Vererbung" (oder dem Fehlen davon) hat, siehe Wie umgehen Sie den NTFS Move / Copy-Designfehler?), es war nicht bis in die letzten 10 Jahre oder so, dass Unix-ähnliche Betriebssysteme ähnliche Funktionalität implementiert haben. (Novell NetWare hat Microsoft gegen den Schlag geschlagen, obwohl ich denke, MULTICS hat beide geschlagen ...> smile <)

  • Der Dienststeuerungsmanager, einschließlich des Berechtigungssystems zum Steuern des Zugriffs auf Start / Stopp / Pause-Dienstprogramme, ist sehr gut entworfen und ist viel robuster in der Gestaltung der verschiedenen "init.d" -Skript- "Architekturen" (eher wie "Gentleman's Agreements ") in vielen Linux-Distributionen.

  • Der ausführende Objektmanager (siehe http://en.wikipedia.org/wiki/Object_Manager_(Windows)), das dem / proc-Dateisystem und dem / dev-Dateisystem kombiniert ist, hat ein ACL-Modell, das dem Dateisystem ähnlich ist und viel, viel reicher als jedes Berechtigungsmodell, das mir für / proc oder / dev bekannt ist jede Linux-Distribution.

  • Während wir über die Vor- und Nachteile der Registrierung diskutieren können, ist das Berechtigungsmodell für Schlüssel in der Registrierung weitaus differenzierter als das Modell zum Festlegen von Berechtigungen für Dateien im Verzeichnis / etc. (Ich mag besonders die Kommentare von Rob Short bezüglich der Registrierung in seinem "Behind the Code" -Interview: http://channel9.msdn.com/shows/Behind+The+Code/Rob-Short-Operating-System-Evolution  Rob war anfangs einer der Hauptverantwortlichen hinter der Windows-Registry und ich denke, es ist sicher, dass er nicht unbedingt glücklich darüber ist, wie sich die Dinge entwickelt haben.

Linux selbst ist nur ein Kernel, während Windows einer Linux-Distribution ähnlicher ist. Du vergleichst Äpfel und Orangen, um sie so zu vergleichen. Ich stimme zu, dass Windows schwieriger zu entfernen ist als einige Linux-basierte Systeme. Einige Linux-Distributionen hingegen sind mit viel "Mist" ausgestattet. Mit dem Aufkommen der verschiedenen "eingebetteten" Varianten von Windows ist es möglich (wenn auch nicht für die allgemeine Öffentlichkeit), "Distributionen" von Windows zu erstellen, die sich in ihrem Verhalten von den Microsoft-Standards unterscheiden (ausgenommen verschiedene Dienste, Ändern von Standardberechtigungen, etc.) .

Die verschiedenen Versionen von Windows hatten ihren Anteil an schlecht ausgewählten Standardwerten, Bugs, die es nicht autorisierten Benutzern erlaubten, Privilegien zu erhalten, Denial-of-Service-Attacken usw. Unix-Kernel (und viele Unix-basierte Anwendungen, die standardmäßig als root laufen) hatten die gleiche Probleme. Microsoft hat seit Windows 2000 hervorragende Arbeit geleistet, um das Aufteilen von Anwendungen zu vereinfachen, Programme mit den geringsten Rechten auszuführen und nicht benötigte Funktionen des Betriebssystems zu entfernen.

Kurz gesagt, ich denke, was ich sage ist, dass die spezifische Konfiguration eines bestimmten Betriebssystems für Ihre Bedürfnisse in Bezug auf die Sicherheit wichtiger ist als die Art des Betriebssystems, das Sie verwenden. Windows- und Linux-Distributionen haben sehr ähnliche Fähigkeiten in Bezug auf Sicherheitsfunktionen. Sie können solide Sicherheitstechniken (geringste Rechte, eingeschränkte Installation optionaler Komponenten, kryptografisch sichere Authentifizierungsmechanismen usw.) in jedem Betriebssystem anwenden. Ob du es tatsächlich bist tun oder nicht-- darauf kommt es an.


55
2017-07-03 19:18



für jemanden wie mich, der keine Ahnung hat, wie Windows und Linux-Systeme gebaut wurden, war Ihr Beitrag unglaublich informativ - echoblaze
Einverstanden. Gute Argumente. - Kyle Hodgson
+1 - Ich bin ein Linux-Benutzer zu Hause und ein hauptsächlich Windows-Sicherheitsexperte bei der Arbeit. Die Konfiguration ist viel wichtiger als das Betriebssystem selbst, und Sie müssen unbedingt Linux-Distributionen mit Windows vergleichen, nicht nur "Linux" und den Kernel. - romandas
langsam klatschen    +1 - chickeninabiscuit
Eine Sache, die die Windows-Welt für eine lange Zeit wirklich geschadet hat (selbst wenn es jetzt hauptsächlich Geschichte ist) ist, dass Sie für eine sehr lange Zeit ein lokaler Administrator sein mussten, um viele Dinge zu tun, während Sie in der * nix Welt einfach wären sei sudoer auf dieser Maschine. Das Problem bestand offensichtlich darin, dass alles von einem lokalen Administrator ausgeführt wurde. Die meisten Maschinen konnten alles mit der Maschine machen. Es wäre eine gleichartige Bedrohung für Linux / Unix gewesen, wenn es nicht immer eine bekannte Praxis gewesen wäre, nicht root zu sein, sondern sudo / su, wenn nötig. Ich denke, es war nicht wirklich ein Windows Problem, sondern eine Software und mit UAC ist es meistens behoben. - Fredrik


Eine andere Sache, die nicht erwähnt wird, ist, dass die Sicherheit in Windows viel undurchsichtiger ist als in Linux.

Zum Beispiel kann ich mir ein paar Textdateien ansehen und genau sehen, was mein Webserver ausführt. IIS? Nicht so sehr - Sie können die Ergebnisse der Konfiguration über das GUI-Tool sehen, aber es gibt versteckte Einstellungen. Dann müssen Sie einen anderen Satz von Tools verwenden, um die ACLs der Dateien usw. zu überprüfen.

Es ist das gleiche mit den meisten Programmen in der Windows-Welt - es ist sehr schwierig, schnell zu verstehen, was genau die Laufzeitumgebung zwischen der Registrierung und den ACLs betrifft.


16
2017-07-03 19:57





Ich weiß nichts über den Vergleich von Dateiberechtigungen ... Als ich ein UNIX / Linux-Administrator war, verfügte NT4 über Datei-ACLs, die viel granularer waren als die herkömmlichen 777-Stil-Berechtigungen von UNIX / Linux. Berechtigungen sind natürlich nicht alles, und ich bin mir sicher, dass moderne Linux-Distributionen zumindest feinkörnige ACLs verfügbar machen, selbst wenn sie nicht standardmäßig implementiert sind. Meiner Ansicht nach waren die Sudo- und Root-Konzepte in UNIX immer vorhanden, obwohl Windows diese Konzepte stetig hinzugefügt hat und wahrscheinlich jetzt auf Augenhöhe ist.

Meine eigene Interpretation ist, dass der Linux-Kernel-Code und viele seiner Treiber und Dienstprogramme offen sind - er wurde wahrscheinlich viel ausführlicher geprüft und viel häufiger für Codierungsfehler korrigiert, die zu Remote-Schwachstellen führen können, die ein Hacker ausnutzen kann. Die Theorie besagt, in meinem Kopf, dass Linux, da es nicht im Besitz eines Unternehmens ist, das Sicherheitsziel vollständiger erforschen kann als ein Unternehmen. Unternehmen müssen Geld verdienen; während Open-Source-Gruppen diese Einschränkung einfach nicht haben.

Es ist viel einfacher, in ein Linux-System zu gehen und einfach das gesamte Windowing-System, RPC-Dämonen usw. herunterzufahren - Sie können ein Linux- oder BSD-basiertes System mit nur wenigen installierten Paketen und noch einem oder zwei offenen Ports erhalten haben ein sehr nützliches System sehr leicht. Dies hat wahrscheinlich mehr mit dem UNIX-Erbe als Betriebssystem eines Entwicklers zu tun; alles war modular aufgebaut, nicht übermäßig miteinander verbunden. Dies führt zu einem viel besser konfigurierbaren System, in dem Sie einfach Dinge entfernen können, die nicht relevant sind. Ich denke nicht, dass es so einfach ist, Windows-Server auf diese Weise zu härten.

Die OpenBSD-Gruppe hat dieses Konzept auf die Spitze getrieben. Das Hauptziel des Programms besteht darin, jede Codezeile auf mögliche Sicherheitsmängel zu überprüfen. Der Beweis liegt im Pudding, eine unglaublich geringe Anzahl an Schwachstellen wurde für OpenBSD über die Jahre gefunden, aufgrund dieser fast fanatischen (ich nenne das Wort mit Respekt) Liebe zum Detail.

Unternehmen, während sie wunderbare Software (MSSQL, Exchange, Windows Server 2003 sind alle wunderbar in meinem Buch), haben nur unterschiedliche Ziele.


11
2017-07-03 18:43



Ja; Windows-ACLs sind feinkörniger als Linux / Unix ohne ACLs (obwohl die meisten modernen Versionen Optionen zur Verwendung von ACLs haben). Der wesentliche Unterschied besteht darin, dass Benutzer in Windows als Administrator angemeldet sind - das ist immer noch das Standard-Setup auf XP-Laptops, die von Unternehmen bereitgestellt werden -, während Benutzer unter Linux / Unix die meisten Operationen nicht als Root ausführen. Dies begrenzt den Schaden, der unter Linux / Unix im Vergleich zu Windows möglich ist - standardmäßig. Wenn jemand die ganze Zeit als root läuft, sind alle Wetten aus (außer dass sie früher oder später einen bedauerlichen - und bedauerlichen - Unfall haben werden). - Jonathan Leffler
"Es ist sehr wahr, dass die Sudo- und Root-Konzepte in UNIX immer vorhanden waren und erst jetzt zu Windows kommen." Worüber redest du? Windows NT ist nicht so alt wie Unix, aber Windows NT hat seit seiner Veröffentlichung im Jahre 1992 sehr vernünftige Sicherheit "entwickelt". Es ist bedauerlich, dass viele Windows Admins keine Benutzer mit "limited user" Konten bereitstellen (wie sie hätten von Anfang an sein sollen), aber das sollte das Betriebssystem nicht verdammen. - Evan Anderson
Aus der Serverperspektive gewährt. Aber ein typischer Windows-Benutzer brauchte administrativen Zugriff, um bis Vista eine sogar einigermaßen bequeme Umgebung zu haben. Ich sehe Vistas "Rechtsklick, als Administrator ausführen", vergleichbar mit Sudo. - Kyle Hodgson
Ich stimme überhaupt nicht zu. Ich habe Tausende von Desktops seit Windows NT 4.0 mit eingeschränkten Benutzerkonten depoyed. "RunAs", das etwas mit "sudo" zu tun hat, war seit Windows 2000 im Betriebssystem (der "Rechtsklick, Run As-Funktionalität"). Ich werde sagen, dass die Benutzerkontensteuerung eine dumme Funktion ist und nicht in das Betriebssystem aufgenommen werden sollte. Microsoft hat das Falsche getan, indem es es "sicherer" gemacht hat, als "Administrator" zu laufen, anstatt es schwieriger und schmerzhafter zu machen, während Entwickler ermutigt wurden, an Software zu schreiben, die nicht saugt (d. H. Administratorrechte benötigt). - Evan Anderson
Vista-Benutzer auf meinen Kunden-Websites sehen die Benutzerkontensteuerung nie, weil sie als eingeschränkte Benutzerkonten ausgeführt werden. Sie werden UAC nur sehen, wenn Sie als "Administrator" arbeiten. Sie können die Benutzerkontensteuerung mit Gruppenrichtlinien deaktivieren, sollten dies aber nie tun müssen. - Evan Anderson


Meiner Meinung nach, wenn gut genug konfiguriert, sind Linux-basierte Systeme sicherer als Windows-Systeme. Einige der Gründe sind:

  1. Transparenz und reichlich einfache Netzwerkwerkzeuge: Zum Beispiel ist es für den Linux-Administrator sehr einfach, die aktuelle Firewall-Konfiguration zu sehen, indem er "iptables -L -n" in die Shell eingibt. Sie können auch sehen, welche Ports auf dem Computer geöffnet sind, indem Sie "nmap" von einem anderen Linux-Rechner ausführen. Dies macht das Leben so viel einfacher, da Sie sehr genau angeben können, welche Ports zugänglich sein sollen und von welchen Adressen usw.

  2. Textprotokolldateien an einem Ort: Textbasierte Protokolldateien an einem Speicherort "/ var / log" sind einfach zu sichern und zu analysieren. Auch Tools wie Logwatch, die diese Protokolldateien überwachen und Ihnen wichtige Zeilen per E-Mail senden können, machen es sehr einfach. Wir können sogar unsere eigenen Tools schreiben, um die Log-Dateien zu analysieren und Informationen zu finden, an denen wir interessiert sind. Die Logs können sogar auf den entfernten Syslog-Server exportiert werden, falls wir nicht möchten, dass Protokolle auf demselben Server vorhanden sind.

  3. Keine Angst vor Viren: Ob Viren in Linux weniger sind, weil es weniger Linux-basierte Systeme gibt ODER weil alle Benutzer Linux lieben oder weil Linux sicherer ist. Der Grund ist egal. Wenn Linux am Ende weniger Virusgefahr hat, dann ist das eine gute Sache für Linux. Ich habe persönlich gesehen, dass Leute zwei Antiviren-, Anti-Spyware- und Anti-Adware-Programme auf demselben Rechner installieren. All diese Schutz-Tools essen viel CPU und Speicher.

  4. Unterstützung für viele Programmiersprachen: Es ist sehr einfach in Linux zu programmieren. C, C ++, Python, Perl, Java usw. funktionieren einfach, ohne dass ein zusätzliches Paket installiert werden muss. (Dies ist der Fall, wenn Sie eine große Distribution wie Fedora installieren, die in der DVD enthalten ist.) Dies erhöht die Sicherheit, da wir wiederkehrende Aufgaben durch Kodierung ausführen können. Wenn Sie also einen Fehler machen und es ein Problem gibt, dann wäre es bei allen Konten und es wäre leicht zu erkennen und zu beheben. Wenn wir die gleichen Änderungen an einer großen Anzahl von Konten / Verzeichnissen von Hand vornehmen müssten, könnten wir einen oder zwei Fehler machen und es könnte lange dauern, solche Fehler zu finden. Auch können wir die Fehler korrigieren und nach einfachen Fehlern mit Code suchen. Da alle Konfigurationsdateien, Benutzerinformationsdateien, Protokolldateien usw. in Text geschrieben sind, ist es sehr einfach zu codieren, was immer wir erreichen wollen, und es gibt viele Möglichkeiten, dieselben Dinge zu erledigen. In man-Seiten finden sich auch zahlreiche authentische Informationen, die uns vor Sicherheitsbedrohungen für die unsichere Konfiguration von Diensten warnen.

  5. Offener Quellcode: Da wahrscheinlich viele Leute den Code gesehen haben, ist es sehr selten, dass einige Spyware / Adware Teil der Anwendungen ist, die mit Linux geliefert werden. Sie können Quellcode auch sehen, wenn die Sicherheit für einen Dienst sehr wichtig ist und Sie sehen, wie es funktioniert. Wenn Sie genau wissen, wie es funktioniert, dann kennen Sie die Grenzen und wann es bricht. In der Tat, wenn es bekannte Sicherheitseinschränkungen gibt, die in Manpages, Paketwebseiten und in Kommentaren in Konfigurationsdateien dokumentiert wären. Die Entwickler haben nichts zu verlieren, wenn sie sagen, dass es riskant ist, wenn Sie unser Tool in einem solchen Szenario verwenden. Es ist möglicherweise nicht lukrativ für Organisationen, die Software verkaufen, Einschränkungen für Software zu sagen, und das würde ihre Software schlecht aussehen lassen und den Verkauf / Gewinn reduzieren.

  6. Frei und Interoperabilität: Dies hängt zwar nicht mit der Sicherheit zusammen. Für die Universität, bei der die Kosten eine Rolle spielen, sind Linux-basierte Systeme wesentlich kostengünstiger als Windows-basierte Systeme, und es müssen keine Lizenzen für das Betriebssystem sowie für zusätzliche Software erworben werden, die nach der Installation von OS installiert wird. Was die Interoperabilität betrifft, können wir uns von Linux-Rechnern zu anderen Betriebssystemen verbinden und Dateien leicht teilen. Unter Linux können wir viele Dateisysteme wie FAT, NTFS, HFSPLUS bereitstellen. Wir können Dinge teilen mit FTP, http, SSH, Samba, NFS, etc. und all diese Dinge kommen installiert oder können mit einem Befehl installiert werden. Andere Betriebssysteme bieten im Allgemeinen nur eine Möglichkeit, Dinge zu teilen.

Aber wenn sie nicht richtig konfiguriert sind, können Linux-basierte Systeme mehr Probleme verursachen, als man sich vorstellen kann. Viele Benutzer können sich gleichzeitig in die Maschine einloggen und fast alles nur von der Shell aus tun. Es ist sehr einfach, Hintertüren, Trojaner zu hinterlassen, falls die Firewall nicht richtig konfiguriert ist. Der Angreifer kann die Protokolldatei löschen oder manipulieren, um seine Spuren zu verbergen. Angreifer können auf der angegriffenen Maschine programmieren, da alle Editoren, Compiler und Debugger sofort verfügbar sind, sobald der Angreifer Shell-Zugriff hat. Alle Server ftp, http, können vom Benutzerkonto aus nur auf sicheren Ports (1-1024) ausgeführt werden. So kann der Angreifer den http-Server-Code herunterladen, ihn kompilieren und den http-Server auf Port 6000 ausführen, damit er wie X-Server aussieht.

Linux-Systeme sind also sicherer, wenn der Administrator weiß, was er tut, oder zumindest versucht, Informationen in man-Seiten und in der Dokumentation nachzuschlagen, bevor er neue Änderungen vornimmt.


9
2017-07-04 04:41





Serversicherheit ist mehr als nur das Betriebssystem. Ich würde sagen, ein größerer Faktor in der Server-Sicherheit ist die Person, die den Server betreibt, und wie vorsichtig sie gewesen sind, Dinge zu sperren.

Das heißt, wenn die Universität ein Linux-Shop ist, können sie einen Windows-Server nicht verwenden, unabhängig davon, welche Daten auf der Windows-Serversicherheit gefunden werden. Ich würde die Verwendung von Mono (www.mono-project.com) untersuchen, wenn Sie das .Net-Framework verwenden möchten.


6
2017-07-03 18:35





Transparenz

  • Lauf ps auxf und Sie wissen, welche Dienste unter welchem ​​Konto ausgeführt werden.
  • Lauf netstat -lnp und Sie wissen, welche Programme welche TCP-Ports öffnen.
  • Lauf iptables -L und Sie wissen, welche Regeln Ihre Firewall hat.
  • Lauf strace oder lsof Prozessaktivität zu inspizieren.
  • Lauf ls -lah oder tree -pug und Sie wissen genau, welche Eigentumsrechte und Berechtigungen ein vollständiger Ordner hat.
  • Protokolle sind in /var/log und kann mit einer einfachen "Suche durch Dateien" überprüft werden.
  • Keine versteckten Einstellungen. Alles ist von Menschen lesbar /etc. Das Durchsuchen von Textdateien oder das Archivieren von Dateien oder das Anwenden von Versionskontrolle (Subversion / Git) ist wirklich einfach.

Löschen Sie das Berechtigungssystem

  • In der Basis gibt es nur Dateiberechtigungen. Keine "Berechtigungen für Regex-Schlüssel", vererbte ACL-Berechtigungen, Sicherheitskontexte pro Prozess oder andere ausgeblendete Funktionen.
  • Berechtigungsbits sind einfach:
    • Auf Dateien schreiben = Dateiinhalte bearbeiten
    • Auf Ordner schreiben = Dateiknoten erstellen / umbenennen / entfernen.
    • Sticky = nur eigene Dateien bearbeiten.
    • Dateien mit Ausführungs - oder Setuid - Rechten sind hervorgehoben (in ls Farbmodus).
  • Ein einfaches "Alle Dateien finden" zeigt, welche Berechtigungen ein Benutzer hat.
  • Außerdem können ACLs nur dort verwendet werden, wo sie benötigt werden.
  • Benutzerkonten haben standardmäßig nur zwei Orte, um Dateien zu schreiben: ihre $HOME und /tmp.

Erweiterte Sicherheitsoptionen

  • SELinux / AppArmor kann Prozesse beschränken, um nur auf bestimmte Dateien zuzugreifen (zusätzlich zu den Dateiberechtigungen)
  • Ein Chroot-Gefängnis ermöglicht es Administratoren, das Programm vollständig isoliert vom Rest auszuführen. Als ob es auf einer leeren Festplatte installiert ist, mit nur den Dateien, die es wirklich braucht.
  • Mit sudoBenutzern und Prozessen können Berechtigungen erteilt werden, um nur einige Verwaltungsbefehle auszuführen.

Einzelpunkte für Zugang und Privilegien

  • Ein Prozess kann keine eigenen Privilegien mehr erlangen. Die einzige Möglichkeit besteht darin, ein anderes "SetUID Root" -Programm auszuführen, wie z sudo oder einen DBus-Dienst kontaktieren, der zuerst PolicyKit überprüft. Diese SetUID-Programme können mit einem einzigen Befehl "Alle Dateien suchen" gefunden werden.
  • IPC zwischen Prozessen ist ziemlich eingeschränkt und reduziert Angriffsvektoren.
  • Der Zugriff auf das System (Textkonsole, Remotedesktop, RPC, Befehlsaufruf entfernen, etc ..) passiert alles durch ssh. Das ist ein SSL-Tunnel mit Überprüfung des öffentlichen / privaten Schlüssels.

Sichere Hintergrundprozesse

  • Hintergrunddienste werden so bald wie möglich mit niedrigeren Berechtigungen ausgeführt. Dienste wie Apache, Dovecot und Postfix übergeben die eingehende Verbindung so schnell wie möglich an einen wenig privilegierten Prozess.
  • Standardmäßig gesperrt. Microsoft hat diesen Ansatz jetzt auch in Windows Server 2008 übernommen.

Gute Auditing-Tools

  • Werkzeuge wie nmap, ncat Machen Sie die Sicherheitsprüfung einfach.
  • Hintergrunddienste können über die Befehlszeile überwacht werden.
  • Log-Auditing-Tools sind üblich.
  • Die Codierung eines sicheren Dienstes ist einfacher, da dies modular durchgeführt werden kann.
  • Es gibt viele kostenlose Intrusion Detection-Tools.
  • Die Befehlszeilentools sind skriptfähig, sodass Administratoren Aufgaben automatisieren können.

Gute Sicherheitsupdates

  • Jeder Teil des Betriebssystems erhält Sicherheitsupdates. Wenn Apache, Python oder PHP über den Paketmanager installiert werden, erhalten sie auch Updates.
  • Es gibt viel Offenheit in was ein Sicherheitsupdate behebt, so können Sie herausfinden, wie sich das auf Sie auswirkt.
  • Softwarepakete haben alle die gleichen Bibliotheken. Sie liefern keine separaten Kopien und lassen verwertbare Versionen herum.
  • No Patch dienstags, warten auf eine Reparatur, wenn Hacker bereits den Fehler in der Wildnis ausnutzen.
  • Entwickler können Sicherheitsupdates einfach testen und bereitstellen.
  • Für eine Aktualisierung muss kein Neustart geplant werden. Dateien können ersetzt werden, während die vorhandenen Prozesse weiterhin auf die alten Daten auf der Festplatte zugreifen. Danach können Sie herausfinden, welche Dienste einen Neustart benötigen (lsof | grep =).
  • Das gesamte Betriebssystem kann ohne Neuinstallation aktualisiert werden!

Alles, was hier erwähnt wird, wird geliefert oder jede gängige Linux-Distribution, d. H. Red Hat, Debian, openSUSE oder Ubuntu.


6
2018-06-25 10:33





Linux wurde von Anfang an als Multi-User-System konzipiert und verfügt daher über ein wesentlich leistungsstärkeres Berechtigungssystem als Windows. Es wurde auch entwickelt, damit Sie nicht mit administrativen Rechten (root access) arbeiten, so dass alle Programme so konzipiert sind, dass sie nicht die Rechte benötigen. Das heißt, wenn Ihr Konto kompromittiert wird, ist das ganze System nicht.

Ein Teil davon ist wahrscheinlich auch darauf zurückzuführen, dass Linux-Benutzer (im Allgemeinen) technisch eher weniger dämliche Fehler machen, die dazu führen, dass Computer gehackt werden.


5
2017-07-03 18:31



Einige Unterschiede zwischen Multi-User- und Single-User-Betriebssystemen: jdurrett.ba.ttu.edu/courseware/opsys/os01a.htm - moshen
OK, ich benutze Linux seit 12 Jahren und UNIX-ähnliche Betriebssysteme für noch länger. So sehr ich Linux mag, kann man nicht sagen, dass es stärker ist Berechtigungen System als Windows. Es hat ein besseres Sicherheitsmodell als frühe Windows-Versionen (d. H., Ist nicht immer admin), aber WinNT und höher hat ein starkes Berechtigungssystem, das einfach nicht gut genutzt wurde. Aktuelle Linux-Versionen haben selinux, was noch stärker ist, aber dies ist eine relativ neue (wenn auch sehr mächtige) Ergänzung. - Eddie


"Sicherheit ist Kontrolle"

Aus meiner Sicht haben Sie in Windows weniger Kontrolle als unter Linux. Hardening Windows ist ... schwieriger :). Obwohl jedes Tool von den Fähigkeiten des Spielers abhängt, würde ich Folgendes berücksichtigen:

  • Windows hat mehr Sicherheitslücken und mehr automatische Ausnutzung (Virus, Botnets)
  • Windows Admins sind (oder sollten) paranoid sein (aus Angst vor Intrusionen) und haben eine Art Verhärtung gemacht
  • Linux-Systemadministratoren vertrauen manchmal zu sehr auf die Sicherheit des Betriebssystems und vergessen das Härten
  • Einmal gehackt, können Sie in einem Linux-System mehr tun als in einem Windows-System, da es leistungsfähigere Befehlswerkzeuge gibt

Obwohl ich Linux gegenüber Windows bevorzuge, sollten Sie den Standardinstallationen nicht vertrauen.


5
2017-07-03 18:54





Die meisten der vorherigen Beiträge haben sich auf das Eindringen konzentriert, und eine gute Arbeit wurde getan, um diesen Punkt zu behandeln, einer der Punkte Ihrer Frage war über Viren. Der größte Grund dafür, dass Linux-Distributionen weniger Probleme mit Viren haben, ist, dass es mehr Window-Boxen gibt als Linux und Mac zusammen. Virenschreiber wollen den größten Knall für ihr Geld bekommen, deshalb schreiben sie für Windows.

Alle Systeme sind in der Lage, sich zu infizieren und zu infizieren. Jeder, der Ihnen etwas anderes sagt, seien es Ihre Lehrer oder andere, die entweder Dummköpfe sind, haben Eigentum in Utah, um Sie zu verkaufen.


3
2017-07-03 22:09