Escribí un programa para bloquear direcciones IP como lo solicitaste hace un par de años, pero lo hice para un Cliente como empleado por contrato. Como terminé con algo de tiempo "libre" esta tarde, opté por volver a implementar todo desde cero, escribir documentación útil y, en general, convertirlo en un programa presentable. Como he escuchado de varias personas que esto sería algo útil, parece que probablemente valga la pena. Esperemos que usted y otros miembros de la comunidad puedan aprovecharlo.
Windows sshd_block
sshd_block es un programa VBScript que actúa como un receptor de eventos WMI para recibir entradas del Registro de eventos de Windows registradas por sshd. Analiza estas entradas de registro y actúa sobre ellas de la siguiente manera:
Si la dirección IP intenta iniciar sesión con un nombre de usuario marcado como "prohibición inmediata", la dirección IP se bloquea inmediatamente.
Si la dirección IP intenta iniciar sesión con más frecuencia de la permitida en un período de tiempo determinado, la dirección IP está prohibida.
Los nombres de usuario y los umbrales de "prohibición inmediata" asociados con intentos repetidos de inicio de sesión se pueden configurar en la sección "Configuración" del script. La configuración predeterminada es la siguiente:
- Prohibición inmediata de nombres de usuario: administrador, root, invitado
- Intentos de inicio de sesión permitidos: 5 en 120 segundos (2 minutos)
- Duración de la prohibición: 300 segundos (5 minutos)
Una vez por segundo, las direcciones IP que han sido prohibidas por la duración de la prohibición no están prohibidas (al eliminar la ruta del agujero negro de la tabla de rutas).
Puede descargar el software aquí y puede navegar por el archivo aquí .
Editar:
A partir del 2010-01-20, actualicé el código para admitir el uso del "Firewall avanzado" en Windows Vista / 2008/7/2008 R2 para mantener el tráfico en negro mediante la creación de reglas de firewall (que está mucho más en línea con el comportamiento de "fail2ban"). También agregué algunas cadenas coincidentes adicionales para capturar versiones de OpenSSH que "usuario no válido" en lugar de "usuario ilegal".
En Linux denyhosts hace el truco, no puedo decir si funcionará en Windows / Cygwin o no. Darle una oportunidad.
fuente
Este es muy interesante, actualmente estamos evaluando esta solución:
Syspeace trabaja en estrecha colaboración con Windows para detectar posibles amenazas con un rendimiento óptimo. Los eventos en el registro de eventos se controlan continuamente para detectar cualquier comportamiento sospechoso. Si un evento se considera una amenaza para el sistema, Syspeace pasa al siguiente nivel al comparar una base de reglas interna que simplemente bloquea la dirección IP y agrega la regla al firewall de Windows.
Lista blanca local
Un usuario siempre puede agregar direcciones IP a la Lista blanca local para, por ejemplo, evitar el bloqueo de cualquier red interna o agregar temporalmente PC individuales. Esto debe usarse con precaución ya que cualquier IP en esta lista es considerada confiable por Syspeace y siempre será ignorada.
Lista negra local
Syspeace agregará automáticamente a la lista negra local cualquier amenaza. Siempre puede revisar la lista negra y agregarla o eliminarla como mejor le parezca. Sin embargo, recomendamos que no realice ningún cambio en esta lista, ya que podría allanar accidentalmente el camino para un hacker desconocido.
Lista negra global
Una característica clave de Syspeace es la capacidad de bloquear preventivamente las direcciones IP conocidas en la lista negra global. Al elegir esta opción, Syspeace importará la Lista negra global a su cliente y actuará en consecuencia, agregando todas las direcciones IP incluidas en la lista negra global al conjunto de reglas del firewall con solo presionar un botón.
Mensajería
Cada vez que ocurre un evento importante, el servicio se inicia o se detiene, las reglas se colocan o se eliminan del firewall o se cambia el estado de la comunicación a la licencia central y el servidor de la lista negra global, Syspeace tiene la capacidad de enviar correo a las personas apropiadas en su organización
Informes
Recibir correos electrónicos cuando ocurre un evento importante puede ser bueno, pero a veces también le gustaría obtener un resumen. Syspeace compila un informe diario con todos los intentos de ataque en su sistema y le envía un mensaje con la información. Syspeace también compila un informe semanal de la misma manera.
www.syspeace.com
fuente
Literalmente, todos los intentos de inicio de sesión desde China / EE. UU. / India en mi servidor prueban el inicio de sesión de administrador, que he desactivado.
¿No sería más fácil deshabilitar el inicio de sesión de administrador y luego escribir un script que bloquee todas las direcciones IP que intentan iniciar sesión usando "Administrador" como nombre de usuario?
fuente
Es posible que deba meterse con el firewall de Windows; Cygwin no tendría este tipo de funcionalidad.
fuente
Podría considerar usar SSHBlock , un script de Perl para controlar los intentos de fuerza bruta.
Nunca lo he usado en Cygwin todavía.
Sin embargo, aquí hay un enlace a otro artículo que describe sshblock con otras formas:
Defensa contra ataques de fuerza bruta ssh
fuente