Perchè non installare FreeIPA in un ambiente para virtualizzato XEN? niente di meglio
Questo articolo spiega rapidamente come implementare FreeIPA su un guest XEN CentOS 6 paravirtualizzato in un host XEN Debian 6.
Cos’è FreeIPA
FreeIPA è un sistema integrato di sicurezza che integra differenti soluzioni per amministrare le credenziali di accesso. Combina diversi sistemi quali 389 (Fedora Directory Server), MIT Kerberos, NTP, DNS.
Installazione Guest XEN CentOS
Per l’installazione del guest CentOS su un host debian seguire questi semplici passi presenti nel seguente articolo.
FreeIPA pre-installazione specifica in XEN
Per lanciare il daemon Slapd dobbiamo controllare che il device shm (/dev/shm shared memory) sia disponibile nella nostra installazione CentOS.
Se i tools di FreeIPA non trovassero questo spazio di condivisione di dati tra programmi, otterremmo un errore simile al seguente:
Could not start the directory server using command ‘/usr/lib64/dirsrv/slapd-PKI-IPA/start-slapd’. The last line from the error log was ‘[17/Sep/2012:11:38:39 -0400] – Failed to create semaphore for stats file (/var/run/dirsrv/slapd-PKI-IPA.stats). Error 13.(Permission denied)
Per ovviare al problema, controllare che sia disponibile shm, in caso contrario:
echo tmpfs /dev/shm tmpfs defaults 0 0 >> /etc/fstab
mount /dev/shm
Installazione FreeIPA
Per installare FreeIPA ci serviamo dei repo standard di CentOS 6:
yum -y install ipa-server bind-dyndb-ldap
A questo punto lanciamo il tool guidato ipa-server-install:
ipa-server-install –setup-dns
Il tool è totalmente guidato, le interazioni e le domande che ci verranno sottoposte non meritano di essere commentate in quanto sono di facilissima risposta.
Iptables, Apertura porte FreeIPA
Prima di iniziare a testare e/o collegarsi ai tools di FreeIPa, controlliamo che le seguenti porte siano aperte:
TCP Ports:
* 80, 443: HTTP/HTTPS
* 389, 636: LDAP/LDAPS
* 88, 464: kerberos
* 53: bind
UDP Ports:
* 88, 464: kerberos
* 53: bind
* 123: ntp
Per aprire le porte:
for x in 80 443 389 636 88 464 53 ; do iptables -I INPUT -p tcp –dport $x -j ACCEPT ; done
for x in 88 53 123 ; do iptables -I INPUT -p udp –dport $x -j ACCEPT ; done