lehet-e AD autentikált, openLDAP autorizált apache proxy-t csinálni?

Fórumok

Szeretnék tanácsot kérni apache proxy beállításban, mert elakadtam egy feladat megoldásában.

 

Van két LDAP szerver (az egyik egy windows AD a másik unix openldap, de ennek alapvetően itt nincs jelentősége). Az első szerveren a felhasználók és a hozzájuk tartozó jelszavak vannak tárolva, a másodikban ugyan vannak felhasználok megegyező névvel, de nincs hozzájuk jelszó tárolva, viszont itt találhatók azok a csoportok amik alapján engedélyezném a belépést.

A két szerveren lévő felhasználónevek megegyeznek. Azaz pl, mindkét ldap-ban szerepel a „user1” felhasználó (elsőn van hozzá jelszó is), de csak a második szerveren létezik a „mygroup” csoport.

 

A kérdésem az, hogy láttok-e megoldást arra, hogy apache-on ilyen módon, tehát az első szerveren megtörténjen az autentikáció (felhasználónév/jelszóval), a másik szerveren pedig a csoport alapú autorizáció.

 

Ezzel a config -gal próbálkoztam, de látszólag, ha az első ldap-ban megtörtént autentikáció akkor az apache nem keresi tovább a csoportokat a másikban.

#LDAP URL for internal users
<AuthnProviderAlias ldap ldapserver1-intern>
        AuthLDAPBindDN          "cn=apache,ou=people,dc=acc,o=myorg"
        AuthLDAPBindPassword    "mypassword"
        AuthLDAPURL ldaps://ldapserver1/ou=intern-users,dc=acc,o=myorg?uid?sub
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldapserver2-intern>
        AuthLDAPBindDN          "cn=apache,ou=people,dc=acc,o=myorg"
        AuthLDAPBindPassword    "mypassword"
        AuthLDAPURL ldaps://ldapserver2/ou=intern-users,dc=acc,o=myorg?uid?sub
</AuthnProviderAlias>

<Location />
	AuthBasicProvider ldapserver1-intern ldapserver2-intern
	AuthType Basic
	AuthName LDAP_Protected_Place
	
        Require ldap-group cn=mygroup,ou=intern-groups,dc=acc,o=myorg

	ProxyPass /           http://myurl.com/
	ProxyPassReverse /    http://myurl.com/
</Location>  

 

A válaszokat előre is köszönöm.

Hozzászólások

Szerkesztve: 2020. 04. 07., k - 08:19

Szerintem csak egyedi megoldással lehet ezt megcsinálni, mert nem szokványos igény. 

Ha nem akarsz saját Apache Auth modult fejleszteni, akkor próbáld meg external providerrel és csinálsz egy scriptet

https://github.com/haegar/mod-auth-external/wiki/ConfigApache24

https://www.server-world.info/en/note?os=Ubuntu_18.04&p=httpd&f=10

 

1. ldapsearch bindpw vel AD ban, mondjuk saját magára keressen rá. 

       - megjegyzem, hogy a password itt cleartextben közlekedik, így óvatosan, illetve mint minden inputot fontos megfelelően biztonságosan kezelni

2. (ha 1. success akkor ldapsearch mindegy milyen bindpw vel keressen a megfelelő user és group filterrel)

3. external modul számára megfelelő visszatérés 

Üdv Csabka 

Köszönöm a hozzászólásokat. Azt hiszem ezek alapján tovább tudok kísérletezni.