¿Cuáles son las mejores prácticas para evitar que mi servidor sea escaneado en el puerto?

2

El título probablemente lo dice todo. Solo quiero saber cuáles son las mejores técnicas para evitar que un escáner de puertos detecte puertos abiertos en mi servidor. Estoy usando una distribución de Linux como mi sistema operativo (servidor de Ubuntu).

    
pregunta My kutje 23.09.2017 - 00:19
fuente

5 respuestas

4

Portknocking

Portknocking es un método para abrir puertos que el firewall normalmente mantiene cerrado al ejecutar una serie de intentos de conexión (golpes) a otros puertos. Tras la secuencia válida de bloqueos de puertos, se abrirá el puerto requerido.

Piense en portknocking como un golpe especial en una puerta para que la puerta se abra.

Aquí hay un ejemplo de wiki de ArchLinux :

$ ssh username@host
(Ctrl+c to exit) ^C 
$ nmap -Pn --host_timeout 201 --max-retries 0 -p 1111 host
$ nmap -Pn --host_timeout 201 --max-retries 0 -p 2222 host
$ ssh user@host
user@host's password:

El usuario llama al puerto 1111 seguido de 2222 para abrir el puerto 22 para SSH.

Portspoof

Portspoof es un programa que dificulta la interpretación de los resultados de escaneo de puertos, por lo tanto, ralentiza la posibilidad de identificar puertos abiertos.

  

El objetivo principal del programa Portspoof es mejorar la seguridad del sistema operativo a través de un   Conjunto de nuevas técnicas:

     
  • Todos los puertos TCP están siempre abiertos
  •   

En lugar de informar a un atacante que un puerto en particular está CERRADO o FILTRADO   el estado Portspoof devolverá SYN + ACK para cada intento de conexión de puerto.

     
  • Como resultado, no es práctico usar el puerto invisible (SYN, ACK, etc.)   escaneando contra su sistema, ya que todos los puertos siempre se informan como   ABIERTO.

  •   
  • Cada puerto TCP abierto emula un servicio

  •   

Portspoof tiene una enorme base de datos de firmas de servicios dinámicos, que se utilizará para engañar   escáneres para creer que hay un servicio legítimo en ejecución. Exploración   El software generalmente intenta determinar una versión de servicio que se está ejecutando.   en un puerto abierto. Portspoof responderá a cada sonda de servicio con un   firma de servicio válida, que se genera dinámicamente en base a una   firma de servicios de base de datos de expresiones regulares. Como resultado un atacante   no podrá determinar qué números de puerto es su sistema realmente   utilizando.

Citado de enlace

Portspoof hace que la identificación de los servicios de escucha sea mucho más difícil y, como dice README, tomaría más de 8 horas identificar qué puertos están realmente escuchando. Identificar los puertos reales es tan lento que los atacantes probablemente se rendirán.

Esta guía muestra cómo puede instalar Portspoof:

  
  1. Compile el software, vaya al directorio donde ha descomprimido / coloque las fuentes y dé estos comandos:
  2.   

$. / configure $ make $ sudo make install

     

O

     

$ g ++ -lpthread -Wall -g Configuration.cpp connection.cpp   Portspoof.cpp revregex.cpp Utils.cpp Fuzzer.cpp Server.cpp -o   portspoof

     
  1. Configure sus reglas de firewall:
  2.   

iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 1: 65535 -j REDIRECTA - a los puertos 4444

     

iptables-restore < iptables-config   (directorio de archivos de sistema)

     

Ejecute Portspoof con emulación de servicio:

     

$ portspoof -c portspoof.conf -s portspoof_signatures -D

     

Ejecute Portspoof en modo "puerto abierto":

     

$ portspoof -D

     
  1. Agregue portspoof a los scripts de inicio de su sistema. Para hacer esto, modifique o use el script init.d predeterminado que puede encontrar en el   Directorio 'system_files'.
  2.   

Combina Portknocking con Portspoof y tendrás una buena defensa contra los escáneres de puertos.

    
respondido por el Joe 23.09.2017 - 23:40
fuente
1

Si desea poder conectarse a su servidor sin tener que hacer nada más por el lado del cliente, no hay forma de proteger esos puertos para que no se escaneen. Es un oxímoron. El escaneo de puertos es simplemente un intento de conectar y ver qué respuesta vuelve.

Si está dispuesto a implementar medidas adicionales en el lado del cliente, puede usar algo como la detonación de puertos. Tenga en cuenta que esto aún dejará algunos puertos abiertos para un intento de escaneo, simplemente no serán los que tienen servidores que se ejecutan en ellos.

    
respondido por el Vitaly Osipov 23.09.2017 - 04:43
fuente
0

Si bien hay algunos trucos que puedes jugar, por ejemplo. Al bloquear las fuentes después de intentos de conexión sospechosos, todos los nmaps del mundo también tienen contramedidas (exploración lenta, exploración aleatoria, etc.).

En mi humilde opinión, debería dar un paso atrás y preguntarse a qué le teme, ¿cuál es su modelo de amenaza? Si un atacante sabe qué puertos están abiertos, ¿eso debilita su seguridad? Porque no debería. No intenta ocultar su puerta de entrada, instala un candado adecuado, ¿verdad?

    
respondido por el Tom 24.09.2017 - 07:12
fuente
0

Otra solución es usar los servicios ocultos de Tor si la velocidad y la latencia no son un gran problema. Esto efectivamente hace que sea imposible descubrir el servicio mediante el escaneo de puertos y es bastante fácil de hacer. También ofrece algo más de privacidad, como el cifrado y el anonimato. Todo lo que necesita para acceder al servicio es Tor y la capacidad de conectarse a través de Tor (puerto 9050 predeterminado) utilizando SOCKS5. Puede usar proxychains o torsocks para proxificar programas que no son compatibles con SOCKS5. También puede establecer una contraseña para el servicio oculto.

Puedes tener todos tus puertos como servicios ocultos y luego cerrarlos desde Internet.

    
respondido por el Daniel Grover 28.09.2017 - 23:27
fuente
-1

Por definición, el escaneo de puertos es el proceso de conectarse a los puertos y verificar la respuesta, y cualquier método obvio para detener el escaneo de puertos ocasionará problemas para conectarse al servidor.

Hay una serie de soluciones disponibles que requieren una configuración más y la más sencilla es la de los puertos.

Algunos artículos sobre detonación de puertos:

- Digital Ocean

- HowToForge

    
respondido por el ElliotPadfield 23.09.2017 - 22:42
fuente

Lea otras preguntas en las etiquetas