安装

先安装CentOS7,这个就不写了,有手就行。

如果使用yum安装的话还是比较简单的,不过还是要配置一下。

安装完 CentOS后先yum update -y一下,安装snort所需的依赖

sudo yum install -y gcc flex bison zlib libpcap pcre libdnet tcpdump

安装新版的snort还需要安装libnghttp2

sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install -y libnghttp2

鉴于官网的下载路径老是变,所以我选择在pkgs.org下载

sudo yum install http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/daq-2.0.6-1.el7.art.x86_64.rpm
sudo yum install http://www6.atomicorp.com/channels/atomic/centos/7/x86_64/RPMS/snort-2.9.6.1-1.el7.art.x86_64.rpm

执行完后就已经安装成功了,输入snort -V查看版本号

配置

1.更新共享库

sudo ldconfig

因为我们是用yum安装的,用户,用户组什么的已经在安装的时候就配置好了,所以这里就不写了

新建放置snort配置文件的文件夹,如果提示已存在就不用理它,

sudo mkdir -p /etc/snort/rules 
sudo mkdir /var/log/snort
sudo mkdir /usr/local/lib/snort_dynamicrules

设置创建的文件夹的权限

sudo chmod -R 5775 /etc/snort/
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules

创建黑白名单和本地规则

sudo touch /etc/snort/rules/white_list.rules 
sudo touch /etc/snort/rules/black_list.rules
sudo touch /etc/snort/rules/local.rules

简单配置后,下载snort的检测规则用于攻击检测,snort有三种检测规则,分别为社区、注册、订阅。

社区版是免费的,但相对功能较少,不过用于基本使用还是够的

我们安装的版本是2.x,下载相应的规则并将其复制到配置文件目录

wget https://snort.org/downloads/community/community-rules.tar.gz
sudo tar -xvf -communtiy.tar.gz -C ~/
sudo cp ~/community-rules/* /etc/snort/rules

注释掉配置中不必要的行

sudo sed -i 's/include \$RULE\_PATH/#include \$RULE\_PATH/' /etc/snort/snort.conf

配置网络和规则

在配置文件中查找以下配置,并修改参数

说明 修改前 修改后
设置需要保护的网络地址 ipvar HOME_NET any ipvar HOME_NET server_public_ip/24
设置外部网络地址 ipvar EXTERNAL_NET any ipvar EXTERNAL_NET !$HOME_NET
设置规则文件路径 var RULE_PATH /etc/snort/rules
var SO_RULE_PATH ../so_rules
var PREPROC_RULE_PATH ../preproc_rules
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
设置黑白名单路径 var WHITE_LIST_PATH ../rules
var BLACK_LIST_PATH ../rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules

最后,查找local.rules,将此行注释取消,如果使用的是社区版规则,在此行下面加多一行

include $RULE_PATH/community.rules

到这里就已经基本配置完成了。