Seguridad de servicios y de red
1. Comprobar los puertos abiertos
a. Los sockets Sockets
Las conexiones de red entre dos máquinas se efectúan mediante sockets. Un socket es una conexión entre dos puntos empleando una red. Una máquina dispone de una dirección IP y de puertos (virtuales) de conexión numerados, a los cuales se vinculan servicios (ver el capítulo La red). Un cliente establece una conexión desde un puerto de su máquina (número de puerto > 1024, en general elegido de manera aleatoria entre los puertos libres) hacia un puerto determinado de otra máquina, por ejemplo un servidor web en el puerto 80. La comunicación establecida entre los dos pasa por un socket. Se puede configurar el sistema para aceptar o rechazar conexiones desde o hacia determinados puertos locales o distantes; igualmente para las direcciones IP. Es el papel del firewall (cortafuergos) como, por ejemplo, Netfilter.
En una instalación Linux típica no se activan los cortafuegos, excepto si dispone de esa opción durante la instalación. No se filtran los puertos y cada máquina exterior puede intentar establecer una conexión a la suya a través de un puerto: eso se denomina «abrir un socket».
No significa necesariamente que haya un agujero de seguridad: si no hay servicio alguno a la escucha, la conexión es imposible. En situación normal, los equipos inician muchos servicios por defecto. Si algunos padecen vulnerabilidades...