Suricata是一个开源的高性能现代的网络入侵检测 ,为的 Unix / Linux,FreeBSD和基于Windows的系统防护和监控系统 。 它的开发,并通过一个非营利基金会的OISF( 开放信息安全基金会 )所拥有。
近日,OISF项目小组宣布Suricata 1.4.4的轻微,但关键更新的释放和固定在以前版本的一些基本错误。
安装Suricata入侵检测和防御
海岛特点
IDS / IPS
Suricata是一个基于规则的入侵检测和防护引擎,利用外部开发的规则集来监视网络流量 ,以及能够处理多个千兆字节的流量 ,并提供电子邮件警报系统 / 网络管理员。
多线程
Suricata提供速度和重要性,在网络流量的决心。 该发动机被开发以应用由现代多核硬件芯片组提供的增加的处理能力。
自动协议检测
该引擎不仅提供关键字TCP,UDP,ICMP和IP,但也有一个内置的HTTP,FTP,TLS和SMB支持。 系统管理员可以能够创建自己的规则的HTTP流中检测到一个匹配。 这将成为恶意软件不同的检测和控制 。
快速IP匹配
该发动机肯定会考虑是匹配基础上,RBN IP和正在出现的威胁大打折扣IP列表和他们保持到特定的快速匹配预处理规则。
另请参阅 : 安装LMD - Linux的恶意软件在Linux中检测
步骤:1在RHEL,CentOS和Fedora中安装Suricata
您必须使用Fedora的EPEL软件库安装一些所需的软件包为i386和x86_64系统。
在可以编译和构建Suricata为您的系统,安装所需要的进一步的安装以下依赖包。 该过程可能需要一段时间才能完成,具体取决于互联网的速度。
# yum -y install libpcap libpcap-devel libnet libnet-devel pcre \ pcre-devel gcc gcc-c++ automake autoconf libtool make libyaml \ libyaml-devel zlib zlib-devel libcap-ng libcap-ng-devel magic magic-devel file file-devel
IPS支持
接下来,IPS支持建立Suricata。 为此,我们需要“libnfnetlink”和“libnetfilter_queue”套餐,但在EPEL或CentOS的 base库不能使用这些预构建的软件包。 因此,我们需要从正在出现的威胁CentOS的资料库下载和安装的RPM。
对于32位
# rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnetfilter_queue-0.0.15-1.i386.rpm \ http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnetfilter_queue-devel-0.0.15-1.i386.rpm \ http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-0.0.30-1.i386.rpm \ http://rules.emergingthreatspro.com/projects/emergingrepo/i386/libnfnetlink-devel-0.0.30-1.i386.rpm
对于64位
# rpm -Uvh http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnetfilter_queue-0.0.15-1.x86_64.rpm \ http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnetfilter_queue-devel-0.0.15-1.x86_64.rpm \ http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnfnetlink-0.0.30-1.x86_64.rpm \ http://rules.emergingthreatspro.com/projects/emergingrepo/x86_64/libnfnetlink-devel-0.0.30-1.x86_64.rpm
下载Suricata
下载最新Suricata源文件并使用以下命令生成它。
# cd /tmp # wget http://www.openinfosecfoundation.org/download/suricata-1.4.4.tar.gz # tar -xvzf suricata-1.4.4.tar.gz # cd suricata-1.4.4
现在我们使用Suricata自动设定功能可以自动创建所有必需的目录 , 配置文件和最新规则集 。
# ./configure && make && make install-conf # ./configure && make && make install-rules # ./configure && make && make install-full
第2步:在Debian和Ubuntu中安装Suricata
在开始安装之前,必须在系统上安装以下必备软件包才能进行进一步操作。 确保你必须以root用户运行下面的命令。 此安装过程可能需要一些时间,具体取决于您的互联网的当前速度。
# apt-get -y install libpcre3 libpcre3-dbg libpcre3-dev \ build-essential autoconf automake libtool libpcap-dev libnet1-dev \ libyaml-0-2 libyaml-dev zlib1g zlib1g-dev libmagic-dev libcap-ng-dev \ pkg-config magic file libhtp-dev
IPS支持
默认情况下,可以作为一个IDS。 如果你想添加IDS支持,如下所示安装一些所需的软件包。
# apt-get -y install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev libnfnetlink0
下载Suricata
下载最新Suricatatar球,并使用以下命令生成它。
# cd /tmp # wget http://www.openinfosecfoundation.org/download/suricata-1.4.4.tar.gz # tar -xvzf suricata-1.4.4.tar.gz # cd suricata-1.4.4
使用Suricata自动设置选项来自动创建所有必需的目录 , 配置文件和规则集 ,如下图所示。
# ./configure && make && make install-conf # ./configure && make && make install-rules # ./configure && make && make install-full
第3步:Suricata基本设置
下载并安装Suricata之后,现在是时候进行基本设置 。 创建以下指导。
# mkdir /var/log/suricata # mkdir /etc/suricata
接下来的部分是对配置文件的复制,如“classification.config”,从基地建设安装目录“reference.config”和“suricata.yaml”。
# cd /tmp/suricata-1.4.4 # cp classification.config /etc/suricata # cp reference.config /etc/suricata # cp suricata.yaml /etc/suricata
最后,启动“Suricata引擎 ”首次注明您的偏好的接口设备名称。 而不是eth0,你可以包括你的喜好网卡。
# suricata -c /etc/suricata/suricata.yaml -i eth0 23/7/2013 -- 12:22:45 - - This is Suricata version 1.4.4 RELEASE 23/7/2013 -- 12:22:45 - - CPUs/cores online: 2 23/7/2013 -- 12:22:45 - - Found an MTU of 1500 for 'eth0' 23/7/2013 -- 12:22:45 - - allocated 2097152 bytes of memory for the defrag hash... 65536 buckets of size 32 23/7/2013 -- 12:22:45 - - preallocated 65535 defrag trackers of size 104 23/7/2013 -- 12:22:45 - - defrag memory usage: 8912792 bytes, maximum: 33554432 23/7/2013 -- 12:22:45 - - AutoFP mode using default "Active Packets" flow load balancer 23/7/2013 -- 12:22:45 - - preallocated 1024 packets. Total memory 3170304 23/7/2013 -- 12:22:45 - - allocated 131072 bytes of memory for the host hash... 4096 buckets of size 32 23/7/2013 -- 12:22:45 - - preallocated 1000 hosts of size 76 23/7/2013 -- 12:22:45 - - host memory usage: 207072 bytes, maximum: 16777216 23/7/2013 -- 12:22:45 - - allocated 2097152 bytes of memory for the flow hash... 65536 buckets of size 32 23/7/2013 -- 12:22:45 - - preallocated 10000 flows of size 176 23/7/2013 -- 12:22:45 - - flow memory usage: 3857152 bytes, maximum: 33554432 23/7/2013 -- 12:22:45 - - IP reputation disabled 23/7/2013 -- 12:22:45 - - using magic-file /usr/share/file/magic
几分钟后,检查发动机是否正常工作,接收和检查交通。
# cd /usr/local/var/log/suricata/ # ls -l -rw-r--r-- 1 root root 25331 Jul 23 12:27 fast.log drwxr-xr-x 2 root root 4096 Jul 23 11:34 files -rw-r--r-- 1 root root 12345 Jul 23 11:37 http.log -rw-r--r-- 1 root root 650978 Jul 23 12:27 stats.log -rw-r--r-- 1 root root 22853 Jul 23 11:53 unified2.alert.1374557837 -rw-r--r-- 1 root root 2691 Jul 23 12:09 unified2.alert.1374559711 -rw-r--r-- 1 root root 2143 Jul 23 12:13 unified2.alert.1374559939 -rw-r--r-- 1 root root 6262 Jul 23 12:27 unified2.alert.1374560613
关注“stats.log”文件,并确保显示的信息是实时的 了,过时了 。
# tail -f stats.log tcp.reassembly_memuse | Detect | 0 tcp.reassembly_gap | Detect | 0 detect.alert | Detect | 27 flow_mgr.closed_pruned | FlowManagerThread | 3 flow_mgr.new_pruned | FlowManagerThread | 277 flow_mgr.est_pruned | FlowManagerThread | 0 flow.memuse | FlowManagerThread | 3870000 flow.spare | FlowManagerThread | 10000 flow.emerg_mode_entered | FlowManagerThread | 0 flow.emerg_mode_over | FlowManagerThread | 0