Sada je: 29 ožu 2024, 05:50.
Linux, poslužitelj, mreže i sigurnost

Moderator/ica: Moderatori/ce

Pokušavam napraviti prijavu sistemskih korisnika koji se nalaze u LDAP-u, a CentOS-om 6 preporučena izvedba takvog nečeg je putem SSSD-a. Naravno, ništa mi ne radi :-)

LDAP server (OpenLDAP) nalazi se na localhostu pa sam želio izbjeći sve komplikacije oko enkriptirane veze no izgleda da ne mogu jer SSSD zahtijeva SSL za komunikaciju s LDAP-om :-(

Pretpostavljam da bih trebao ovako postupiti:
* generirati self-sign certifikat (iako sam pročitao da centos više ne podržava klasične self-sign certifikate?!)
* prebaciti ldap na ldaps
* podesiti sssd da koristi taj ldap

Međutim ne uspijevam jer procedura ima toliko koraka i međuovisnosti te toliko načina da zeznem.

Ima li netko iskustva s ovom temom i može li mi preporučiti neki dobar vodič?

Do sad korišteni vodiči:
http://itdavid.blogspot.ca/2012/05/howt ... dap-2.html
http://www.couyon.net/1/post/2012/04/en ... tos-6.html
https://sites.google.com/site/guenterba ... entosrhel6
http://serverfault.com/questions/323497 ... t-secure-a
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
Andy,

pokreni sljedece naredbe (GTK):
Kod: Označi sve
system-config-authentication

ili (ncurses)
Kod: Označi sve
authconfig-tui
When you're a kid and you wanna go "Weee !", but you ain't got drugs yet ... You hold out for your life, hold on to your little GONADS ... and STRIFE.
Avatar
Postovi: 910
Postovi: 910
Pridružen/a: 12 svi 2010, 07:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 13 puta
OS: linux
Time dobije sljedeće:
Kod: Označi sve
[domain/default]

ldap_id_use_start_tls = False
cache_credentials = True
ldap_search_base = dc=example,dc=com
krb5_server = kerberos.example.com
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://localhost:389
ldap_tls_cacertdir = /etc/openldap/cacerts


I "sss" u /etc/nsswitch.conf.

Probat ću još s migration toolsima jer nisam siguran jesam li uopće napravio "kompatibilnu" shemu u LDAP-u.
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
Sto koristis za LDAP ?

389-ds, openLDAP, AD ?

Imas jos jednu opciju, koristiti authconfig naredbu.

Migration toolsi su "Ok", no vjeruj mi da ne zelis sistemske korisnike u LDAP-u (dugorocno bi mogao imati gomilu problema, pogotovo ako ti LDAP nece biti dostupan).

Pokusaj na alternativan nacin (bez SSL):
Kod: Označi sve
authconfig --enableldap --enableldapauth --ldapserver='ldap://moj_ldap_server/' --ldapbasedn='dc=domena,dc=tld' --enablemkhomedir --enableshadow --enablelocauthorize --passalgo=sha256 --update


Nakon toga opali:
Kod: Označi sve
getent passwd USERNAME


Da provjeris radi li autentikacija.

EDIT:

Takodjer, opali sljedecu naredbu:
Kod: Označi sve
authconfig --test


EDIT1:
Btw, sssd servis ti ne ce raditi bez SSL/TLS.

EDIT2:
Evo ti jos jedan "workaround".

Unutar datoteke /etc/sysconfig/authconfig, promijeni sljedece:
Kod: Označi sve
FORCELEGACY=no


u

Kod: Označi sve
FORCELEGACY=yes


Sada ti SSL/TLS req. vise ne bi trebao biti vazan.
When you're a kid and you wanna go "Weee !", but you ain't got drugs yet ... You hold out for your life, hold on to your little GONADS ... and STRIFE.
Avatar
Postovi: 910
Postovi: 910
Pridružen/a: 12 svi 2010, 07:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 13 puta
OS: linux
drade je napisao/la:Sto koristis za LDAP ?

389-ds, openLDAP, AD ?

openldap

drade je napisao/la:Imas jos jednu opciju, koristiti authconfig naredbu.

Da, većina tutoriala koristi to, međutim čini mi se da nije problem u tome: kao što sam gore napisao authconfig (kao i authconfig-tui, btw hvala na tome - nisam znao da postoji i tui za taj alat prije nego si napisao gore) podesi generički one dvije datoteke i više manje u njima sve štima za generički postav.

drade je napisao/la:Migration toolsi su "Ok", no vjeruj mi da ne zelis sistemske korisnike u LDAP-u (dugorocno bi mogao imati gomilu problema, pogotovo ako ti LDAP nece biti dostupan).

Zanimalo me samo koje sheme koriste "po defaultu" da vidim možda ja griješim jer koristim custom sheme. Nisam mislio sistemske korisnike trpati u LDAP, već samo korisnike koji su chrootani u svoj home direktorij (koji bi bio html root za njihove web stranice). A preko LDAP-a ih mogu lakše administrirati i dodavati nego preko klasičnog NIS-a. Uz to već imam par vlastitih alata za LDAP koji mi ih integriraju s nekim drugim servisima što s NIS-om ne mogu.

drade je napisao/la:Pokusaj na alternativan nacin (bez SSL):
Kod: Označi sve
authconfig --enableldap --enableldapauth --ldapserver='ldap://moj_ldap_server/' --ldapbasedn='dc=domena,dc=tld' --enablemkhomedir --enableshadow --enablelocauthorize --passalgo=sha256 --update


Nakon toga opali:
Kod: Označi sve
getent passwd USERNAME


Da provjeris radi li autentikacija.

Dođem ja do toga da taj test s getent radi, ali mi ne radi prijava preko SFTP-a (ili SSH-a).

EDIT1:
Btw, sssd servis ti ne ce raditi bez SSL/TLS.

Da, toga se i ja bojim.

EDIT2:
Evo ti jos jedan "workaround".

Unutar datoteke /etc/sysconfig/authconfig, promijeni sljedece:

Sada ti SSL/TLS req. vise ne bi trebao biti vazan.


To ostavljam za kraj ako zbilja sa sssd-om nikako neće proći jer ovaj legacy način (pam_ldap) je napušten i dosta bugovit (barem tako pišu ljuidi na netu).

Probat ću još debuggirati pa možda otkrijem gdje je greška iako se teško već snać u tolikom metežu servisa, uz to da je LDAP jedan od najkompleksnijih protokola koje sam ikad vidio, pogotovo u onim situacijama gdje se standardno koristi, a nikad nije namijenjen za to.
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
Daj postaj /etc/pam.d/sshd datoteku.
When you're a kid and you wanna go "Weee !", but you ain't got drugs yet ... You hold out for your life, hold on to your little GONADS ... and STRIFE.
Avatar
Postovi: 910
Postovi: 910
Pridružen/a: 12 svi 2010, 07:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 13 puta
OS: linux
drade je napisao/la:Daj postaj /etc/pam.d/sshd datoteku.

Kod: Označi sve
# cat /etc/pam.d/sshd
#%PAM-1.0
auth       required     pam_sepermit.so
auth       include      password-auth
account    required     pam_nologin.so
account    include      password-auth
password   include      password-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_loginuid.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open env_params
session    optional     pam_keyinit.so force revoke
session    include      password-auth
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
Moze jos password-auth i system-auth ?
When you're a kid and you wanna go "Weee !", but you ain't got drugs yet ... You hold out for your life, hold on to your little GONADS ... and STRIFE.
Avatar
Postovi: 910
Postovi: 910
Pridružen/a: 12 svi 2010, 07:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 13 puta
OS: linux
drade je napisao/la:Moze jos password-auth i system-auth ?

Kod: Označi sve
cat /etc/pam.d/{password-auth,system-auth}
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_sss.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_sss.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_sss.so
#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_sss.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_sss.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_sss.so
A neutron walks into a bar; he asks the bartender, 'How much for a beer?' The bartender looks at him, and says 'For you, no charge.'
Avatar
Moderator
Postovi: 4060
Moderator
Postovi: 4060
Pridružen/a: 15 svi 2008, 18:05
Lokacija: Hamburg, DE
Podijelio/la zahvalu: 111 puta
Primio/la zahvalu: 183 puta
Spol: M
OS: Fedora/KDE
Nema unosa za pam_ldap.so.

Trebao bi instalirati nss-pam-ldapd paket te onda ponovno pokrenuti konfiguraciju autentikacije, ili dodati rucno sljedece:
Kod: Označi sve
auth        sufficient    pam_ldap.so use_first_pass
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
password    sufficient    pam_ldap.so use_authtok
session     optional      pam_ldap.so


Naravno, zelis i da ti se home dir kreira, ukoliko ne postoji. To rjesavas sljedecim unosom:
Kod: Označi sve
session     required      pam_oddjob_mkhomedir.so skel=/etc/skel umask=0022


moguce je da ce ti se posljednji unos za pam modul zvati pam_mkhomedir.so, pa to izmjeni prema potrebi (centos koristi gore navedeni modul). Takodjer, mozes staviti optional umjesto required.

Ne vjeruj svemu sto ljudi pisu. pam_ldap radi savrseno, imam to instalirano na podosta servera.
When you're a kid and you wanna go "Weee !", but you ain't got drugs yet ... You hold out for your life, hold on to your little GONADS ... and STRIFE.
Avatar
Postovi: 910
Postovi: 910
Pridružen/a: 12 svi 2010, 07:57
Podijelio/la zahvalu: 0 puta
Primio/la zahvalu: 13 puta
OS: linux

Na mreži
Trenutno korisnika/ca: / i 15 gostiju.