Módosítások

WebmailShibboleth

501 bájt hozzáadva, 2010. június 22., 10:46
passwordlifetime
==Shibboleth IdP plugin==
* We have developed an IdP plugin -attribute resolver- which can generate this short-lifetime password (called service token) for the user and write it to the database.* Shibboleth IdP attribute resolver configuration is independent from the actual SP, so the plugin must check whether the current request came from an SP for which it needs to generate the passwordtoken.* The password service token is sent in plain-text, so the Shibboleth attribute statement must be encrypted either by using artifact resolution over SSL/TLS or by using XML encryption with HTTP-Post.
==IMAP configuration==
==Webmail softwares==
* For our proof-of-concept we have tried squirrelmail and roundcube with its HTTP-authentication plugin. If the SP is releasing the username and password service token as PHP_AUTH_USER and PHP_AUTH_PW, this authentication module works out-of-the-box.
= Magyarul =
* a webmail feltörése esetén nem férhetnek hozzá az összes felhasználó levelezéséhez
A fenti kritériumokat az 'egyszer használatos', rövid lejárató lejáratú jelszó használata ('service token') kielégíti. Ebben az esetben az IdP minden egyes webmail bejelentkezéshez generál egy véletlen jelszót, és ezt elmenti egy adatbázisban, (beállítva a jelszóhoz egy rövid lejárati időt) valamint elküldi a webmail SP-nek. A webmail ezen rövid lejáratú jelszó használatával autentikál az IMAP szerver felé.
A leírt gondolatmenet megvalósításához három komponens együttműködése szükséges:
== IdP plugin ==
Az IdP plugin aktuális verziója a következő URL-ről tölthető le: http://software.niif.hu/maven2/hu/niif/shibboleth-servicetoken/1.0. A <code>shibboleth-servicetoken-1.0.jar</code> -t és illetve a megfelelő adatbázis drivert (MySQL esetén <code>mysql-connector.jar</code> -t ) be kell másolni az <code>idp.war WEB-INF/lib</code> könyvtárába.
Az <code>attribute-resolver.xml</code> -ben a következő változtatásokat kell megtenni:
passwordColumn="password"
expirationColumn="expiration"
passwordLifetime="400XXXXXX"
spEntityID="https://webmail.example.org/shibboleth" >
</resolver:DataConnector>
</source>
 
Fontos, hogy a <code>DataConnector</code> (másodpercekben értelmezett) <code>passwordLifetime</code> attribútumát jól állítsuk be, azaz hosszabb legyen, mint a webmail oldali SP session, de javasolt 24 óránál rövidebbre venni.
Az <code>attribute-filter.xml</code> -ben pedig ki kell engedni az <code>uid</code> és <code>serviceToken</code> attribútumokat a webmail sp-nek:
sasl_sql_passwd: *****
sasl_sql_database: shib_idp
sasl_sql_select: SELECT password AS userPassword FROM otp service_tokens WHERE uid = '%u' AND expiration > now()
Amennyiben az IMAP szervert nem TLS/SSL felett használjuk, ezek a beállítások nem biztonságosak!
<source lang="xml">
<Attribute name="urn:oid:0.9.2342.19200300.100.1.1" id="PHP_AUTH_USER"/>
<Attribute name="urn:geant:niif.hu:otpservicetoken" id="PHP_AUTH_PW"/>
</source>
565
szerkesztés

Navigációs menü