Estoy buscando proteger el servidor LAMP con un software, que detectará un número de solicitudes de números de IP únicos por encima del promedio (en este caso, consultas de DNS), y agregaré estos hosts a la cadena de denegación de IPTables.
Entonces, en caso de que mi servidor DNS Bind / Centos maneje la denegación de servicio en forma de flujo de paquetes UDP desde varios hosts a la vez, hay una interfaz de 10GBps en esta máquina para manejar grandes cantidades de paquetes entrantes, y las tablas ip pueden manejar muchos hosts.
¿Hay alguna herramienta / método para hacerlo realmente? Sé que hay un registro, ¿debo usar esto o hay algún módulo que sería mejor para esto?
Simplemente cada número de IP con una tasa de exceso de consultas UDP por encima de algunos no. El número de solicitudes por segundo se agrega al archivo de la lista negra y, en función de ese archivo, se genera la cadena de IPTables.
Entonces, mi pregunta es, ¿cómo registrar tasas excesivas de hosts particulares y registrarlas, y hacerlas de alto rendimiento, asumiendo que todos los números de IPv4 cabrían en la RAM?
Lo principal sería contar el número de paquetes / sesiones / conexiones abiertas durante una hora desde un único host y ponerlos en una lista negra.
Estoy buscando un ejemplo de reglas de código fuente / IPTABLES para el puerto 53 que permitiría 1000 solicitudes por hora desde una dirección IP única al servidor DNS con Bind.
También para mantener la lista blanca de hosts permitidos al mismo tiempo, así que durante el ataque puedo poner en lista negra a todos mientras que los servidores DNS más utilizados están bien, esto funcionaría en caso de que el ataque sea falsificado y cada solicitud provenga de una dirección IP diferente. También debe ser detectado.
No puedo hacer un servicio de difusión por el momento en este momento, sin embargo, necesito algo de protección en el DNS para evitar DDoS, lo que sucede de vez en cuando.
ACTUALIZACIÓN: Hay un producto de Cisco Guard que en realidad hace lo mismo, pero quiero esto en todas las máquinas Linux. Es porque Linux puede manejarlo, por lo que este es solo un problema de un buen software para hacerlo.