Häufig gestellte Fragen zu SELinux (FAQ)

Hallo zusammen! Speziell für die Studierenden des Kurses „Linux-Sicherheit“ haben wir die Übersetzung des offiziellen FAQ-Dokuments zum SELinux-Projekt vorbereitet. Wir sind der Meinung, dass diese Übersetzung nicht nur für die Studierenden von Nutzen sein könnte, und teilen sie daher mit Ihnen.

Häufig gestellte Fragen zu SELinux (FAQ)

Wir haben versucht, einige der häufigsten Fragen zum SELinux-Projekt zu beantworten. Derzeit sind die Fragen in zwei Hauptkategorien unterteilt. Alle Fragen und Antworten finden Sie auf der FAQ-Seite..

Übersicht

Übersicht

  1. Was ist Linux mit verbesserter Sicherheit?
    Linux mit verbesserter Sicherheit (SELinux – Security-enhanced Linux) ist die Referenzimplementierung der Sicherheitsarchitektur Flask für flexible, durchsetzbare Zugriffskontrolle. Es wurde entwickelt, um die Nützlichkeit flexibler Mechanismen zur Verwaltung von Zugriffsrechten zu demonstrieren und aufzuzeigen, wie solche Mechanismen in ein Betriebssystem integriert werden können. Die Flask-Architektur wurde später in Linux integriert und auf mehrere andere Systeme portiert, darunter das Betriebssystem Solaris, FreeBSD und den Darwin-Kernel, was zu einer Vielzahl von damit verbundenen Arbeiten führte. Die Flask-Architektur bietet allgemeine Unterstützung für die Anwendung vieler Arten von durchsetzbaren Zugriffskontrollrichtlinien, einschließlich solcher, die auf den Konzepten Type Enforcement, rollenbasierter Zugriffskontrolle und Multi-Level-Security basieren.
  2. Was bietet Linux mit verbesserter Sicherheit, das der Standard-Linux nicht bieten kann?
    Der Linux-Kernel mit verbesserter Sicherheit implementiert verbindliche Zugriffssteuerungsrichtlinien, die Benutzerprogramme und Systemdienste auf die minimalen Berechtigungen beschränken, die zur Ausführung ihrer Aufgaben erforderlich sind. Durch diese Einschränkung wird die Fähigkeit dieser Benutzerprogramme und Systemdämonen, im Falle einer Kompromittierung (zum Beispiel durch einen Bufferüberlauf oder eine fehlerhafte Konfiguration) Schaden anzurichten, verringert oder ganz ausgeschlossen. Dieser Mechanismus zur Einschränkung funktioniert unabhängig von den traditionellen Zugriffskontrollmechanismen von Linux. Er berücksichtigt kein Superuser-Recht („root“) und teilt nicht die allgemein bekannten Schwächen der herkömmlichen Sicherheitsmechanismen von Linux (zum Beispiel die Abhängigkeit von setuid/setgid-Binärdateien).
    Die Sicherheit eines unveränderten Linux-Systems hängt von der Richtigkeit des Kernels, aller privilegierten Anwendungen und deren Konfigurationen ab. Probleme in einem dieser Bereiche können zu einer Kompromittierung des gesamten Systems führen. Im Gegensatz dazu hängt die Sicherheit eines modifizierten Systems, das auf einem sicherheitsverbesserten Linux-Kernel basiert, in erster Linie von der Richtigkeit des Kernels und der Konfiguration seiner Sicherheitspolitik ab. Obwohl Probleme mit der Richtigkeit oder Konfiguration von Anwendungen zu einer begrenzten Kompromittierung einzelner Benutzerprogramme und Systemdienste führen können, stellen sie keine Sicherheitsbedrohung für andere Benutzerprogramme, Systemdienste oder die Sicherheit des Systems insgesamt dar.
  3. Wofür ist es geeignet?
    Neue Funktionen von Linux mit verbesserter Sicherheit sind darauf ausgelegt, die Informationstrennung gemäß den Anforderungen an Privatsphäre und Integrität zu gewährleisten. Sie sollen verhindern, dass Daten und Programme ausgelesen, Daten und Programme gefälscht, Sicherheitsmechanismen von Anwendungen umgangen sowie unsichere Programme ausgeführt oder in andere Prozesse eingegriffen wird, was gegen die Sicherheitsrichtlinien des Systems verstößt. Zudem tragen sie dazu bei, potenzielle Schäden zu begrenzen, die durch schadhafte oder fehlerhafte Programme entstehen können. Sie sollten auch nützlich sein, um es verschiedenen Benutzern mit unterschiedlichen Sicherheitsberechtigungen zu ermöglichen, auf verschiedene Arten von Informationen mit unterschiedlichen Sicherheitsanforderungen zuzugreifen, ohne diese Anforderungen zu gefährden.
  4. Wie bekomme ich eine Kopie?
    Viele Linux-Distributionen beinhalten bereits standardmäßig oder als zusätzliches Paket Unterstützung für SELinux. Der Hauptcode des Userland von SELinux ist verfügbar auf GitHub. Endbenutzer sollten in der Regel die von ihrer Distribution bereitgestellten Pakete verwenden.
  5. Was ist in Ihrem Release enthalten?
    Das NSA SELinux Release umfasst den Hauptcode des SELinux Userland. Die Unterstützung von SELinux ist bereits im Hauptkernel Linux 2.6 enthalten, der auf kernel.org verfügbar ist. Der Hauptcode des SELinux Userland besteht aus einer Bibliothek zur Manipulation der binären Richtlinie (libsepol), einem Richtlinienkompiler (checkpolicy), einer Bibliothek für sicherheitsrelevante Anwendungen (libselinux), einer Bibliothek für Verwaltungstools (libsemanage) und mehreren utilitys, die mit Richtlinien verbunden sind (policycoreutils).
    Zusätzlich zum Kernel mit SELinux-Unterstützung und zum Hauptcode des Userland benötigen Sie Richtlinien und einige für SELinux angepasste User-Space-Pakete zur Nutzung von SELinux. Die Richtlinie kann von dem SELinux Referenzrichtlinienprojekt.
  6. Kann ich Linux mit erweiterter Sicherheit auf ein bestehendes Linux-System installieren?
    Ja, Sie können SELinux-Modifikationen nur auf einem bestehenden Linux-System installieren oder eine Linux-Distribution verwenden, die bereits SELinux-Unterstützung enthält. SELinux besteht aus einem Linux-Kernel mit SELinux-Unterstützung, einer grundlegenden Sammlung von Bibliotheken und Tools, einigen modifizierten Benutzerpaketen und den Richtlinienkonfigurationen. Um es in ein bestehendes Linux-System ohne SELinux-Unterstützung zu installieren, müssen Sie in der Lage sein, die Software zu kompilieren und außerdem andere erforderliche Systempakete bereitzustellen. Wenn Ihre Linux-Distribution bereits SELinux-Unterstützung enthält, müssen Sie das NSA SELinux-Release nicht kompilieren oder installieren.
  7. Wie kompatibel ist Linux mit erweiterter Sicherheit im Vergleich zu unverändertem Linux?
    Linux mit erweiterter Sicherheit bietet binäre Kompatibilität zu bestehenden Linux-Anwendungen und bestehenden Linux-Kernel-Modulen, aber einige Kernel-Module benötigen möglicherweise Modifikationen, um korrekt mit SELinux zu interagieren. Diese beiden Kompatibilitätskategorien werden im Folgenden detailliert erläutert:
    • Anwendungskompatibilität
      SELinux gewährleistet die binäre Kompatibilität mit bestehenden Anwendungen. Wir haben die Datensysteme des Kernels erweitert, indem wir neue Sicherheitsattribute integriert und neue API-Aufrufe für Sicherheitsanwendungen hinzugefügt haben. Es wurden jedoch keine für Anwendungen sichtbaren Datensysteme geändert, und es wurde auch keine Schnittstelle bestehender Systemaufrufe verändert, sodass vorhandene Anwendungen weiterhin ohne Änderungen funktionieren können, sofern die Sicherheitsrichtlinien deren Betrieb erlauben.
    • Kompatibilität von Kernelmodulen
      Ursprünglich bot SELinux nur grundlegende Kompatibilität für bestehende Kernelmodule; es war erforderlich, diese Module erneut zu kompilieren, um die geänderten Kernel-Header zu berücksichtigen und neue Sicherheitsfelder in den Kernel-Datenstrukturen zu erfassen. Da LSM und SELinux jetzt in den Hauptkernel von Linux 2.6 integriert sind, gewährleistet SELinux nun binäre Kompatibilität mit bestehenden Kernelmodulen. Allerdings können einige Kernelmodule ohne Anpassungen schlecht mit SELinux interagieren. Wenn ein Kernelmodul beispielsweise direkt ein Kernelobjekt zuweist und festlegt, ohne die üblichen Initialisierungsfunktionen zu verwenden, könnte es an den erforderlichen Sicherheitsinformationen für dieses Kernelobjekt mangeln. Manche Kernelmodule haben möglicherweise auch keine geeigneten Sicherheitskontrollen für ihre Operationen; alle bestehenden Aufrufe an Kernel- oder Berechtigungsfunktionen aktivieren ebenfalls die Berechtigungsprüfungen von SELinux, jedoch könnten zur Einhaltung der MAC-Richtlinien detailliertere oder zusätzliche Kontrollen notwendig sein.
      Ein sicheres Linux-System sollte keine Probleme bei der Interaktion mit herkömmlichen Linux-Systemen verursachen, sofern alle erforderlichen Operationen durch die Sicherheitsrichtlinien konfiguriert sind.
  8. Was sind die Ziele des Beispiels für Sicherheitsrichtlinien?
    Auf einem hohen Niveau besteht das Ziel darin, die Flexibilität und Sicherheit der Implementierung von Zugriffskontrollmechanismen zu demonstrieren und ein einfach funktionierendes System mit minimalen Änderungen an den Anwendungen bereitzustellen. Auf einer niedrigeren Ebene verfolgt die Richtlinie eine Reihe von Zielen, die in der Richtliniendokumentation beschrieben sind. Diese Ziele beinhalten die Verwaltung des ungeschützten Zugriffs auf Daten, den Schutz der Integrität des Kernels, der Systemsoftware, der Systemkonfigurationsinformationen und der Systemprotokolle, die Begrenzung des potenziellen Schadens, der durch die Ausnutzung von Schwachstellen in einem privilegierten Prozess entstehen kann, den Schutz privilegierter Prozesse vor der Ausführung von Schadcode, den Schutz der Administrator- und Domainrolle vor dem Zugriff ohne Benutzerauthentifizierung, die Verhinderung des Eingreifens regulärer Benutzerprozesse in System- oder Administratorprozesse sowie den Schutz von Benutzern und Administratoren vor der Ausnutzung von Schwachstellen in ihren Browsern durch schädlichen mobilen Code.
  9. Warum wurde Linux als Basisplattform gewählt?
    Linux wurde als Plattform für die ursprüngliche Referenzimplementierung dieser Arbeit aufgrund seines wachsenden Erfolgs und der offenen Entwicklungsumgebung gewählt. Linux bietet eine hervorragende Gelegenheit, zu zeigen, dass diese Funktionalität in einem Betriebssystem erfolgreich sein kann und gleichzeitig die Sicherheit eines weit verbreiteten Systems zu fördern. Die Linux-Plattform ermöglicht es dieser Arbeit außerdem, einen möglichst breiten Überblick zu erhalten und könnte möglicherweise die Basis für weitere Sicherheitsforschungen durch andere Enthusiasten bilden.
  10. Warum haben Sie diese Arbeit durchgeführt?
    Nationale Forschungsanstalt für Informationssicherheit Die National Security Agency ist verantwortlich für die Forschung und Entwicklung fortschrittlicher Technologien, die notwendig sind, damit die NSA Lösungen, Produkte und Dienstleistungen zur Gewährleistung der Informationssicherheit für infrastrukturelle Systeme bereitstellen kann, die für die nationalen Sicherheitsinteressen der USA von entscheidender Bedeutung sind.
    Die Entwicklung eines tragfähigen, sicheren Betriebssystems bleibt eine der wichtigsten Forschungsaufgaben. Unser Ziel ist es, eine effiziente Architektur zu schaffen, die die notwendige Unterstützung für Sicherheit bietet, Programmausführungen weitestgehend transparent für die Benutzer gestaltet und für Anbieter attraktiv ist. Wir sind überzeugt, dass ein entscheidender Schritt zur Erreichung dieses Ziels die Demonstration ist, wie Zugriffskontrollmechanismen erfolgreich in das grundlegende Betriebssystem integriert werden können.
  11. Wie steht das im Zusammenhang mit früheren OS-Forschungen der NSA?
    Forscher des National Security Agency (NSA) Information Assurance Research Laboratory haben gemeinsam mit der Secure Computing Corporation (SCC) eine leistungsstarke und flexible Architektur für zwangsweisen Zugangsschutz entwickelt, die auf Type Enforcement basiert, einem Mechanismus, der erstmals für das LOCK-System konzipiert wurde. NSA und SCC haben zwei Prototypen dieser Architektur basierend auf Mach entwickelt: DTMach und DTOS (http://www.cs.utah.edu/flux/dtos/). Die NSA und das SCC arbeiteten anschließend mit der Forschungsgruppe Flux der Universität Utah zusammen, um die Architektur in das Forschungsbetriebssystem Fluke zu übertragen. Während dieses Transfers wurde die Architektur optimiert, um eine bessere Unterstützung für dynamische Sicherheitsrichtlinien zu gewährleisten. Diese verbesserte Architektur erhielt den Namen Flask (http://www.cs.utah.edu/flux/flask/). Nun hat die NSA die Architektur Flask in das Betriebssystem Linux integriert, um diese Technologie einem breiteren Entwickler- und Nutzerkreis zugänglich zu machen.
  12. Ist Linux mit verbesserter Sicherheit ein zuverlässiges Betriebssystem?
    Der Begriff „vertrauenswürdiges Betriebssystem“ bezieht sich in der Regel auf ein Betriebssystem, das ausreichende Unterstützung für mehrschichtige Sicherheitsmaßnahmen und die Überprüfung der Integrität bietet, um bestimmten staatlichen Anforderungen zu genügen. Linux mit verbesserter Sicherheit integriert nützliche Konzepte aus diesen Systemen, legt jedoch den Schwerpunkt auf den erzwingenden Zugriffsschutz. Die ursprüngliche Zielsetzung bei der Entwicklung von Linux mit verbesserter Sicherheit war es, nützliche Funktionen zu schaffen, die greifbare Vorteile in Bezug auf den Schutz in einer Vielzahl von realen Umgebungen demonstrieren. SELinux selbst ist kein vertrauenswürdiges Betriebssystem, bietet jedoch eine entscheidende Sicherheitsfunktion – den erzwingenden Zugriffsschutz – der für ein vertrauenswürdiges Betriebssystem notwendig ist. SELinux wurde in Linux-Distributionen integriert, die gemäß dem Labeled Security Protection Profile bewertet wurden. Informationen über geprüfte und überprüfbare Produkte sind verfügbar unter http://niap-ccevs.org/.
  13. Ist es wirklich sicher?
    Das Konzept eines sicheren Systems umfasst viele Attribute (wie physische Sicherheit, Mitarbeitersicherheit usw.), während Linux mit verbesserter Sicherheit nur auf einen sehr engen Satz dieser Attribute zugreift (das heißt, auf die Kontrollmechanismen für den Zugriff in Betriebssystemen). Mit anderen Worten bedeutet ein "sicheres System", dass es ausreichend geschützt ist, um bestimmte Informationen in der realen Welt vor einem echten Bedrohungsszenario zu bewahren, vor dem der Eigentümer und/oder Nutzer der Informationen gewarnt wird. Linux mit verbesserter Sicherheit soll lediglich die erforderlichen Kontrollmechanismen in einem modernen Betriebssystem, wie Linux, demonstrieren und wird daher allein wahrscheinlich nicht jedweder interessanten Definition eines sicheren Systems gerecht. Wir glauben, dass die Technologie, die in Linux mit verbesserter Sicherheit demonstriert wird, für diejenigen nützlich sein wird, die sichere Systeme erstellen.
  14. Was haben Sie zur Verbesserung der Garantie unternommen?
    Ziel dieses Projekts war es, Steuerungselemente für den erzwungenen Zugriff hinzuzufügen, mit minimalen Änderungen an Linux. Dieses letzte Ziel schränkt stark ein, was zur Verbesserung der Garantie getan werden kann, weshalb es keine Arbeiten zur Steigerung der Garantie für Linux gab. Auf der anderen Seite basieren die Verbesserungen auf früheren Arbeiten zur Entwicklung einer hoch zuverlässigen Sicherheitsarchitektur, und die meisten dieser Entwurfsprinzipien wurden in Linux mit verbesserter Sicherheit übernommen.
  15. Wird CCEVS Linux mit verbesserter Sicherheit bewerten?
    Linux mit verbesserter Sicherheit ist von sich aus nicht dafür gedacht, das vollständige Spektrum der Sicherheitsprobleme zu lösen, die im Schutzprofil dargestellt sind. Obwohl es möglich wäre, nur seine aktuelle Funktionalität zu bewerten, glauben wir, dass eine solche Bewertung von begrenztem Wert wäre. Nichtsdestotrotz haben wir mit anderen zusammengearbeitet, um diese Technologie in die bewerteten und bewerteten Linux-Distributionen einzubringen. Informationen über geprüfte und überprüfbare Produkte finden Sie unter http://niap-ccevs.org/.
  16. Haben Sie versucht, irgendwelche Sicherheitsanfälligkeiten zu beheben?
    Nein, wir haben in unserer Arbeit keine Sicherheitsanfälligkeiten gesucht oder gefunden. Wir haben nur die notwendigen Mindeständerungen vorgenommen, um unsere neuen Mechanismen hinzuzufügen.
  17. Ist dieses System für die Nutzung durch die Regierung genehmigt?
    Security-enhanced Linux hat keine besondere oder zusätzliche Genehmigung für die Nutzung durch die Regierung im Vergleich zu anderen Versionen von Linux.
  18. Wie unterscheidet sich das von anderen Initiativen?
    Linux mit verbesserter Sicherheit hat eine klar definierte Architektur für flexibles, zwangsweise kontrolliertes Zugriffsmanagement, die experimentell mit mehreren Prototyp-Systemen (DTMach, DTOS, Flask) getestet wurde. Detaillierte Studien wurden zur Fähigkeit der Architektur durchgeführt, eine breite Palette von Sicherheitsrichtlinien zu unterstützen und sind verfügbar unter http://www.cs.utah.edu/flux/dtos/ und http://www.cs.utah.edu/flux/flask/.
    Die Architektur ermöglicht eine detaillierte Verwaltung vieler Abstraktionen des Kernels und von Diensten, die von anderen Systemen nicht kontrolliert werden. Einige der besonderen Merkmale des Linux-Systems mit erweiterter Sicherheit sind:
    • Trennung von Richtlinien und Durchsetzungsrechten
    • Klar definierte Richtlinien Schnittstellen
    • Unabhängigkeit von spezifischen Richtlinien und Policy-Sprachen
    • Unabhängigkeit von spezifischen Formatierungen und Inhalten von Sicherheits-Tags
    • Separierte Tags und Steuerungselemente für Kernobjekte und -dienste
    • Caching von Zugriffsentscheidungen zur Effizienzsteigerung
    • Unterstützung von Richtlinienänderungen
    • Überwachung der Initialisierung des Prozesses sowie der Vererbung und Ausführung des Programms
    • Verwaltung von Dateisystemen, Verzeichnissen, Dateien und offenen Dateibeschreibungen
    • Verwaltung von Sockets, Nachrichten und Netzwerkschnittstellen
    • Überwachung der Nutzung von 'Capabilities'
  19. Welche Lizenzbeschränkungen gelten für dieses System?
    Der gesamte Quellcode, der auf der Website gefunden wird https://www.nsa.gov, wird unter denselben Bedingungen wie die ursprünglichen Quellcodes verteilt. Zum Beispiel werden Patches für den Linux-Kernel und Patches für viele der hier verfügbaren Tools unter den Bedingungen GNU General Public License (GPL).
  20. Gibt es Exportkontrollen?
    Für Linux mit erweiterten Sicherheitsfunktionen gibt es im Vergleich zu anderen Linux-Versionen keine zusätzlichen Exportkontrollen.
  21. Plant die NSA, es im Inland zu verwenden?
    Aus verständlichen Gründen kommentiert die NSA die operationale Nutzung nicht.
  22. Ändert die Erklärung zu den Garantien vom 26. Juli 2002 der Secure Computing Corporation die Position der NSA, dass SELinux im Rahmen der GNU General Public License bereitgestellt wurde?
    Die Position der NSA hat sich nicht geändert. Die NSA bleibt dabei, dass die Bestimmungen und Bedingungen der GNU General Public License die Nutzung, Kopie, Verbreitung und Modifikation von SELinux regeln. Siehe: Pressemitteilung der NSA vom 2. Januar 2001.
  23. Unterstützt die NSA Open-Source-Software?
    Die Initiativen der NSA zur Verbesserung der Software-Sicherheit decken sowohl proprietäre als auch Open-Source-Software ab, und wir haben erfolgreich sowohl proprietäre als auch offene Modelle in unserer Forschungsarbeit genutzt. Die Arbeit der NSA zur Stärkung der Software-Sicherheit wird durch ein einfaches Prinzip motiviert: unsere Ressourcen so effektiv wie möglich zu nutzen, um den Kunden der NSA die bestmöglichen Sicherheitslösungen in den am häufigsten verwendeten Produkten anzubieten. Das Ziel des Forschungsprogramms der NSA ist die Entwicklung technologischer Fortschritte, die mit der Software-Entwicklungsgemeinschaft über verschiedene Transfermechanismen geteilt werden können. Die NSA unterstützt und fördert kein spezifisches Softwareprodukt oder Geschäftsmodell. Vielmehr trägt die NSA zur Verbesserung der Sicherheit bei.
  24. Unterstützt die NSA Linux?
    Wie bereits erwähnt, unterstützt und fördert die NSA kein spezifisches Softwareprodukt oder eine Plattform; die NSA trägt lediglich zur Erhöhung der Sicherheit bei. Die Flask-Architektur, die in der Referenzimplementierung von SELinux demonstriert wurde, wurde auf mehrere andere Betriebssysteme wie Solaris, FreeBSD und Darwin portiert, sowie auf den Hypervisor Xen angewendet und findet Verwendung in Anwendungen wie dem X Window System, GConf, D-BUS und PostgreSQL. Die Konzepte der Flask-Architektur sind auf eine Vielzahl von Systemen und Umgebungen anwendbar.

Zusammenarbeit

  1. Wie planen wir die Interaktion mit der Linux-Community?
    Wir haben eine Sammlung von Webseiten auf NSA.gov, die unsere Hauptquelle für Informationen über Linux mit verbesserter Sicherheit darstellen wird. Wenn Sie an Linux mit verbesserter Sicherheit interessiert sind, empfehlen wir Ihnen, sich der Entwickler-Mailingliste anzuschließen, den Quellcode einzusehen und Ihr Feedback (oder Code) zu geben. Um sich der Entwickler-Mailingliste anzuschließen, besuchen Sie bitte. Die Seite der SELinux-Entwickler-Mailingliste.
  2. Wer kann helfen?
    SELinux wird jetzt von einer Community von Entwicklern der Open-Source-Software für Linux unterstützt und weiterentwickelt.
  3. Finanziert die NSA irgendwelche Folgearbeiten?
    Zurzeit nimmt die NSA keine Vorschläge für weitere Arbeiten in Betracht.
  4. Welche Art von Unterstützung ist verfügbar?
    Wir beabsichtigen, Anfragen über die Mailingliste selinux@tycho.nsa.gov zu klären, können jedoch nicht auf alle Fragen zu spezifischen Websites antworten.
  5. Wer hat geholfen? Was haben sie getan?
    Ein sicherheitsverbesserter Linux-Prototyp wurde von der NSA in Zusammenarbeit mit Forschungspartnern von NAI Labs, Secure Computing Corporation (SCC) und MITER Corporation entwickelt. Nach der anfänglichen öffentlichen Freigabe folgten viele weitere Materialien. Siehe die Liste der Beteiligten.
  6. Wie kann ich mehr erfahren?
    Wir empfehlen Ihnen, unsere Webseiten zu besuchen, die Dokumentation und frühere Forschungsarbeiten zu lesen sowie an unserer Mailingliste selinux@vger.kernel.org teilzunehmen.

Halten Sie die Übersetzung für nützlich? Schreiben Sie Kommentare!

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster