rvaldescal's Blog

Como montar snort BasE Mysql guardian

June 8, 2010 by kulk   comments (0) - Visitas: 548

En este tuto montaremos un ips .. en un Centos comenzamos ..

<!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } P.western { font-family: "Liberation Serif", serif; font-size: 12pt; so-language: es-CL } P.cjk { font-family: "Liberation Serif", serif; font-size: 10pt } P.ctl { font-family: "Liberation Serif", serif; font-size: 12pt } A:link { so-language: zxx } -->

INSTALACION DE APACHE

yum install httpd

INSTALACION DE PHP

yum install php

INSTALACION DE PHP CON SOPORTE MYSQL

yum install php-mysql

INSTALACION DE COMPILADORES

yum install gcc-c++

INSTALACION DE LIBRERIAS DE CAPTURA DE DATOS

yum install libpcap

yum install libpcap-devel

INSTALACION DE LIBRERIAS DE DESARROLLO EXTRAS

yum install pcre-devel

INSTALACION DE SERVIDOR MYSQL

yum install mysql-server

yum install mysql-devel

INICIAR SERVICIOS APACHE

/etc/init.d/httpd restart

COMPROBACION DE SERVICIOS APACHE UP

netstat -tan | grep 80

INICIAR SERVICIOS MYSQL

/etc/init.d/mysqld restart

COMPROBACION DE SERVICIOS MYSQL UP

netstat -tan | grep 3306

DESCARGANDO SNORT

wget http://dl.snort.org/snort-current/snort-2.8.5.2.tar.gz

DESCOMPRIMIENDO SNORT

tar -xvzf snort-2.8.5.2.tar.gz

COMPILANDO SNORT

./configure --with-mysql ----enable-dynamicplugin

make

make install

CREAMOS USUARIO Y GRUPO SNORT SIN BASH

groupadd snort

adduser -g snort snort –s /sbin/nologin

CREAMOS DIRECTORIOS DE SNORT

mkdir /etc/snort

mkdir /etc/snort/rules

mkdir /var/log/snort

COPIAMOS ARCHIVOS DE CONFIGURACION DE SNORT A DIRECTORIOS CREADOS

cd etc

cp * /etc/snort

CREAMOS BASE DE DATOS Y USUARIO SNORT

mysql -uroot -e "create database snort;"

mysql -uroot -e "grant INSERT,SELECT on root.* to snort@localhost;"

mysql -uroot -e "SET PASSWORD FOR snort@localhost=PASSWORD('123456');"

mysql -uroot -e "grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort@localhost;"

mysql -uroot -e "grant CREATE,INSERT,SELECT,DELETE,UPDATE on snort.* to snort;"

mysql -uroot < schemas/create_mysql snort

CHEQUIAMOS QUE LA BASE DE DATOS FUE CREADA CON éxito

mysql

mysql> SHOW DATABASES;

+-----------+

| Databases

+-----------+

| Snort

+-----------+

DESCARGAMOS ADODB

http://sourceforge.net/projects/adodb/files/adodb-php5-only/adodb-510-for-php5/adodb510.tgz/download

DESCOMPRIMIMOS ADODB

cd /var/www/html/

tar -xvzf /root/adodb480.tgz

DESCARGAMOS BASE

http://sourceforge.net/projects/secureideas/files/BASE/base-1.4.4/base-1.4.4.tar.gz/download

DESCOMPRIMIMOS BASE

cd /var/www/html/

tar -xvzf base-1.4.4.tar.gz

COPIAMOS ARCHIVO EJEMPLO

cp base_conf.php.dist base_conf.php

ADITAMOS PARAMETROS DE conexión

$BASE_urlpath = '/base';

$DBlib_path = '/var/www/html/adodb/';

$DBtype = 'mysql';

$alert_dbname = 'snort';

$alert_host = 'localhost';

$alert_port = '';

$alert_user = 'snort';

$alert_password = '123456';

$archive_exists = 0; # Set this to 1 if you have an archive DB

$archive_dbname = 'snort_archive';

$archive_host = 'localhost';

$archive_port = '';

$archive_user = 'snort';

$archive_password = '123456';

$db_connect_method = 2;

ARCHIVO DE conexión DE BASE DE DATOS DE SNORT

output database: log, mysql, user=snort password=123456 dbname=snort host=localhost

DESCARGAMOS GUARDIAN

http://www.chaotic.org/guardian/guardian-1.7.tar.gz

tar -xvzf guardian-1.7.tar.gz

COPIAMOS Y CREAMOS ARCHIVOS NECESARIOS

cd guardian-1.7
cp guardian.pl /usr/local/bin/
cp scripts/iptables_block.sh /usr/local/bin/guardian_block.sh
cp scripts/iptables_unblock.sh /usr/local/bin/guardian_unblock.sh
cp guardian.conf /etc/snort/
touch /etc/snort/guardian.ignore
touch /etc/snort/guardian.target
touch /var/log/snort/guardian.log

EDITAMOS ARCHIVO CONFIGURACION GUARDIAN

vi /etc/snort/guardian.conf

HostIpAddr IP SERVIDOR
Interface ETH0
HostGatewayByte 75
Logfile /etc/snort/guardian.log
AlertFile /var/log/messages
IgnoreFile /etc/snort/guardian.ignore
TargetFile /etc/snort/guardian.target
TimeLimit 86400 => TIEMPO DE BLOKEO DE GUARDIAN

ARCHIVO DE BLOQUEO A OTROS EQUIPOS

vi /usr/local/bin/guardian_block.sh

#!/bin/sh

source=$1
interface=$2
firewall_ip="192.168.0.75"

ssh root@$firewall_ip "iptables -I INPUT -s $source -i $interface -j DROP"
ssh root@$firewall_ip "iptables -I FORWARD -s $source -i $interface -j DROP"
echo "$source is blocked!" | mail -s "Snort alert is blocked"
correo@dominio.mx

ARCHIVO DE BLOQUEO DIRECTO

#!/bin/sh

source=$1

interface=$2

/sbin/iptables -I INPUT -s $source -i $interface -j DROP

ARCHIVO DESBLOQUEO

#!/bin/sh
source=$1
interface=$2
firewall_ip="192.168.0.75"

ssh root@$firewall_ip "iptables -D INPUT -s $source -i $interface -j DROP"
ssh root@$firewall_ip "iptables -D FORWARD -s $source -i $interface -j DROP"
echo "$source is blocked for 24 hours! It is released!" | mail -s "Snort alert is released" usuario@dominio.mx

ARCHIVO DESBLOQUEO DIRECTO

#!/bin/sh

source=$1

interface=$2

/sbin/iptables -D INPUT -s $source -i $interface -j DROP

CREACION DE DEMONIO GUARDIAN

vi guardian.sh
#————— CUT HERE —————–#
#!/bin/bash

start()
{
export PATH=$PATH:/usr/local/bin
/usr/local/bin/guardian.pl -c /etc/snort/guardian.conf
}

stop()
{
ps aux | grep 'guardian.pl *-c' 2>&1 > /dev/null
if [ $? -eq 0 ];
then
kill `ps aux | grep 'guardian.pl *-c' | awk '{print $2}'`
else
echo "Guardian is not running ....."
fi
}

status()
{
ps aux | grep 'guardian.pl *-c' 2>&1 > /dev/null
if [ $? -eq 0 ];
then
echo "Guardian is Running ....."
else
echo "Guardian is not Running ...."
fi
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
esac

DAMOS PERMISOS EJECUTABLES INICIAMOS SERVICIO

chmod +x guardian.sh
cp guardian.sh /usr/local/bin/guardian.sh

EDITAMOS ARCHIVO DE PROTECCION DE HOSTS DE GUARDIAN

vi /etc/snort/guardian.target

XXX.XXX.XXX.XXX

ZZZ.ZZZ.ZZZ.ZZZ

EDITAMOS ARCHIVOS E INGRESAMOS IP QUE IGNORA GUARDIAN

vi /etc/snort/guardian.ignore

127.0.0.1

XXX.XXX.XXX.XXX

DESCOMETAR LINEA DE SALIDA DE ALERTAS

vi /etc/snort/snort.confr
uncomment “output alert_syslog: LOG_AUTH LOG_ALERT”

INICIAR GUARDIAN

guardian.sh start

 

Otro dia explico reglas de Snort

Saludos y que lo disfruten ...cualquier cosita que se me fue favor avisar ...

#poweroff

Tora con Soporte Oracle

June 8, 2010 by kulk   comments (0) - Visitas: 415