Por ejemplo, usando netstat podemos revisar los servicios TCP y UDP escuchando en IPv6:
$ sudo netstat -6nlptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::139 :::* LISTEN 1140/smbd
tcp6 0 0 fe80::bc47:21ff:fe67:53 :::* LISTEN 1509/dnsmasq
tcp6 0 0 :::22 :::* LISTEN 1142/sshd
tcp6 0 0 ::1:631 :::* LISTEN 1219/cupsd
tcp6 0 0 ::1:25 :::* LISTEN 2275/exim4
tcp6 0 0 :::445 :::* LISTEN 1140/smbd
tcp6 0 0 :::12865 :::* LISTEN 2305/netserver
udp6 0 0 fe80::bc47:21ff:fe67:53 :::* 1509/dnsmasq
udp6 0 0 :::55594 :::* 1188/avahi-daemon:
udp6 0 0 :::5353 :::* 1188/avahi-daemon:
Otra forma sería realizar un escaneo de puertos. Por ejemplo:
$ sudo nmap -6 -P0 ::1
Starting Nmap 5.21 ( http://nmap.org ) at 2012-06-12 10:26 ART
Nmap scan report for ip6-localhost (::1)
Host is up (0.00026s latency).
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
139/tcp open netbios-ssn
445/tcp open microsoft-ds
631/tcp open ipp
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
Esto puede resultar en un gran problema de seguridad si no fue tenido en cuenta al configurar los firewalls, sobre todo si hablamos de servidores conectados a internet.
Una forma de revisar si las reglas firewall para IPv6 están siendo cargadas es:
$ sudo chkconfig --list ip6tables
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
En este caso vemos que el servicio está activado. Si no fuera así, puede activarse con:
$ sudo chkconfig ip6tables on
El siguiente paso es revisar qué reglas de firewall hay configuradas para IPv6:
$ sudo ip6tables -n -L -v
Si las reglas cargadas son correctas y proveen una protección para el equipo, aquí terminó nuestro trabajo (aunque sería bueno reiniciar el servidor para asegurarnos que todo quedó correctamente configurado). Además, si el equipo es un servidor, y hay otros administradores, puede ser que haya reglas cargadas, sean correctas, pero hayan sido cargadas "a mano", y se pierdan al reiniciar el equipo.
Si no hay reglas cargadas, una forma rápida de realizar una configuración "de emergencia" para que el kernel ignore todos los paquetes IPv6 que lleguen es:
$ sudo ip6tables -P INPUT DROP
$ sudo ip6tables -P FORWARD DROP
Esta configuración eliminará todos los paquetes, inclusive las conexiones creadas localmente (lo que pude causar problemas... para realizar una correcta configuración, hay que aprender a usar iptables!) y los paquetes de respuesta de conexiones IPv6 creadas a otros equipos...
Estas modificaciones que introdujimos al firewall se perderán al reiniciar el equipo. Para guardarlas, de manera que se apliquen automáticamente al arrancar el equipo, debemos ejecutar:
$ sudo service ip6tables save
$ sudo service ip6tables restart
$ sudo service ip6tables save
$ sudo service ip6tables restart
No hay comentarios:
Publicar un comentario