SELinux vs. AppArmor vs. grsecurity [geschlossen]

14

Ich muss einen Server einrichten, der so sicher wie möglich ist. Welche Sicherheitserweiterung würden Sie verwenden und warum, SELinux, AppArmor oder grsecurity? Kannst du mir ein paar Tipps, Hinweise und Vor- und Nachteile für diese drei geben?

SO VIEL ICH WEISS:

  • SELinux: leistungsstärkste aber komplexeste
  • AppArmor: Einfachere Konfiguration / Verwaltung als SELinux
  • grsecurity: Einfache Konfiguration durch automatisches Training, mehr Funktionen als nur Zugriffskontrolle

quelle
Ein "Server" für welche Art von Service? Zu welchem ​​Publikum, in welcher Umgebung? Was bedeutet für Sie in diesem Zusammenhang "sicher"? Viele weitere Informationen wären erforderlich, um eine nützliche Antwort zu geben. Beispielsweise kann ein reiner IP-Uhrzeitserver sehr sicher sein - die gesamte ROM-Firmware, die Funkübertragung und der in sich geschlossene Akku mit automatischer Aufladung. Aber das ist wahrscheinlich keine nützliche Antwort für Sie. Also, welche Art von Service? Internetweites, unternehmensweites, vertrauenswürdiges Arbeitsteam, dedizierte Punkt-zu-Punkt-Vernetzung usw.? Ist Hochverfügbarkeit gefragt? Verlässlichkeit? Datenintegrität? Zugangskontrolle? Give
mpez0

Antworten:

7

Ich habe in diesem Bereich viel recherchiert. Ich habe sogar AppArmors Regelsätze für MySQL ausgenutzt . AppArmor ist die schwächste Form der Prozesstrennung. Die Eigenschaft, die ich ausnutze, ist, dass alle Prozesse Schreibrechte für einige der gleichen Verzeichnisse haben, wie z /tmp/. Das Schöne an AppArmor ist, dass es einige Exploits bricht, ohne Benutzer / Administratoren in die Quere zu kommen. AppArmor weist jedoch einige grundlegende Mängel auf, die nicht in Kürze behoben werden können.

SELinux ist sehr sicher, es ist auch sehr ärgerlich. Im Gegensatz zu AppAmoror werden die meisten legitimen Anwendungen erst ausgeführt, nachdem SELinux neu konfiguriert wurde. In den meisten Fällen führt dies dazu, dass der Administrator SELinux falsch konfiguriert oder alles gemeinsam deaktiviert.

grsecurity ist ein sehr umfangreiches Werkzeugpaket. Die, die mir am besten gefällt, ist die verbesserte Chroot von grsecuirty. Dies ist noch sicherer als SELinux, obwohl es einige Kenntnisse und einige Zeit in Anspruch nimmt, ein Chroot-Gefängnis einzurichten, in dem SELinux und AppAprmor "nur funktionieren".

Es gibt ein viertes System, eine virtuelle Maschine. In VM-Umgebungen wurden Sicherheitslücken gefunden, durch die ein Angreifer "ausbrechen" kann. Eine VM hat jedoch einen noch größeren Abstand als eine Chroot, da Sie in einer VM weniger Ressourcen zwischen Prozessen gemeinsam nutzen. Die einer VM zur Verfügung stehenden Ressourcen sind virtuell und können sich kaum oder gar nicht mit anderen VMs überschneiden. Dies betrifft auch das <buzzword>" Cloud Computing " </buzzword>. In einer Cloud-Umgebung kann es zu einer sehr sauberen Trennung zwischen Datenbank und Webanwendung kommen, was für die Sicherheit wichtig ist. Es ist auch möglich, dass 1 Exploit die gesamte Cloud und alle darauf ausgeführten VMs besitzt.

Turm
quelle
Anstelle des <buzzword>Tags können Sie einfach "my butt" schreiben, jeder wird wissen, was Sie meinen;)
Daniel Dinnyes
Mit VM meinen Sie Xen, KVM oder LXC / Docker? Bitte beziehen Sie sich auch auf Ihre Bewertungen.
Daniel Dinnyes
1
@Daniel Dinnyes hier gibt es keine Referenzen, das ist alles persönliche Meinung als Hacker, der moderne Anwendungen angreift, die mit diesen Schadensbegrenzungstechniken geschützt sind - der große Nachteil ist, dass nichts perfekt ist.
Turm
1
@Daniel Dinnyes Wenn Sie an Missbrauchsfällen interessiert sind, beginnen Sie mit den vorgesehenen Anwendungsfällen. Installieren Sie Distributionen, die diese Technologien verwenden, und stellen Sie darauf Apps bereit. Lesen Sie mehr über die Bereitstellung und Konfiguration dieser Sicherheitssysteme und suchen Sie nach Schwachstellen.
Turm
1
@Daniel Dinnyes untersucht die herausgegebenen CVEs und insbesondere alle öffentlichen Exploits für jede Plattform. Kürzlich wurde ein wirklich guter SELinux-Bypass gefunden: exploit-db.com/exploits/40419
Rook,
1

Persönlich würde ich SELinux verwenden, weil ich letztendlich auf einen RHEL-Geschmack abzielen würde, der größtenteils sofort einsatzbereit ist. Es gibt auch eine Reihe von Betreuern bei Red Hat und viele sehr gute Dokumentationen über die Konfiguration von SELinux. Nützliche Links unten.

Ophidian
quelle
yeah aber yum und selinux sind so verdammt nervig.
Turm
1
Ich finde die CLI von yum wesentlich intuitiver als apt. SELinux ist ärgerlich, wenn Sie versuchen, Ihren eigenen Weg mit Nicht-Stock-Apps zu gehen, aber ich hatte nie Probleme mit dem Stock-Material, außer dass einige Sebools aktiviert werden mussten, um Nicht-Standard-Funktionen zu aktivieren (z. B. httpd-PHP-Skripte verbinden lassen) zur Datenbank)
Ophidian