Seguridad en la conexión a la Red

Antonio Giráldez

6 de febrero de 2004

La seguridad al navegar es algo de importancia en ordenadores que están permanentemente conectados a Internet (servidores de cualquier clase) y menos comprometida en ordenadores que usan conexión intermitente como es el caso de los usuarios que usan una conexión esporádica, bien por módem o por otro sistema.

Para ver qué servicios al exterior ofrece nuestra máquina, existen muchos escaneadores de puertos y programas que monitorizan el estado de nuestra red pero vamos a citar solo dos: nmap y netstat.

Existe un comando muy sencillo que puedes usar para ver quién está conectado a tu máquina en un momento dado: who, abreviado w. Si no te quieres complicar la vida con esto de la seguridad pero en un momento dado sospechas que alguien se ha "colado" en tu ordenador, sencillamente usa este comando y te dirá quién está conectado.

NMAP

nmap es un scaneador de puertos (puedes conseguir nmap en http://www.insecure.org). Haz como root,

nmap nombredetumaquina -sT -sU

(también nmap -sT -sU 127.0.0.1 ) y verás todos los puertos que tienes abiertos y por los que es posible acceder a tu ordenador.

NETSAT

El comando netstat nos permite ver que puertos están atendiendo posibles conexiones. Podéis usarlo de la forma

netstat -lut

Como habréis visto al ejecutar estos programas, el protocolo TCP, aunque es el principal, no es el único por donde pueden realizarse conexiones, también está el UDP (échale una ojeada a /etc/services).

Existe otro programa llamado ntop (en el segundo CD de binarios de Debian 3.0) que monitoriza y logea las conexiones bien de nuestra tarjeta de red (eth0 por ejemplo) o de las conexiones ppp. La configuración, que nos la pide durante su instalación, es muy fácil. Lo primero que nos ofrece es monitorear eth0, si nos interesa más monitorear la conexión a Internet a través de ppp pondremos por ejemplo ppp0 en lugar de eth0, luego configuramos el uso de nmap si es que lo tenemos instalado y el nivel de log que queremos. Todo podemos modificarlo luego en los ficheros de configuración que se encuentran en /etc/ntop.

Podemos lanzar el programa como demonio o por nuestra cuenta cuando lo deseemos. Si en principio no lo lanzamos como demonio y luego queremos hacerlo así, lo incluiremos en etc/init.d/ y listo.

¿Cómo podemos controlar los servicios que se ofrecen al exterior? El fichero /etc/inetd.conf contiene los servicios que ofrece nuestra máquina al exterior, si queremos desactivar cualquiera de ellos solo tenemos que comentar la linea que lo activa colocando el carácter almohadilla (#) delante de él. Después de modificar el fichero /etc/inetd.conf haz un kill - HUP /usr/sbin/inetd para que se relea el fichero de configuración sobre la marcha. Comprueba ahora el estado de acceso de tu máquina como ya sabes. Se han desactivado servicios pero verás que todavía quedan algunos puertos abiertos. Con este procedimiento lo que hacemos es anular completemente el servicio, cosa que puede interesarnos o no.

Si lo que queremos es limitar los servicios al exterior podemos hacerlo a través de un firewall o mediante el uso de TCP-Wrapper (si no te interesa de momento ser selectivo sobre quién puede acceder a tu máquina a través de TCP-Wrapper sáltate al párrafo siguiente para ver cómo se desactivan los demás accesos. TCP-Wrapper no es un firewall propiamente dicho pero controla los servicios de red a través del metademonio inetd, es decir, solo de los servicios que se especifican en /etc/inetd.conf. TCP-Wapper permite que se acceda a los servicios activos que existen en /etc/inetd.conf mediante unos ficheros accesorios en los que se especifica quienes pueden ( en /etc/hosts.allow están los equipos autorizados) y quienes no pueden utilizar esos servicios (en /etc/hosts.deny están los equipos a los que se les deniega la conexión).

¿Y qué ocurre con el resto de servicios que no aparecen en /etc/inetd.conf? Debian se inicia por defecto en el nivel de ejecución (runlevel) 2. Esto significa que cuando el ordenador arranca se va a leer el contenido del directorio /etc/rc2.d/ y se va a arrancar todo lo que allí aparezca comenzando por una S (ese mayúscula), si cambiamos la S por una K (fíjate en el directorio /etc/rc6.d que corresponde al runlevel 6 que es al que se pasa cuando apagamos el equipo), el proceso no se inicia. Si te fijas bien todos los integrantes de los directorios de niveles de ejecución son enlaces a los procesos que existen en /etc/init.d. Si no quieres hacer todo esto en modo consola, cosa que puede ser algo tediosa, puedes usar el editor de "Inicio SysV" en KDE (Sistema -> Editor de Inicio SysV) desde el que podrás parar y reiniciar cualquier proceso y grabar la configuración que te resulte más adecuada.




Página creada en: 2004-11-04 11:41:06 +0000
© Copyright 2001, 2002, 2003, 2004, La Espiral, debian-laespiral@lists.debian.org
Permitida la copia y distribución textual, integral, siempre y cuando se mantenga este aviso.