Tom: Problem mit sshd und PAM, chroot

Hello,

ich habe da gerade ein Problem mit einem Suse 10.3, auf dem der sshd so eingerichtet werden soll, dass die User sftp in einer chroot-Umgebung nutzen können.

Dazu habe ich pam_chroot nachinstalliert per Yast.
In der datei /etc/security/chroot.conf habe ich die Zeile

# Alle User in ihr /home/${username}-Dir einsperren
    ^.*  /home/%u

eingefügt und nun gehofft, dass bei einer neuen Anmeldung der User auch in seinem home-Dir eingesperrt wird.

Leider ist das nicht der Fall. Beim Anmelden wird der User zwar in sein home-Dir getellt (was wohl auf die login.defs zurückzuführen ist), aber er kann dann ausbrechen.

Der sshd wurde inzwischen auch neu gestartet, der Server allerdings nicht, weil der beim Booten noch Zicken macht.

Es ist auf der Maschine pam 0.99.8.1-15 installiert

Was ist falsch?
Was muss noch beachtet werden, damit die chroot-Umgebung eingehalten wird.

Ein harzliches Glückauf

Tom vom Berg

--
Nur selber lernen macht schlau
  1. Hello,

    Der sshd wurde inzwischen auch neu gestartet, der Server allerdings nicht, weil der beim Booten noch Zicken macht.

    Ich habe die Installation inzwischen auf unserem Debian 4.0 wiederholt und das System neu getartet. Es funktioniert dort auch nicht.

    Was verflixt nochmal muss düe das pam_chroot beachtet werden, was ich übersehen habe?
    In der sshd_config ist "use PAM = Yes" eingetragen.

    Was muss in der /etc/pam.d/sshd ggf. noch geändert werden?

    hatte es mit

    session    required     pam_chroot.so

    versucht, aber null Reaktion

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    1. Hallo Tom.

      Vielleicht hilft dir dieser Abschnitt aus man sshd_config(5) weiter:
      »UsePAM: [..] Because PAM challenge-response authentication usually serves an equivalent role to password authentication, you should disable either PasswordAuthentication or ChallengeResponseAuthentication. [..]«

      Servus,
      Flo

      1. Hello Flo,

        Vielleicht hilft dir dieser Abschnitt aus man sshd_config(5) weiter:
        »UsePAM: [..] Because PAM challenge-response authentication usually serves an equivalent role to password authentication, you should disable either PasswordAuthentication or ChallengeResponseAuthentication. [..]«

        Das habe ich schon gemacht.
        Ich habe nach langem Suchen schon diverse Anleitungen im Netz gefunden, aber leider hat noch keine zum Erfolg geführt.

        Man benötigt wohl libpam-ssh. Das habe ich installiert.
        Dann muss man, so scheint es, den Login-Manager anpassen und die Zeilen

        # PAM SSH-Support
           @include pam-ssh-auth
           @include pam-ssh-session

        einfügen, die ssh dann dazu veranlassen, PAM zu benutzen?

        Erst ganz zum Schluss werden wohl die Konfigurationen drankommen, um die es mir eigentlich geht.

        /etc/pam.d/ssh  # bzw sshd, je nach System

        Ich stocher da aber immer noch mit der Nadel im Heuhaufen rum, zumal ich nicht weiß, wie ich die Auswirkungen der Änderungen prüfen könnte...

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
    2. Hallo Tom,

      Der sshd wurde inzwischen auch neu gestartet, der Server allerdings nicht, weil der beim Booten noch Zicken macht.
      Ich habe die Installation inzwischen auf unserem Debian 4.0 wiederholt und das System neu getartet. Es funktioniert dort auch nicht.

      kennst Du http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html?

      Freundliche Grüße

      Vinzenz

      1. Hello Vinzenz,

        kennst Du http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html?

        Nein, das hatte ich noch nicht in den Fingern.
        Ich bin den Hinweisen aus 'man pam' gefolgt und habe mich dann in Google verlaufen ;-)

        Ganz schön viel Stoff. Mal sehen, ob ich das hinbekomme. Wenn ich mich aussperre, ist's erstmal vorbei.

        Ein harzliches Glückauf

        Tom vom Berg

        --
        Nur selber lernen macht schlau
        1. Hello,

          http://www.debian.org/doc/manuals/securing-debian-howto/ap-chroot-ssh-env.de.html?

          Nach der Lektüre dieser Anleitung bin ich etwas demotiviert.
          Es scheint keine gute Idee gewesen zu sein, für die User eines Servers SSH zur Verfügung zu stellen, damit sie sftpd-server benutzen können, also kein FTP mehr notwendig ist.

          Alternative wäre ein Secure FTP, dass verschlüsselt läuft. Es sollen keine Credential und keine Daten unverschlüsselt über das Netz gehen.

          vsftpd hatten wir ja schon zum Laufen gebracht, aber eben nicht mit verschlüsseltem Transfer.

          Ich sehe keine andere Möglichkeit, Die SSH-(Fern-)Konsole für die meisten zu unterbinden oder eben einzuschränken, sich hier durchzuquälen.

          Es geht also darum, die User in ihrem Home-Dir einzusperren, ihnen aber trotzdem eine Konsole zur Verfügung zu stellen, bei der sie nötigenfalls auch ein su auf einen (etwas) privilegierteren User durchführen können...

          Ein harzliches Glückauf

          Tom vom Berg

          --
          Nur selber lernen macht schlau
          1. Halo Tom,

            OpenSSH kann ab der aktuellsten Version direkt Chroot (d.h. ohne PAM). Siehe zum Beispiel http://www.debian-administration.org/articles/590 für die Konfiguration von SFTP mit Chroot. SCP geht dann natürlich nicht, aber SFTP sollten die meisten Clients, die SSH können, ja auch beherrschen.

            Viele Grüße,
            Christian

            1. Hello Christian,

              OpenSSH kann ab der aktuellsten Version direkt Chroot (d.h. ohne PAM). Siehe zum Beispiel http://www.debian-administration.org/articles/590 für die Konfiguration von SFTP mit Chroot. SCP geht dann natürlich nicht, aber SFTP sollten die meisten Clients, die SSH können, ja auch beherrschen.

              Bin schon am Verzweifeln...

              Die Info hört sich da schon wieder zur Hälfte gut an.
              Wir müssen uns nun nur noch darüber klar werden, wie wir einigen von den Leuten eine kastrierte Konsole bauen, oder ist das durch das chroot auch schon gewährleistet?

              Den Vorteil der verschlüsselten Transfers von Passwort und Daten wollen wir gerne in Anspruch nehmen, aber die meisten User benötigen nur eine Konsole mit wenigen Befehlen...
              Eingie benötigen gar keine, aber das sollte man ja mit wegnehmen der Shell in den Griff bekommen, oder?

              Ein harzliches Glückauf

              Tom vom Berg

              --
              Nur selber lernen macht schlau
  2. Hello,

    ich eiere hier immer noch mit der Chroot-Umgebung für ssh und sftp herum
    Nun soll das alles ganz einfach werden...

    http://www.debian-administration.org/articles/590

    aber leider habe ich nur Version OpenSSH_4.3p2 zur Verfügung.
    Bei Debian gibt es kein neueres Paket.

    Wie bekomme ich das auf den Debian drauf (Suse steht dann auch noch bevor), ohne die Selection-Lists für apt-get oder für YAST kaputt zu machen?

    Und woher bekomme ich es ?

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. Hello,

      http://www.debian-administration.org/articles/590

      aber leider habe ich nur Version OpenSSH_4.3p2 zur Verfügung.
      Bei Debian gibt es kein neueres Paket.

      Wie bekomme ich das auf den Debian drauf (Suse steht dann auch noch bevor), ohne die Selection-Lists für apt-get oder für YAST kaputt zu machen?

      Und woher bekomme ich es ?

      Und noch ein Link und noch nicht schlauer:
      https://olex.openlogic.com/package_versions/doc/1605/6

      Ein harzliches Glückauf

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de