LDAP/ca: Diferència entre les revisions
De Guifi.net - Wiki Català
m (→LDAP) |
m (→LDAP) |
||
| Línia 115: | Línia 115: | ||
slappasswd -h {SSHA} | slappasswd -h {SSHA} | ||
| − | <li>Per les càrregues, he deixat uns [http:// | + | <li>Per les càrregues, he deixat uns [http://pool.wiki.guifi.net/w/images/3/3f/Carrega_ldap.tar.gz scripts de carrega] per donar l'espenta inicial. Encara queda molt per fer: |
<ul> | <ul> | ||
<li>comprovació de la coherencia de la bdd generada. | <li>comprovació de la coherencia de la bdd generada. | ||
Revisió de 23:29, 17 abr 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.
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 backedn tenim la contrasenya en clar).
Les següents instruccions indiquen com extreure els usuaris del drupal per inserir-los a un openldap, de forma que es puga usar el directori per autenticar usuaris.
- Instal.lacio slapd i configuració inicial. Dos usuaris de ldap un per a consultes i un d'altre administrador. S'usa la màquina virtual de desenvolupament.
- Per les càrregues, he deixat uns scripts de carrega per donar l'espenta inicial. Encara queda molt per fer:
- comprovació de la coherencia de la bdd generada.
- carrega des de /var/lib/ldap/bulk_load al slapd en produccio.
- mes comprovacions
no es pot fer un bind per usuari tal cual estan les contrasenyes amb md5 des de drupal, investigar mes.Ja es pot fer bind amb les mateixes contrasenyes del drupal.- usar repositoris per al desenvolupament
- documentació
- Per usar-los s'ha de configurar les credencials del mysql a export_drupal_users.sh, indicar la rootpw a ldap_import_functions.sh i llançar ./ldiff_to_hdb.sh. Això deixa una bdd que ja pot ser usada per un ldap en producció:
/etc/init.d/slapd stop cp /var/lib/ldap/bulk_load/* /var/lib/ldap chown -R openldap.openldap /var/lib/ldap /etc/init.d/slapd start
- Exemple de recerca:
ldapsearch -x -W -D "cn=admin,dc=guifi,dc=net" -b "dc=guifi,dc=net" -h localhost "(cn=rotobator)"
- Creació de certificats per al directori. Configuració d'ldap i drupal. Tenim alguna entitat de certificacio??
Mol bàsicament:
apt-get install slapd ldap-utils db4.6-util # ó db4.7-util
He usat estes configs, una per al dimoni, l'altra per fer les càrregues.
/etc/ldap/slapd.conf:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb
suffix "dc=guifi,dc=net"
rootdn "cn=admin,dc=guifi,dc=net"
rootpw "{SSHA}eLiioMnhTcfq/4GIWXK82HkG5UTBm4d3"
directory "/var/lib/ldap"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
lastmod on
checkpoint 512 30
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=guifi,dc=net" write
by anonymous auth
by * none
/etc/ldap/slapd_bulk_load.conf (bàsicament el mateix excepte directory:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
loglevel none
modulepath /usr/lib/ldap
moduleload back_hdb
sizelimit 500
tool-threads 1
backend hdb
database hdb
suffix "dc=guifi,dc=net"
rootdn "cn=admin,dc=guifi,dc=net"
rootpw "{SSHA}eLiioMnhTcfq/4GIWXK82HkG5UTBm4d3"
directory "/var/lib/ldap/bulk_load"
dbconfig set_cachesize 0 2097152 0
dbconfig set_lk_max_objects 1500
dbconfig set_lk_max_locks 1500
dbconfig set_lk_max_lockers 1500
index objectClass eq
lastmod on
checkpoint 512 30
access to dn.base="" by * read
access to *
by dn="cn=admin,dc=guifi,dc=net" write
by anonymous auth
by * none
La rootpw es genera així:
slappasswd -h {SSHA}
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.