„ShibIdPX509LdapAuthentication” változatai közötti eltérés

Innen: KIFÜ Wiki
(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

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="";
};


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>

Felépítés

JAAS autentikációs modul

X.509 autentikációs szervlet

Integráció a felhasználónév / jelszó bejelentkezéssel

Követelmények

Shibboleth IdP konfiguráció

Bejelentkező oldal módosítása