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

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

原创
作者头像
xlwang
发布于 2022-03-10 13:30:54
发布于 2022-03-10 13:30:54
2.8K0
举报

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
AI代码解释
复制
sudo yum install -y gcc flex bison zlib libpcap pcre libdnet tcpdump

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

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

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

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

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

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

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

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

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

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

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

然后继续回到daq的安装。

代码语言:shell
AI代码解释
复制
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
AI代码解释
复制
systemctl start docker

然后启动snort docker:

代码语言:shell
AI代码解释
复制
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
AI代码解释
复制
alert icmp any any -> any any (msg:"Pinging...";sid:1000004;)

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

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

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

代码语言:shell
AI代码解释
复制
$ 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
AI代码解释
复制
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
PyQt5安装与使用
最近偶尔会写一些小工具提升项目组的效率,由于与物理设备交互的中间模块是基于 Python 的,用 Java 难以做到与之通信,为了方便大家日常使用,所以盯上了 Python GUI 工具,试了几个 GUI 框架,最终还是看上了 PyQt5 这个使用较多,文档相对较全的工具~
幻影龙王
2021/08/22
2K0
PyQt5安装与使用
python pyqt5弹出子窗体
from PyQt5 import QtCore, QtGui, QtWidgets import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QDialog from PyQt5.QtGui import QPainter,QPixmap
用户5760343
2019/07/05
1.8K0
【说站】python PyQt5如何实现窗口功能
1、PyQt是制作GUI应用程序的工具包。Python编程语言与Qt库的成功融合。
很酷的站长
2022/11/23
1.1K0
【说站】python PyQt5如何实现窗口功能
PyQt5 基本窗口控件(绘图类 / 拖拽 / 剪贴板 / 日历时间 / 菜单、工具、状态栏 / 打印)
learn from 《PyQt5 快速开发与实战》 https://doc.qt.io/qtforpython/index.html https://www.riverbankcomputing.com/static/Docs/PyQt5
Michael阿明
2022/05/10
2K0
PyQt5 基本窗口控件(绘图类 / 拖拽 / 剪贴板 / 日历时间 / 菜单、工具、状态栏 / 打印)
python+pycharm+pyqt5安装教程「建议收藏」
现在教大家在Windows系统下如何安装Python + PyCharm + PyQt5
全栈程序员站长
2022/09/25
4.2K0
python+pycharm+pyqt5安装教程「建议收藏」
Qt Designer界面设计器简介
   我们在制作 UI 界面的时候,一般可以通过UI制作工具和纯代码编写两种方式来实现。在 PyQt5 中,也可以采用这两种方式。在 PyQt5 中我们使用 Qt Designer 工具来制作 UI 界面。
星星在线
2019/05/28
8.3K1
python pyqt5 捕获鼠标键盘事件
import sys from PyQt5.QtCore import (QEvent, QTimer, Qt) from PyQt5.QtWidgets import (QApplication, QMenu, QWidget) from PyQt5.QtGui import QPainter
用户5760343
2019/07/22
4.2K0
用python qt5写一幅对联
用PyQt5库,就是qt在python语言环境的库。通过库提供的qt接口实现写对联这个事情。
mariolu
2024/04/12
2540
PyQt5-Qt Designer控件之间的伙伴关系和Tab顺序如何设置?
虫无涯
2023/10/13
5340
Python 图形界面框架 PyQt5 使用指南!
使用Python开发图形界面的软件其实并不多,相对于GUI界面,可能Web方式的应用更受人欢迎。但对于像我一样对其他编程语言比如C#或WPF并不熟悉的人来说,未必不是一个好的工具。
快学Python
2021/12/13
9K0
Python 图形界面框架 PyQt5 使用指南!
python qtdesigner 拖拽工具
在PyQt中编写UI界面可以直接通过代码来实现,也可以通过Qt Designer来完成。Qt Designer的设计符合MVC的架构,其实现了视图和逻辑的分离,从而实现了开发的便捷。Qt Designer中的操作方式十分灵活,其通过拖拽的方式放置控件可以随时查看控件效果。Qt Designer生成的.ui文件(实质上是XML格式的文件)也可以通过pyuic5工具转换成.py文件。 Qt Designer随PyQt5-tools包一起安装,其安装路径在 “Python安装路径\Lib\site-packages\pyqt5-tools”下。 若要启动Qt Designer可以直接到上述目录下,双击designer.exe打开Qt Designer;或将上述路径加入环境变量,在命令行输入designer打开;或在PyCharm中将其配置为外部工具打开。 下面以PyCharm为例,讲述PyCharm中Qt Designer的配置方法。
用户5760343
2019/07/05
2.5K0
micropython教程(Python集成开发环境)
Eric6官网:http://eric-ide.python-projects.org/
全栈程序员站长
2022/08/01
3.1K0
micropython教程(Python集成开发环境)
PyQt5-Qt Designer中如何设置信号与槽?
虫无涯
2023/10/18
1.1K0
讲解pyqt5 opengl demo
PyQt5 是一个基于 Python 的 GUI 库,它提供了丰富的功能来创建图形用户界面。其中的 QOpenGLWidget 类可以用来集成 OpenGL 渲染器,实现基于 OpenGL 的图形和动画效果。在本篇文章中,我们将讲解如何使用 PyQt5 创建一个简单的 OpenGL Demo。
大盘鸡拌面
2023/12/22
7860
PyQt5开发环境搭建 1.2 简单的例子
(6)在Qt Creator中使用Go to Slot对话框为组件的信号生成槽函数框架,复制函数名到Eirc6中定义槽函数并编写实现代码
会洗碗的CV工程师
2023/02/26
1.5K0
PyQt5开发环境搭建 1.2 简单的例子
相关推荐
PyQt5安装与使用
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档