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:
- Compile el software, vaya al directorio donde ha descomprimido / coloque las fuentes y dé estos comandos:
$. / 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
- Configure sus reglas de firewall:
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
- 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'.
Combina Portknocking con Portspoof y tendrás una buena defensa contra los escáneres de puertos.