Manual de IPPL

Introduccion:

Este programa nos permite loguear cualquier tipo de conexion entrante del exterior a nuestro ordenador. Con ello podremos tener un control mayor sobre nuestras conexiones. Ippl(IP protocols logger) en realidad no actua como un simple programa ya que es un demonio que funciona en segundo plano(background).

1.Software:

Este programa requiere las siguientes dependencias: libc6(>= 2.2.4-4), perl-base, logrotate

Podemos descargarnos IPPL de los siguientes sitios:

IPPL 1.4.14 source: fuentes del demonio ippl.
IPPL 1.2.14 redhat-mandrake: binario en formato .rpm.
IPPL 1.4.14 debian: binario en formato .deb, es muy probable que este en nuestras source.list

Si tenemos gentoo deberemos de emergerlo, por lo que es recomendable actualizar nuestra lista del portage:

# emerge sync


2.Instalacion:

La instalacion, dependera del paquete que nos hayamos bajado.

Para los source deberemos de seguir estos pasos:

# tar xvfz ippl-1.4.14.tar.gz
# ./configure
# make
# su
# make install

Si hemos escogido la version rpm deberemos de hacer lo siguiente:

# rpm -i ippl-1.4.14.rpm

Si de lo contrario, cogimos la version .deb:

# dpkg -i ippl-1.4.14.deb

Y por ultimo si tenemos gentoo:

 # emerge ippl


3.Configuracion:

La configuracion de ippl.conf se centra en la configuracion del archivo /etc/ippl.conf, en el cual pondremos nuestra configuracion, es decir que queremos que nos logeen.


Primero deberemos de decirle que protocolos queremos loguear(siendo protocolos: icmp, tcp, udp y la opcion all que engloba a los tres):

run tipo


Acontinuacion diremos que logear y en que ficheros almacenarlo, esto se hace con la opcion log-in:

log-in [protocolos] /diectorio/fichero.log   *siendo protocolos: icmp, tcp, udp y all.

Ahora le diremos el tipo de formato con que nos guardara los logs:

logformar 
[formatos] [protocolos]
formatos:
El formato de los logs que usaremos siempre, es el detailed en el cual podemos ver:

Mes Dia Hora puerto X conesion comenzada/o intendo de IP (IP:puerto -> IP2:puerto)    * de IP hacia IP2.


Existe la opcion de no logear o logear ciertos tipos de conexiones dentro de cada protocolo:

ignore/log {option [opcion],[opcion],...} [protocolos] [descripcion]
option [opciones]:
descripcion:

Un ejemplo de un archivo de configuracion basico ippl.conf seria el siguiente:

run icmp tcp udp
log-in tcp /var/log/tcp_ippl.log
log-in icmp /var/log/icmp_ippl.log
log-in udp /var/log/udp_ippl.log
log-in all /var/log/all_ippl.log
logformat detailed all
ignore icmp type echo_replay

log option ident,resolve tcp port ftp
log option ident,resolve tcp port telnet

4.Uso:

Una de las preguntas frecuentes es el uso real que se puede hacer de esta herramienta. Es decir, yo tengo logueado todas las conexiones pero de que me puede servir eso?

Pues la utilidad es tan grande como nosotros de imaginativos, uno de los ejemplos mas claros puede ser, por ejemplo, desde que ip han intentando conectarse al ftp hasta quien me ha hecho un scaneo de puertos.

Con la utilizacion de un simple tail(nos muestra las ultimas filas de un archivo), somos capaces de verlo:

# tail -n 2000 /var/log/tcp_ippl.log | grep port 21        podriamos ver quien se ha conectado al puerto 21

# tail -n 500 /var/log/tcp_ippl.log | more     imaginaros que en el rsultado, revisandolo obtenemos algo parecido a lo siguiente(es un trozo de mi fichero tcp_ippl):

Sep 24 02:13:17 port 494 connection attempt from 217.127.170.XX (217.127.170.XX:42617->80.33.200.XX:494)
Sep 24 02:13:18 port 581 connection attempt from 217.127.170.XX (217.127.170.XX:42621->80.33.200.XX:581)
Sep 24 02:13:18 port 581 connection attempt from 217.127.170.XX (217.127.170.XX:42599->80.33.200.XX:581)
Sep 24 02:13:20 port 5631 connection attempt from 217.127.170.XX (217.127.170.XX:42618->80.33.200.XX:5631)
Sep 24 02:13:20 port 5714 connection attempt from 217.127.170.XX (217.127.170.XX:42620->80.33.200.XX:5714)
Sep 24 02:13:22 port 881 connection attempt from 217.127.170.XX (217.127.170.XX:42622->80.33.200.XX:881)
Sep 24 02:13:22 port 576 connection attempt from 217.127.170.XX (217.127.170.XX:42631->80.33.200.XX:576)
Sep 24 02:13:25 port 1447 connection attempt from 217.127.170.XX (217.127.170.XX:42632->80.33.200.XX:1447)
Sep 24 02:13:25 port 1502 connection attempt from 217.127.170.XX (217.127.170.XX:42634->80.33.200.XX:1502)
Sep 24 02:13:27 port 380 connection attempt from 217.127.170.XX (217.127.170.XX:42640->80.33.200.XX:380)
Sep 24 02:13:27 port 1422 connection attempt from 217.127.170.XX (217.127.170.XX:42641->80.33.200.XX:1422)
Sep 24 02:13:28 port 1723 connection attempt from 217.127.170.XX (217.127.170.XX:42642->80.33.200.XX:1723)
Sep 24 02:13:31 port 472 connection attempt from 217.127.170.XX (217.127.170.XX:42643->80.33.200.XX:472)
Sep 24 02:13:31 port 395 connection attempt from 217.127.170.XX (217.127.170.XX:42644->80.33.200.XX:395)
Sep 24 02:13:31 port 844 connection attempt from 217.127.170.XX (217.127.170.XX:42645->80.33.200.XX:844)

Alguien en menos de 15 segundos a intentado conectarse a distintos puertos, de los cuales tu no ofreces servicios, eso es lo que conocemos como un escaneo de puertos y la ip
217.127.170.XX esta escanenado a tu ordenador(80.33.200.XX). Por lo que podremos prevenir un posible ataque denegando inmediatamente cualquier conexion con dicha ip.

Con el uso de script en bash, o con algun mini programilla en c/c++ podremos hacer que lo busque el solito en el fichero y que nos habise. Como podeis ver las posibilidades son casi ilimitadas.

5.Carga en el arranque del sistema:

Si hemos compilado el ippl deberemos de introducir el script de carga,  /etc/init.d/ippl donde corresponda, dependiendo de nuestra distribucion.

Si lo hemos instalado desde gentoo deberemos de poner las siguientes lineas:

# rc-update add ippl default

Por lo contrario hemos instalado ippl desde debian o derivados, deberemos de poner lo siguiente:

# ln -s /etc/init.d/ippl /etc/rcX.d/S20ippl

Siendo X nuetro runlevel, si tenemos dudas de cual es nuestro runlevel, poner lo siguiente:

# cat /etc/inittab | grep id

El resultado sera algo parecido a esto(siendo la X el numero de nuestro runlevel):

id:X:initdefault:


Para arrancar el demonio ippl sin reiniciar deberemos de escribir lo siguiente:

# /etc/init.d/ippl start

Para parar el demonio ippl deberemos de introducir lo siguiente:

# /etc/init.d/ippl stop

Para restaurar y volver a cargar una nueva coniguracion del ippl.conf debremos de poner lo siguiente:

# /etc/init.d/ippl restart



G0su
e-mail address: moxilo@hotmail.com.


frikis.org
http://www.frikis.org/staticpages/index.php/ippl