[linux-l] Sandkastenspiele mit Servern
Lutz Willek
lutz.willek at belug.de
Mo Feb 16 22:46:14 CET 2015
Hallo,
Am 16.02.15 um 16:20 schrieb rainer herrendoerfer:
> Hallo,
>
> ich wollte mal die Ansichten der Gemeinde zum Sandboxing einholen:
> Wenn mehrere Dienste (Webserver, Mailserver, ...) auf der selben
> Hardware laufen sollen, ist es ja heute gängige Praxis, diese aus
> Sicherheitsgründen in jeweils eigene virtuelle Maschinen zu verfrachten.
> Wenn man aber diese Dienste auf einem einzigen mit SELinux gehärteten
> System laufen läßt, sollten die einzelnen Prozesse doch auch hinreichend
> voneinander abgeschirmt sein.
Korrekt.
> Wieso also ist die Virtualisierung dann so verbreitet?
Weil wesentlich mehr Gründe für eine Virtualisierung sprechen können
also nur "Trennen von Diensten".
> Ist sie wirklich sicherer, liegt es an der bequemeren
> Administrierbarkeit gegenüber SELinux oder spielen andere Gründe eine Rolle?
Schwer zu sagen, das kommt immer auf den Einzelfall an, die Gründe sind
wirklich sehr vielfältig.
> Oder erreicht man das Maximum an Sicherheit mit einem SELinuxgehärteten
> Host, auf dem ebensolche Gäste laufen. Meine Intuition würde sagen, daß
> sich in diesem Szenario eher die Schwachstellen addieren.
Dein Fokus liegt auf Sicherheit. Eine von vielen Möglichkeiten, je
nachdem wie man "Sicherheit" definiert, ist es die Dienste durch
virtuelle Maschinen zu trennen. Eine Andere Möglichkeit ist selinux,
oder Docker, oder OpenVZ, oder chroot, oder oder oder...
Du stellst Deine Frage als Entweder-Oder Frage, daher ist das echt
schwer zu beantworten. Es gibt hier schlicht kein "immer richtig" oder
"immer falsch", sondern es kommt immer auf die Begleitumstände an.
Mal ein paar Beispiele um das "kommt drauf an" klarer zu machen.
Jemand hatte nur sehr wenig Hardware, insgesamt nur 3 Server, aber rund
20 Dienste die er anbieten musste. Gleichzeitig musste er sich mit
verschiedenen Abteilungen rumärgern, weil es einen (Teilzeit)Admin für
den Mailserver gab, einen (Teilzeit)Admin für den Intranetserver, einen
(Teilzeit)Admin für die Webseiten, und auch noch ein paar (extrem
verstrahlte) externe Leute, die auch alle an den Diensten rumwuseln
durften. Kurz: Der Arme Admin hatte ein Irrenhaus zu betreuen, und
durfte nicht mal selbst alles entscheiden. Ständig ist ihm irgend etwas
um die Ohren geflogen, weil "irgendwo" "irgendwer" "irgendwas"
konfiguriert hat. Schlimme Situation.
Die Lösung bestand dann darin alle Infrastrukturserver (dhcp, dns, ldap,
Fileserver) auf zwei virtuellen Maschinen zu konsolidieren und
ausschließlich selbst zu betreuen (Zwei vm's wegen Ausfallsicherheit),
und jedem (Teilzeit)Admin einfach eine eigene leere virtuelle Maschine
zu geben. So waren Dienste (und hier ganz wichtig: auch die Admins!)
sauber voneinander getrennt, so wurde Sicherheit erhöht. Wenn jetzt
einer der (Teilzeit)Admins Scheiße gebaut hat, und das haben sie oft,
dann hat er sich nur selbst ins Knie geschossen, aber andere Dienste
nicht beeinträchtigt. Hier war Virtualisierung sehr sehr fein und hat
für eine erheblich höhere Sicherheit und Stabilität gesorgt: Die
Infrastruktur war nach der Umstellung wieder viel handhabbar geworden.
Nebenher konnte der inszwischen etwas glücklichere Admin auch viel
besser Backups ziehen, weil das von den VM's einfach mal leichter geht.
Diese Lösung lief in der Rubrik: "Organisatorische Fehlleistung durch
technische Lösungen erschlagen" In diesem Fall war die Lösung
Virtualisierung.
Anderer Fall, genau Konträr: Hier waren mehrere 100 Webseiten
schlussendlich auf nur zwei sehr starken Hosts untergebracht. Der Kunde
ist wegmigriert von einzelnen vservern pro Webseite hin zu einem Setup
von je zwei starken Servern im Cluster. Der Grund: Virtualisierung hat
ihm schlicht zu viel Performance geschluckt, die Kosten für seine
Virtualisierunglösung standen in keinem Verhältnis zur Leistung.
Er hatte, da er sowieso mehrere 100 vserver in seiner Betreuung hatte,
sowieso gar nichts mehr von Hand konfiguriert, sondern ein
Konfigurationsmanagement benutzt. Wir haben das umgestellt, so das die
verschiendenen Kunden jeweils "nur" einen Apache VirtualHost hatten. In
diesem Fall konnte deutlich mehr als die Hälfte der Hardware durch
Verzicht auf Virtualisierung komplett eingespart werden. Die nötige
Sicherheit wurde durch Rechtetrennung innerhalb eines Servers erreicht:
Im Fall dieses Kunden war das deutlich mehr als genug Sicherheit. (Das
würde ich für dieses Setup aber nicht allgemein so sagen wollen)
Du siehst, es "kommt drauf an". Es sind immer die Begleitumstände, die
dann eine der vielen möglichen Lösungen zur momentan "besten" Lösung machen.
Verallgemeinern kann man das nicht, es gibt also nie "die beste Lösung
für alle Fälle".
In Deinem Fall: Ein Server, ein Admin, viele Dienste, alles von Hand
erledigt, ist sicherlich eine Lösung wie selinux oder Aparmor oder eine
Containervirtualisierung brauchbarer als eine Vollvirtualisierung,
schlicht weil du Dir sonst den Wolf konfigurierst.
Hoffe das hilft Dir so weiter.
Gruß Lutz
>
> Freundliche Grüße
> ®ainer
> _______________________________________________
> linux-l mailing list
> linux-l at mlists.in-berlin.de
> Die Mailingliste der BeLUG (Berliner Linux User Group)
>
> Wenn du diese Mailingliste abbestellen willst, gehe bitte auf
> https://mlists.in-berlin.de/mailman/listinfo/linux-l-mlists.in-berlin.de
> und trage dich dort bitte aus
>
Mehr Informationen über die Mailingliste linux-l