Häufig gestellte Fragen zu SELinux (FAQ)

Hallo zusammen! Speziell für Kursteilnehmer „Linux-Sicherheit“ Wir haben eine Übersetzung der offiziellen FAQ des SELinux-Projekts vorbereitet. Es scheint uns, dass diese Übersetzung nicht nur für Studenten nützlich sein kann, deshalb teilen wir sie mit Ihnen.

Häufig gestellte Fragen zu SELinux (FAQ)

Wir haben versucht, einige der am häufigsten gestellten Fragen zum SELinux-Projekt zu beantworten. Die Fragen sind derzeit in zwei Hauptkategorien unterteilt. Alle Fragen und Antworten sind gegeben auf der FAQ-Seite.

Beschreibung

Beschreibung

  1. Was ist sicherheitsverstärktes Linux?
    Security-enhanced Linux (SELinux) ist die Referenzimplementierung der Flask-Sicherheitsarchitektur für flexible, erzwungene Zugriffskontrolle. Es wurde erstellt, um die Nützlichkeit flexibler Durchsetzungsmechanismen zu demonstrieren und wie solche Mechanismen zu einem Betriebssystem hinzugefügt werden können. Die Flask-Architektur wurde anschließend in Linux integriert und auf mehrere andere Systeme portiert, darunter das Solaris-Betriebssystem, das FreeBSD-Betriebssystem und den Darwin-Kernel, was zu einer Vielzahl verwandter Arbeiten führte. Die Flask-Architektur bietet allgemeine Unterstützung für die Durchsetzung vieler Arten von Richtlinien zur Durchsetzung der Zugriffskontrolle, einschließlich solcher, die auf den Konzepten Typdurchsetzung, rollenbasierte Zugriffskontrolle und mehrstufige Sicherheit basieren.
  2. Was bietet Linux mit erhöhter Sicherheit, was Standard-Linux nicht bieten kann?
    Der sicherheitserweiterte Linux-Kernel erzwingt erzwungene Zugriffskontrollrichtlinien, die Benutzerprogramme und Systemserver auf die für ihre Arbeit erforderlichen Mindestrechte beschränken. Mit dieser Einschränkung wird die Fähigkeit dieser Benutzerprogramme und Systemdämonen, im Falle einer Kompromittierung (z. B. aufgrund eines Pufferüberlaufs oder einer Fehlkonfiguration) Schaden anzurichten, verringert oder eliminiert. Dieser Einschränkungsmechanismus funktioniert unabhängig von herkömmlichen Linux-Zugriffskontrollmechanismen. Es verfügt nicht über das Konzept eines „Root“-Superusers und weist nicht die bekannten Mängel traditioneller Linux-Sicherheitsmechanismen auf (z. B. Abhängigkeit von setuid/setgid-Binärdateien).
    Die Sicherheit eines unveränderten Linux-Systems hängt von der Korrektheit des Kernels, aller privilegierten Anwendungen und jeder ihrer Konfigurationen ab. Ein Problem in einem dieser Bereiche kann das gesamte System gefährden. Im Gegensatz dazu hängt die Sicherheit eines modifizierten Systems, das auf dem sicherheitserweiterten Linux-Kernel basiert, in erster Linie von der Korrektheit des Kernels und der Konfiguration seiner Sicherheitsrichtlinie ab. Während Probleme mit der Anwendungskorrektheit oder -konfiguration eine begrenzte Kompromittierung einzelner Benutzerprogramme und Systemdämonen ermöglichen können, stellen sie kein Sicherheitsrisiko für andere Benutzerprogramme und Systemdämonen oder die Sicherheit des Systems als Ganzes dar.
  3. Wozu ist sie gut?
    Die neuen sicherheitserweiterten Funktionen von Linux sollen eine Trennung von Informationen basierend auf Vertraulichkeits- und Integritätsanforderungen ermöglichen. Sie sollen verhindern, dass Prozesse Daten und Programme lesen, Daten und Programme manipulieren, Anwendungssicherheitsmechanismen umgehen, nicht vertrauenswürdige Programme ausführen oder andere Prozesse unter Verstoß gegen die Systemsicherheitsrichtlinien stören. Sie tragen auch dazu bei, den potenziellen Schaden zu begrenzen, der durch Malware oder fehlerhafte Programme verursacht werden kann. Sie sollten auch nützlich sein, um sicherzustellen, dass Benutzer mit unterschiedlichen Sicherheitsberechtigungen dasselbe System verwenden können, um auf verschiedene Arten von Informationen mit unterschiedlichen Sicherheitsanforderungen zuzugreifen, ohne diese Anforderungen zu beeinträchtigen.
  4. Wie kann ich eine Kopie bekommen?
    Viele Linux-Distributionen unterstützen SELinux bereits als Standardfunktion oder als optionales Paket. Der Kerncode des SELinux-Userlandes ist unter verfügbar GitHub. Endbenutzer sollten im Allgemeinen die von ihrer Distribution bereitgestellten Pakete verwenden.
  5. Was ist in Ihrer Veröffentlichung enthalten?
    Die NSA-Version von SELinux enthält den Kern-SELinux-Userland-Code. Die Unterstützung für SELinux ist bereits im Mainstream-Linux-2.6-Kernel enthalten, der auf kernel.org verfügbar ist. Der Kerncode des SELinux-Benutzerlandes besteht aus einer Bibliothek für die Manipulation binärer Richtlinien (libsepol), einem Richtlinien-Compiler (checkpolicy), einer Bibliothek für Sicherheitsanwendungen (libselinux), einer Bibliothek für Richtlinienverwaltungstools (libsemanage) und mehreren richtlinienbezogenen Dienstprogrammen ( Policycoreutils).
    Zusätzlich zum SELinux-fähigen Kernel und dem grundlegenden Userland-Code benötigen Sie eine Richtlinie und einige mit SELinux gepatchte Userspace-Pakete, um SELinux verwenden zu können. Die Police ist erhältlich bei SELinux-Referenzrichtlinienprojekt.
  6. Kann ich gehärtetes Linux auf einem bestehenden Linux-System installieren?
    Ja, Sie können nur SELinux-Modifikationen auf einem vorhandenen Linux-System installieren, oder Sie können eine Linux-Distribution installieren, die bereits SELinux-Unterstützung enthält. SELinux besteht aus einem Linux-Kernel mit SELinux-Unterstützung, einem Kernsatz von Bibliotheken und Dienstprogrammen, einigen modifizierten Benutzerpaketen und einer Richtlinienkonfiguration. Um es auf einem vorhandenen Linux-System ohne SELinux-Unterstützung zu installieren, müssen Sie in der Lage sein, die Software zu kompilieren und über andere erforderliche Systempakete zu verfügen. Wenn Ihre Linux-Distribution bereits Unterstützung für SELinux enthält, müssen Sie die NSA-Version von SELinux nicht erstellen oder installieren.
  7. Wie kompatibel ist Linux mit verbesserter Sicherheit mit unverändertem Linux?
    Linux mit verbesserter Sicherheit bietet binäre Kompatibilität mit vorhandenen Linux-Anwendungen und mit vorhandenen Linux-Kernelmodulen. Einige Kernelmodule müssen jedoch möglicherweise geändert werden, um ordnungsgemäß mit SELinux zu interagieren. Diese beiden Kompatibilitätskategorien werden im Folgenden ausführlich besprochen:

    • Anwendungskompatibilität
      SELinux bietet binäre Kompatibilität mit vorhandenen Anwendungen. Wir haben die Kernel-Datenstrukturen um neue Sicherheitsattribute erweitert und neue API-Aufrufe für Sicherheitsanwendungen hinzugefügt. Wir haben jedoch weder die für die Anwendung sichtbaren Datenstrukturen noch die Schnittstelle vorhandener Systemaufrufe geändert, sodass vorhandene Anwendungen weiterhin ausgeführt werden können, solange die Sicherheitsrichtlinie dies zulässt.
    • Kompatibilität mit Kernelmodulen
      Ursprünglich bot SELinux nur eine anfängliche Kompatibilität für vorhandene Kernelmodule. Es war notwendig, solche Module mit geänderten Kernel-Headern neu zu kompilieren, um die neuen Sicherheitsfelder zu übernehmen, die den Kernel-Datenstrukturen hinzugefügt wurden. Da LSM und SELinux jetzt in den Mainstream-Linux-2.6-Kernel integriert sind, bietet SELinux jetzt Binärkompatibilität mit vorhandenen Kernelmodulen. Allerdings interagieren einige Kernelmodule ohne Modifikation möglicherweise nicht gut mit SELinux. Wenn beispielsweise ein Kernelmodul ein Kernelobjekt direkt zuweist und einrichtet, ohne die normalen Initialisierungsfunktionen zu verwenden, verfügt das Kernelobjekt möglicherweise nicht über die richtigen Sicherheitsinformationen. Bei einigen Kernelmodulen fehlen möglicherweise auch angemessene Sicherheitskontrollen für ihren Betrieb. Alle vorhandenen Aufrufe von Kernel-Funktionen oder Berechtigungsfunktionen lösen ebenfalls SELinux-Berechtigungsprüfungen aus, es sind jedoch möglicherweise detailliertere oder zusätzliche Kontrollen erforderlich, um MAC-Richtlinien durchzusetzen.
      Linux mit verbesserter Sicherheit sollte keine Interoperabilitätsprobleme mit regulären Linux-Systemen verursachen, wenn alle erforderlichen Vorgänge durch die Sicherheitsrichtlinienkonfiguration zugelassen werden.
  8. Was ist der Zweck des Beispiels für die Konfiguration einer Sicherheitsrichtlinie?
    Auf hoher Ebene besteht das Ziel darin, die Flexibilität und Sicherheit erzwungener Zugriffskontrollen zu demonstrieren und ein einfach funktionierendes System mit minimalen Anwendungsänderungen bereitzustellen. Auf einer niedrigeren Ebene verfügt eine Richtlinie über eine Reihe von Zielen, die in der Richtliniendokumentation beschrieben werden. Zu diesen Zielen gehören die Kontrolle des Rohdatenzugriffs, der Schutz der Integrität des Kernels, der Systemsoftware, der Systemkonfigurationsinformationen und der Systemprotokolle, die Begrenzung des potenziellen Schadens, der durch die Ausnutzung einer Schwachstelle in einem Prozess verursacht werden könnte, der Berechtigungen erfordert, und der Schutz privilegierter Prozesse vor der Ausführung bösartiger Prozesse Code, schützen Sie die Administratorrolle und die Domäne vor der Anmeldung ohne Benutzerauthentifizierung, verhindern Sie, dass normale Benutzerprozesse System- oder Administratorprozesse stören, und schützen Sie Benutzer und Administratoren davor, Schwachstellen in ihrem Browser durch böswilligen mobilen Code auszunutzen.
  9. Warum wurde Linux als Basisplattform gewählt?
    Aufgrund seines wachsenden Erfolgs und seiner offenen Entwicklungsumgebung wurde Linux als Plattform für die erste Referenzimplementierung dieser Arbeit ausgewählt. Linux bietet eine hervorragende Gelegenheit zu zeigen, dass diese Funktionalität auf einem Host-Betriebssystem erfolgreich sein und gleichzeitig zur Sicherheit eines weit verbreiteten Systems beitragen kann. Die Linux-Plattform bietet für diese Arbeit auch eine hervorragende Gelegenheit, einen möglichst umfassenden Überblick zu gewinnen und möglicherweise als Grundlage für weitere Sicherheitsforschung durch andere Enthusiasten zu dienen.
  10. Warum haben Sie diese Arbeit gemacht?
    Nationales Forschungslabor für Informationssicherheit Die National Security Agency ist für Forschung und fortschrittliche Technologieentwicklung verantwortlich, damit die NSA Informationssicherheitslösungen, -produkte und -dienste für Informationsinfrastrukturen bereitstellen kann, die für die nationalen Sicherheitsinteressen der USA von entscheidender Bedeutung sind.
    Die Entwicklung eines funktionsfähigen, sicheren Betriebssystems bleibt eine große Forschungsherausforderung. Unser Ziel ist es, eine effiziente Architektur zu schaffen, die die nötige Unterstützung für Sicherheit bietet, Programme weitgehend transparent für den Benutzer ausführt und für Anbieter attraktiv ist. Wir glauben, dass ein wichtiger Schritt zur Erreichung dieses Ziels darin besteht, zu zeigen, wie erzwungene Zugriffskontrollmechanismen erfolgreich in das Hauptbetriebssystem integriert werden können.
  11. In welcher Beziehung steht dies zu früheren Untersuchungen der OS NSA?
    Forscher des National Assurance Research Laboratory der NSA haben mit der Secure Computing Corporation (SCC) zusammengearbeitet, um eine leistungsstarke und flexible Durchsetzungsarchitektur zu entwickeln, die auf Type Enforcement basiert, einem Mechanismus, der vom LOCK-System entwickelt wurde. Die NSA und SCC entwickelten zwei auf Mach basierende Prototyp-Architekturen: DTMach und DTOS (http://www.cs.utah.edu/flux/dtos/). Anschließend arbeiteten NSA und SCC mit der Flux Research Group an der University of Utah zusammen, um die Architektur auf das Fluke Research Operating System zu portieren. Während dieser Migration wurde die Architektur verfeinert, um dynamische Sicherheitsrichtlinien besser zu unterstützen. Diese verbesserte Architektur wurde Flask genannt (http://www.cs.utah.edu/flux/flask/). Jetzt hat die NSA die Flask-Architektur in das Linux-Betriebssystem integriert, um die Technologie einer breiteren Entwickler- und Benutzergemeinschaft zugänglich zu machen.
  12. Ist Linux mit erhöhter Sicherheit ein zuverlässiges Betriebssystem?
    Der Ausdruck „Vertrauenswürdiges Betriebssystem“ bezieht sich im Allgemeinen auf ein Betriebssystem, das ausreichend Unterstützung für mehrschichtige Sicherheit und Validierung bietet, um bestimmte behördliche Anforderungen zu erfüllen. Linux mit erhöhter Sicherheit berücksichtigt nützliche Erkenntnisse aus diesen Systemen, konzentriert sich jedoch auf die erzwungene Zugriffskontrolle. Das ursprüngliche Ziel der Entwicklung von Linux mit erhöhter Sicherheit bestand darin, nützliche Funktionen zu schaffen, die in einer Vielzahl realer Umgebungen spürbare Sicherheitsvorteile bieten, um diese Technologie zu demonstrieren. SELinux ist selbst kein vertrauenswürdiges Betriebssystem, bietet jedoch eine wichtige Sicherheitsfunktion – eine erzwungene Zugriffskontrolle –, die für ein vertrauenswürdiges Betriebssystem erforderlich ist. SELinux wurde in Linux-Distributionen integriert, die nach dem Labeled Security Protection Profile bewertet wurden. Informationen zu getesteten und getesteten Produkten finden Sie unter http://niap-ccevs.org/.
  13. Ist sie wirklich geschützt?
    Das Konzept eines sicheren Systems umfasst viele Attribute (z. B. physische Sicherheit, Personensicherheit usw.), und Linux mit erweiterter Sicherheit berücksichtigt nur einen sehr begrenzten Satz dieser Attribute (d. h. die Durchsetzungskontrollen des Betriebssystems). Mit anderen Worten bedeutet „sicheres System“, dass es sicher genug ist, um einige Informationen in der realen Welt vor einem echten Gegner zu schützen, vor dem der Eigentümer und/oder Benutzer der Informationen gewarnt wird. Linux mit erhöhter Sicherheit soll lediglich die erforderlichen Kontrollen in einem modernen Betriebssystem wie Linux zur Schau stellen und dürfte daher für sich genommen kaum einer interessanten Definition eines sicheren Systems entsprechen. Wir glauben, dass die in Linux mit erhöhter Sicherheit demonstrierte Technologie für Menschen nützlich sein wird, die sichere Systeme erstellen.
  14. Was haben Sie getan, um die Garantie zu verbessern?
    Das Ziel dieses Projekts bestand darin, erzwungene Zugriffskontrollen mit minimalen Änderungen in Linux einzuführen. Dieses letzte Ziel schränkt die Möglichkeiten zur Verbesserung der Garantie erheblich ein, sodass keine Arbeiten zur Verbesserung der Linux-Garantie durchgeführt wurden. Andererseits bauen die Verbesserungen auf früheren Arbeiten zum Entwurf einer Hochsicherheits-Sicherheitsarchitektur auf, und die meisten dieser Entwurfsprinzipien wurden auf Security-enhanced Linux übertragen.
  15. Wird CCEVS Linux mit erhöhter Sicherheit bewerten?
    Linux mit erweiterter Sicherheit allein ist nicht darauf ausgelegt, alle Sicherheitsprobleme zu lösen, die ein Sicherheitsprofil darstellt. Obwohl es möglich wäre, nur die aktuelle Funktionalität zu bewerten, glauben wir, dass eine solche Bewertung nur von begrenztem Wert wäre. Wir haben jedoch mit anderen zusammengearbeitet, um diese Technologie in evaluierte und evaluierte Linux-Distributionen zu integrieren. Informationen zu getesteten und getesteten Produkten finden Sie unter http://niap-ccevs.org/.
  16. Haben Sie versucht, Schwachstellen zu beheben?
    Nein, wir haben im Rahmen unserer Arbeit keine Schwachstellen gesucht oder gefunden. Wir haben nur so viel von dem Nötigsten beigesteuert, dass wir unsere neue Ausrüstung hinzufügen konnten.
  17. Ist dieses System für die staatliche Nutzung zugelassen?
    Linux mit verbesserter Sicherheit verfügt über keine besondere oder zusätzliche Genehmigung für die Verwendung durch die Regierung gegenüber anderen Linux-Versionen.
  18. Wie unterscheidet sich das von anderen Initiativen?
    Linux mit erhöhter Sicherheit verfügt über eine klar definierte Architektur für eine flexible erzwungene Zugriffskontrolle, die experimentell mit mehreren Prototypsystemen (DTMach, DTOS, Flask) getestet wurde. Es wurden detaillierte Studien zur Fähigkeit der Architektur durchgeführt, ein breites Spektrum an Sicherheitsrichtlinien zu unterstützen, und sind verfügbar in http://www.cs.utah.edu/flux/dtos/ и http://www.cs.utah.edu/flux/flask/.
    Die Architektur bietet eine differenzierte Kontrolle über viele Kernel-Abstraktionen und -Dienste, die nicht von anderen Systemen gesteuert werden. Einige der charakteristischen Merkmale eines Linux-Systems mit erweiterter Sicherheit sind:

    • Reine Trennung von Richtlinien- und Durchsetzungsrechten
    • Gut definierte Richtlinienschnittstellen
    • Unabhängigkeit von spezifischen Richtlinien und Richtliniensprachen
    • Unabhängigkeit von spezifischen Formaten und Inhalten von Sicherheitsetiketten
    • Separate Beschriftungen und Steuerelemente für Kernelobjekte und -dienste
    • Caching von Zugriffsentscheidungen für mehr Effizienz
    • Unterstützung bei Richtlinienänderungen
    • Kontrolle über Prozessinitialisierung und -vererbung sowie Programmausführung
    • Verwalten von Dateisystemen, Verzeichnissen, Dateien und Beschreibungen geöffneter Dateien
    • Verwalten von Sockets, Nachrichten und Netzwerkschnittstellen
    • Kontrolle über die Nutzung von „Opportunities“
  19. Welche Lizenzbeschränkungen gelten für dieses System?
    Der gesamte Quellcode ist auf der Website zu finden https://www.nsa.govwird unter den gleichen Bedingungen wie die ursprünglichen Quellcodes vertrieben. Unter den Bedingungen werden beispielsweise Fixes für den Linux-Kernel und Fixes für viele der hier verfügbaren vorhandenen Dienstprogramme veröffentlicht GNU General Public Lizenz (GPL).
  20. Gibt es Exportkontrollen?
    Es gibt keine zusätzlichen Exportkontrollen für Linux mit erweiterter Sicherheit im Vergleich zu anderen Linux-Versionen.
  21. Plant die NSA, es im Inland einzusetzen?
    Aus offensichtlichen Gründen äußert sich die NSA nicht zum operativen Einsatz.
  22. Ändert die Garantieerklärung der Secure Computing Corporation vom 26. Juli 2002 die Position der NSA, dass SELinux unter der GNU General Public License verfügbar gemacht wurde?
    Die Position der NSA hat sich nicht geändert. Die NSA ist immer noch davon überzeugt, dass die Bedingungen der GNU General Public License die Nutzung, das Kopieren, die Verbreitung und die Änderung von SELinux regeln. Cm. Pressemitteilung der NSA vom 2. Januar 2001.
  23. Unterstützt die NSA Open-Source-Software?
    Die Softwaresicherheitsinitiativen der NSA umfassen sowohl proprietäre als auch Open-Source-Software, und wir haben in unseren Forschungsaktivitäten sowohl proprietäre als auch Open-Source-Modelle erfolgreich eingesetzt. Die Arbeit der NSA zur Verbesserung der Softwaresicherheit basiert auf einer einfachen Überlegung: Wir möchten unsere Ressourcen optimal nutzen, um NSA-Kunden die bestmöglichen Sicherheitsoptionen für ihre am häufigsten verwendeten Produkte zu bieten. Ziel des Forschungsprogramms der NSA ist die Entwicklung technologischer Fortschritte, die über verschiedene Transfermechanismen mit der Softwareentwicklungsgemeinschaft geteilt werden können. Die NSA unterstützt oder fördert kein bestimmtes Softwareprodukt oder Geschäftsmodell. Die NSA fördert vielmehr die Sicherheit.
  24. Unterstützt die NSA Linux?
    Wie oben erwähnt, unterstützt oder bewirbt die NSA kein bestimmtes Softwareprodukt oder eine bestimmte Plattform. Die NSA trägt nur zu mehr Sicherheit bei. Die in der SELinux-Referenzimplementierung gezeigte Flask-Architektur wurde auf mehrere andere Betriebssysteme portiert, darunter Solaris, FreeBSD und Darwin, auf den Xen-Hypervisor portiert und auf Anwendungen wie das X Window System, GConf, D-BUS und PostgreSQL angewendet . Flask-Architekturkonzepte sind allgemein auf eine Vielzahl von Systemen und Umgebungen anwendbar.

Zusammenarbeit

  1. Wie wollen wir mit der Linux-Community interagieren?
    Hier ist unser Land Reihe von Webseiten bei NSA.gov, das als unsere Hauptmethode zur Veröffentlichung sicherheitsverbesserter Linux-Informationen dienen wird. Wenn Sie an Linux mit verbesserter Sicherheit interessiert sind, empfehlen wir Ihnen, sich der Entwickler-Mailingliste anzuschließen, den Quellcode anzusehen und Ihr Feedback (oder Ihren Code) abzugeben. Informationen zum Beitritt zur Entwickler-Mailingliste finden Sie unter Mailinglistenseite für SELinux-Entwickler.
  2. Wer kann helfen?
    SELinux wird jetzt von der Open-Source-Linux-Software-Community gepflegt und verbessert.
  3. Finanziert die NSA Folgearbeiten?
    Die NSA prüft derzeit keine Vorschläge für weitere Arbeiten.
  4. Welche Art von Unterstützung gibt es?
    Wir beabsichtigen, Probleme über die Mailingliste zu lösen [E-Mail geschützt] , aber wir können nicht alle Fragen zu einer bestimmten Website beantworten.
  5. Wer half? Was haben Sie gemacht?
    Der sicherheitserweiterte Linux-Prototyp wurde von der NSA mit Forschungspartnern von NAI Labs, Secure Computing Corporation (SCC) und MITRE Corporation entwickelt. Nach der ersten Veröffentlichung folgte noch viel mehr Material. Sehen Sie sich die Teilnehmerliste an.
  6. Wie kann ich mehr erfahren?
    Wir empfehlen Ihnen, unsere Webseiten zu besuchen, Dokumentationen und frühere Forschungsarbeiten zu lesen und an unserer Mailingliste teilzunehmen. [E-Mail geschützt]

Finden Sie die Übersetzung nützlich? Schreiben Sie Kommentare!

Source: habr.com

Kommentar hinzufügen