Red de conocimiento informático - Material del sitio web - Cómo instalar el sistema de detección de intrusos Snort en Ubuntu

Cómo instalar el sistema de detección de intrusos Snort en Ubuntu

Snort es un excelente sistema de detección de intrusos en el host de código abierto que se puede instalar y ejecutar en plataformas Windows y Linux. Como sistema operativo Linux orientado a escritorio, ubuntu también puede instalar Snort.

Proceso de instalación de Snort

[Instalar LAMP, Snort y algunas bibliotecas de software]

Dado que Ubuntu está basado en Debian Linux, es muy fácil instalar software. y Ubuntu Hay un espejo en la Universidad de Ciencia y Tecnología de China (USTC). Su velocidad de descarga en la Red de Educación y Ciencia y Tecnología es muy rápida (2 ~ 6 M / s), por lo que evita la molestia de ir al extranjero. descargue el paquete de instalación. Solo requiere un comando y lleva decenas de segundos. Se puede instalar todo el software. Aquí instalamos usando apt, el administrador de paquetes de línea de comandos predeterminado de Ubuntu.

$ sudo apt-get install libpcap0.8-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 bison flex apache2 libapache2-mod-php5 php5-gd php5-mysql libphp-adodb php- pear pcregrep snort snort-rules-default

Cabe señalar que al instalar la base de datos MySQL, el sistema le pedirá que configure la contraseña de root de MySQL, así que configúrelo en "prueba" temporalmente.

[Crear una base de datos para Snort en MySQL]

Hay un paquete de software predeterminado snort-mysql que proporciona funciones auxiliares en la fuente de software de Ubuntu. Utilice el administrador de paquetes para descargarlo. instalarlo.

$ sudo apt-get install snort-mysql

Después de la instalación, vea el archivo de ayuda:

$ less /usr/share/doc/snort-mysql / README-database Configure el usuario de la base de datos de Snort y la base de datos en MySQL. El comando utilizado es el siguiente:

$ mysql -u root -p

Ingrese la contraseña establecida anteriormente cuando se le solicite probar

mysqlgt CREATE DATABASE snort; ;

mysqlgt; concede CREAR, INSERTAR, SELECCIONAR, ACTUALIZAR en snort.* a snort@localhost;

mysqlgt; conceder CREAR, INSERTAR, SELECCIONAR, ACTUALIZAR en snort.* ;

mysqlgt; SET PASSWORD FOR snort@localhost=PASSWORD('snort-db');

mysqlgt; exit

La función del comando anterior es crear un snort base de datos en la base de datos MySQL, cree un usuario de snort para administrar la base de datos y establezca la contraseña del usuario de snort en snort-db.

Luego establezca la estructura de la base de datos de snort de acuerdo con las instrucciones en la base de datos README.

$ cd /usr/share/doc/snort-mysql

$ zcat create_mysql.gz | mysql -u snort -D snort -psnort-db

Esto crea la estructura de la base de datos para snort en MySQL, incluidas las tablas que utilizará cada snort.

[Configurar Snort para enviar archivos de registro a la base de datos MySQL]

Modificar el archivo de configuración de Snort: /etc/snort/snort.conf

$ sudo vim /etc /snort/snort.conf

Comente la entrada HOME_NET en el archivo de configuración y luego comente la entrada HOME_SNORT.NET.

#var HOME_NET cualquiera

#var HOME_NET 192.168.0.0/16

#var EXTERNAL_NET 192.168.0.0/16

#var EXTERNAL_NET cualquiera

#var EXTERNAL_NET! $HOME_NET

Cierre sesión en la entrada de la base de datos de salida y configure la salida del registro en la base de datos MySQL de la siguiente manera:

base de datos de salida: log, mysql, usuario=snort contraseña=snort-db nombrebd = snort host=localhost

#output base de datos: log, mysql

De esta manera, snort ya no escribirá registros en los archivos en el directorio /var/log/snort, sino Los registros se almacenan en la base de datos MySQL de snort. En este punto, puedes probar si Snort está funcionando correctamente:

$ sudo snort -c /etc/snort/snort.conf

Si ves colas de cerdo dibujadas con caracteres ASCII, eso significa que Snort funciona normalmente y puede usar Ctrl-C para salir; si Snort sale de manera anormal, debe verificar si la configuración anterior es correcta.

[Prueba de servidores web Apache y PHP]

Configure el módulo php de Apache y agregue extensiones msql y gd.

$ sudo vim /etc/php5/apache2/php.ini

extensión=msql.so

extensión=gd.so

Reiniciar Apache

$ /etc/init.d/apache2 restart

Crea un nuevo archivo de texto test.php en el directorio /var/www/

$ sudo vim /var/www/test.

Ingrese lo siguiente:

lt;?php

phpinfo();gt;

Luego ingrese http://localhost/test.php en su navegador y, si está configurado correctamente, aparecerá la pantalla clásica de INFORMACIÓN de PHP, indicando que LAMP está funcionando correctamente.

[Instalar y configurar acid-base]

Instalar acid-base es muy sencillo, basta con utilizar el administrador de paquetes de Ubuntu para descargar e instalar:

$ sudo apt-get install acidbase

Durante el proceso de instalación, debe escribir el nombre de la base de datos que se utilizará para acidbase (MySQL aquí), la prueba de contraseña de root y la contraseña para acid-base (se puede omitir) .

Copie acidbase desde el directorio de instalación al directorio www. También puede crear un directorio virtual en Apache para que apunte al directorio de instalación. La copia aquí es principalmente por razones de seguridad.

sudo cp -R /usr/share/acidbase/ /var/www/

Porque base_conf.php en el directorio acidbase era originalmente base_conf.php en el directorio /etc/acidbase Enlace simbólico. Enlace simbólico de PHP, para controlar los permisos, debemos crear un directorio virtual en Apache que apunte al directorio de instalación /etc/acidbase/. Necesitamos eliminar este enlace y crear un nuevo archivo base_conf.php para mantener los permisos controlables.

$ rm base_conf.php

$ touch base_conf.php

Cambia temporalmente los permisos del directorio /var/www/acidbase/ a totalmente escribible, principalmente Se utiliza para configurar acidbase.

$ sudo chmod 757 acidbase/

Ahora puede comenzar a configurar acidbase. Ingrese http://localhost/acidbase en la barra de direcciones del navegador y saltará a la interfaz de instalación. y luego haga clic en Continuar para instalar paso a paso:

Seleccione el idioma como inglés, la ruta de adodb es /usr/share/php/adodb, seleccione la base de datos como MySQL, el nombre de la base de datos es snort, el el host de la base de datos es localhost y la base de datos. El nombre de usuario es snort y la contraseña es snort-db. Configure el nombre de usuario y la contraseña del administrador del sistema acidbase. Configure el nombre de usuario y la contraseña del administrador del sistema en admin y la contraseña para probar, y continúe hasta que se complete la instalación.

Una vez completada la instalación, puede ingresar a la interfaz de inicio de sesión, ingresar su nombre de usuario y contraseña y luego ingresar al sistema acidbase.

Aquí, debe volver a cambiar los permisos del directorio acidbase para garantizar la seguridad y luego iniciar snort en segundo plano para mostrar que la instalación del sistema de detección de intrusiones de snort se ha completado y se ha iniciado normalmente:

$ sudo chmod 775 acidbase/

$ sudo snort -c /etc/ snort/snort.conf -i eth0 -D

[Comprobando el estado del sistema de detección de intrusiones y cambio de las reglas de detección de intrusiones]

En circunstancias normales, en una red no segura, los ataques a la red se pueden detectar unos momentos después de iniciar sesión en acidbase.

Si no se detectan ataques a la red, puede probar si Snort IDS está funcionando correctamente agregando reglas más estrictas para que las conexiones de red normales puedan reportarse como ataques, por ejemplo en /etc/snort/rules/web-misc.rules:

$ sudo vi /etc/snort/rules /web-misc.rules

alert tcp any :1024 -gt; $HTTP_SERVER 500:

Esta línea significa: Alerta sobre paquetes tcp enviados desde cualquier puerto menor que 1024 a un puerto mayor que 500 en la máquina. Matar el proceso en segundo plano de Snort y reiniciarlo debería detectar que los paquetes normales están siendo tratados como ataques.

$ sudo kill `pgrep snort`

$ sudo snort -c /etc/snort/snort.conf -i eth0 -D

Resumen

Es muy sencillo instalar Snort usando el sistema de detección de intrusiones y la consola web de Ubuntu Snort, porque Ubuntu proporciona una función de instalación de paquetes de software muy conveniente, pero a veces el rendimiento de personalización es demasiado pobre, lo que requiere que los usuarios encuentren manualmente el paquete de software. Ubicación de instalación.