Hardening Honeypot Simple
En este articulo presento un honeypot (tarro de miel) combinado con un Banneo a nivel de cortafuegos.(bloquea las ips que ha detectado).
Nos va ha permitir parar/bloquear muchos ataques incluso antes de que se produzcan.
Explicacion: en el caso de los servidores una buena tactica de defensa es anticiparse a los ataques. Bloqueando al atacante incluso antes de que se inicie dicho ataque.
Como: Casi todo ataque va precedido de una deteccion/escaner. En este caso colocaremos un servicio muy goloso pero falso. (de ahi viene lo de honeypot o tarro de miel) En cuanto algo intente “Abrir” el servicio (Tarro) se activaran las defensas.
Es un sistema de defensa basico pero que bloqueara mas del 90% de las intrusiones. ya que estas intrusiones suelen ser bots y programas basicos de rastreo.
Bueno aqui teneis el codigo explicado.
!!! Uso/pruebas: Si lanzamos El script en el servidor.
Cada vez que detecte una conexion entrante aparecera la ip entrante y acto segido la bloqueara/banneara.
Para comprobar que la ip esta bloqueada:
Codigo. (version1)
#!/usr/bin/python
# MIT License
# Copyright (c) 2019 Sergio Blazquez Lopez (Em50L)
import os,socket
puerto = 23 #23 puerto telnet
honey_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
honey_socket.bind( ('', puerto) )
honey_socket.listen( 1 )
print 'Honeypot a la escucha puerto: ', puerto
while True:
conexion_entrante,info_conexion = honey_socket.accept()
conexion_entrante.send('Ups... te has equivocado esto es un honeypot\r\n')
conexion_entrante.close()
print "honeypot conexion desde " , info_conexion[0]
#os.system("logger -p auth.info honeypot conexion desde "+ info_conexion[0])
#os.system("iptables -A INPUT -j DROP -s " + info_conexion[0])
os.system("fail2ban-client set ssh banip "+info_conexion[0])
honey_socket.close()
print 'Fin programa!'
Tambien esta el codigo en GhitHub https://github.com/EM50L/Hardening