domingo, 27 de marzo de 2011

OpenVPN en Squeeze



Configurando un OpenVPN Roadwarrior

Primero lo primero:

# aptitude install openvpn

Vamos al directorio donde estan los certificados easy-rsa
#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/

Creamos los certificados para el CA

#. ./vars



#./clean-all

#./build-ca

Creando el certificado para el server

#./build-key-server server

Creamos el certificado para el cliente

#./build-key cliente

Construimos el diffie hellman

#./build-dh

Las llaves creadas estan en la carpeta keys

#cd /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/

#ls -al

ca.key ca.crt server.key server.csr server.crt cliente.key client.crt cliente.csr

Tenemos lo siguiente

ca.key-> debe estar en el Server CA
client.crt-> debe estar en el cliente
client.key-> debe estar en el cliente
server.crt-> debe estar el server OPENVPN
server.key-> debe estar el server OPENVPN
ca.crt-> Debe estar en el server y en todos los clientes.

Vamos a modificar el archivo server.conf que esta en:

#cd /usr/share/doc/openvpn/examples/sample-config-files/

# nano server.conf
port 1194
proto udp
dev tun
ca /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/ca.crt
cert /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.crt
key /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/server.key
dh /usr/share/doc/openvpn/examples/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"
;push "redirect-gateway def1"
push "dhcp-option DNS 192.168.1.1"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
log-append /var/log/openvpn.log
verb 3

Despues de modificarlo copiarlo a /etc/openvpn" directory

#cp server.conf /etc/openvpn/

Iniciamos el servicio

# /etc/init.d/openvpn start

configurar el iptables con las reglas basicas

Si ya se tiene un firewall se debe adicionar estas reglas

iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT

Con eso se tiene la parte del server, pero falta el cliente
Si es un winbug que es el comun de los casos se hace lo siguiente:

Se instala el cliente openvpn:

http://openvpn.se/download.html

Despues de instalar openvpn cliente, poner los archivos en la carpeta config

Creamos el archivo cliente.ovpn con el contenido

*****
client
dev tun
proto udp
remote ipdelserver 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca “C:\\Archivos de programa\\OpenVPN\\config\\ca.crt”
cert “C:\\Archivos de programa\\OpenVPN\\config\\cliente.crt”
key “C:\\Archivos de programa\\OpenVPN\\config\\cliente.key”
comp-lzo
verb 4
*****

Creamos la interface del openvpn en el winbugs

Inicio --> todos los programas --> OpenVPN --> Add a new TAP-win32 virtual ethernet adapter

En la capeta:

C:\Archivos de programa\OpenVPN\config

Debemos tener los archivos

cliente.ovpn, cliente.crt, cliente.key y ca.crt

Luego recien vamos al icono en la parte inferior, le damos click derecho y conect, te debe salir verde como en la figura sino cuestion de mirar los logs



PD: Siempre es bueno mirar los logs en el cliente y en el server para detectar posibles inconvenientes.

Fuente:

http://openvpn.net/index.php/open-source/documentation/howto.html
http://cihan.me/how-to-setup-openvpn-server-on-debian-lenny/

Ntop en Wheezy


Ntop es una famosa herramienta para visualizar el trafico en tiempo real

Actualmente se encuentra en los repositorios de Wheezy lo instalamos

# aptitude install ntop

Luego te pide un pass para el admin



Y listo ya tienes el ntop:

http://laipdentop:3000

Luego de un rato te muestra el trafico



Ahora si desean que pida password al inicio de abrir la pagina solo basta ir a
Admin -> Configure -> protect URLs y abajo hacer clic en "Add URL"
No añadir nada dejarlo en blanco
Seleccionar el usuario puede der el admin
luego click en el boton "Add URL"

Ahora cuando vayas al link

http://laipdentop:3000

Saldra una ventana para que pongas el user y pass

Fuente:

http://www.ntopsupport.com/faq.html

miércoles, 23 de marzo de 2011

PostgreSQL server failed to start

El problema inicial para variar era que no se podia iniciar el servicio del postgresql, lo que paso fue lo siguiente:

Tenia configurado el network-manager de gnome y por ello comente todo el contenido de /etc/network/interfaces

No podia hacer ping al localhost y me salia este mensaje cada vez que queria levantar el servicio

Starting PostgreSQL 9.0 database server: mainThe PostgreSQL server failed to start. Please check the log output: 2011-03-23 10:31:36 PET LOG: no se pudo enlazar al socket IPv4: No se puede asignar la direcci?n solicitada 2011-03-23 10:31:36 PET HINT: ?Hay otro postmaster corriendo en el puerto 5432? Si no, aguarde unos segundos y reintente. 2011-03-23 10:31:36 PET WARNING: no se pudo crear el socket de escucha para <> 2011-03-23 10:31:36 PET FATAL: no se pudo crear ning?n socket TCP/IP ... failed!


Solucion:

Agregar en el /etc/network/interfaces

auto lo
iface lo inet loopback


Listo con ello ya se puede levantar el servicio

Habilitar acceso remoto al Postgresql

nano /etc/postgresql/9.0/main/postgresql.conf

listen_addresses = '*'

nano /etc/postgresql/9.0/main/pg_hba.conf

host all all 0.0.0.0/0 md5

Reiniciar el servicio y listo

Desde otra ubicacion
# psql -h ipexterna -U usario -W

Listo

Saludos

Fuente:

http://ubuntuforums.org/showthread.php?t=1612198


http://kb.mediatemple.net/questions/1237/How+do+I+enable+remote+access+to+my+PostgreSQL+server%3F

martes, 22 de marzo de 2011

Drivers HP dv6 en Debian Wheezy & candy tools

Para el conky solo basta seguir los pasos de este link

http://gnome-look.org/content/show.php/CONKY-colors?content=92328

En caso del compiz

# aptitude install compiz compizconfig-settings-manager compiz-fusion-plugins-main compiz-gnome compiz-gtk
# aptitude install fusion-icon

Ir a Sistema -> Preferencias -> aplicaciones al inicio
Y poner los datos
Nombre: compiz
comando: compiz --replace

El Network manager:

http://wiki.debian.org/NetworkManager


Para setear levantar el wifi

# aptitude install wireless-tools
# aptitude install firmware-b43-lpphy-installer
# iwconfig

Listo wifi up

Para levantar el sonido en una HP dv6

Basta hacer como root:

# alsctl init

Y hace la magia del sonido

Fuente:
http://forums.debian.net/viewtopic.php?f=7&t=42350

http://wiki.debian.org/bcm43xx

http://wiki.debian.org/Compiz

jueves, 17 de marzo de 2011

Sagan 0.1.8 con Barnyard2 support en Snorby 2.2.5



Es una herramienta para visualizar los logs en realtime, ademas usa una serie de reglas (tipo snort) para detectar anomalias en la red.

Ademas existen varios front ends para snort que pueden ser usados por sagan como es el Snorby, Base, Sguil, etc .. En este caso vamos a usar Snorby

Vamos con los paquetes necesarios, primero actualizamos
# aptitude update
# aptitude upgrade

Necesitamos el paquete PCRE
aptitude install libpcre3-dev libpcre3

Paquetes opcionales:
Si deseas recibir alertas en tu correo
# aptitude install libesmtp-dev

Si deseas guardar la info en una base de datos mysql
# aptitude install libmysqlclient15-dev

Si deseas usar postgresql
#aptitude install postgresql-server-dev-8.4

Security Information Management System
#aptitude install libprelude-dev

Log normalizing library
#aptitude install liblognorm-dev

Para este caso vamos a usar el mysql

*************
Bajamos el sagan http://sagan.softwink.com/download

La version actual es la 0.1.8 con soporte unified2

Compilamos e instalamos
# ./configure --disable-postgresql
# make && make install

Ahora sigue la configuracion del syslog-ng, si no lo tenemos lo instalamos de los repositorios
# aptitude install syslog-ng

Ahora sagan tiene dos formas de tratar los datos entrantes, por medio de FIFO o program mode:

- FIFO (First In/First Out),
Syslog-ng envia los eventos al archivo /var/run/sagan.fifo, de este modo Sagan logra leer este archivo.

Para ello se debe crear el archivo
mkfifo /var/run/sagan.fifo
ls -l /var/run/sagan.fifo
prw------- 1 root root 0 mar 17 17:56 /var/run/sagan.fifo

Debemos modificar el syslog-nd.conf, y añadir las lineas correspondientes segun el archivo ejemplo de la pagina de sagan http://sagan.softwink.com/syslog-ng-fifo.txt

- Program mode
significa que Sagan tomara los eventos via standard input (stdin)

Igualmente reemplazamos el archivo syslog-ng.conf o usamos el dado por la pagina del autor
http://sagan.softwink.com/syslog-ng-program.txt

En mi caso escogo el modo FIFO y renombro el syslog-ng.conf que viene por default y uso el archivo ejemplo syslog-ng.conf de la pagina sagan.

Ahora vamos a modificar el archivo de configuracion sagan.conf, que debe estar en
/usr/local/etc/sagan.conf

Modificamos
sagan_host 192.168.0.2 --> poner la ip de la PC

Si deseamos loggearnos a una base de datos snort;
# [Required if logging to a Snort database]

; sagan_hostname sagan
; sagan_interface syslog
; sagan_filter none
; sagan_detail 1

; maxdb_threads 50
; output database: log, mysql, user=sagan password=secret dbname=snort_db host=192.168.0.1

#Vamos a usar el Unified2 output plugin
output unified2: filename sagan.log, limit 128

En mi caso comente lo siguiente
porque al ejecutar el sagan me salia violacion de segmento:

#normalize: cisco, $RULE_PATH/cisco-normalize.rulebase
#normalize: openssh, $RULE_PATH/openssh-normalize.rulebase
#normalize: smtp, $RULE_PATH/smtp-normalize.rulebase
#normalize: dns, $RULE_PATH/dns-normalize.rulebase
#normalize: imap, $RULE_PATH/imap-normalize.rulebase

Reglas de Sagan
Para poder usar las reglas dadas por sagan hay que descargarlo de:
http://sagan.softwink.com/rules/sagan-rules-current.tar.gz

Y copiamos los archivos a la ruta definida por la variable $RULE_PATH
var RULE_PATH /usr/local/etc/sagan-rules

Creamos la carpeta sagan-rules y copiamos los archivos ahi

Creamos el usuario sagan luego, lo hacemos propietario de los archivo con el comando chown

debian:~# chown -R sagan.sagan /var/log/sagan
debian:~# chown -R sagan.sagan /var/run/sagan
debian:~# chown -R sagan.sagan /var/run/sagan.fifo

Configurando Barnyard2

Copiamos el archivo de ejemplo de la pagina de sagan

https://wiki.softwink.com/bin/view/Main/Barnyard2HowTo

Y modificamos la ultima linea con los datos respectivos de la base de datos.

creamos el archivo
# touch /var/log/barnyard2/barnyard2-sagan.waldo
# chown -R sagan.sagan /var/log/barnyard2/barnyard2-sagan.waldo

Ejecutamos sagan

# /usr/local/bin/sagan



Ejecutamos el Barnyard2

# /usr/local/bin/barnyard2 -c /usr/local/etc/barnyard2.conf -d /var/log/sagan -f sagan.log -w /var/log/barnyard2/barnyard2-sagan.waldo -S /usr/local/etc/sagan-rules/sagan-sid-msg.map -C /usr/local/etc/sagan-rules/classification.config

Si todo sale bien sale un mensaje como este:



Despues de un rato vemos que aparece el sensor y los respectivos eventos



Vamos a la interface del snorby y vemos la aparicion de un sensor mas:



Vemos los eventos de ese sensor



Y los detalles



PD: A veces tenia el problema que al momento de ejecutar el barnyard2 me salia un mensaje como este:

WARNING: Can't extract timestamp extension from 'sagan.log'using base 'sagan.log'
Waiting for new data
WARNING: Can't extract timestamp extension from 'sagan.log'using base 'sagan.log'


Esto sucede porque hay un sagan.log que tiene informacion acerca del funcionamiento de sagan y el unified2 tambien se llama sagan.log.

Para solucionarlo modificamos el archivo sagan.conf en la parte de unified2
output unified2: filename sagan.u2, limit 128

Y el comando quedaria asi:
# /usr/local/bin/barnyard2 -c /usr/local/etc/barnyard2.conf -d /var/log/sagan -f sagan.u2 -w /var/log/barnyard2/barnyard2-sagan.waldo -S /usr/local/etc/sagan-rules/sagan-sid-msg.map -C /usr/local/etc/sagan-rules/classification.config

Ahora si no habria conflictos de ningun tipo

Fuente:
Help from Champ Clark III Sagan's creator
https://wiki.softwink.com/bin/view/Main/SaganHOWTO
http://muchikon.blogspot.com/2010/07/sagan-en-debian.html

OpenFPC 0.5 con Snorby 2.2.5



OpenFPC es basicamente un conjunto de herramientas que permite capturar el trafico de determinado evento y dartelo en formato *.pcap para su posterior analisis con el wireshark por ejemplo, vamos integrar esta opcion con el snorby.

OpenFPC tiene muchas mas opciones las cuales pueden ser revisadas en su pagina oficial

Actualizamos el sistema

# aptitude update
# aptitude upgrade
# aptitude install apache2 daemonlogger tcpdump tshark libarchive-zip-perl libfilesys-df-perl libapache2-mod-php5 mysql-server php5-mysql libdatetime-perl libdbi-perl libdate-simple-perl php5-mysql libterm-readkey-perl libdate-simple-perl

Vamos a descargar el openfpc de su pagina oficial
http://code.google.com/p/openfpc/downloads/list

# tar zxvf openfpc-0.5-281.tgz
# mv openfpc-0.5-281 /var/www/
# mv openfpc-0.5-281/ openfpc
# cd openfpc
# ./openfpc-install.sh install
# openfpc –action start



# openfpc-client -a status



Habilitamos el openfpc en a interface de administracion de Snorby





Fuente:

http://leonward.wordpress.com/2010/12/06/insta-snorby-0-4-with-openfpc/
http://www.openfpc.org/
http://code.google.com/p/openfpc/

miércoles, 16 de marzo de 2011

Pulledpork en Debian Wheezy



Vamos a configurar el pulledpork en el Snort

Descargamos
# wget http://pulledpork.googlecode.com/files/pulledpork-0.5.0.tar.gz
# tar -zxf pulledpork-0.5.0.tar.gz && cd pulledpork-0.5.0
# cp pulledpork.pl /usr/sbin && cp etc/*.conf /etc/snort

Vamos a bajar las reglas del snort para ello necesitamos el oinkcode
https://www.snort.org/account/oinkcode

Ahora procedemos a modificar el archivo pulledpork.conf

# nano /etc/snort/pulledpork.conf

Comentamos lo referente a emergingthreats
Modificamos la ruta:
rule_url=http://www.snort.org/reg-rules/|snortrules-snapshot-2900.tar.gz|oinkcode
Cambiamos:
rule_path=/etc/snort/rules/snort.rules
rule_path=/etc/snort/rules/local.rules
sid_msg=/etc/snort/sid-msg.map
config_path=/etc/snort/snort.conf
distro=Debian-Lenny
snort_version=2.9.0.4
/etc/snort/enablesid.conf
/etc/snort/disablesid.conf
/etc/snort/modifysid.conf
Y comentamos
#sostub_path=/usr/local/etc/snort/rules/so_rules.rules


Deshabilita las reglas de bloqueo (fwsam)
# echo pcre:fwsam /etc/snort/disablesid.conf

Modificamos
# nano /etc/snort/modifysid.conf

La ultima linea cambiarlo a (hay un error de tipeo):
302,429,1821 "$EXTERNAL_NET" "$HOME_NET"

# pulledpork.pl -c /etc/snort/pulledpork.conf



Al final tenemos el mensaje de Fly piggy Fly !!!



Reiniciamos el servicio

# /etc/init.d/snortbarn restart

Snort is on Fire !!!



Fuente:

https://www.snort.org/docs

Snort 2.9.0.4 en Debian Wheezy con Barnyard2



Vamos con la instalacion de un IDS famoso "Snort", con barnyard en base de datos mysql.

Actualizamos
# aptitude update
# aptitude upgrade

Instalamos las dependecias

# aptitude install apache2 libapache2-mod-php5 libwww-perl mysql-server mysql-common mysql-client php5-mysql libnet1 libnet1-dev libpcre3 libpcre3-dev autoconf libcrypt-ssleay-perl libmysqlclient-dev php5-gd php-pear libphp-adodb php5-cli libtool libssl-dev gcc-4.4 g++ automake gcc make flex bison apache2-doc ca-certificates vim

Instalamos los prerequisitos

libpcap, libdnet, and DAQ.

Install libpcap:
# cd /usr/src
# wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
# tar -zxf libpcap-1.1.1.tar.gz && cd libpcap-1.1.1
# ./configure --prefix=/usr --enable-shared
# make && make install

Install libdnet:
# cd /usr/src
# wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
# tar -zxf libdnet-1.12.tgz && cd libdnet-1.12
# ./configure --prefix=/usr --enable-shared
# make && make install

Install DAQ:

# cd /usr/src
# wget http://www.snort.org/dl/snort-current/daq-0.5.tar.gz
# tar -zxf daq-0.5.tar.gz && cd daq-0.5

DAQ necesita ser parchado para reconocer el parametro "buffer_size".

# vi /usr/src/daq-0.5/os-daq-modules/daq_pcap.c
En la linea line 219 reemplazar:

context->buffer_size = strtol(entry->key, NULL, 10);
con:
context->buffer_size = strtol(entry->value, NULL, 10);

# ./configure
# make && make install

Actualizamos la ruta del "shared library"
# echo >> /etc/ld.so.conf /usr/lib && ldconfig

Bajamos e instalamos el snort
# wget http://www.snort.org/dl/snort-current/snort-2.9.0.4.tar.gz -O snort-2.9.0.4.tar.gz
# tar -zxf snort-2.9.0.4.tar.gz && cd snort-2.9.0.4
# ./configure --with-mysql --enable-dynamicplugin --enable-perfprofiling --enable-ipv6 --enable-zlib --enable-reload
# make && make install

Creamos las carpetas
# mkdir /etc/snort /etc/snort/rules /var/log/snort /var/log/barnyard2 /usr/local/lib/snort_dynamicrules

Buscamos la regla para usuarios registrados
https://www.snort.org/snort-rules/?#rules

Descomprimimos las reglas en el directorio de snort
# tar xvfz snortrules-snapshot-2903.tar.gz -C /etc/snort

agregamos el usuario y grupo snort, configuramos permisos y copiamos archivos
# groupadd snort && useradd -g snort snort
# chown snort:snort /var/log/snort /var/log/barnyard2
# cp /usr/src/snort-2.9.0.4/etc/*.conf* /etc/snort
# cp /usr/src/snort-2.9.0.4/etc/*.map /etc/snort

Nota: No encontre con el snort el archivo "sid-msg.map" para configurar el barnyard2 por lo que me baje el archivo de
wget http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz
Luego fui a la carpeta rules y copie el archivo.
cp sid-msg.map /etc/snort/

Creamos un acceso directo del snort
#ln -s /usr/local/bin/snort /usr/sbin/snort

Configuracion del archivo snort.conf

# nano /etc/snort/snort.conf

Buscamos “RULE_PATH ../rules” y lo reemplazamos por:
var RULE_PATH /etc/snort/rules
Seguimos buscamos por “PREPROC_RULE_PATH ../preproc_rules”, y reemplazar por:
PREPROC_RULE_PATH /etc/snort/preproc_rules

Como vamos a usar el barnyard2 adicionamos en el archivo
output unified2: filename snort.log, limit 128

Buscamos:
# include $PREPROC_RULE_PATH/preprocessor.rules
# include $PREPROC_RULE_PATH/decoder.rules
Y lo descomentamos

Buscamos y lo comentamos quedando
#preprocessor normalize_ip4
#preprocessor normalize_tcp: ips ecn stream
#preprocessor normalize_icmp4
#preprocessor normalize_ip6
#preprocessor normalize_icmp6

Coonfiguramos el MySQL

# mysql -u root -p #Pones el password
mysql> create database snort;
mysql> create user 'snortuser'@'localhost' IDENTIFIED BY 'pass';
mysql> grant all privileges on snort.* to 'snortuser'@'localhost' with grant option;
mysql> flush privileges;
mysql> exit;

Ahora vamos a importar el esquema de la base de datos:
Vamos a la carpeta schema del directorio donde descomprimimos el snort
# cd schemas/
# mysql -p -u snortuser snort < create_mysql
Enter password:

# mysql -u root -p
Enter password:

mysql> use snort;
mysql> show tables; # deberiamos ver las tablas que importamos.
mysql> exit;

Instalacion y configuracion del barnyard2

# cd /usr/src
# wget http://www.securixlive.com/download/barnyard2/barnyard2-1.9.tar.gz
# tar -zxf barnyard2-1.9.tar.gz && cd barnyard2-1.9
# ./configure --with-mysql
# make && make install
# mv /usr/local/etc/barnyard2.conf /etc/snort
# nano /etc/snort/barnyard2.conf
Buscamos la linea #215 y lo cambiamos por: output alert_fast
Al final del archivo agregamos la conexion al mysql
output database: log, mysql, user=snortuser password=pass dbname=snort host=localhost

La prueba de fuego

Ejecutamos el snort
# /usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0

Ejecutamos el barnard2
# /usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo -G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config

Si todo sale bien con el barnyard tendran una imagen similar a esta:



Vemos que los datos estan siendo insertados en la base de datos

# mysql -u root -p -D snort -e "select count(*) from event"

Script de inicio de snort y barnayard2

# nano /etc/init.d/snortbarn
y copiamos el contenido

--------------------------------------------------------------------------------------
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: snortbarn
# Required-Start: $remote_fs $syslog mysql
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start Snort and Barnyard
### END INIT INFO
. /lib/init/vars.sh
. /lib/lsb/init-functions
mysqld_get_param() {
/usr/sbin/mysqld --print-defaults \
| tr " " "\n" \
| grep -- "--$1" \
| tail -n 1 \
| cut -d= -f2
}
do_start()
{
log_daemon_msg "Starting Snort and Barnyard" ""
# Make sure mysql has finished starting
ps_alive=0
while [ $ps_alive -lt 1 ];
do
pidfile=`mysqld_get_param pid-file`
if [ -f "$pidfile" ] && ps `cat $pidfile` >/dev/null 2>&1; then ps_alive=1; fi
sleep 1
done
/sbin/ifconfig eth1 up
/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth1 &
/usr/local/bin/barnyard2 -q -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log -w /etc/snort/bylog.waldo \
-G /etc/snort/gen-msg.map -S /etc/snort/sid-msg.map -C /etc/snort/classification.config 2> /dev/nul &
log_end_msg 0
return 0
}
do_stop()
{
log_daemon_msg "Stopping Snort and Barnyard" ""
kill $(pidof snort) 2> /dev/nul
kill $(pidof barnyard2) 2> /dev/nul
log_end_msg 0
return 0
}
case "$1" in
start)
do_start
;;
stop)
do_stop
;;
restart)
do_stop
do_start
;;
*)
echo "Usage: snort-barn {start|stop|restart}" >&2
exit 3
;;
esac
exit 0
--------------------------------------------------------------------------------------

Lo hacemos ejecutable
# chmod +x /etc/init.d/snortbarn
# insserv -f -v snortbarn

Snort y Barnyard2 empezara autmaticamente al bootear

Nota: para hacerlo funcionar con el snorby, bastaria obviar la creacion de bd hecho en este jautu, porque con el snorby tambien lo creas.

Los datos de usuario y base de datos lo sacamos del archivo barnyard2.conf esos datos deben coincidir con los datos del archivo de snorby database.yml

Una vez echo eso e iniciar el worker, veras los datos procesados en el snorby



Fuente:

http://www.snort.org/docs

Snorby 2.2.5 en Debian Wheezy



Snorby es un frontend para IDS como es el snort, mas info en su pagina oficial

A continuacion los pasos para tener configurado el snorby, luego en otro post lo uniremos con el snort.

Primero actualizar el sistema
# aptitude update
# aptitude upgrade

Luego instalamos las paquetes necesarios
aptitude install gcc g++ build-essential libssl-dev libreadline5-dev zlib1g-dev linux-headers-generic libsqlite3-dev libxslt-dev libxml2-dev imagemagick git-core libmysqlclient-dev mysql-server libmagickwand-dev default-jre

Bajamos el wkhtmltopdf

# wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2
# tar xvjf wkhtmltopdf-0.10.0_rc2-static-i386.tar.bz2
# cp wkhtmltopdf-i386 /usr/sbin/wkhtmltopdf

Bajamos el ruby

# wget http://ftp.ruby-lang.org//pub/ruby/1.9/ruby-1.9.2-p0.tar.gz
# tar -xvzf ruby-1.9.2-p0.tar.gz
# cd ruby-1.9.2-p0
# ./configure
# make && make install

Vemos la version:
# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

Instalamos los gems

# gem install thor i18n bundler
# gem install tzinfo builder memcache-client rack rack-test erubis mail text-format
# gem install rack-mount --version=0.4.0
# gem install rails sqlite3-ruby

Instalando Snorby

git clone http://github.com/Snorby/snorby.git /var/www/snorby

Editamos los archivos de configuracion
# nano /var/www/snorby/config/database.yml
snorby: &snorby
adapter: mysql
username: root
password: poner el pass de root
host: localhost


Editamos
# nano /var/www/snorby/config/snorby_config.yml
development:
domain: localhost:3000
wkhtmltopdf: /usr/sbin/wkhtmltopdf
#wkhtmltopdf: /Users/mephux/.rvm/gems/ruby-1.9.2-p0/bin/wkhtmltopdf

test:
domain: localhost:3000
wkhtmltopdf: /usr/sbin/wkhtmltopdf

production:
domain: localhost:3000
wkhtmltopdf: /usr/sbin/wkhtmltopdf



Luego de modificar vamos con la configuracion del Snorby

# cd /var/www/snorby
# bundle install
# bundle update activesupport
# bundle update railties
# bundle update rails
# rake snorby:setup

En el archivo inicial de database.yml

edit /var/www/snorby/config/database.yml pusimos el pass de root, ahora crearemos un usuario para esa base de datos

# mysql -u root -p

creat user 'snorbyuser'@'localhost' IDENTIFIED BY 'pass';
grant all privileges on snorby.* to 'snorbyuser'@'localhost' with grant option;
flush privileges;

Ahora modificamos el archivo database.yml
snorby: &snorby
adapter: mysql
username: snorbyuser
password: pass
host: localhost


Integracion de Snorby con el Apache2 Passenger

Instalamos las dependencias
aptitude install apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev libopenssl-ruby libcurl4-openssl-dev

# /etc/init.d/apache2 restart

Instalamos el modulo passenger

# gem install --no-ri --no-rdoc --version 3.0.3 passenger

Instalamos el passenger modulo para apache2
Nos vamos al directorio
# cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3/bin

En ese directorio ejecutamos

# ./passenger-install-apache2-module -a



Creamos el archivo con el contenido
# nano /etc/apache2/mods-available/passenger.load

LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.3/ext/apache2/mod_passenger.so

Creamos el archivo con el contenido
# nano /etc/apache2/mods-available/passenger.conf



Habilitamos los modulos
# a2enmod passenger
# a2enmod rewrite
# a2enmod ssl

# /etc/init.d/apache2 restart

Integramos Snorby con Apache2

Creamos el archivo "snorby" dentro de /etc/apache2/sites-available :



Habilitando el website :

# ln -s /etc/apache2/sites-available/snorby /etc/apache2/sites-enabled/snorby

Agregamos en el archivo /etc/apache2/ports.conf
NameVirtualHost *:90
Listen 90


# /etc/init.d/apache2 restart

Finalmente tenemos la pagina de logueo



usuario: snorby@snorby.org
pass: snorby





PD1: Si tienes algun inconveniente seria bueno revisar el archivo /var/log/apache2/error.log
PD2: Tambien es bueno correr en modo consola con el
# rails s -e production
y ver la salida por si se presenta algun detalle
PD2: Verificar que todo el contenido de /var/www/snorby pertenezca a www-data
PD3: Thanks to mephux for the support through the snorby irc channel, very helpful

Saludos

Fuente:

http://snorby.org/
http://www.corelan.be/index.php/2011/02/27/cheat-sheet-installing-snorby-2-2-with-apache2-and-suricata-with-barnyard2-on-ubuntu-10-x/