Tengo 2 máquinas virtuales. (Vmware esxi 6)
Ambos son opensuse 42.3 (tumbleweed)
- Firewall (iptables, ipset, dhcpd, dns solamente)
- servidor de correo / web. (apache, dovecot, postfix)
El servidor web no puede comunicarse con el firewall, excepto que el tráfico pasa a través de él para llegar al servidor de correo / web.
El firewall tiene una lista de bloqueo de direcciones IP a las que se agrega automáticamente. Sin embargo, es relativamente simple y no decodifica SMTP, IMAP, HTTP o HTTPS. El segundo tiene sus propias protecciones para los servicios mencionados anteriormente, y tiene su propia lista de bloqueo.
Ahora suponga que alguien que formaba parte de mi servidor de correo podría eliminar fácilmente mi lista de bloqueo, etc., pero solo desde el servidor de correo.
¿Cómo puedo hacer que el servidor de correo / web envíe sus listas de bloqueo al firewall sin romper la separación entre DMZ y todo lo demás (o al menos, en la medida de lo posible) en tiempo real?
No quiero usar un servicio externo, como subir archivos a la nube, ya que podrían darme DDOS y la lista estaría accesible.
Pensé en configurar una tercera VM como intermediaria (tarjetas de red separadas de subred privadas pero compartidas), pero si comprometen el servidor web, lo que evitará que entren en la máquina intermediaria y luego el firewall. Si hice esto, ¿qué tipo de protecciones puedo implementar para verificar que un pirata informático no esté enviando sus propios datos a través de mi canal (desbordamiento de búfer o ataque de etc.) en lugar de solo la lista de bloqueo?
cómo determina qué IP debería bloquearse:
En general, cualquier mal comportamiento. Ejemplo: todas las llamadas de error de Apache se han vinculado a un script php. El script php registra los detalles en mysql. Eventualmente, tendré un sistema de puntuación de vuelo completo en su lugar. Cada cosa no válida que haces aumenta tu puntuación, y ciertas cosas tienen puntuaciones más altas.
¿Por cuánto tiempo? Umbral basado, pero eventualmente para siempre. Consigue 100 puntos o lo que sea, adiós para siempre.
¿Cómo agregar las reglas? ipset add bad_guys 1.2.3.4
si me siento generoso, agregaré un tiempo de espera ###### a eso.