一、介绍
1. Snort是一套开源的网络入侵检测系统(NIDS),主要功能有包嗅探、包记录和入侵检测功能。
Snort能够对网络上的数据包进行抓包分析,但区别于其它嗅探器的是,它能根据所定义的规则进行响应及处理。Snort 通过对获取的数据包,进行各规则的分析后,根据规则链,可采取Activation(报警并启动另外一个动态规则链)、Dynamic(由其它的规则包调用)、Alert(报警),Pass(忽略),Log(不报警但记录网络流量)五种响应的机制。
Snort有数据包嗅探,数据包分析,数据包检测,响应处理等多种功能,每个模块实现不同的功能,各模块都是用插件的方式和Snort相结合,功能扩展方便。例如,预处理插件的功能就是在规则匹配误用检测之前运行,完成TIP碎片重组,http解码,telnet解码等功能,处理插件完成检查协议各字段,关闭连接,攻击响应等功能,输出插件将得理后的各种情况以日志或警告的方式输出。
2. Barnyard2是Snort专用的处理程序。
为了减少Snort进程的负担,Snort将符合规则的二进制数据包以及日志保存在本地而不进行处理。Barnyard2进行异步处理并保存至Mysql。
3. PulledPork是Snort规则集更新程序。
PulledPork是一个Perl脚本,用来自动下载最新的Snort规则集。
4. BASE是Snort的web前端。
用于查询和分析Snort警报的web前端。
二、环境准备
1.系统环境
Ubuntu 18.04 LTS
2.软件环境
Mysql / Apache2 / PHP 5.5 / SNORT / Barnyard2 / BASE
3.库环境
sudo apt-get update -y
sudo apt-get dist-upgrade -y
sudo apt-get install -y zlib1g-dev liblzma-dev openssl libssl-dev
sudo apt-get install -y build-essential bison flex
sudo apt-get install -y libpcap-dev libpcre3-dev libdumbnet-dev libnghttp2-dev
sudo apt-get install -y mysql-server libmysqlclient-dev mysql-client autoconf libtool
sudo apt-get install -y libcrypt-ssleay-perl liblwp-useragent-determined-perl libwww-perl
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update -y
sudo apt-get install -y apache2 libapache2-mod-php5.6 php5.6 php5.6-common php5.6-gd php5.6-cli php5.6-xml php5.6-mysql
sudo apt-get install -y php-pear libphp-adodb