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.

HoneyPotSS codigo Explicado

!!! Uso/pruebas: Si lanzamos El script en el servidor.

HoneyPot uso1

Cada vez que detecte una conexion entrante aparecera la ip entrante y acto segido la bloqueara/banneara.

Para comprobar que la ip esta bloqueada:

HoneyPot uso2

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