martes, 15 de noviembre de 2016

Cómo chequear si un puerto está siendo usado en Linux

Son muchas las ocasiones en las que como administradores de servidores y/o de bases de datos o simplemente como un usuario del común cuando necesitamos validar si un puerto está siendo usado o si el servicio se encuentra activo por el puerto "estándar".

Dentro de las buenas prácticas a nivel de seguridad una de las recomendaciones más simples es la de "no uses puertos por defecto, cámbialos!!".

En este link pueden encontrar una lista con los puertos por default de varios servicios; uno de los que se suelen validar con frecuencia es el del servicio ssh cuyo puerto por default es el 22.  Cómo validar si el puerto se encuentra activo.

Existen varias formas, esta es una de las más sencillas.  Desde tu máquina cliente lanzas un telnet a la ip de la máquina destina por el puerto 22 así:




Y si el servicio se encuentra activo obtendrás una respuesta similar a esta:






Suponiendo que el servicio no se encuentre activo y/o configurado lo que obtendrás es una respuesta como esta:



Suponiendo que estamos logeados en la máquina linux y lo que queremos validar es (por ejemplo) si se encuentra activo o disponible el servicio SMTP que escucha por el puerto 25, podemos proceder de la siguiente manera:

Con un telnet al localhost por el puerto 25:



La anterior imagen muestra que el servicio se encuentra activo.  De qué otra manera nos podemos dar cuenta que el servicio se encuentra disponible y en uso:

Usando el comando ps y el grep, sólo que con esta instrucción no identificamos el puerto sino el servicio:





Pero para localizar el servicio podemos usar el comando netsat con el parámetro -tnl:



Y existe otra herramienta que te facilitará el descubrimiento/escaneo de puertos y servicios activos de una forma sencilla y que es una gran herramienta para todos los que incursionan en el mundo de la seguridad informática; les hablo del Nmap:

Puedes ejecutar la siguiente instrucción nmap -v -A localhost y después de que termine el escaneo tendrás un resumen similar a este:




Todos los comando usados para explorar y/o consultar si un servicio/puerto se encuentra activo poseen muchas opciones de ejecución; cada una te traerá información diferente con respecto a la ip/puerto/servicio consultado. Te recomiendo saques un tiempito para que explores un poco más sobre cada comando.




No hay comentarios: