Wie sicher ist eine Jail?

mr44er

moderater Moderator
Teammitglied
Mangels Erfahrung zur Materie hinsichtlich öffentlichem Apache-Betrieb habe ich mir mal so meine Gedanken gemacht, wie ich was aufbaue.

Wenn ich einen apache in einer Jail betreibe, der öffentlich erreichbar ist und nehme den worst-case an, dass eine Lücke entweder im apache oder durch gehosteten content (nehmen wir als Beispiel mal wordpress, weil das geplant ist) zu root-Rechten in der jail führt....besteht eine Chance, dass man da auf den Host kommt?
 
Klar. Wenn zB
- Jail eine Lücke hat
- einer der Prozessorlücken zum Tragen kommt
- Nutzerdaten in der Jail auslesbar sind (zB last) und das Passwort herausgefunden werden kann.
- Wo liegt der SQL-Server für Wordpress? Wo liegt das Passwort?

Es gibt viele Fehler, die du machen kannst. Ich glaube aber, dass du auf einem guten Weg bist, diese nicht zu machen (zB überlegst du bevor du umsetzt).

HTH zumindest einigermaßen.
 
- einer der Prozessorlücken zum Tragen kommt
Die arg bösen und bekannten Lücken kann ich streichen, weil: CPU: Intel(R) Atom(TM) CPU D525

Wo liegt der SQL-Server für Wordpress? Wo liegt das Passwort?
Für die ersten Gehversuche liegt der Server in der gleichen jail, das pw somit auch. Wenn wer root auf dem Host hat und der sql in einer anderen jail liegt, wäre das auch fürn Hintern.

Wie gehe ich da am sichersten vor? Ich habe nur einen Anschluß und bisher dahinter mein privates Netzwerk.
DoppelNAT?
 
nehmen wir als Beispiel mal wordpress, weil das geplant is
Wordpress ist ja (überspitzt formuliert) ja schon fast ne Einladung vom gehackt werden. Würde ich, wenn es nur irgendwie geht, vermeiden.

Wenn ich einen apache
Apache ist recht umfangreich. Wenn man den vollen Funktionsumfang / Konfigurationsmöglichkeiten nicht braucht, würde ich eher auf ne schlankere Alternative ausweichen. Zu viel Konfigurationsmöglichkeiten bedeutet halt auch, zu viel Möglichkeiten etwas verkehrt zu konfigurieren.

Zu Root-Rechten sollte ein Exploit ohnehin nicht automatisch führen, da man Services normalerweise mit möglichst niedrigen Privilegien laufen lässt.

Um dann root zu bekommen braucht es dann nicht nur eine Lücke in der Anwendung, sondern noch eine weitere Lücke die es schafft sich mit normalen Nutzrechten dann Root-Rechte zu verschaffen.

in der jail führt.
Jail treibt das dann noch ein Schritt weiter, so dass Root-Rechte in einer Jail nicht ausreichen, daraus auszubrechen. Aber auch hier sind natürlich Lücken denkbar.
Aber man macht natürlich damit die Hürde höher.

Wichtig ist es aber vor allem den Service als solchen sicher zu gestalten und sicher zu konfigurieren. Was man nicht machen sollte ist: "Wir packen ne jail drum und dann passt das schon"

Ansonsten wurde ja auch schon Einiges dazu gesagt.
 
Auch WP ist wenn mans alleine betreibt nicht so gefährlich wie immer behauptet wird. Im schlimmsten fall ist die WP Installation im Eimer+DB. Backup einspielen und fertig.
Ist im zweifel weniger Aufwand als ein anderes CMS zu betreuen (und einen Nutzer darin zu Schulen/Support zu geben).
 
Wordpress ist ja (überspitzt formuliert) ja schon fast ne Einladung vom gehackt werden. Würde ich, wenn es nur irgendwie geht, vermeiden.

Ja, ist mir bekannt. Hinsichtlich dem YOAST-SEO Plugin hab ich es lieben gelernt und die autoupdate-Funktion ist cool. Hättest du einen Alternativvorschlag? Komplett selber machen ist raus, da verzweifle ich.

Apache ist recht umfangreich. Wenn man den vollen Funktionsumfang / Konfigurationsmöglichkeiten nicht braucht, würde ich eher auf ne schlankere Alternative ausweichen. Zu viel Konfigurationsmöglichkeiten bedeutet halt auch, zu viel Möglichkeiten etwas verkehrt zu konfigurieren.

I see your point. Der Anstoß zum selber hosten war einfach, dass ich an einem Hostingpaket zu wenig einstellen kann. Upload-Größe, kein http2,caching etc usw. eingeschränkt. Klar hätte ich nen Server mieten können, aber dann kostet der Spaß wieder Geld und sowas. Zuhause hab ich sowieso Stromverbrauch wegen 24/7 und muß mir keinen Kopf um Traffic und Speicherplatz machen.
Da ich noch nicht genau weiß, welche Funktionen ich in Zukunft benötige oder einfach haben will (mir gehts da eher ums können) verzichte ich auf dicke, redundante Anbindung und traue mir schon zu, einen Apache sicher zu konfigurieren.

Was man nicht machen sollte ist: "Wir packen ne jail drum und dann passt das schon"
Das ist klar. :D
 
Gerade das Autoupdate bei WP würde ich ausmachen, du musst dafür dem Apache Schreibrechte für alle WP Datein geben. Normal braucht WP nur Schreibrechte für Uploads und tmp.
Da würd ich mir eher noch ein eigenes Update-Script basteln.
 
Hinsichtlich dem YOAST-SEO Plugin hab ich es lieben gelernt
Bei mir rollen sich ja immer die Fußnägel hoch, wenn ich SEO höre. Vor allem wohl deshalb, weil viele Webseiten zwar sehr Suchmaschinen-tauglich daher kommen. Dafür wenig Besuchertauglich. Und das ist aus meiner Sicht eigentlich das viel wichtigere Ziel.

Hättest du einen Alternativvorschlag?
Hängt natürlich stark von dem ab, was man machen möchte. Für nen einfachen Blog gibts z.B. HTML-Generatoren und die jeweils geänderten Dateien werden dann auf dem Server gepackt. Der Charme einer solchen Lösung ist, dass Du halt auf der Serverseite nicht mit serverseitigen Skripten hantieren muss. Das bringt Geschwindigkeitsvorteile und natürlich auch große Sicherheitsvorteile.
 
Dafür wenig Besuchertauglich. Und das ist aus meiner Sicht eigentlich das viel wichtigere Ziel.
Stimme dir primär zu, wenn du ne kleine Handwerks-Firma hast und Aufträge benötigst, siehts anders aus. Die Firma hab ich im Sommer dichtgemacht. Es war nicht der Hauptgrund, hat aber doch einen großen Teil beigetragen. C’est la vie :ugly:

Einen Blog brauche ich bisher absehbar nicht. Das war quasi eine Visitenkarte mit Erklärung und Bildern.
Ich werde in Zukunft beruflich was anderes machen, wo ich nicht mehr auf Aufträge angewiesen bin. Da wäre so eine ähnliche Visitenkarte ganz passabel, aber kein must-have.
Daher hat das alles keine Eile.
Mir gehts erstmal darum, dass ich fit im Umgang werde und dass die Technik steht und wenn es losgeht, dann gehts los. :)
 
Stimme dir primär zu, wenn du ne kleine Handwerks-Firma hast und Aufträge benötigst, siehts anders aus.
Gut. Das kann natürlich sein.
Wobei ich selbst immer eher abgeschreckt bin, wenn ich auf einen relevanten Link klicke und dann auf irgendeiner Webseite lande, die das Thema nur streift oder unsortiert ist oder was auch immer.
Teilweise klicke ich gar nicht mehr die Top-Links der Suchergebnisliste an bzw. gucke erst, ob es überhaupt halbwegs hinhauen kann.

Mir gehts erstmal darum, dass ich fit im Umgang werde und dass die Technik steht und wenn es losgeht, dann gehts los. :)
So gesehen ist das alles nachvollziehbar was Du machst und sicher auch nicht verkehrt.
 
Wobei ich selbst immer eher abgeschreckt bin, wenn ich auf einen relevanten Link klicke und dann auf irgendeiner Webseite lande, die das Thema nur streift oder unsortiert ist oder was auch immer.
Geht mir auch so, ich kann dir aber versichern, dass ich bei meiner Seite drauf geachtet habe, dass die zielgenau ist.

Kannst du mir ne Seite empfehlen, die ein grobes Pen-Testing auf Webserver machen kann? Soll was taugen, mich aber nicht gleich mit nem 1200€-Premium-Abo bereichern. :p
 
Wie gehe ich da am sichersten vor? Ich habe nur einen Anschluß und bisher dahinter mein privates Netzwerk.
DoppelNAT?
Du meinst wegen SQL/Apache in einer getrennten Jail? Ich würde die SQL-Jail so konfigurieren, dass sie von außen nicht erreichbar ist. Vielleicht 2 Netzwerk-Interfaces in beiden Jails. Eins für die Kommunikation nach außen, das andere für die Kommunikation untereinander. Der Webserver lauscht auf dem "Extern-Interface", der SQL-Server lauscht nur auf dem "Intern-Interface".
 
Webserver in einer Jail ist schon ziemlich gut. Wir müssen leider noch eine sehr alte TYPO3-Installation weiterlaufen lassen. Die wurde regelmäßig automatisiert gehackt (um Linkspam zu paltzieren). Dabei wurden sogar in einem nur für Root beschreibbaren Verzeichnis Dateien geändert. Zum Glück war das halt alles automatisiert und vermutlich für Linux ausgelegt - so war die Seite danach immer nicht ansprechbar. Das Schad-Skript hat zu einem 500er Fehler geführt, statt heimlich sein Werk zu verrichten. Ich habe dann das betroffene Konfigurationsverzeichnis auf ein eigenes ZFS dataset außerhalb der Jail gelegt und vom Host aus read-only in die Jail eingebunden. Seitdem gibt es da keine Probleme mehr. Selbst mit Root-Rechten in der Jail kann man das nicht beschreiben.

Eine andere nette Sache: acme-client läuft nur auf dem Host und reicht die Letsencrypt-Keys dann in die Jails rüber. Somit liegt der private Domain-Key nicht in der möglicherweise kompromittierten Jail.

Der MariaDB-Server hat seine eigene Jail. Der Root-User darf sich nur lokal (in dieser Jail) einloggen. Somit kann man von der Webserver Jail nur als normaler User zugreifen.

Sicher kennt die NSA tausend Tricks, auch dieses Setup auszuhebeln. Aber um die automatisierten Angriffe auf WordPress und Co zu unterbinden, ist man da schon sehr gut gewappnet. Und warum sollte sich jemand die Mühe machen, ausgerechnet meine oder Deine gut abgesicherte Installation zu hacken, wenn da draußen zig tausende einfachere Ziele stehen.
 
Geht mir auch so, ich kann dir aber versichern, dass ich bei meiner Seite drauf geachtet habe, dass die zielgenau ist.
Davon bin ich überzeugt.

Kannst du mir ne Seite empfehlen, die ein grobes Pen-Testing auf Webserver machen kann?
Man muss ja dafür keinen Online-Dienst in Anspruch nehmen. Penetration-Testing-Werkzeuge gibts ja auch so.
Kali Linux enthält beispielsweise gleich mehrere.

Datenbank-Server und Webserver in zwei verschiedene Jails zu packen ist sicher keine schlechte Idee. Da muss ich meinen Vorrednern zustimmen.
 
@Andy_m4
Kali Linux hatte ich in meinem Resthirn als reine, sichere Bootplattform. Schau ich mir dann mal an bez. pentesting.

Datenbank-Server und Webserver in zwei verschiedene Jails zu packen ist sicher keine schlechte Idee. Da muss ich meinen Vorrednern zustimmen.
Ok, werde ich so planen. Wir breit würdet ihr das generell fächern?
Ich hab bisher mal so wordpress und nextcloud angedacht. Steck ich das beides in eine apache-jail über vhosts oder sollte man da einfach 2 jails nehmen.
Gleiche Frage zu den Datenbanken....eine Datenbankjail wo wordpress und nextcloud reinschreiben oder auch das auf 2 jails aufteilen, damit ich insgesamt 4 jails habe?
Vom Bauchgefühl und aktuellen Verständnis her soviel wies geht auf jails aufsplitten, oder? Den overhead der jails und mehr verwaltungsaufwand mal vernachlässigt...
Wobei andererseits denke ich, dass man an die jeweiligen db-Passwörter eh rankommt, wenn wordpress oder halt nextcloud exploits haben und man an die config-Datei kommt.....

Alleine eine Kettensäge zu haben, ermächtigt einen noch nicht schöne Baumstammskulpturen zu schaffen.
Schönheit liegt doch im Auge des Betrachters. :p
 
Zurück
Oben