Cómo obtener un código ejecutable en Java para un sistema de detección de intrusos

No puede depender solo de Java … también tendrá que observar de cerca su arquitectura de implementación. Básicamente debes asegurarte de que:

1. Todos los servidores en su DC tienen el mismo código implementado cada vez (Esto se puede lograr usando una SAN para almacenamiento común y montando máquinas virtuales en él, o configurando alguna replicación como Rsync)

2. El jar IPS (Sistema de prevención de intrusiones) que cree, tendría un filtro, y este filtro debería incluirse en el web.xml de todos sus archivos de guerra desplegados.

La lógica a escribir en Java
La clase de filtro (de todas las aplicaciones, cuando se invoca, insertará la IP de origen de la solicitud, el tipo de solicitud, el recurso al que se accede en una tabla de base de datos común) y ejecutaría reglas sobre estos datos antes de encadenar la solicitud. Si alguna de las reglas falla, simplemente la bloquearías (no la encadenarías).

¡Qué reglas!
Básicamente, desea verificar si alguien no está abusando del servicio que brinda. Puedes:
1- Bloquear solicitudes de países particulares
2: bloquee las solicitudes si la tasa de acceso de una aplicación en particular es demasiado alta (por ejemplo, obtiene 1000 solicitudes en un minuto para un recurso de una IP, es por eso que estamos manteniendo la base de datos)
3 – Puede verificar si hay CRC
4 – Puede bloquear las solicitudes de publicación / colocación de algunos recursos importantes, como algunas configuraciones

Ahora también es posible que desee mantener un servidor dedicado para desplegar solo la guerra de IPS, y asegurarse de que cualquier solicitud a su dominio pase por ese servidor. Esto implicaría configurar mod_jk o mod_proxy en su frente apache (si lo usa como un servidor web) de manera adecuada y luego cambiar el código escrito en el filtro para reenviar la solicitud a un jboss (servidor de aplicaciones) basado en el contexto de la solicitud original, si todas las reglas están bien.

PD: tenemos cosas como F5 para esto en el mercado y no debes reinventar la rueda 🙂

Descubra un IDS de código abierto escrito en Java. Si no hay un IDS de código abierto en Java y / o escrito en otro lenguaje de programación. Luego solo lea y entienda el código e impleméntelo en Java.

EDITAR:
Si va a usar el código de otros desarrolladores, nunca olvide hablar con ellos antes de usarlo.

Hay un programa llamado NYX en souceforge que es NIDS, pero no estoy seguro de cuán efectivo es o git Hub también es una muy buena fuente de código de fuente abierto, de eso es lo que estás buscando.
Si quiere decir cómo implementar un código Java en IDS (comerciales) existentes, necesita hablar con el personal de soporte, pero es una posibilidad remota, probablemente no lo harán.