0


计算机网络安全--snort介绍--linux下安装和使用

本文章教程使用的是WSL的 Ubuntu 22.04.1 LTS 系统
且使用的管理员账户
在这里插入图片描述

文章目录

介绍

Snort是世界上最重要的开源入侵防御系统(IPS)。Snort IPS使用一系列规则 帮助定义恶意网络活动,并使用这些规则查找与它们匹配的数据包,以及 为用户生成警报。

Snort也可以内联部署以阻止这些数据包。鼻吸有三个主要用途: 作为像tcpdump这样的数据包嗅探器,作为数据包记录器 - 这对于网络流量调试很有用,或者它可以 用作成熟的网络入侵防御系统。

官方的操作文档有着所有的操作
这里只记录着前3比较简单的操作
在这里插入图片描述

安装

查看网卡信息

wsl不自带ifconfig工具
需要下载

aptinstall net-tools

在这里插入图片描述
查看网卡信息:

ifconfig

记住是在那个位置我的在eth0
在这里插入图片描述

安装snort

aptinstall -y snort

下载完后就会弹出配置
在这里插入图片描述

需要请使用CIDR格式-例如,对于256个地址的块,使用192.168.1.0/24或192.168.1.42/32
只有一个。多个值应以逗号分隔(不带空格)

您可以将此值保留为空,并在/etc/snort/ssnort.conf中配置HOME_NET。
请注意,如果将Snort配置为使用多个接口,它将使用此值作为 HOME_NET定义。

现在我还不知道这个干嘛的就默认了,如果不对可以去修改的。

配置网卡

我的没有显示,好像是因为默认是eth0,所以eth0的不需要配置,不是的会弹出提示来配置。

查看snort版本

snort -V
# 或者snort --v

在这里插入图片描述

使用

嗅探器模式

snort # 就可以启动了

参数

可选参数:
-e 显示二层报文内容,即显示MAC地址以太网帧类型
-v 显示 IP 和 TCP / UDP / ICMP头信息
-d    显示应用层协议内容,即显示报文数据段
-C    在-d模式下,不显示16进制数据,只显示字符串类型
-X    显示链路层数据内容
-q    安静模式,不显示启动信息,不显示统计信息
-p 禁用混杂模式嗅探
-h <hn>设置家庭网络=<hn>(用于-l或-B,在IDS模式下不会更改$HOME_NET)

使用

显示,但是一般没得包,需要在创建一个终端自己ping一个。

snort -v
ping www.baidu.com

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

数据包记录模式

这个功能就是将报文保存,记录到某个路径下。

这里常用的参数有

-l    指定log存放目录
-L    指定log记录名称,建议和-l配合使用,因为它只指定文件名称
-K <mode>    记录日志模式 (pcap[默认],ascii,none),只有当使用ascii模式的时候, 才能存成人类可读格式,并且按照IP来源分开存储
-h    指定哪个网络是家庭网络,存储以远端IP为名,如果都是本地,以端口号、IP为优先级,取大者,这个只有ascii模式才有效
-D  在后台(守护程序)模式下运行Snort
-k <mode>  校验和模式(all,noip,notcp,noudp,noicmp,none)
-K <mode> 日志记录模式(pcap〔默认〕,ascii,none)
-N 关闭日志记录(警报仍然有效)

创建存放日志的目录
在这里插入图片描述

snort -dev -l ./snort_log/ -K ascii
需要加K,不然默认pcap模式我们看会乱码

启动

在这里插入图片描述

查看日志

在这里插入图片描述
在这里插入图片描述

网络入侵检测模式

这里是Snort最核心的用法,网络攻击检测

参数

-c    指定配置文件

新建并且编辑规则文件

目录

cd /etc/snort/rules/

在这里插入图片描述

alert icmp 0.0.0.0 any -> any any (logto:"test";msg:"ping";sid:100000003)

在这里插入图片描述

保存退出后

修改配置文件

在这里插入图片描述
添加

include $RULE_PATH/my.rules

启动

snort -l snort_log/ -c /etc/snort/snort.conf -K ascii

在这里插入图片描述
ping
在这里插入图片描述
查看日志
在这里插入图片描述

练习

查看它检测到其他电脑对你的电脑发出ping报文时,会发出告警信息
rules:

alert icmp any any ->0.0.0.0 any (logto:"test";msg:"new ping";sid:100000003)
sudotail -f snort_log/test -n 30

在这里插入图片描述

可能错误

ERROR: Can’t start DAQ (-1) - socket: Operation not permitted!

权限不够,切换到root权限就可以了。

Can’t start DAQ (-1) - SIOCGIFHWADDR: No such device!或者Acquiring network traffic from 不是自己的网卡

则需要修改

snort -i网卡名字# i和名字没有空格,不要加空格

can’t set daq bpf filter to ’ eth…'就是加了空格了。

规则格式介绍

alert icmp any any -> 0.0.0.0 any (logto:"test";msg:"new ping";sid:100000003)

第一部分:规则头
关键字含义alert使用选定的警报方法生成警报,然后记录数据包log记录数据包pass忽略数据包drop丢弃并记录数据包reject阻止数据包,记录它,然后发送TCP重置(如果协议是TCP)或ICMP端口不可访问消息(如果协议是UDP)sdrop阻止数据包,但不记录它
第二部分:协议
如:IP、ICMP、TCP、UDP

第三部分:发送方的IP

第四部分:发送方的端口

第五部分:方向
->单项
<>双向

第六部分:接收方的IP

第气部分:接收方的端口

端口
关键字含义关键字any可用于定义合法端口单一数字静态端口,例如23代表telnet单一数字:大于等于该端口:单一数字表示小于端口号单一数字:单一数字 端口范围!表示非该范围端口
最后一部分:规则选项
关键字含义general基本信息,并不对流量产生任何行为payload对数据流的有效载荷进行查找,可进行多数据关联查找non-payload非数据载荷查找post-detection对检测出的特定的规则进行关联触发
general类型
关键字含义msg向日志和警报引擎告知要打印的消息以及数据包转储或警报,它是一个简单的文本字符串,利用\作为转义字符来表示离散的字符,否则这些字符可能会使Snort的规则解析器感到困惑(例如分号; 字符)reference允许规则引用外部攻击识别系统,简单来说就是允许带一些参数,这个参数能够被其他攻击检测系统识别调用,方便了消息联动gid用来表示是Snort的哪个子系统产生了这次触发,建议使用从1000000开始的值。对于一般规则的编写,不建议使用gid关键字。此选项应与sid关键字一起使用sid用于唯一标识Snort规则此信息允许输出插件识别规则,常与rev关键字一起使用,文件sid-msg.map包含警报消息到Snort规则ID的映射
在对警报进行后期处理以将ID映射到警报消息时,此信息非常有用。
<100保留供将来使用
Snort发行版中包含100-999999条规则

=1000000用于当地规则rev用来唯一标识规则版本,和sid一起用classtypesnort根据其默认的规则文件,将攻击进行相应分类,并具有不同的优先级
1-4,1最高,规则分类被定义在classification.config文件中。(优先级1(高)是最严重的,优先级4(非常低)是最不严重的。)priority规则指定严重性级别metadata元数据标记允许规则编写器嵌入有关规则的附加信息,通常采用键值格式

配置文件

标签: web安全 网络 linux

本文转载自: https://blog.csdn.net/qq_56717234/article/details/129380470
版权归原作者 一只小余 所有, 如有侵权,请联系我们删除。

“计算机网络安全--snort介绍--linux下安装和使用”的评论:

还没有评论