17 votos

Cómo frenar un Hacker

Algunos script kiddie en Delhi, India, ha estado tratando de hackear nuestro sitio desde la noche anterior. Él escribió un navegador script que realiza peticiones a nuestro servidor en grandes bucles anidados, tratando de todo bajo el sol.

Él no llegar a ningún lugar, y no tiene pasado incluso nuestra base de defensas (pero él se está llenando nuestros archivos de registro).

Estamos enviando un 403 Unauthorized , a petición suya, casi tan pronto como vienen, pero el más rápido nos bloquean sus peticiones, el más rápido de su secuencia de comandos se ejecuta.

Nos gustaría introducir un "retraso" de algún tipo antes de enviar de vuelta el 403 respuesta. Cuanto más larga, mejor.

Pregunta: ¿Cómo podemos retrasar los intentos de hackear sin afectar el resto de la página?

  • Supongo que un Sueño(15000) en su hilo sería una mala noticia para otros visitantes del sitio.
  • Girando un nuevo hilo solo para él parece una exageración.
  • Hay otra forma de enviar un retraso en la respuesta?
  • ¿Cuál es la duración de la fuerza de su navegador para que esperar? Supongo que no me importa mucho si se pone el 403 Unauthorized de error o se agota el tiempo de espera, por lo que probablemente podría incluso hacer una indefinido / espera infinita.

37voto

Joel Coel Puntos 8080

No debe ser separado de firewall en algún lugar delante de su servidor web. Desea bloquear las solicitudes de allí antes de que lleguen al servidor, de tal manera que la medida de su IP está preocupado de que su servidor no existe más.

5voto

De hecho hay sistemas de detección de intrusos grandes y pequeños que hacerlo automáticamente para usted en función de los diferentes filtros, honeypots y otros mecanismos

Por ejemplo, en el fail2ban que puede ser configurado para tomar acciones basadas en el análisis de los registros.

De esta manera usted puede

  • filtrar fácilmente de una sola dirección IP desde la que se aproxima un ataque sin la influencia de otros usuarios de su sitio
  • usted puede escribir su propio regex para analizar los registros de
  • puede definir sus propias acciones (acelerador en lugar de prohibir, etc)

Hay otras y más grande de herramientas, consulte la sección vea también en la wikipedia.

Como tu pregunta es marcado como asp.net asumo la plataforma de servidor es windows. Aún así, si el uso de linux firewall es una opción que usted puede probar el de arriba

  • poner un linux firewall entre WAN y su servidor
  • dar acceso a la máquina cortafuegos a sus registros de IIS
  • escribir regex para analze es
  • enchúfelo en las plantillas existentes para la prohibición de

Tal firewall se puede ejecutar en extremadamente modesto hardware - creo que incluso algo como routers linksys (ver aquí) para muy decente enlace de ancho de banda.

4voto

Sean Reifschneider Puntos 4951

Si vienen de una dirección IP específica o un bloque de direcciones, es posible que desee agregar un blackhole ruta:

ip ro add blackhole 10.69.96.0/24
ip ro flush cache

Usted también puede lograr esto mediante el uso de una regla iptables, pero se dan cuenta de que las reglas iptables se recorre linealmente, por lo que si usted comienza a añadir reglas iptables para cada hereje, que viene a lo largo de, usted puede comenzar a comer un montón de CPU. Las tablas de enrutamiento están optimizados para el manejo de muchas, muchas entradas. Por ejemplo, uno de mis casillas ha 350K entradas en su tabla de enrutamiento con ningún problema. Pero si yo había 3K reglas iptables el cuadro es casi seguro que caen.

Si intenta hacer algo donde la aplicación se duerme durante muchos segundos en estas conexiones, puede terminar empatados suficiente de recursos que las peticiones legítimas no pueden obtener los recursos.

3voto

Usted no desea lento de él hacia abajo debido a la desaceleración de él hacia abajo incorrectamente llevará a su sitio como si estuviera bajo un ataque DoS, porque los hilos se 'ocupado' mantenimiento de esta persona solicitudes. Lo que quiero hacer es bloquear su IP y listo. No hay ninguna razón para cebo de la persona que lo hace.

2voto

toxboi Puntos 490

Lo que estamos buscando es el módulo de Apache mod_evaisve.

En distribuciones basadas en Debian, instalar usando

apt-get install libapache2-mod-evasive

CentOS/RHEL

yum install mod_evasive

mod_evasive mantiene un seguimiento de las solicitudes de venir a Apache y prohibiciones IP con iptables que pasar el valor de umbral. Es una herramienta definitiva en contra de HTTP basada en DoS ataques e incluso ataques Distribuidos de DoS cuando usted está dirigida por una enorme red de bots con miles de diferentes IP.

Se ejecuta como un módulo de Apache carga durante el tiempo de ejecución y no como un demonio independiente.

A pesar de que un smart atacante con el control de una enorme red de bots todavía puede traer abajo su servidor web mediante la sincronización de las solicitudes enviadas por cada zombie en la botnet para que ninguno de la IP cada vez que pasa el valor de umbral.

En ese caso, usted tiene que utilizar anomalía IDS basado y probablemente tren el sistema usted mismo. Pero esto es muy poco probable que suceda, a menos que hayas algunos de los verdaderos grandes enemigos o alguien con una agenda corporativa.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X