Frustrierenderweise konnten SFTP-Benutzer plötzlich keine Verbindung mehr zu meinem Amazon Linux-Server herstellen.
In / var / log / secure wird der folgende Fehler angezeigt:
sshd[7291]: fatal: safely_chroot: stat("/chroot/uhleeka"): Permission denied [postauth]
/ var / log / secure:
==> /var/log/secure <==
Nov 21 23:49:23 amzl-lamp sshd[7291]: Accepted password for uhleeka from 172.31.0.254 port 47170 ssh2
Nov 21 23:49:24 amzl-lamp sshd[7291]: pam_unix(sshd:session): session opened for user uhleeka by (uid=0)
Nov 21 23:49:24 amzl-lamp sshd[7291]: fatal: safely_chroot: stat("/chroot/uhleeka"): Permission denied [postauth]
Nov 21 23:49:24 amzl-lamp sshd[7291]: pam_unix(sshd:session): session closed for user uhleeka
Debug-Ausgabe von SSHD:
$ /usr/sbin/sshd -ddd -p 33333
...
debug1: SELinux support disabled
debug1: PAM: establishing credentials
debug3: PAM: opening session
debug1: monitor_reinit: /dev/log doesn't exist in /chroot/%u chroot - will try to log via monitor using [postauth] suffix
User child is on pid 6655
debug1: PAM: establishing credentials [postauth]
debug3: safely_chroot: checking '/' [postauth]
debug3: safely_chroot: checking '/chroot/' [postauth]
debug3: safely_chroot: checking '/chroot/uhleeka' [postauth]
safely_chroot: stat("/chroot/uhleeka"): Permission denied [postauth]
debug1: do_cleanup [postauth]
debug3: PAM: sshpam_thread_cleanup entering [postauth]
debug3: mm_request_send entering: type 124 [postauth]
debug3: mm_request_receive entering
debug3: monitor_read: checking request 124
debug3: mm_request_receive entering
debug1: do_cleanup
debug1: PAM: cleanup
debug1: PAM: closing session
debug1: PAM: deleting credentials
debug3: PAM: sshpam_thread_cleanup entering
SELinux ist deaktiviert:
$ sestatus
SELinux status: disabled
$ ls -lZ /chroot/uhleeka/
drwxr-x--- root root ? .
drwx--x--- root sftp-only ? ..
drwx--x--- root sftp-only ? etc
drwxr-xr-x root sftp-only ? home
Es wurden keine Konfigurations- oder Berechtigungsänderungen vorgenommen, aber das yum-Update wurde gestern ausgeführt:
$ rpm -qa --last
system-release-2016.09-0.8.noarch Mon 21 Nov 2016 04:34:40 PM UTC
cloud-init-0.7.6-2.14.amzn1.noarch Mon 21 Nov 2016 04:34:40 PM UTC
python26-botocore-1.4.74-1.60.amzn1.noarch Mon 21 Nov 2016 04:34:39 PM UTC
openssh-server-6.6.1p1-31.62.amzn1.x86_64 Mon 21 Nov 2016 04:34:39 PM UTC
openssh-clients-6.6.1p1-31.62.amzn1.x86_64 Mon 21 Nov 2016 04:34:39 PM UTC
aws-cli-1.11.17-1.43.amzn1.noarch Mon 21 Nov 2016 04:34:39 PM UTC
python27-botocore-1.4.74-1.60.amzn1.noarch Mon 21 Nov 2016 04:34:38 PM UTC
bind-utils-9.8.2-0.47.rc1.51.amzn1.x86_64 Mon 21 Nov 2016 04:34:38 PM UTC
bind-libs-9.8.2-0.47.rc1.51.amzn1.x86_64 Mon 21 Nov 2016 04:34:38 PM UTC
openssh-6.6.1p1-31.62.amzn1.x86_64 Mon 21 Nov 2016 04:34:37 PM UTC
...
In Bezug auf das openssh-Update: https://alas.aws.amazon.com/ALAS-2016-770.html
Es wurde festgestellt, dass der OpenSSH-sshd-Daemon die PAM-Umgebungseinstellungen abgerufen hat, bevor das Anmeldeprogramm ausgeführt wurde. In Konfigurationen mit UseLogin = yes und dem PAM-Modul pam_env, das zum Lesen der Einstellungen der Benutzerumgebung konfiguriert ist, kann ein lokaler Benutzer diesen Fehler verwenden, um beliebigen Code als Root auszuführen.
/ etc / ssh / sshd_config hat:
UsePAM yes
#UseLogin no
#PermitUserEnvironment no
Die neuesten Updates scheinen der wahrscheinlichste Schuldige zu sein. Gibt es ein Konfigurationsproblem, das dazu führen würde, dass nur chroot-Benutzern plötzlich der Zugriff mit dem neuesten openssh verweigert wird?
quelle
/chroot/uhleeka
? Fügen Sie die Ausgabe von hinzuls -lZ /chroot/uhleeka
.Antworten:
Bearbeiten: Dies sollte in openssh-6.6.1p1-32.el7 unter https://bugzilla.redhat.com/show_bug.cgi?id=1398569 behoben werden
Nach dem OpenSSH-6.6.1p1-31-Update wird angezeigt, dass während des SFTP-Verbindungsversuchs nur die primäre Gruppe des Benutzers auf Authentifizierung überprüft wird. Wenn root und die primäre Gruppe des Benutzers das Basisverzeichnis und mindestens 710 Berechtigungen besitzen, sollten Verbindungsversuche erfolgreich sein.
Repro Schritte:
Fehlgeschlagene Verbindung mit der sekundären Gruppe, die das Ausgangsverzeichnis besitzt (aus / var / log / Secure):
Erfolgreiche Verbindung mit dem Ausgangsverzeichnis der Primärgruppe (aus / var / log / Secure):quelle
Ich habe eine ähnliche Frage gestellt, nachdem ich die Antwort von @Will gelesen hatte. Ich habe diese Lösung ausprobiert, konnte sie jedoch für mein Szenario nicht richtig einsetzen.
Berechtigungen für chrooted Benutzer funktionieren nach dem Update unter Amazon Linux nicht
Aber es führte mich zu der Lösung: Ändern Sie die primäre GID für die Benutzerkonten, die ich chrootete, in die GID der Gruppe, mit der ich Berechtigungen im chrootierten Verzeichnis erstellt habe. Es funktionierte.
quelle