Frage:
Vergleich zwischen AppArmor und Selinux
Ali Ahmad
2013-01-20 18:30:46 UTC
view on stackexchange narkive permalink

Ich habe verschiedene Vergleiche von AppArmor und SELinux überprüft, darunter:

Aus diesen Artikeln schließe ich, dass AppArmor besser ist als SELinux, das auf AppArmor basiert, eine weitaus weniger komplexe und weitaus kürzere Lernkurve ist. Daher sprechen die meisten Vergleiche für AppArmor, aber wie kann ich sagen, dass AppArmor sicherer ist als SELinux?

Verwandte: https://unix.stackexchange.com/questions/411853/core-difference-between-selinux-and-apparmor
Neun antworten:
rook
2013-01-21 00:11:53 UTC
view on stackexchange narkive permalink

Diese Sicherheitssysteme bieten Tools zum Isolieren von Anwendungen voneinander ... und isolieren wiederum einen Angreifer vom Rest des Systems, wenn eine Anwendung kompromittiert wird.

SELinux-Regelsätze sind unglaublich komplex, aber mit Durch diese Komplexität haben Sie mehr Kontrolle darüber, wie Prozesse isoliert werden. Das Generieren dieser Richtlinien kann automatisiert werden. Ein Streik gegen dieses Sicherheitssystem ist, dass es sehr schwierig ist, es unabhängig zu überprüfen.

AppArmor (und SMACK) ist sehr einfach. Die Profile können von Menschen handgeschrieben oder mit aa-logprof erstellt werden. AppArmor verwendet eine pfadbasierte Steuerung, wodurch das System transparenter wird und unabhängig überprüft werden kann.

"sehr schwierig" und "sehr einfach" klingt für mich sehr subjektiv. Außerdem denke ich, dass jeder, der bereit ist, zwischen AA und SELinux zu wählen, sich fragen sollte, ob in den Tools, die er benötigt, als Starter eine Richtlinie geschrieben ist. Welcher der beiden Support-Namespaces, cgroups und Docker-Container?
@Steve DL SE Linux ist so komplex, dass selbst Entwickler es nicht überprüfen können *
Ich bin mir der Komplexität von SELinux durchaus bewusst und habe darauf basierende MAC-Tools untersucht. Die einzige vergleichende Usability-Studie zu AA und SELinux ist http://researchrepository.murdoch.edu.au/6177/1/empowering_end_users.pdf und nicht ohne Nachteile (kein Bevölkerungsvertreter von Sysadms oder CISOs und Anwendung von MAC auf Programme für was es nie beabsichtigt war). Für den untersuchten Kontext sind sowohl AA als auch SELinux unzureichend, und das ist keine Überraschung. Ihre Antwort beantwortet die Frage nicht und es gibt nicht genügend faktenbasierte Beweise, um sie richtig zu beantworten.
Die Automatisierung der Konfiguration mit SELinux ist eine schlechte Idee.http://symcbean.blogspot.co.uk/2016/11/selinux-sucks.html
Es wäre schön, wenn Sie zumindest die Grundlagen zwischen Pfad- und Inode-Kennzeichnung erläutern würden, da dies wichtig ist, da AppArmor das erstere und SELinux das letztere ist.
Wenn ich lese, dass SELinux "unglaublich komplex" und "sehr schwer unabhängig zu überprüfen" ist, erinnere ich mich daran, dass SELinux von der NSA erstellt wurde, sodass diese Komplexität möglicherweise absichtlich erstellt wurde, um Hintertüren stillschweigend einzuführen, wie wir sie bei Snowden-Lecks gesehen haben.
Docker läuft mit dem SELinux-Typ `container_t` in RHEL und Derivaten.Hier ist ein Beispiel dafür, wie dies eine Runc / Docker-Sicherheitsanfälligkeit verhindert hat: https://rhelblog.redhat.com/2017/01/13/selinux-mitigates-container-vulnerability/ Gibt es eine vergleichbare AppArmor-Richtlinie, die erforderlich ist, damit Pakete funktionieren?der Box?
@baptx: Sogar die NSA gab SELinux auf - Prism war nur eine Komponente eines benutzerdefinierten Betriebssystems.Aber die Richtlinie (jeder hier verwechselt SELinux, das Stück, das die NSA geschrieben hat, mit der Richtlinie, ich habe nur Richtlinien gesehen, die auf der einen basieren, die Redhat immer wieder neu schreibt).
IBit
2013-12-25 04:54:13 UTC
view on stackexchange narkive permalink

Der Link zum Wahnsinn verweist auf meine Website. Ich möchte hier nur meine Meinung begründen :)

Wenn Sie sich SELinux und Apparmor ansehen, sind beide auf die gleiche Weise stark und schwach. SELinux ist insofern "stärker", als es einen noch feineren Zugriff auf Dateien erhalten kann. Aber was bringt es einem Angreifer, wenn er sich in einem Apparmor-Profil befindet? In einem Apparmor-Profil sind Sie bereits erheblich eingeschränkt. Gewinnen Sie mit SELinux wirklich viel mehr?

Was Sie mit SELinux gewinnen (insbesondere bei der Erstellung von Richtlinien, viel mehr als bei der Prüfung - obwohl die Prüfung zuzulassen auch schmerzhaft ist), erhöht die Komplexität. Vieles davon.

Der Pfad des geringsten Widerstands in einer Linux-Sandbox wie SELinux oder Apparmor ist der Kernel . SELinux tut nichts mehr als Apparmor, um den Kernel zu sichern.

Wenn ein Angreifer also den dummen Weg gehen möchte, Designprobleme in Apparmor / SELinux zu lösen, ist SELinux Möglicherweise sicherer - dies setzt jedoch voraus, dass die Profile gut erstellt wurden. Da SELinux so komplex ist, wurden tatsächlich Schwachstellen eingeführt.

Wenn ein Angreifer klug ist, werden sie es tun Gehen Sie zum Kernel und umgehen Sie beide.

Sie sind also beide auf die gleiche Weise schwach, beide in jeder Hinsicht stark, und einer von ihnen ist VIEL einfacher.

Voila.

Die Buttermesser-Metapher funktioniert nicht, das sollte offensichtlich sein.

Da Sie den Kernel als "Schwachstelle" bezeichnen, ist es vielleicht wert, GrSecurity zu erwähnen.
Ja, ich habe auf meiner Website ziemlich viel über Grsecurity geschrieben. Kein Linux-System, das auf Sicherheit abzielt, ist ohne dieses System vollständig, und niemand sollte sich auf MAC verlassen, ohne zuvor die Schwachstellen des Kernels zu beheben.
evanxsummers
2013-10-17 17:16:42 UTC
view on stackexchange narkive permalink

AppArmor ist durch seine Einfachheit sicherer, die das Überprüfen und Validieren von Richtlinien erleichtert. Fehler sind weniger wahrscheinlich, leichter zu erkennen und ein Backdoor-Versuch ist schwerer zu verschleiern.

bryn1u
2016-10-25 17:29:53 UTC
view on stackexchange narkive permalink

SELinux ist sicherlich ein vollständigeres und ehrgeizigeres Sicherheitstool als AppArmor. SELinux ist ein weites Universum, es durchdringt alles, es kennzeichnet möglicherweise jedes Objekt im System und erweitert das System konzeptionell zu einer komplexeren Sicherheitsinfrastruktur. Es ermöglicht Ihnen, alle wichtigen Sicherheitsparadigmen in der Zugriffskontrolltheorie zu implementieren. Selbst

Militär- und Regierungsorganisationen können es für ihre strengen Sicherheitsanforderungen verwenden. Mit SELinux ist es möglich, MAC („Mandatory Access Control“), MLS („Multi-Level Security“) mit Bell-La zu implementieren Padula- und Biba-Modelle), MCS („Multi-Category Security“), RBAC („Role Based Access Control“), TE („Type Enforcement“). Außerdem basiert SELinux auf dem Standardverweigerungsprinzip.

Mit AppArmor können Sie einfach definieren, was eine einzelne Anwendung nach dem Prinzip der geringsten Berechtigung tun kann und was nicht, ohne vollständige Sicherheitsparadigmen zu implementieren.

Tim X
2013-01-25 10:19:44 UTC
view on stackexchange narkive permalink

Im Allgemeinen kann man nicht sagen, dass appArmor besser ist als SELinux. Dies liegt daran, dass vieles davon abhängt, was Sie sichern und was Sie gegen und von den individuellen Fähigkeiten und Vorlieben der Person / Personen, die für die Wartung des Systems verantwortlich sind, sichern.

SELinux verfügt über eine genauere Kontrolle . In einigen Situationen wäre dies angemessener als AppArmor. Andererseits ist AppArmor wahrscheinlich für die Mehrheit der Linux-Benutzer ausreichend leistungsfähig. Darüber hinaus berichten viele, dass es einfacher zu verstehen und zu verwenden ist, was bedeutet, dass es weniger wahrscheinlich ist, dass Konfigurationsfehler gefährliche Löcher verursachen, die schwer zu finden sind. Auf der anderen Seite kann die Verwendung von AppArmor für jemanden, der mit SELinux vertraut und vertraut ist, leicht zu Konfigurationsfehlern führen, einfach weil es nicht das System ist, das er kennt.

Der Punkt ist, dass Sie basierend auf der spezifischen Situation und den Fähigkeiten / Vorlieben der Beteiligten bewerten müssen. Beides sind gute Systeme - es kommt darauf an, das richtige Werkzeug für die richtige Situation auszuwählen, nicht welches besser ist als das andere.

sami
2016-11-03 21:17:57 UTC
view on stackexchange narkive permalink

Aus meiner persönlichen Erfahrung mit SElinux würde ich sagen, dass es GNU + Linux nicht komplexer gemacht hat. Das einzige, was es getan hat, und ich halte es für einen Vorteil, uns die Komplexität zu vermitteln, die dem bereits innewohnt Das Betriebssystem, das viele von uns verblüfft, hat nichts mit seinem Design-Paradigma oder seiner Implementierung zu tun. Im Vergleich zu AppArmor (AA) hat SElinux eine hollistischere und abstraktere Sichtweise, was ein sicheres System sein sollte, wenn AA eine Container-Denkweise hat, wenn es darum geht, über Anwendungen nachzudenken, sofern in AA-Profilen Pfade für die zulässigen Ressourcen angegeben sind das ist nicht sehr abstrakt. Ja, es ist vielleicht einfacher, für jede Anwendung ein Profil zu schreiben, aber Sie verlieren die hollistische Ansicht des Systems. Praktisch SElinux funktioniert jetzt besser mit Fedora und RHEL, da es im Lieferumfang enthalten ist, während AA unter Ubuntu und SUSE besser funktioniert. Dies bedeutet, dass es besser ist, zu lernen, wie man SElinux in früheren Distributionen verwendet, als sich die Mühe zu machen, AA auf ihnen und Laster arbeiten zu lassen umgekehrt.

Craig
2013-07-31 12:37:55 UTC
view on stackexchange narkive permalink

Der ganze Punkt der obligatorischen Zugriffskontrolle besteht darin, eine fein abgestimmte Konfiguration zu ermöglichen. Einfachheit ist völlig irrelevant, es sei denn, die beiden sind in allen anderen Punkten gleich. Manchmal ist Komplexität erforderlich, um die Arbeit zu erledigen.

SELinux hat eine viel bessere Granularität, ist ausgereifter, breiter einsetzbar und meiner subjektiven Meinung nach besser konstruiert. Ihre Schlussfolgerung ähnelt eher der Popkultur als einer echten Einschätzung.

(Ich komme zu dem Schluss, dass ein Buttermesser besser ist als eine Kettensäge, basierend auf einem Buttermesser, ist weitaus weniger komplex und weniger gefährlich.)

Ein Buttermesser ist besser als eine Kettensäge ... bis Sie einen Baum fällen müssen!
Ich stimme der Behauptung, dass SELinux besser entwickelt ist, überhaupt nicht zu.Es ist möglicherweise schwieriger zu brechen als AppArmor. Die Implementierung und Aufrechterhaltung einer wirksamen Richtlinie erfordert jedoch exponentiell mehr Aufwand als andere Ansätze für das Problem.Aufgrund seiner ** schrecklichen ** Komplexität ist es für die meisten Unternehmen unpraktisch (wahrscheinlich sogar gefährlich), es als Sicherheitskontrolle für Server und Workstations zu verwenden (der einzige Ort, an dem ich mit seiner Verwendung vertraut bin, sind gut unterstützte Appliances wie Android - und vonNatürlich gibt es auf Android nie Malware?).
Gaius
2019-11-11 23:45:50 UTC
view on stackexchange narkive permalink

Ich behaupte mutig, dass AppArmor SELinux in jeder Umgebung, in der NFS verwendet wird, überlegen ist, da SELinux es nicht sichern kann. AppArmor ist ebenfalls einfacher zu verwenden, dies ist jedoch eine klare objektive Unterscheidung zwischen ihnen.

David Shepard
2020-07-07 19:34:03 UTC
view on stackexchange narkive permalink

Es macht keinen Sinn, SELinux mit AppArmor zu vergleichen, wenn Sie SELinux für einen typischen Benutzer wie AppArmor nicht so nutzbar machen können.

Sicherheit einfach / einfacher machen. Sehen Sie sich Ihre typische Social-Media-App auf einem Telefon an. Es fragt nach einer Litanei von Berechtigungen, sonst kann es einfach nichts für Sie tun. Was machen die meisten Benutzer? Sie erteilen der App einfach die erforderlichen Berechtigungen, ohne wirklich zu berücksichtigen, wofür die App diese Berechtigungen verwenden wird, einfach weil sie nicht belästigt werden möchten, wenn sie die App nicht verwenden können. Benutzer verstehen die Auswirkungen der von ihnen getroffenen Sicherheitsentscheidungen erst, wenn es zu spät ist. Oft liegt dies daran, dass es schwierig ist, die Bedrohung / das Risiko zu erfassen. Es spielt keine Rolle, wie überlegen Ihre Sicherheitsmechanismen sind, wenn Benutzer sie nicht verwenden.

Der Benutzer ist das schwächste Glied in der Kette, das war schon immer so. Es spielt keine Rolle, ob die NSA SELinux bevorzugt, weil sie es geschrieben hat. Sie würden es immer benutzen. Anbieter, die Linux an die Regierung verkaufen möchten, verwendeten immer das komplexere Tool. Der Rest der Computerbenutzer verwendet nur dann ein Tool, um die Sicherheit zu erhöhen, wenn sie in etwa fünf Minuten herausfinden können, wie dies zu tun ist, nicht mehr. So sehr kümmern sich fast alle Benutzer um die Sicherheit, und nach Jahrzehnten des Beweises, dass Virenscanner nicht funktionieren, handelt es sich immer noch um eine milliardenschwere Branche. Aus diesem Grund geben Benutzer ihr Kennwort "password1" ein, wenn sie nicht gezwungen sind, komplexe Kennwörter zu erstellen und 2FA zu verwenden.

Es war unklar, wie dies die Frage beantwortete, bis ich zur letzten Zeile kam.Ich habe es der Klarheit halber nach oben verschoben.
Ich bin mir jedoch nicht sicher, ob Sie mehr beantwortet haben, als in der Frage bereits angegeben.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...