前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >centos虚拟机系统下载安装snort指南

centos虚拟机系统下载安装snort指南

原创
作者头像
xlwang
发布2022-03-10 21:30:54
2.4K0
发布2022-03-10 21:30:54
举报

snort是一种强大的网络入侵检测系统。其主要有三大功能,不过今天在centos系统里我们主要采用其入侵检测功能,即把snort作为入侵检测系统来采集告警日志,以备后续使用。

要是直接在centos主机上安装,倒也不那么麻烦,下载snort需要的依赖包和snort安装包,然后make&&make install;接着修改配置文件,调通虚拟机与外网和主机之间的互相访问;第三步是自己要写一两条alert规则,然后进行测试:用其他主机ping这台虚拟机,如果终端显示有日志,则说明没有问题。

一、wget源码安装、配置与使用方法

snort的安装有三种方式:

  • yum源方式
  • wget+下载链接方式
  • 还有一种是docker打包好的snort

这三种方法我都试了。可行的是后两种。不过大部分人都喜欢用源代码的方式安装,方便以后学习研究代码,也可以自行调试snort,编写snort规则,测试snort功能。下面会一一介绍这两种方式的下载安装过程。

1.1 wget+下载链接方式

首先介绍wget+下载链接方式。手动下载需要敲很多行命令。

代码语言:shell
复制
sudo yum install -y gcc flex bison zlib libpcap pcre libdnet tcpdump

从源代码在 CentOS 上设置 Snort 包括几个步骤:下载代码、配置它、编译代码、将其安装到适当的目录,最后配置检测规则。

在开始之前,除了已经安装的先决条件之外,您还需要以下开发包。

代码语言:shell
复制
sudo yum install -y zlib-devel libpcap-devel pcre-devel libdnet-devel openssl-devel libnghttp2-devel luajit-devel

准备好后,在您的主目录中创建一个临时下载文件夹,然后使用以下命令更改为该文件夹。

代码语言:shell
复制
mkdir ~/snort_src && cd ~/snort_src

使用下面的 wget 命令从Snort网站下载最新的DAQ源包。如果有更新的源可用,请替换命令中的版本号。

代码语言:shell
复制
wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz

解压daq的源码包,此时直接安装daq会有报错,缺少各种各样的依赖包,所以要先安装依赖包,于是先用以下命令安装libpcap。

代码语言:shell
复制
wget http://www.tcpdump.org/release/libpcap-1.7.4.tar.gz

然后对libpcap压缩包进行解压。之后再进到libpcap目录,对libpcap进行编译运行:

代码语言:shell
复制
    tar -xzvf  libpcap-1.7.4.tar.gz
    cd libpcap-1.7.4
    ./configure && make && sudo make install

然后继续回到daq的安装。

代码语言:shell
复制
cd ../daq-2.0.7
./configure && sudo make && sudo make install

二、docker安装

1.2 docker-snort安装

docker安装snort简单多了。首先是先在centos系统中输入docker命令,发现提示该command not found。

于是先安装docker。一行就完事儿:yum install docker

安装好以后,再执行docker pull linton/docker-snort

就安装好了。

启动snort前一定要先打开docker服务。

代码语言:shell
复制
systemctl start docker

然后启动snort docker:

代码语言:shell
复制
docker -it --rm --net-host linton/docker-snort /bin/bash

在启动snort时,要提前配置好snort的告警规则。snort的配置文件在/etc/snort/rules/local.rules,可以把想验证的规则放在该文件里,以给入侵检测系统提供规则。

三、添加规则

对于测试snort的入侵检测功能,添加下面这条规则到/etc/snort/rules/local.rules:

代码语言:shell
复制
alert icmp any any -> any any (msg:"Pinging...";sid:1000004;)

运行snort并将告警输出到屏幕上:

代码语言:shell
复制
$ snort -i eth0 -c /etc/snort/etc/snort.conf -A console

运行snort并将告警输出到UNIX socket:

代码语言:shell
复制
$ snort -i eth0 -A unsock -l /tmp -c /etc/snort/etc/snort.conf

Ping 容器然后警告消息将显示在控制台上:

Ping in the container then the alert message will show on the console

代码语言:shell
复制
ping 8.8.8.8

添加以上规则后,snort输出的告警日志格式为:

06/28-22:38:51.673951 ** ICMP ** {ICMP} 192.168.56.1 -> 192.168.56.103

四、开机自启动

前提是已经做了docker服务和容器随服务器开机而自启动。

容器开机自启动:--restart=always:创建容器时加入该选项即可实现容器开机启动。

将现有容器

参考资料

1.2 参考文档

1.2.1 环境部署搭建文档

https://blog.csdn.net/u013816144/article/details/53729153

https://www.cnblogs.com/zlslch/p/7306632.html

https://klionsec.github.io/2017/09/22/snortpentest/

1.2.2 规则编写文档

https://blog.csdn.net/qq_28210869/article/details/78886604

https://www.cnblogs.com/lasgalen/p/4512755.html

https://www.cnblogs.com/Lthis/p/4949766.html

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、wget源码安装、配置与使用方法
    • 1.1 wget+下载链接方式
    • 二、docker安装
      • 1.2 docker-snort安装
      • 三、添加规则
      • 四、开机自启动
      • 参考资料
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档