Como cualquier sistema cortafuegos, IP Filter es capaz de generar
registros cuando una determinada trama hace match con una regla que
así lo indica; la forma de indicarlo, como ya hemos adelantado en el
punto anterior, es mediante la directiva `log':
block in log quick on elxl0 from any to any port = 79
Esta regla bloquea (`block') de forma inmediata (`quick') el
tráfico de entrada (`in') a través del interfaz elxl0, desde
cualquier origen (`from any') a cualquier destino (`to any') y cuyo
puerto destino sea el 79 (correspondiente a finger); mediante `log'
hacemos que siempre que se haga match con ella esta regla genere un
registro, para lo cual se utiliza la utilidad ipmon, inicializada en el
mismo script que hemos visto antes para cargar la política de
seguridad.
Por defecto, ipmon registra eventos con tipo `local0' y las
siguientes prioridades predeterminadas ([McC00])
- info: Paquetes que son sólo registrados, no aceptados o denegados.
- notice: Paquetes registrados en una regla `pass'.
- warning: Paquetes registrados en una regla `block'.
- error: Paquetes cortos que pueden evidenciar un ataque basado en
fragmentación de tramas IP.
Aunque este modelo suele ser más que suficiente en la mayoría de
situaciones, si necesitamos un registro más fino podemos especificar,
mediante la directiva `level', el tipo y la prioridad con que deseamos que
una determinada regla registre las tramas que hacen match con ella;
así, en el caso de la regla anterior, si queremos que cuando alguien trate
de acceder al servicio finger de una máquina el tráfico se bloquee y
además se registre un evento con tipo `auth' y prioridad `alert'
(en lugar de `local0' y `warning', que serían los que le
corresponderían por defecto), debemos reescribir la regla de una forma
similar a:
block in log level auth.alert quick on elxl0 from any to any port = 79
Cuando esta regla haga match, se generará en el fichero correspondiente (no
debemos olvidarnos de pegarle un vistazo a nuestro /etc/syslogd.conf para
ver dónde se van a registrar los mensajes) una entrada de esta forma:
anita:/# tail -1 /var/log/syslog
02:59:04 anita ipmon[7043]: [ID 702911 auth.alert] 02:59:04.700386 elxl0 \
@0:2 b 62.42.102.18,4897 -> 192.168.0.3,79 PR tcp len 20 48 -S IN
anita:/#
Aparte de generar eventos a través de syslog, la herramienta ipmon permite monitorizar en tiempo real las tramas que generan registros
mediante opciones como `-o' o `-a', en línea de comandos;
evidentemente esto es útil para visualizar en una terminal el estado del log en nuestro cortafuegos, por ejemplo para iniciar mecanismos de respuesta
automática ante un determinado evento; para obtener más información acerca
de esta herramienta, y del sistema de log de IP Filter en general,
podemos consultar la página de manual de ipmon(8).
© 2002 Antonio Villalón Huerta