Título: Snort: Detección de intrúsos y ataques Publicado por: MurdeR^^ en 24 Septiembre 2007, 09:16 am Snort: Detección de intrúsos y ataques // By MurdeR ( http://www.thefreeks.com.ar , x3m_murder@hotmail.com )
####################### Instalación de Snort+ ACID: ####################### Instalaremos Snort, utilizando una base de datos mysql y apache para el ACID (para ver estadísticas en vivo). Paso 1: Bajar todos los paquetes; - snort-x.x.x.tar.gz - acid-x.x.x - adodb-x.x-for-php - jpgraph-x.x - mysql-x.x.x - apache-1.3.x - php-4.x (recomiendo apache 1.3 y php 4 ya que algunas características cambian en diferentes versiones) Paso 2: Descomprimir y compilar snort; root@murder # tar -zxvf snort.tar.gz root@murder # cd snort root@murder # ./configure --sysconfdir=/etc --prefix=/usr --with-mysql=/usr && nice -19 make root@murder # make install y creamos un directorio para los logs: root@murder # mkdir /var/log/snort Paso 3: Instalar mysql, apache y php; http://www.diosdelared.com/foro/index.php?topic=636.0 (http://www.diosdelared.com/foro/index.php?topic=636.0) Paso 4: Crear tablas y configurar usuario en mysql; root@murder # mysql -u root -p Desde aca en mysql... Creamos la db: $ CREATE DATABASE snort Le ponemos clave: $ grant all on snort.* to root@localhost identified by "password" $exit Salimos de mysql.. volvemos a la consola; root@murder # mysql -u root -ptu_contraseña < /usr/src/snort-x.x.x/schemas/create_mysql snort Paso 5: Configuramos Snort; root@murder # mkdir /etc/snort; mkdir /etc/snort/rules root@murder # cd /usr/src/snort-2.3.3/ root@murder # cp etc/* /etc/snort root@murder # cd rules root@murder # cp * /etc/snort/rules Editamos el conf file; root@murder # gedit /etc/snort/snort.conf usando control f (buscar) buscamos la linea que pone RULE_PATH y la sustituimos por: var RULE_PATH /etc/snort/rules y localizamos la que pone "output database" y la sustituimos por: output database: log, mysql, user=root password=tu_contraseña dbname=snort host=localhost Guardar y cerrar gedit (o vim o lo que sea) Paso 6: Instalando ACID; root@murder # tar zxvf acid-x.x.x.tar.gz Lo movemos a htdocs (o donde pitos este el home de apache..) root@murder # mv ./acid /var/www/htdocs/ Descomprimimos tambien jpgraph (para las imagenes) y adodb y los movemos: root@murder # tar zxvf jpgraph-x.x.tar.gz root@murder # mv ./jpgraph-x.x /var/www/htdocs/acid/jpgraph root@murder # tar zxvf adodbxxx.tgz root@murder # mv ./adodb/var/www/htdocs/acid/adodb Editamos el conf file de acid: root@murder # gedit /var/www/htdocs/acid/acid_conf.php Localizamos y modificamos la linea que pone: $Dblib_path $DBlib_path = "/var/www/htdocs/acid/adodb"; Y modificamos las alertas (control f, $alert ;), deben quedar así: $alert_dbname = "snort"; $alert_host = "localhost"; $alert_port = ""; $alert_user = "root"; $alert_password = "tu_contraseña"; $ChartLib_path = "/var/www/htdocs/acid/jpgraph/src"; Ahora creamos el siguiente archivo: root@murder # gedit /var/www/htdocs/acid/.htaccess (Esta en blanco..) y ponemos lo siguiente: AuthName ?Acid Access? AuthType Basic AuthUserFile /var/www/htdocs/acid/htpasswd.users require valid-user Guardar, salir y listo. Paso (ya me perdi xD) ah si, 7: Editamos el access de apache; root@murder # gedit /etc/apache/access.conf y agregamos: <Directory /var/www/htdocs/acid/> AllowOverride AuthConfig order allow,deny allow from all Options ExecCGI </Directory> al final o donde quieran... guardar, salir ahora editamos httpd.conf: root@murder # gedit /etc/apache/httpd.conf y modificamos el user y group por: User web Group web guardar, salir.. Para terminar, reiniciamos apache: root@murder # apachectl restart o si no esta arrancado: root@murder # apachectl start Paso final de la instalacion (8...): Activamos el snort: root@murder # snort -devyq -c /etc/snort/snort.conf -l /var/log/snort/ -D y lo añadimos a rc.local (script bash de arranque-.-) para que arranque cada vez que se reinicia: root@murder # echo snort -devyq -c /etc/snort/snort.conf -l /var/log/snort/ -D >> /etc/rc.d/rc.local Para ver las estadisticas en el acid pongan en el navegador: http://localhost/acid y voilá. ####################### Usando snort a mano: ####################### Es muy sencillo e intuitivo, ponemos el snort a snifar el trafico de la interfaz deseada, en este caso eth0: murder@murder $ snort -c /var/log/snort -i eth0 Listo, esto registrará todas las alertas de ataques, scaneos, etc. en los logs. Para verlo no hay mas que murder@murder $ cd /var/log/snort murder@murder $ ls y obtendran un resultado como este: 192.168.0.2/ 200.129.x.x/ alert ################### Configuracion avanzada: ################### Snort se basa en reglas para detectar los intentos de ataques, estas reglas se pueden crear manualmente (un rollazo) o descargar y cargar de la siguiente manera: root@murder # wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_os/snortrules-snapshot-CURRENT.tar.gz Creamos un dir para las reglas: root@murder # mkdir /etc/snort/rules Descomprimimos: root@murder # tar -zxvf snortrules-snapshot-CURRENT.tar.gz Movemos al directorio recien creado: root@murder # cp * /etc/snort/rules root@murder # cd /etc/snort root@murder # gedit snort.conf y lo modificamos de la siguiente forma: ####################################### var HOME_NET 192.168.126.0/24 var EXTERNAL_NET !$HOME_NET var RULE_PATH /etc/snort/rules --------include classification.config --> include $RULE_PATH/../classification.config --------include reference.config --> include $RULE_PATH/../reference.config ######################### end ############################# Y despues de la linea preprocessor stream4_reassemble agregar lo siguiente: ### preprocessor stream4_reassemble: both,ports 21 23 25 53 80 110 111 139 143 445 513 1433 ### end ### Descomentamos la linea: ##### output database: log, mysql, user=snort password=snort dbname=snort host=localhost #### end #### Guardar... cerrar.. Ahora le cambiamos el propietario/grupo al dir de las reglas: root@murder # chown -R snort.snort /etc/snort/rules Y list... ######################## Actualización automatica: (esta parte es extraida de nabble.com) ######################## Instalar y Configurar OinkMaster para actualizar automaticamente snort descargamos oinkmaster desde sourceforge y lo descomprimimos cd /root/snortinstall wget http://superb-west.dl.sourceforge.net/sourceforge/oinkmaster/oinkmaster-2.0.tar.gz tar -zxvf oinkmaster-2.0.tar.gz copiamos el archivo oinkmaster.pl a /usr/sbin/ y el archivo oinkmaster.conf lo copiamos en /etc/ cd /root/snortinstall/oinkmaster-2.0/ cp oinkmaster.pl /usr/sbin/ cp oinkmaster.conf /etc/ le cambiamos los permisos a esos archivos: chmod +x /usr/sbin/oinkmaster.pl chmod 755 /etc/snort ???? entramos en la pagina de snort: http://www.snort.org y entramos con nuestra cuenta de snort, despues del acceso, nos dirigimos a la parte inferior de la pagina y presionamos el boton "Get Code" copiamos ese codigo y luego editamos el archivo /etc/oinkmaster.conf asi: debemos copiar el codigo de seguridad generado anteriormente y reemplazarlo donde dice <oinkcode> #url = http://www.snort.org/pub-bin/oinkmaster.cgi/<oinkcode>/snortrules-snapshot-CURRENT.tar.gz url = http://www.snort.org/pub-bin/oinkmaster.cgi/79a09e5e6d8531a8f34bc582167ab4ecb469bfcb/snortrules-snapshot-CURRENT.tar.gz como superusuario le ponemos una contrasena al usuario snort: su - passwd snort luego ejecutamos la actualizacion: sudo -u snort /usr/sbin/oinkmaster.pl -o /etc/snort/rules para programar la actualizacion todos los dias a las 7:30, agregamos la siguiente linea al archivo /etc/crontab: 30 7 * * * snort /usr/bin/oinkmaster.pl -o /etc/snort/rules ########### FIN ########### Título: Re: Snort: Detección de intrúsos y ataques Publicado por: Lisbeth Salander en 18 Abril 2008, 10:01 am Mi pregunta es si es realmente necesario instalar una base de datos mysql y apache para el ACID o si por el contrario es solo un complemento. Gracias
Título: Re: Snort: Detección de intrúsos y ataques Publicado por: T0rete en 18 Abril 2008, 10:50 am Con mysql y acid en otra maquina se trata de tener las alertas en otra maquina, de una forma ordenada y facil de consultar. Desde luego que puedes instalar simplemente el snort en una maquina y simplemente mira los logs.
Si lo vas a instalar en una red con algo de tráfico te recomiendo que instales estos u otros complementos que te premitan ver y clasificar los logs de forma clara. Título: Re: Snort: Detección de intrúsos y ataques Publicado por: Lisbeth Salander en 18 Abril 2008, 11:41 am Gracias por la informacion. Bueno pues estoy usando snort y estoy intentando añadir nuevas reglas, pero no se en que directorio estan ni que fichero tengo que modificar.
Concretamente quiero generar una alerta para detectar un ping procedente de una maquina que esta dentro de mi propia subred. Que es lo que hay que hacer? Título: Re: Snort: Detección de intrúsos y ataques Publicado por: T0rete en 18 Abril 2008, 15:57 pm La verdad es que nunca he hecho una regla (lo tengo en la maquina con el IPCOP), me limito a actualizar las firmas y activar las alertas que vienen en el conf pero es algo muy interesante.
En este taller viene como se crea una regla para un TCP ping, espero que te sea de ayuda. http://nautopia.coolfreepages.com/snort_cap3.htm Citar alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"Escaneo ping con nmap";flags:A;ack:0; reference:arachnids,28;classtype:attempted-recon; sid:628; rev:1;) Supongo que podrás hacer una regla para ICMP. Título: Re: Snort: Detección de intrúsos y ataques Publicado por: Nedsecurity en 1 Mayo 2014, 18:00 pm Hola, sé que este hilo está ya completamente en deshuso, pero me gustaría saber algunas reglas de snort para proteger un servidor de correo, he estado investigando y he visto pop3.rules, pero no se muy bien como usarla, si alguien me pudiese ayudar...
Un saludo Título: Re: Snort: Detección de intrúsos y ataques Publicado por: Aprendiz-Oscuro en 3 Mayo 2014, 22:47 pm Pues haces referencia a dicho hilo si quieres pero abriendo un tema nuevo. No se reviven temas tan antiguos. Lo siento.
Saludos!! |