Algo común es tener varias contraseñas para varios servicios y a la hora de cambiarlas o agregar o sacar a un usuario, es un dolor de cabeza. Por eso existe LDAP pero si vamos un poco mas allá, tenemos a Kerberos, dándole mas seguridad al proceso de autenticación. NTP y DNS aseguran que todos tengan la misma información.
Debido a que es un proyecto para RedHat probado en Fedora, haremos nuestra instalación en un
Fedora 16 con lo mínimo instalado y actualizado al día.
-Requerimientos:
Server con ip publica
Zona DNS que apunte al hostname del server, no funcionara con una ip privada o con localhost. Si tiene dudas de como generar la zona DNS al instalar puede usar --setup-dns para que se genere una que pueda colocar en su DNS
-Abrimos los puertos necesitados en iptables.
vi /etc/sysconfig/iptables
#http/https
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
#LDAP/LDAPS
-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 636 -j ACCEPT
#Kerberos
-A INPUT -m state --state NEW -m tcp -p tcp --dport 88 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 88 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 464 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 464 -j ACCEPT
#DNS
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
# NTP
-A INPUT -m state --state NEW -m udp -p udp --dport 123 -j ACCEPT
# Dogtag
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9180 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9444 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9445 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9446 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9701 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7389 -j ACCEPT
-Salimos salvando y reiniciamos el servicio
service iptables restart
-Verificamos ports
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ldap
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ldaps
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:kerberos
ACCEPT udp -- anywhere anywhere state NEW udp dpt:kerberos
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:kpasswd
ACCEPT udp -- anywhere anywhere state NEW udp dpt:kpasswd
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:domain
ACCEPT udp -- anywhere anywhere state NEW udp dpt:domain
ACCEPT udp -- anywhere anywhere state NEW udp dpt:ntp
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:9180
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:tungsten-https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:wso2esb-console
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:9445
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:9446
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:9701
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:7389
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
-Verificamos nuestro file hosts, ejemplo de uno bien configurado. OJO, cambiar la ip privada por la publica que usen.
cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
192.168.1.1 ipatest.example.com ipatest
-Desactivamos NetworkManager y activamos network
chkconfig NetworkManager off
service NetworkManager stop
chkconfig NetworkManagerDispatcher off
service NetworkManagerDispatcher stop
chkconfig network on
service network start
-Reiniciamos el server
reboot
-Instalamos, hora de ir por un cafe ;-)
Con esto ya tenemos instalado y configurado un server Fedora con FreeIPA, en proximos articulos les mostrare como configurar una replica y conectar clientes.