|
¿Qué es
un puerto TCP/IP?

En TCP/IP, el protocolo que usan
los ordenadores para entenderse en Internet -y actualmente casi en
cualquier otra red-, el puerto es una numeración lógica que se
asigna a las conexiones, tanto en el origen como en el destino. No
tiene ninguna significación física.
El permitir o denegar acceso a los puertos es importante porque las
aplicaciones servidoras (que aceptan conexiones originadas en otro
ordenador) deben 'escuchar' en un puerto conocido de antemano para
que un cliente (que inicia la conexión) pueda conectarse. Esto
quiere decir que cuando el sistema operativo recibe una petición a
ese puerto, la pasa a la aplicación que escucha en él, si hay
alguna, y a ninguna otra. Los servicios más habituales tienen
asignados los llamados puertos bien conocidos, por ejemplo el 80
para web, el 21 para ftp, el 23 para telnet, etc. Así pues, cuando
usted pide una página web, su navegador realiza una conexión al
puerto 80 del servidor web, y si este número de puerto no se
supiera de antemano o estuviera bloqueado no podría recibir la página.
Un puerto puede estar:
-
Abierto:
Acepta conexiones. Hay una aplicación
escuchando en este puerto. Esto no quiere decir que se tenga
acceso a la aplicación, sólo que hay posibilidad de
conectarse.
-
Cerrado:
Se rechaza la conexión. Probablemente no hay aplicación
escuchando en este puerto, o no se permite el acceso por alguna
razón. Este es el comportamiento normal del sistema operativo.
-
Bloqueado
o Sigiloso: No hay respuesta. Este
es el estado ideal para un cliente en Internet, de esta forma ni
siquiera se sabe si el ordenador está conectado. Normalmente
este comportamiento se debe a un cortafuegos de algún tipo, o a
que el ordenador está apagado.
En una URL (Universal Resource
Locator) los puertos se denotan con ':' a continuación del nombre
de la máquina, por ejemplo
http://www.alerta-antivirus.es:80/index.html quiere decir pedir el
documento 'index.html' mediante http conectándose al puerto 80 de
este servidor. Como 80 es el como es el puerto por defecto para http
se puede omitir.
Las aplicaciones de tipo cliente, como un navegador web, un cliente
de correo electrónico, o de chat (IRC) no necesitan tener puertos
abiertos
¿Por qué es peligroso tener un puerto
abierto?
Al fin y al cabo los puertos son puntos de acceso a aplicaciones
corriendo en un ordenador. Aunque en teoría no fuese un problema,
estas aplicaciones pueden tener vulnerabilidades que pueden ser
aprovechadas por otros usuarios. Desde el punto de vista de
seguridad, es recomendable permitir el acceso sólo a los servicios
que sean imprescindibles, dado que cualquier servicio expuesto a
Internet es un punto de accesso potencial para intrusos.
También es recomendable el funcionamiento sigiloso para no dar
facilidades a los hackers. Algunos hackers hacen escaneos aleatorios
de IPs y puertos por Internet, intentando identificar las características
de los sistemas conectados, y creando bases de datos con estas.
Cuando se descubre una vulnerabilidad, están en disposición de
atacar rápidamente a las máquinas que se sabe que son del tipo
vulnerable. Además si no se responde se frena a los escáneres de
puertos, que esperan un tiempo determinado antes de descartar el
intento de conexión.
A continuación, se presentan varios escaneadores de puertos que
informan del estado de los puertos, permitiéndonos conocer si somos
vulnerables a ataques remotos (puertos abiertos), o si alguna
aplicación no deseada (como un caballo de Troya) esta utilizando
nuestros puertos de forma inadvertida.
|