Installazione OpenLDAP

Configurazione Dettagliata OpenLDAP

  • Vanno configurati i due utenti amministratori, cn=config per il database di configurazione e cn=Manager,dc=it per il database applicativo
  • Generare una password con: slappasswd -h {SSHA} -s lamiapassword
  • Creare un ldif per aggiungere una password all’amministratore cn=config:

dn: olcDatabase={0}config,cn=config
changetype: modify
replace: olcRootPW
olcRootPW: password_generata_con_slappasswd

  • Ripetere per l’amministratore cn=Manager,dc=it cambiando il dn, il dn esatto da usare si trova nella cartella /etc/openldap/slapd.d/cn=config , ad esempio: olcDatabase={2}bdb,cn=config
  • Per eseguire ldif usare: ldapmodify -Y EXTERNAL -H ldapi:/// -f cambia_password_admin.ldif
  • Testare l’accesso di cn=config con: ldapwhoami -H ldapi:/// -D “cn=config” -w lamiapassword
  • Testare l’accesso di cn=Manager,dc=it con: ldapwhoami -H ldapi:/// -D “cn=Manager,dc=it” -w lamiapassword
  • E’ possibile da adesso usare un client come: http://directory.apache.org/studio/
  • Per connettersi al db della configurazione usare come utente cn=config e come root dn cn=config
  • Per connettersi al db applicativo usare come utente cn=Manager,dc=it e come root dn dc=it
  • Per connettersi al db monitor usare come utente cn=config e come root dn cn=Monitor
  • Per abilitare il load di moduli aggiuntivi e includere quello per le policy della password eseguire questo ldif (utente cn=config) :

dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib64/openldap
olcModuleload: back_bdb
olcModuleload: ppolicy.la

  • Riavviare con: service slapd restart
  • Creare un ramo dove inserire le policies (utente cn=Manager,dc=it):

dn: ou=Policies,dc=it
objectClass: organizationalUnit
objectClass: top
ou: Policies

  • Configurare il modulo delle policy (utente cn=config)

dn: olcOverlay={0}ppolicy,olcDatabase={2}bdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcPPolicyConfig
olcOverlay: {0}ppolicy
olcPPolicyDefault: cn=Default,ou=Policies,dc=it
olcPPolicyForwardUpdates: FALSE
olcPPolicyHashCleartext: TRUE
olcPPolicyUseLockout: TRUE

  • Creare la policy (utente cn=Manager,dc=it)

dn: cn=Default,ou=Policies,dc=it
objectClass: inetOrgPerson
objectClass: pwdPolicy
objectClass: pwdPolicyChecker
objectClass: top
cn: Default
cn: user
pwdAttribute: userPassword
sn: fake
pwdAllowUserChange: TRUE
pwdInHistory: 0
pwdLockout: TRUE
pwdMaxAge: 7776000
pwdMinLength: 8
pwdMustChange: TRUE
pwdSafeModify: FALSE

  • Creare la policy (utente cn=Manager,dc=it)

dn: cn=PasswordNeverExpire,ou=Policies,dc=it
objectClass: inetOrgPerson
objectClass: pwdPolicy
objectClass: pwdPolicyChecker
objectClass: top
cn: Default
cn: PasswordNeverExpire
cn: user
pwdAttribute: userPassword
sn: fake
pwdAllowUserChange: TRUE
pwdInHistory: 0
pwdLockout: FALSE
pwdMaxAge: 0
pwdMinLength: 8
pwdMustChange: FALSE
pwdSafeModify: FALSE

dn: dc=uslumbria2,dc=it
objectClass: domain
dc: uslumbria2

  • Creare le unità organizzative People e Roles:

dn: ou=People,dc=uslumbria2,dc=it
objectClass: organizationalUnit
objectClass: top
ou: People

dn: ou=Roles,dc=uslumbria2,dc=it
objectClass: organizationalUnit
objectClass: top
ou: Roles

  • Creare un amministratore per l’applicazione es:

dn: uid=admin,ou=People,dc=uslumbria2,dc=it
objectClass: inetOrgPerson
objectClass: top
cn: Isharedoc Admin
sn: Isharedoc Admin
displayName: Amministratore
givenName: Amministratore
mail: test@grupposistematica.it
uid: admin
userPassword:: password_generata_con_slappasswd

  • Creare i due ruoli per dare accesso all’applicazione all’amministratore es:

dn: cn=AMICOWF,ou=Roles,dc=uslumbria2,dc=it
objectClass: groupOfUniqueNames
objectClass: top
cn: AMICOWF
uniqueMember: uid=admin,ou=People,dc=uslumbria2,dc=it

dn: cn=ISHAREDOC,ou=Roles,dc=uslumbria2,dc=it
objectClass: groupOfUniqueNames
objectClass: top
cn: ISHAREDOC
uniqueMember: uid=admin,ou=People,dc=uslumbria2,dc=it

  • Importare gli altri utenti ed aggiungerli ai ruoli
  • Per forzare il cambio password ad un utente aggiungere l’attributo pwdReset: TRUE nell’entry ldap dell’utente
  • Per bloccare un account aggiungere l’attributo pwdAccountLockedTime: unadataqualsiasi nell’entry ldap dell’utente

Installazione Tomcat JOSSO Gateway

  • Scaricare ed estrarre lo zip con Tomcat 7 configurato per JOSSO Gateway dal link ftp://ftp.isharedoc.it/setup/tomcat-for-josso-gateway/apache-tomcat-7.0.52-josso-gateway.zip
  • Aggiungere tomcat allo startup automatico (vedere http://docs.keyworks.it/article/installazione/)
  • Scaricare il war di Josso Gateway nella cartella webapps del tomcat dal link ftp://ftp.isharedoc.it/setup/tomcat-for-josso-gateway/josso.war
  • Aprire josso-gateway-ldap-stores.xml contenuto nella directory lib di tomcat
  • Configurare i parametri di ldap ed avviare tomcat (porta di default: 2080):
  • providerUrl=indirizzo ldap
  • securityPrincipal=DN utente per la connessione
  • securityCredential=password utente per la connessione
  • usersCtxDN=root DN per la ricerca utenti (es. ou=People,dc=estav-sudest,dc=toscana,dc=it)
  • principalUidAttributeID=attributo univoco con lo username (es. uid)
  • rolesCtxDN=root DN per la ricerca ruoli (es. ou=Roles,dc=estav-sudest,dc=toscana,dc=it)
  • uidAttributeID=attributo del ruolo che contiene gli utenti associati (es. uniqueMember)
  • roleAttributeID=attributo con il nome del ruolo (es. cn)
  • userPropertiesQueryString=attributi extra e alias da estrarre in fase di autenticazione (es. displayName=displayName,mail=email,cn=description)

Installazione Tomcat JOSSO iShareDoc

  • Scaricare ed estrarre il file zip con Tomcat 6 configurato per JOSSO Agent dal  link ftp://ftp.isharedoc.it/setup/tomcat-for-isharedoc/apache-tomcat-6.0.39-pg-p5-josso.zip
  • Aggiungere tomcat allo startup automatico http://docs.keyworks.it/article/installazione/
  • Configurare in server.xml nella lib di tomcat la porta usata da tomcat (default: 5080) e i datasource usati da iShareDoc
  • Configurare in isharedoc.properties nella lib di tomcat i parametri LDAP che userà iShareDoc (vedi esempio nel forum)
  • Copiare il war di iShareDoc nella cartella webapps di tomcat (il war deve essere stato generato usando josso.enabled=false nel local.properties)
  • Aprire josso-agent-config.xml contenuto nella directory lib di tomcat
  • Configurare i parametri di josso ed avviare tomcat:
  • gatewayLoginUrl=URL della pagina di login del gateway, accessibile all’utente finale (es. https://democorepa.grupposistematica.it/josso/signon/login.do)
  • gatewayLogoutUrl=URL della pagina di logout del gateway, accessibile all’utente finale (es. https://democorepa.grupposistematica.it/josso/signon/logout.do)
  • protocol:ws-service-locator endpoint=indirizzo del tomcat dove è installato il gateway, anche con ip interno (es. localhost:2080)
  • ATTENZIONE: rimuovere geronimo-javamail_1.4_spec-1.6.jar dalla cartella lib se presente

ALLEGATO – esempio parametri di configurazione iShareDoc per LDAP JOSSO

#solo se JOSSO

logout.url=/josso_logout/

logonService=Ldap

ldap.url=ldap://trdev2.sistematica:389

ldap.manager.dn=cn=Manager,dc=it

ldap.manager.password=xxx

ldap.user.baseName=ou=People

ldap.group.baseName=ou=Groups

ldap.search.baseDn=dc=estav-sudest,dc=toscana,dc=it

ldap.search.scope=subtree

ldap.role.baseName=ou=Roles

ldap.role.name=ISHAREDOC

ldap.attr.uid=uid

ldap.allowChangeUserData=false

ldap.passwordNeverExpirePolicy.dn=cn=userService,ou=PasswordPolicy,dc=estav-sudest,dc=toscana

ldap.user.auth.prefix=

ldap.userEnableFlagInLdap=true

ldap.persistInLdap=false

#—————————————