[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