[ujra] ldap+sshd

Fórumok

Sziasztok!

Kovetkezo a problemam:
Szeretnek kozponti hitelesitest osszehozni egy rendszeren openldap-2.4.17-al. Most ismerkedek az egesz ldap rendszerrel.
Egyelore egy teszt sshd kiszolgalonal szeretnem beallitani a elrest, majd ha az megy felrakni az eles rendszereket.
Beallitottam a openldap szervert, feltoltottem nehany teszt felhasznalot es megcsinaltam az adatbazist. ldap.conf fajla:

BASE dc=intezet,dc=tanszek,dc=egyetem,dc=hu
URI ldap://ldap.intezet.tanszek.egyetem.hu

A ldap kiszolgalo slapd.conf fájla:

include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/nis.schema
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
modulepath /usr/local/libexec/openldap
moduleload back_bdb
security ssf=128
TLSCertificateFile /usr/local/etc/openldap/cert.crt
TLSCertificateKeyFile /usr/local/etc/openldap/cert.key
TLSCACertificateFile /usr/local/etc/openldap/cacert.crt
database bdb
suffix "dc=intezet,dc=tanszek,dc=egyetem,dc=hu"
rootdn "cn=Manager,dc=intezet,dc=tanszek,dc=egyetem,dc=hu"
rootpw {CRYPT}yJZHxZi4uMWlY
directory /home/openldap-data
index objectClass eq

A szerver fut a sockstat -4 -p 389 ellenoriztem.

Beallitottam a sshd kiszolgalot mint ldap klienst. ldap.conf ugyanaz mind pam_ldap-hoz mind ldap-clienthez:

BASE dc=intezet,dc=tanszek,dc=egyetem,dc=hu
URI ldap://ldap.intezet.tanszek.egyetem.hu
ssl_start_tls
tls_cacert /usr/local/etc/openldap/cacert.crt
pam_filter objectclass=posixAccount
pam_login_attribute uid

pam.d/sshd

auth sufficient pam_opie.so no_warn no_fake_prompts
auth requisite pam_opieaccess.so no_warn allow_local
auth requires /usr/local/lib/pam_ldap.so try_first_pass
auth required pam_unix.so try_first_pass
account required pam_nologin.so
account required /usr/local/lib/pam_ldap.so no_warn ignore_authinfo_unavail ignore_unknown_user
account required pam_login_access.so
account required pam_unix.so
session required pam_permit.so
password required pam_unix.so no_warn try_first_pass

/etc/nsswitch.conf

group: files ldap
passwd: files ldap
shells: files ldap

ldapsearch -Z lekerdezi az adatokat a ldap szerverrol, ebbol azt gondolom ez rendben.

Viszont amikor egy harmadik geprol probalok csatlakozni az sshd kiszolgalora, mar nem tudok belepni. A proba user beallitasai:

dn: uid=testuser,ou=People,dc=intezet,dc=tanszek,dc=egyetem,dc=hu
uid: testuser
objectClass: account
objectClass: posixAccount
objectClass: top
cn: testuser
uidNumber: 20008
gidNumber: 20008
homeDirectory: /home/testuser
userPassword: {CLEARTEXT}.StUyc5O
loginShell: /bin/sh

Semmi nyomat nem lattom, hogy egyaltalan mukodne a pam_ldap.

Hozzászólások

ez tuti így van: ??
auth requires /usr/local/lib/pam_ldap.so try_first_pass
mert akkor elírás

"id testuser" parancs mit ad vissza? Mert ok, hogy az auth nem megy, de az account sem?

Nem akarok beléd kötni, de azért lehet, hogy először utána kellene olvasni, aztán szépen lassan építkezni, nem kell rögtön tls, meg ilyenek.
Az hogy az ldapsearch működik, csak annyit jelent, hogy az ldap működik. Nem jelenti, hogy a pam jól van konfigurálva. Nem jelenti, hogy az ssh használja a PAM-ot, nem jelenti. Először működjön az account, aztán majd az auth, aztán majd a passwd (exop!!!), stb.
Rétegesen, mint amilyenek az ogrék, meg a hagyma.

Retegesen mint az ogrek ertem en. De kovettem a dokumentaciot, gondoltam nem ujitok:
itt

Ha a /usr/local/lib/pam_ldap.so eleresi utjara gondoltal akkor az tuti.

Igaz account se megy "id: testuser: no such user"

sshd_conf tartalma:

Protocol 2
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes
Subsystem sftp /usr/libexec/sftp-server

Azt azert furcsalom, hogy gyakorlatilag semmi sem latszik a lognaplokban.

Na haladok, mostmar van log az auth.log-ban.

Sep 11 13:13:30 test sshd[72032]: pam_ldap: error trying to bind as user "uid=testuser,ou=people,dc=intezet,dc=tanszek,dc=egyetem,dc=hu" (Invalid credentials)
Sep 11 13:13:30 test sshd[72028]: error: PAM: authentication error for illegal user testuser from 10.0.0.10
Sep 11 13:13:30 test sshd[72028]: Failed keyboard-interactive/pam for invalid user testuser from 10.0.0.10 port 54001 ssh2

A ldapsearch -Z idevago kimenete az sshd-t futato gepen:

dn: dc=intezet,dc=tanszek,dc=egyetem,dc=hu
objectClass: dcObject
objectClass: organization
o:: REUgVMOhanbDqWRlbG1pIFRhbnN6w6lr
dc: landscape

dn: cn=Manager,dc=intezet,dc=tanszek,dc=egyetem,dc=hu
objectClass: organizationalRole
cn: Manager

dn: ou=people,dc=intezet,dc=tanszek,dc=egyetem,dc=hu
ou: people
objectClass: top
objectClass: organizationalUnit

dn: ou=groups,dc=intezet,dc=tanszek,dc=egyetem,dc=hu
objectClass: top
objectClass: organizationalUnit
ou: groups

dn: cn=sftpuser,dc=intezet,dc=tanszek,dc=egyetem,dc=hu
objectClass: posixGroup
objectClass: top
gidNumber: 20000
cn: sftpuser

dn: uid=testuser,ou=people,dc=intezet,dc=tanszek,dc=egyetem,dc=hu
uid: testuser
objectClass: account
objectClass: posixAccount
objectClass: top
cn: testuser
uidNumber: 20008
gidNumber: 20008
homeDirectory: /home/testuser
userPassword:: e0NMRUFSVEVYVH0uU3RVeWM1Tw==
loginShell: /bin/sh

Na ugy erzem megegy hejat sikerult lehamoznom de meg mindig nem jo. nss_ldap.conf allitgatasa utan az auth.log-bol kikerult az invalid user hiba és az id testuser is jol fut le. Szoval account rendben most johet a auth.
Arra gondolok a jelszo talan nem jo az ldap szerveren. Kicsit furcsalom, hogy a ldaf fajban {CLEARTEXT}.StUyc5O adtam meg jelszonak, de a lekerdezeskor e0NMRUFSVEVYVH0uU3RVeWM1Tw== stinget latok.

Sziasztok!

Mint fenteb irtam rendben megy mar az ldap, DE a "ls -l" parancs iszonyat lassu. Mint utanaolvastam a nscd-en kellene valalmit allitanom, de oszinten bevalva nem egyertelmu nekem mit. Tud valalki valalmi mukodo beallitast?

Egyaltalan, hogy lehet tesztelni az nscd-t?

man nscd.conf
amúgy meg a logfile opció mondja meg, hovy amenjen a debug információ.

pl.:
logfile /var/log/nscd.log
threads 6
max-threads 128
server-user nscd
stat-user nocpulse
debug-level 0
reload-count 5
paranoia no
restart-interval 3600

enable-cache passwd yes
positive-time-to-live passwd 600
negative-time-to-live passwd 20
suggested-size passwd 211
check-files passwd yes
persistent passwd yes
shared passwd yes
max-db-size passwd 33554432
auto-propagate passwd yes

De nálunk pl be van állítva a paranoia, mert valamiért reggelre elhal a cache és nem engedi be a felhasználókat. Egy ideig reggelente kézzel újraindítottam minden szerveren, majd inkább beállítottam a paranoia-t. Mondjuk nálunk kb hétezer felhasználó van.

Kisebb masiranyu elfoglaltsagok miatt csak most ultem neki ujra a temanak.

Nem tudom debugolni mert de ha az nscd.conf-ba elhelyezem a logfile bejegyzest nem indul el a nscd. Nem add semmi hibajelzest szimplan nem indul. Megneztem a man nscd.conf-ot es se logfile se debug opcio nem szerepel benne, de persze latom, hogy Linux-os man-ban szerepel. Szoval nem tudom mi van. OS: FreeBSD 7.2

Ja akkor abban lehet, hogy nincs implementálva....találkoztam már ilyennel egyidőben kiadott Linux distribek esetében is...pffff....
Akkor sajna nem tudok mit mondani. Meg kellene nézni, hogy a forrás tartalmazza e az opciót és csak nem fordították bele, vagy totál nincs benne. Vagy segít rajta egy újrafordítás, vagy nem.
Egyébbként az "ls -l"-nek nem sok köze van az nscd-hez szerintem. Vagy samba share-n az ls? De annak se nagyon.