Hola a todos,
He estado mirandome el xinetd, y me gusta... ;-)
xinetd es un reemplazo del demonio de demonios inetd m�s asegurable, os adjunto
mi chuleta del tema ;-)
Un extracto de mi chuleta:
VENTAJAS:
- La caracter�stica de seguridad que m�s nos interesa de xinetd es la
posibilidad de restringir los interfaces en los que escuchan los demonios
- Es incluso posible tener en el mismo puerto diferentes servicios para cada
interface (comprobado :-)
- Mecanismos de control de acceso incluidos (hosts.allow / hosts.deny como
tcpwrapper, su propio control de acceso con "only_from" y por la hora)
- Posibilidad de "nice" de los servidores
- Posibilidad de logging personalizado para cada servicio
- Posibilidad de redirecci�n de servicios
�Alguien lo usa ya en producci�n? �Que tal va?
Saludos,
--
-------------------------------------------------
Manel Marin e-mail: [EMAIL PROTECTED]
Linux Powered (Debian 2.2 potato) kernel 2.2.17
Mira mis chuletas de Linux en http://perso.wanadoo.es/manel3
-------------------------------------------------
Mi petici�n de drivers para Linux es la n� 33126
(Pasate por http://www.libranet.com/petition.html ;-)
I-xinetd: (0.04) (potato)
Instalar y asegurar xinetd, reemplazo mas seguro y flexible para inetd
POR HACER:
*FALTA PROBAR INTENSIVAMENTE, ahora todo parece funcionar...*
VENTAJAS:
- La caracter�stica de seguridad que m�s nos interesa de xinetd es la
posibilidad de restringir los interfaces en los que escuchan los demonios
- Es incluso posible tener en el mismo puerto diferentes servicios para cada
interface (comprobado :-)
- Mecanismos de control de acceso incluidos (hosts.allow / hosts.deny como
tcpwrapper, su propio control de acceso con "only_from" y por la hora)
- Posibilidad de "nice" de los servidores
- Posibilidad de logging personalizado para cada servicio
- Posibilidad de redirecci�n de servicios
INCONVENIENTES:
- Archivo de configuraci�n diferente (tipo named), se hace raro al principio
- Cada vez que convertimos la config de inetd a xinetd perdemos nuestras
customizaciones
- Al instalar nuevos servidores que requieren ser lanzados por inetd no se
a�aden a xinetd.conf (aunque he le�do que se nos avisar�)
- No hay configuraci�n desde Linuxconf (para inetd si)
PROCEDEMOS:
1) Instalar el paquete xinetd
- Do you want to convert inetd to xinetd? YES
Los scripts de arranque se modifican autom�ticamente para que xinetd
reemplace a inetd, y xinetd queda funcionando tras la instalaci�n
2) Limitar acceso a nuestra red y a interface de nuestra red
- A�adir al inicio de xinetd.conf:
*NOTA* Esta secci�n defaults no es estrictamente necesaria, ya que el xinetd
de Potato respeta la configuraci�n de tcpwrappers (lee POR DENTRO...) de
/etc/hosts.allow y /etc/hosts.deny
---8<---
defaults
{
only_from = 192.168.0.0/24 # Nuestra red local
}
--->8---
- y a la secci�n de cada servicio a�adir la opci�n
---8<---
interface = 192.168.0.1 # La IP de este servidor en el
# interface de nuestra red local
--->8---
por ejemplo:
service smtp
{
socket_type = stream
protocol = tcp
wait = no
user = mail
server = /usr/sbin/exim
server_args = -bs
interface = 192.168.0.1
}
esta misma linea en inetd.conf (sin limitaci�n de interface) es:
smtp stream tcp nowait mail /usr/sbin/tcpd /usr/sbin/exim -bs
3) Hacer que servidor de nombres netbios nmbd (samba) no finalice con el error:
"netbios-ns service was deactivated because of looping"
- A�adir a la secci�n de netbios-ns un "flags = REUSE" quedando as�:
# SERVIDOR DE NOMBRES NETBIOS port 137 (sin "flags = REUSE" peta)
service netbios-ns
{
socket_type = dgram
flags = REUSE
protocol = udp
wait = yes
user = root
server = /usr/sbin/nmbd
server_args = -a
interface = 192.168.0.1
}
4) Activar los cambios de xinetd
a) /etc/init.d/xinetd stop
b) /etc/init.d/xinetd start
ATENCI�N: "reload" no hace activas las limitaciones de interfaces,
supongo que porque los sockets ya est�n abiertos...
NOTA: Asegurarse de los puertos/interfaces que debe usar xinetd est�n
libres antes de activar xinetd para evitar problemas con "netstat -tuna"
PRUEBAS:
comprobar que se escucha en el interface deseado (192.168.0.1) y no en
todos (0.0.0.0) en "Local Address" haciendo netstat -tuna
SUGERENCIA: Lee mi chuleta S-tcp-wrapper
desconectar de Internet (el cable f�sico)
desactivar cortafuegos
nmap a IP alias 10.0.0.0, a 192.168.0.1 y a 127.0.0.1
(nmap -P0 -sT -sU -v -p 1-65535 10.0.0.0)
telnet 10.0.0.0 smtp (y a 192.168.0.1 y a 127.0.0.1)
activar cortafuegos
conectar a Internet
ARCHIVOS:
config: /etc/xinetd.conf
acceso: /etc/hosts.allow y /etc/hosts.deny
log: /var/log/daemon.log
POR DENTRO:
hosts.allow / hosts.deny soportados
xinetd de Potato ha sido compilada con la opci�n "--with-libwrap" as� que
cuando xinetd hace el chequeo de acceso primero pide a libwrap que
compruebe /etc/hosts.allow y /etc/hosts.deny, entonces si libwrap acepta
la conexi�n xinetd consultar� su propio mecanismo de control de acceso
Limitaci�n de interfaces
Si se limitan los interfaces a la red local eth0 un escaneo (nmap) desde
Internet (ppp0, eth1, etc...) no encuentra ning�n servicio activo.
Adem�s "netstat -tuna" muestra la IP del interface en vez 0.0.0.0 en la
columna "Local address"
LIMITACIONES:
- No se puede poner la opci�n "interface" en la secci�n "defaults" (de
ajustes globales) hay que escribirla en cada servicio
- No se puede poner dos interfaces en el mismo servicio, hay que escribir
la secci�n dos veces (comprobado)
POR HACER:
A�adir puerto a syslog (solo pone "refused connect from 10.0.0.0")
Probar si es mas r�pido que inetd + tcpwrappers
MAS INFO:
man xinetd.conf
/usr/doc/xinetd/examples/sample.conf.gz # Ejemplo de configuraci�n