gehackter :-(: chroot Umgebung für User auf ein Debian Server

Hallo

ich muss mein Server, nach ca. 4 Jahren, (ajtuell Debian 3.1 stable mit allen Updates) neu machen, da in mein Server eingebrochen wurde und die Eindringlinge root Rechte erlangen konnten.
Wie sie eingedrungen sind, konnte ich noch nicht ermitteln, da einige Logs manipuliert wurden.

ich möchte nun alle lokale Benutzer, die ihr home unter /home haben, in ein chroot einsperren.

ich habe eine Anleitung gefunden, wie man SSH User einsperren kann.
Nur das hilft sicherlich nicht, wenn jemand PHP oder Perl ausführen darf.

Welche Möglichkeit habe ich, um alle Aktivitäten in sein /home zu beschränken?

ein gehäckter :-(

  1. Hallo

    ich hab vergessen zu sagen, die Benutzer unter /home, die auch perl und PHP benutzen können hatten alle als shell /bin/false, es gab 1 Benutzer unter /home, der per WEB nicht erreichbar war, womit ich mich per SSh einloggte und dann per su - zu root machte, der root Login war in der sshd.conf deaktiviert

    die Eindringlinge hatten sich ein Account "test" erstellt, der keine Shell hatte, womit sie sich eingeloggt hatten

    der gehackte :-(

  2. 你好 gehackter,

    ich habe eine Anleitung gefunden, wie man SSH User einsperren kann.
    Nur das hilft sicherlich nicht, wenn jemand PHP oder Perl ausführen darf.

    Welche Möglichkeit habe ich, um alle Aktivitäten in sein /home zu beschränken?

    Letztlich nur eine: jeder deiner Benutzer braucht eine eigene Apache-Installation in seinem chroot, auf verschiedenen Ports. Ein Proxy-Server oder sowas muss dann die Anfragen von Port 80 weiterleiten an den richtigen Port intern, um den richtigen Apache-Server anzusprechen. Alles in allem eine komplizierte und ressourcenfressende Lösung, aber auch eine, die sehr sicher ist; wenn da einer gehackt wird, kann er nur im chroot rummachen, mehr nicht.

    Aber eigentlich ist das nicht unbedingt notwendig. Wenn du PHP, Perl, etc, pp als CGI laufen lässt, über einen SuExec-Wrapper, damit alle Scripte mit Benutzerrechten laufen, hast du schon einen enormen Sicherheitsgewinn. Sollte für die meisten eigentlich ausreichend sein.

    再见,
     克里斯蒂安

    --
    Fischen mit Wayne | Das ist wie beten…
    <sasaa> frauen sind viel verpeilter als maenner
    http://wwwtech.de/
    1. hallo

      ich habe eine Anleitung gefunden, wie man SSH User einsperren kann.
      Nur das hilft sicherlich nicht, wenn jemand PHP oder Perl ausführen darf.

      Welche Möglichkeit habe ich, um alle Aktivitäten in sein /home zu beschränken?

      Letztlich nur eine: jeder deiner Benutzer braucht eine eigene Apache-Installation in seinem chroot, auf verschiedenen Ports. Ein Proxy-Server oder sowas muss dann die Anfragen von Port 80 weiterleiten an den richtigen Port intern, um den richtigen Apache-Server anzusprechen. Alles in allem eine komplizierte und ressourcenfressende Lösung, aber auch eine, die sehr sicher ist; wenn da einer gehackt wird, kann er nur im chroot rummachen, mehr nicht.

      Aber eigentlich ist das nicht unbedingt notwendig. Wenn du PHP, Perl, etc, pp als CGI laufen lässt, über einen SuExec-Wrapper, damit alle Scripte mit Benutzerrechten laufen, hast du schon einen enormen Sicherheitsgewinn. Sollte für die meisten eigentlich ausreichend sein.

      php und perl laufen über cgiwrap
      kann man ein chroot mit einen lokalen apachen irgendwie zum Laufen bekommen, perl und php sollten weierhin über cgiwrap laufen

      wie richte ich denn den chroot ein, damit der Benutzer da nicht rauskomtm, egal auf welchen Weege, also php, perl, oder falls er ssh bekommt, per ssh

      dass das nicht zu 100% sicher ist, ist muir klar, ich möchte es den Eindringlingen ebim nächsten mal schwerer machen

      gehackter :-(

      1. 你好 gehackter,

        php und perl laufen über cgiwrap
        kann man ein chroot mit einen lokalen apachen irgendwie zum Laufen bekommen, perl und php sollten weierhin über cgiwrap laufen

        Klar geht das… du musst die Chroot-Umgebung halt so aufbauen, dass alle benötigten Bibliotheken verfügbar sind, innerhalb des Chroot.

        wie richte ich denn den chroot ein, damit der Benutzer da nicht rauskomtm, egal auf welchen Weege, also php, perl, oder falls er ssh bekommt, per ssh

        So wie oben beschrieben… der Apache läuft innerhalb der Chroot-Umgebung. Da kommt dann niemand mehr raus.

        见,
         克里斯蒂安

        1. hallo Christian

          php und perl laufen über cgiwrap
          kann man ein chroot mit einen lokalen apachen irgendwie zum Laufen bekommen, perl und php sollten weierhin über cgiwrap laufen

          Klar geht das… du musst die Chroot-Umgebung halt so aufbauen, dass alle benötigten Bibliotheken verfügbar sind, innerhalb des Chroot.

          ich habe nur Anleitungen gefunden, wie ich den SSH Daemon oder den Apachen chrooten kann, jedoch keine Anleitung wie ich User chrooten kann

          wie richte ich denn den chroot ein, damit der Benutzer da nicht rauskomtm, egal auf welchen Weege, also php, perl, oder falls er ssh bekommt, per ssh

          So wie oben beschrieben… der Apache läuft innerhalb der Chroot-Umgebung. Da kommt dann niemand mehr raus.

          gibt es keine andere Möglichkeit, als den Apachen für jeden zu installieren?
          gibt es dazu im Netz ein brauchbare Anleitung, auch zwecks des Proxys?
          denn du hattest ja geschrieben, dass der Proxy die Ports weiterleiten muss

          warum der Apache eigentlich beim User verfügbar sein?

          gehackter :-(

          1. 你好 gehackter,

            ich habe nur Anleitungen gefunden, wie ich den SSH Daemon oder den Apachen chrooten kann, jedoch keine Anleitung wie ich User chrooten kann

            Naja, hier gibt es zum Beispiel ein Tutorial.

            wie richte ich denn den chroot ein, damit der Benutzer da nicht rauskomtm, egal auf welchen Weege, also php, perl, oder falls er ssh bekommt, per ssh

            So wie oben beschrieben… der Apache läuft innerhalb der Chroot-Umgebung. Da kommt dann niemand mehr raus.

            gibt es keine andere Möglichkeit, als den Apachen für jeden zu installieren?

            Keine, die die gleiche Sicherheit bieten würden.

            gibt es dazu im Netz ein brauchbare Anleitung, auch zwecks des Proxys?
            denn du hattest ja geschrieben, dass der Proxy die Ports weiterleiten muss

            Da müsstest du  mal suchen, ich habe noch nicht danach gesucht.

            warum der Apache eigentlich beim User verfügbar sein?

            Sonst laufen die PHP- und Perl-Scripte und dergleichen nicht in der Chroot-Umgebung des Benutzers.

            Vserver-Angebote laufen übrigens oft nach diesem Prinzip.

            再见,
             克里斯蒂安