„ShibIdPX509LdapAuthentication” változatai közötti eltérés
(→Követelmények) |
(→Telepítés) |
||
| 14. sor: | 14. sor: | ||
== Telepítés == | == Telepítés == | ||
| + | Az autentikációs modul letölthető az [http://www.aai.niif.hu/en/software aai webről]. | ||
=== Apache beállítása === | === Apache beállítása === | ||
| + | Amennyiben az alapértelmezett szervlet elérési utat választjuk (<code>/Authn/X509</code>), a következő opciókat kell megadni az Apache webszerver konfigurációjában: | ||
| + | |||
| + | <Location /idp/Authn/X509> | ||
| + | SSLVerifyClient optional_no_ca #nincs CA ellenorzes | ||
| + | SSLOptions +ExportCertData #tanusitvany exportalasa | ||
| + | </Location> | ||
=== IdP webalkalmazás beállítása === | === IdP webalkalmazás beállítása === | ||
| + | A letöltött modulban található <code>shibboleth-x509auth-verzio.jar</code> java osztálykönyvtárat be kell másolni a Shibboleth webalkalmazás <code>WEB-INF/lib</code> könyvtárába, valamint a <code>WEB-INF/web.xml</code> fájlban meg kell adni az autentikációs szervlet paramétereit: | ||
| + | |||
| + | <servlet> | ||
| + | <servlet-name>X509LdapAuthHandler</servlet-name> | ||
| + | <servlet-class>hu.niif.middleware.shibboleth.auth.X509LdapLoginServlet</servlet-class> | ||
| + | <init-param> | ||
| + | <param-name>jaasConfigName</param-name> | ||
| + | <param-value>X509LdapAuth</param-value> | ||
| + | </init-param> | ||
| + | <load-on-startup>4</load-on-startup> | ||
| + | </servlet> | ||
| + | |||
| + | <servlet-mapping> | ||
| + | <servlet-name>X509LdapAuthHandler</servlet-name> | ||
| + | <url-pattern>/Authn/X509</url-pattern> | ||
| + | </servlet-mapping> | ||
| + | |||
| + | === IdP konfiguráció === | ||
| + | Az IdP konfigurációjában két dolgot kell módosítani: a JAAS autentikációs modul <code>login.config</code> konfigurációját, valamint a <code>handler.xml</code>-ben az autentikációs módokat. | ||
| + | |||
| + | Az X.509/LDAP JAAS modul beállításához a <code>${SHIB_HOME}/conf/login.config</code> fájl tartalmához a következő sorokat adjuk hozzá (az LDAP elérési paramétereket értelem szerint kitöltve; az értékek általában a <code>ShibUserPassAuth</code> JAAS konfigurációból átmásolhatóak): | ||
| + | |||
| + | X509LdapAuth { | ||
| + | hu.niif.middleware.jaas.X509LdapLoginModule required | ||
| + | host="" | ||
| + | port="" | ||
| + | base="" | ||
| + | ssl="" | ||
| + | userField="" | ||
| + | serviceUser="" | ||
| + | serviceCredential=""; | ||
| + | }; | ||
| + | |||
| + | {{INFO_EN|Figyelni kell arra, hogy az itt megadott <code>serviceUser</code> olvasási joggal rendelkezzen a <code>userCertificate</code> LDAP attribútumra.}} | ||
| + | |||
| + | A JAAS modul beállítása után a <code>${SHIB_HOME}/conf/handler.xml</code> fájlban meg kell adnunk az új autentikációs modulunkat, a következőképpen: | ||
| + | |||
| + | <LoginHandler xsi:type="RemoteUser" protectedServletPath="/Authn/X509" > | ||
| + | <AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:X509</AuthenticationMethod> | ||
| + | </LoginHandler> | ||
== Felépítés == | == Felépítés == | ||
A lap 2009. június 8., 10:47-kori változata
Tartalomjegyzék
Shibboleth 2.x IdP X.509/LDAP autentikációs modul
Ezen az oldalon az NIIF által fejlesztett X.509 klienstanúsítvány alapú Shibboleth autentikációs modul leírása szerepel.
Követelmények
Az X.509/LDAP autentikációs modul a következő követelmények alapján került kifejlesztésre:
- a felhasználók saját maguk által aláírt tanúsítványokat is használhassanak autentikációra
- ne kelljen PKI infrastruktúrát üzemeltetni a klienstanúsítványok használatához
- a tanúsítványok központilag menedzseltek, egyszerűen visszavonhatók legyenek
Ezen követelmények kielégíthetők a címtárban tárolt klienstanúsítványokkal, ugyanis a címtárba csak egy felettes szerv képes beírni a tanúsítványt, ott minden bejelentkezéskor ellenőrzésre is kerül, ezért könnyen visszavonható.
A felhasználó tanúsítvány alapú azonosításához (identification) szükséges, hogy a tanúsítvány tartalmazza a felhasználónevet, mégpedig az UID (subject) mezőben.
Telepítés
Az autentikációs modul letölthető az aai webről.
Apache beállítása
Amennyiben az alapértelmezett szervlet elérési utat választjuk (/Authn/X509), a következő opciókat kell megadni az Apache webszerver konfigurációjában:
<Location /idp/Authn/X509> SSLVerifyClient optional_no_ca #nincs CA ellenorzes SSLOptions +ExportCertData #tanusitvany exportalasa </Location>
IdP webalkalmazás beállítása
A letöltött modulban található shibboleth-x509auth-verzio.jar java osztálykönyvtárat be kell másolni a Shibboleth webalkalmazás WEB-INF/lib könyvtárába, valamint a WEB-INF/web.xml fájlban meg kell adni az autentikációs szervlet paramétereit:
<servlet>
<servlet-name>X509LdapAuthHandler</servlet-name>
<servlet-class>hu.niif.middleware.shibboleth.auth.X509LdapLoginServlet</servlet-class>
<init-param>
<param-name>jaasConfigName</param-name>
<param-value>X509LdapAuth</param-value>
</init-param>
<load-on-startup>4</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>X509LdapAuthHandler</servlet-name>
<url-pattern>/Authn/X509</url-pattern>
</servlet-mapping>
IdP konfiguráció
Az IdP konfigurációjában két dolgot kell módosítani: a JAAS autentikációs modul login.config konfigurációját, valamint a handler.xml-ben az autentikációs módokat.
Az X.509/LDAP JAAS modul beállításához a ${SHIB_HOME}/conf/login.config fájl tartalmához a következő sorokat adjuk hozzá (az LDAP elérési paramétereket értelem szerint kitöltve; az értékek általában a ShibUserPassAuth JAAS konfigurációból átmásolhatóak):
X509LdapAuth {
hu.niif.middleware.jaas.X509LdapLoginModule required
host=""
port=""
base=""
ssl=""
userField=""
serviceUser=""
serviceCredential="";
};
| Note
Figyelni kell arra, hogy az itt megadott serviceUser olvasási joggal rendelkezzen a userCertificate LDAP attribútumra. |
A JAAS modul beállítása után a ${SHIB_HOME}/conf/handler.xml fájlban meg kell adnunk az új autentikációs modulunkat, a következőképpen:
<LoginHandler xsi:type="RemoteUser" protectedServletPath="/Authn/X509" > <AuthenticationMethod>urn:oasis:names:tc:SAML:2.0:ac:classes:X509</AuthenticationMethod> </LoginHandler>
