LDAP/ca: Diferència entre les revisions
De Guifi.net - Wiki Català
(→LDAP) |
|||
Línia 1: | Línia 1: | ||
{{en desenvolupament}} | {{en desenvolupament}} | ||
== LDAP == | == LDAP == | ||
− | Les intencions: disposar d'una infraestructura que permeta autenticar una base única d'usuaris (drupal, wiki, trac...). Es tria LDAP per ser el backend més comú en el sentit que moltes eines (web i no web com ara radius) disposen de complements per autenticar/autoritzar els usuaris. En qualsevol cas,l'autenticació més segura passa per usar ssl a l'hora d'accedir a ldap, o mecanismes de desafiament resposta (només usables si al | + | === Introducció === |
+ | Les intencions: disposar d'una infraestructura que permeta autenticar una base única d'usuaris (drupal, wiki, trac...). Es tria LDAP per ser el backend més comú en el sentit que moltes eines (web i no web com ara radius) disposen de complements per autenticar/autoritzar els usuaris. En qualsevol cas,l'autenticació més segura passa per usar ssl a l'hora d'accedir a ldap, o mecanismes de desafiament resposta (només usables si al backend tenim la contrasenya en clar). | ||
− | + | === Càrrega d'usuaris === | |
+ | S'han desenvolupat uns scripts que poden exportar els usuaris d'un drupal 6 i importar-los cap a un openldap. Són scripts pensats per crear una rama de l'estil: <code>dc=guifi,dc=net</code>, encara que es pot configurar per qualsevol altre domini, i també afegir més ''domain components'' de forma que poguem crear rames de la principal i d'esta forma, obtindre una jerarquía d'ldaps, tal volta per oferir un punt únic d'autenticació i delegar-la cap al ldap que finalment puga autenticar-nos, a l'estil [http://www.google.es/url?sa=t&source=web&cd=1&sqi=2&ved=0CBwQFjAA&url=http%3A%2F%2Fwww.eduroam.es%2F&ei=rVDZTaDRAZDG8QPP9-iDBQ&usg=AFQjCNHHrBdRg0rHL7dx6lQvRJf0_EIpRQ d'EDUROAM]. | ||
− | < | + | Els scripts es troben al gitorius: <code>git clone http://git.gitorious.org/ldapfromdrupal/ldapfromdrupal.git</code>. Hi ha un ''Readme'' que explica com posar en marxa un directori a partir dels usuaris d'un drupal. Bàsicament, hem d'instal.lar: <code>apt-get install slapd ldap-utils db4.6-util # ó db4.7-util</code> i configurar <code>config.sh</code> amb les dades del directori i les dades d'accés a mySQL. Hi ha també uns exemples de configuració per al openLdap, pensats per a Fedora/Redhat, però l'adaptació a debian/ubuntu, és tan fàcil com canviar <code>/etc/openldap/</code> per <code>/etc/ldap</code> a totes les referències que hi hagin a <code>config.sh</code>. |
− | < | + | |
− | + | Una vegada instal.lats, la càrrega es pot fer periòdicament, executant: <code>./ldif_from_hdb.sh drupal6</code>. Un exemple de recerca: <code>ldapsearch -x -W -D "cn=admin,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)"</code> ó per comprovar que l'autenticació funciona podem fer bind amb un usuari: <code>ldapsearch -x -W -D "uid=rotobator,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)"</code>. | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | === Ús de ldap.guifi.net === | |
+ | En un principi, qualsevol màquina/servei, pot usar aquest directori per autenticar usuaris de guifi.net, però hi ha una sèrie de mesures de seguretat que cal tindre en compte: | ||
+ | * El directori no permet recuperar cap data personal ni d'altres persones, només permet autenticar usuaris. | ||
+ | * Només l'usuari ''cn=admin,dc=guifi,dc=net'' pot obtindre les dades emmagatzemades, encara que este usuari està reservat per a ús intern i manteniment del directori. | ||
+ | * Cada màquina/servei que necessite autenticar usuaris contra aquest directori, haurà de disposar d'un certificat de servidor x509, vàlid i acceptat explícitament pels administradors del directori. Hi ha empresses que oferixen gratuitament aquests certificats. | ||
+ | * L'accés al directori només és posible mijançant ''LDAPS'', és a dir, usant TLS/SSL. | ||
− | + | === Configuració de clients === | |
+ | Exemples de configuracions. | ||
− | + | ==== LDAP al Mediawiki ==== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
Es passen les dades per omplir aquesta configuració. Simplement nom de domini i LDAPBaseDN. Per a <code>$wgLDAPEncryptionType</code> pot ser <code>"clear"</code> o <code>"ssl"</code>. | Es passen les dades per omplir aquesta configuració. Simplement nom de domini i LDAPBaseDN. Per a <code>$wgLDAPEncryptionType</code> pot ser <code>"clear"</code> o <code>"ssl"</code>. | ||
<pre> | <pre> |
Revisió de 19:25, 22 maig 2011
Aquest article està en desenvolupament. Pràcticament totes les pàgines del Wiki de Guifi.net són editables, però en aquesta falta informació essencial. Ampliant-ho ajudaràs a millorar Guifi.net.
Potser puguis ajudar-te amb els wikis castellà i anglès si tenen una pàgina equivalent.
Contingut
LDAP
Introducció
Les intencions: disposar d'una infraestructura que permeta autenticar una base única d'usuaris (drupal, wiki, trac...). Es tria LDAP per ser el backend més comú en el sentit que moltes eines (web i no web com ara radius) disposen de complements per autenticar/autoritzar els usuaris. En qualsevol cas,l'autenticació més segura passa per usar ssl a l'hora d'accedir a ldap, o mecanismes de desafiament resposta (només usables si al backend tenim la contrasenya en clar).
Càrrega d'usuaris
S'han desenvolupat uns scripts que poden exportar els usuaris d'un drupal 6 i importar-los cap a un openldap. Són scripts pensats per crear una rama de l'estil: dc=guifi,dc=net
, encara que es pot configurar per qualsevol altre domini, i també afegir més domain components de forma que poguem crear rames de la principal i d'esta forma, obtindre una jerarquía d'ldaps, tal volta per oferir un punt únic d'autenticació i delegar-la cap al ldap que finalment puga autenticar-nos, a l'estil d'EDUROAM.
Els scripts es troben al gitorius: git clone http://git.gitorious.org/ldapfromdrupal/ldapfromdrupal.git
. Hi ha un Readme que explica com posar en marxa un directori a partir dels usuaris d'un drupal. Bàsicament, hem d'instal.lar: apt-get install slapd ldap-utils db4.6-util # ó db4.7-util
i configurar config.sh
amb les dades del directori i les dades d'accés a mySQL. Hi ha també uns exemples de configuració per al openLdap, pensats per a Fedora/Redhat, però l'adaptació a debian/ubuntu, és tan fàcil com canviar /etc/openldap/
per /etc/ldap
a totes les referències que hi hagin a config.sh
.
Una vegada instal.lats, la càrrega es pot fer periòdicament, executant: ./ldif_from_hdb.sh drupal6
. Un exemple de recerca: ldapsearch -x -W -D "cn=admin,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)"
ó per comprovar que l'autenticació funciona podem fer bind amb un usuari: ldapsearch -x -W -D "uid=rotobator,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)"
.
Ús de ldap.guifi.net
En un principi, qualsevol màquina/servei, pot usar aquest directori per autenticar usuaris de guifi.net, però hi ha una sèrie de mesures de seguretat que cal tindre en compte:
- El directori no permet recuperar cap data personal ni d'altres persones, només permet autenticar usuaris.
- Només l'usuari cn=admin,dc=guifi,dc=net pot obtindre les dades emmagatzemades, encara que este usuari està reservat per a ús intern i manteniment del directori.
- Cada màquina/servei que necessite autenticar usuaris contra aquest directori, haurà de disposar d'un certificat de servidor x509, vàlid i acceptat explícitament pels administradors del directori. Hi ha empresses que oferixen gratuitament aquests certificats.
- L'accés al directori només és posible mijançant LDAPS, és a dir, usant TLS/SSL.
Configuració de clients
Exemples de configuracions.
LDAP al Mediawiki
Es passen les dades per omplir aquesta configuració. Simplement nom de domini i LDAPBaseDN. Per a $wgLDAPEncryptionType
pot ser "clear"
o "ssl"
.
## LDAP_Authentication ## http://www.mediawiki.org/wiki/Extension:LDAP_Authentication ## svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/LdapAuthentication/ require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" ); $wgAuth = new LdapAuthenticationPlugin(); //Nombres de los dominios que utilizarás. $wgLDAPDomainNames = array("LDAP"); //Asociación entre nombre de dominio y nombre DNS de la máquina donde se va a validar. $wgLDAPServerNames = array("LDAP"=>"domini.net"); //Podemos permitir la convivencia de autenticación local del wiki con LDAP. $wgLDAPUseLocal = true; //Encriptación en las solicitudes LDAP. $wgLDAPEncryptionType = array("LDAP"=>"ssl"); //Le decimos cual es la base de la consulta $wgLDAPBaseDNs = array("LDAP"=>"dc=domini,dc=net"); $wgLDAPSearchAttributes = array("LDAP"=>"uid"); //Utilizamos los grupos LDAP para las directivas de grupo: $wgLDAPGroupsPrevail = array("LDAP"=>true); $wgLDAPGroupNameAttribute = array("LDAP"=>"cn");
Proves de balanceig/distribució
Ben mirat potser més el segon que no pas el primer per tal d'implementar-ho en un futur pròxim/necessari
- segona instancia d'ldap, pot ser remota o a la mateixa maquina virtual amb diferents ports.
- haproxy i configuració.
- configuració ldap-drupal per que apunte a haproxy.
- proves de replicació.
- Qué passa si una instancia te problemes?
- s'acumulen transaccions no realitzades?
- avaluar despres de les proves si ens interessa replicació en línia o simplement es sincronitzen les bdd del directori ppal cap a les instancies secundaries.