suricata源码安装指南(centos7)

1.centos 7安装

(1)centos下载

http://mirrors.cn99.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

(2)安装及配置

a、网络配置

step1:输入dhclient ,进行动态IP分配

step2:编辑  /etc/sysconfig/network-scripts/ifcfg-ens33(不同网卡文件不同)).

修改并配置静态IP: BOOTPROTO=static       ONBOOT=yes   

增加地址信息(按实际情况修改):

IPADDR=192.168.2.123

NETMASK=255.255.255.0 

GATEWAY=192.168.2.2

DNS1=8.8.8.8

DNS2=114.114.114.114

step3:重启网卡服务:systemctl network restart

step4:查看ip是否生效命令:ip addr

b、镜像源修改

centos默认yum源不一定是国内镜像,导致yum在线安装及更新速度不是很理想。需要将yum源设置为国内镜像。国内主要是网易和阿里。

网易: http://mirrors.163.com

阿里:http://mirrors.aliyun.com

中科大:https://lug.ustc.edu.cn/wiki/lug/services/mirrors

step1:备份系统自带yum源配置文件/etc/yum.repos.d/ 目录下下的文件;在改文件夹下新建目录:mkdir  yum_repos_backup;移动该目录下的文件到yum_repos_backup中做备份。

step2:获取镜像源

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

step3:生成缓存 yum clean all ;  yum  makecache ;此时出现错误,无法生成缓存。于是增加科大的镜像 ;

wget -O CentOS-Base.repo https://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=3

再次执行yum clean all和yum makecache。


2.suricata安装前准备(依赖)

基础依赖:libpcap, libpcre, libmagic, zlib, libyaml

解析及编译工具:make  gcc (or clang)  pkg-config

如需要使用suricata完整特性,需依赖:libjansson, libnss, libgeoip, liblua5.1, libhiredis, libevent

如需Rust 支持,依赖:rustc, cargo。并非每个发行版都提供Rust包。

如centos下的安装

(1)yum install epel-release

(2)sudo yum -y install gcc libpcap-devel pcre-devel libyaml-devel file-devel \

  zlib-devel jansson-devel nss-devel libcap-ng-devel libnet-devel tar make \

  libnetfilter_queue-devel lua-devel

3.suricata 下载与安装(suricata-4.1.3.tar.gz)

https://www.openinfosecfoundation.org/download/suricata-4.1.3.tar.gz

(1)解压及配置

tar   -xvzf   suricata-4.1.3.tar.gz

cd  suricata-4.1.3

./configure    --prefix=/usr    --sysconfdir=/etc    --localstatedir=/var   

--enable-nfqueue   --enable-lua

常见的配置选项说明:

--prefix=/usr/   : 将Suricata二进制文件安装到/usr/bin/中,默认/usr/local/

--sysconfdir=/etc : 将Suricata配置文件安装到/etc/ Suricata /中。默认/usr/local/etc/

--localstatedir=/var:将Suricata日志记录到/var/log/ Suricata /中。默认/usr/local/var/log/suricata

--enable-lua : 启用Lua支持检测和输出。

--enable-geopip:启用对检测的GeoIP支持。

--disable-rust:禁用Rust支持。如果rustc/cargo可用,则默认启用Rust支持

--disable-gccmarch-native: 不要为构建二进制文件的硬件优化二进制文件。如果二进制文件是可移植的,或者Suricata要在VM中使用,则添加此标志

(2)安装

make

sudo  make  install

sudo  ldconfig

4.设置

4.1 自动设置

(4.1.1)make install-conf 

make install-conf 将执行常规的“make install”,然后它将为你自动创建/设置所有必要的目录和suricata.yaml

(4.1.2)make install-rules

make install-rules将执行常规的“make install”,然后它会从新兴的威胁(Emerging Threats)自动下载和设置最新的规则集。

如果此时如果出现suricata-update 命令未找到,需要安装suricata-update,suricata-update是用python写的。解决方法如下:

a. 首先升级python2 -> python3 

下载python3.7:  wget  https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz

解压:tar -zxf  Python-3.7.3.tgz

安装依赖: yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc  libffi-devel

配置: 进入到cdPython-3.7.3后执行./configure --prefix=/usr/local/python3.7

编译及安装:make&& make install

备份python2的软链接:mv /usr/bin/python /usr/bin/python.bak

创建python3的软连接 ;ln -s /usr/local/python3.7

/bin/python3.7 /usr/bin/python:

查看版本: python -V

因为yum需要使用python2,将/usr/bin/python改为python3后,yum就不能正常运行了,因此需要更改一下yum的配置。

vim  /usr/bin/yum

vim  /usr/libexec/urlgrabber-ext-down

编辑这两个文件,将文件头的#!/usr/bin/python改为#!/usr/bin/python2即可

b. 然后安装suricata-update

yum install python-pip python-yaml 

pip install --pre --upgrade suricata-update

再次执行make install-rules.

suricata-update 会自动进行规则更新,显示当前已经更新与启用了多少规则。规则更新后,所有的规则都会保存在/val/lib/suricata/rules/suricata.rules这一文件中,这个时候需要修改suricata配置文件的default-rule-path与rule-files来指定规则文件到这个规则上。具体内容查看suricta-update安装。

suricata-update  list-sources 可以列出当前的规则源

(4.1.3)make install-full

make install-full将结合上面提到的所有内容(install-conf和install-rules),并向您展示一个准备好运行(配置和设置)的Suricata。


4.2 手动设置

(1)首先为Suricata的日志信息创建一个目录

sudo mkdir /var/log/suricata

(2)创建/etc/suricata目录,为配置文件准备

sudo mkdir /etc/suricata

(3)从编译/安装目录复制 classification.config、reference.config 、suricata.yaml到/etc/suricata:

sudo cp classification.config /etc/suricata

sudo cp reference.config /etc/suricata

sudo cp suricata.yaml /etc/suricata

(4)设置变量

a、确保yaml配置文件中的vars、address-groups和port-groups的每个变量都已根据您的需要正确设置。完整的解释请查看yaml规则变量。需要在HOME_NET上设置本地网络的ip地址。建议将EXTERNAL_NET设置为!$HOME_NET。这样设置,除了HOME_NET上设置的ip地址之外,其他ip地址都将被视为外部地址。也可以将EXTERNAL_NET设置为“any”,使用该推荐的设置更精确,并且降低了生成误报的几率。HTTP_SERVERS、SMTP_SERVERS、SQL_SERVERS、DNS_SERVERS和TELNET_SERVERS默认设置为HOME_NET。AIM_SERVERS默认设置为“any”。必须为网络上的服务器设置这些变量。所有的设置都必须设置,这让suricata有一个更准确的效果

b、确保下面的端口设置为您需要的端口:HTTP_PORTS、SHELLCODE_PORTS、ORACLE_PORTS 、 SSH_PORTS.

c、根据需要设置主机操作系统策略,有关详细说明请参阅HOST OS 策略。

(5)规则集管理和下载

可以使用Oinkmaster进行规则管理,或者从这里下载并解压缩您选择的目录(或yaml配置设置)中的规则集http://rules.emergingthreats.net/open/suricata/,或者,如果您愿意,可以下载并使用VRT规则集。建议经常更新规则。每天修改新出现的威胁,每周或每周多次更新VRT。

(6)网络接口卡(网卡)

a、输入ifconfig ,检查可用的网卡,现在您可以看到您希望Suricata使用哪一个网卡。

b、要启动引擎并包含您想用的网卡,请输入(推荐使用错误测试规则--init-errors-fatal参数,wlan0 可以改为你喜欢的接口卡):

sudo suricata -c /etc/suricata/suricata.yaml -i wlan0 --init-errors-fatal

c、要查看引擎是否正常工作并接收和检查流量,请输入:

cd /var/log/suricata  

tail http.log 或者tail -n 50 stats.log

d、要确保显示的信息是实时更新的,请在http.log和stats.log之前使用-f选项

tail -f http.log stats.log

你可能感兴趣的:(suricata源码安装指南(centos7))