SFTP mit LDAP Authentifizierung

Muhfragezeichen

Cadet 3rd Year
Dabei seit
Apr. 2011
Beiträge
50
Guten Tag zusammen,
ich habe auf meinem Fedora 16 mit openSSH ein SFTP Server laufen(Version 5.8p2). Über Chroot befinden sich die auf dem Server Lokal angelegten Benutzer in ihrem Jail und haben dort nur lese Rechte.

Nun würde ich gerne anstatt die Lokalen Benutzer zu verwenden einen LDAP für die Authentifizierung verwenden der sich im gleichen Netzbefindet aber auf einem anderem Server (Debian).

Meine Frage ist: Was und wo muss ich die Einstellungen machen damit meine in LDAP eingerichteten Benutzer sich auf den sftp Server verbinden können und die eingerichteten Personen der gruppe sftponly angehören

In der sshd_config habe ich UsePam auf "yes" stehen und openssh-ldap (Version 5.8p2) ist auch installiert. Was muss ich nun tun? Hat da jemand Erfahrung?

Viele Grüße
Muh?
 

MainframeX

Cadet 4th Year
Dabei seit
Juni 2011
Beiträge
107
Du brauchst einen ldap-client (openldap) der mit dem ldap spricht.
und du musst pam beibringen das er Benutzer auch per ldap authentifiziert.
getent passwd sollte am Ende Ldap Benutzer anzeigen, dann können diese sich auch normal authentifizieren.
 

Muhfragezeichen

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Apr. 2011
Beiträge
50
So weit war ich bereits, nur welches PAM Modul muss modifiziert werden und dann vor allem: wie bringe ich ihm bei das er Benutzer auch per LDAP Authentifiziert? Ich habe bei mir schon die Server IP + Base in der ldap.conf eingegeben.
 

MainframeX

Cadet 4th Year
Dabei seit
Juni 2011
Beiträge
107
Ich hab leider nur ein andere redHat Derivat rumfliegen, aber es sollte zumindest ähnlich sein, zumindest diese Anleitung hat auch funktioniert:
https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-ldap-pam.html

Also ggf. noch das nss_ldap installieren und die nsswitch.conf Anpassen:
passwd: files ldap
shadow: files ldap
group: files ldap

in /etc/pam.d hab ich hier noch ein paar Einträge für die pam_ldap.so:
grep ldap *
system-auth:auth sufficient pam_ldap.so use_first_pass
system-auth:account [default=bad success=ok user_unknown=ignore] pam_ldap.so
system-auth:password sufficient pam_ldap.so use_authtok
system-auth:session optional pam_ldap.so
system-auth-ac:auth sufficient pam_ldap.so use_first_pass
system-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_ldap.so
system-auth-ac:password sufficient pam_ldap.so use_authtok
system-auth-ac:session optional pam_ldap.so

Ist eine Testkiste, deswegen keine 100%ige Sicherheit dass es so funzt, wie du es brauchst. Mit dem LDAP spricht sie allerdings einwandfrei ;)
 

Muhfragezeichen

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Apr. 2011
Beiträge
50
Das sieht schonmal viel versprechend aus, danke! Allerdings habe ich keine pam_ldap in /etc/pam.d . Muss ich die selber erstellen?
 

MainframeX

Cadet 4th Year
Dabei seit
Juni 2011
Beiträge
107
in /etc/pam.d/ musst du maximal eine sshd Datei erstellen:
#%PAM-1.0
auth include system-auth
account required pam_nologin.so
account include system-auth
password include system-auth
session optional pam_keyinit.so force revoke
session include system-auth
session required pam_loginuid.so

evtl. ist noch ein

session optional pam_mkhomedir.so
sinnvoll, dass hängt aber von deiner chroot Konfiguration ab.

Die pam_ldap.so muss in /lib/security liegen.

Im meinem Kopf schwirrt noch rum, das der name caching Deamon manchmal hakelig ist und sich aufhängt. Wenn es Probleme gibt, sollte man ihn zumindest mal Testweise abschalten
 

Muhfragezeichen

Cadet 3rd Year
Ersteller dieses Themas
Dabei seit
Apr. 2011
Beiträge
50
Ich dreh durch... nss_ldap installiert und nun startet mein Fedora nichtmehr 2 Wochen Konfigurations Arbeit hinüber so nen driss ... das wird den Ausbilder nicht freuen... naja muss ich nächste Woche neu machen...


muss man das genau so in die sshd kopieren?

system-auth:auth sufficient pam_ldap.so use_first_pass
system-auth:account [default=bad success=ok user_unknown=ignore] pam_ldap.so
system-auth:password sufficient pam_ldap.so use_authtok
system-auth:session optional pam_ldap.so
system-auth-ac:auth sufficient pam_ldap.so use_first_pass
system-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_ldap.so
system-auth-aca:pssword sufficient pam_ldap.so use_authtok
system-auth-ac:session optional pam_ldap.so

oder kommt das woanders rein?
 

MainframeX

Cadet 4th Year
Dabei seit
Juni 2011
Beiträge
107
Nee das war nur der grep über das /etc/pam.d Verzeichnis in welchen Dateien überall die pam_ldap.so drin steht, also in der system-auth und der system-auth-ac
Wenn auf dem system das Authentication Configuration Tool (system-config-authentication) installiert ist
übernimmt das meines Wissens nach die Einträge in die ganzen Dateien.

Mein CentOS ist immer brav hochgefahren, Oracle Linux auch.
Vielleicht das ganze erstmal auf ner VM durchspielen, dann kann man sich wenigstens Snapshots ziehen.
 
Top