snort安装
snort的安装跳转Blog:
ubuntu系统配置相关Blog:
环境配置
Ubuntu: Ubuntu 20.04.2 ARM64 【parallel虚拟机】
macOS: macOS Monterey. M1, 2020, ARM64【物理机】
ubuntu操作用户:在parallels普通用户下进行snort部署
snort版本:snort-2.9.20
daq-2.0.7版本:daq-2.0.7
规则集版本: 29200
Tips: 注意!规则集和snort版本要对应上,因为不同版本的可能会有一些新规则不能匹配上,就不能顺利运行。参考官网,每个新版本的说明,包括规则集的说明:
ubuntu源:中科大arm源
snort工作模式、配置文件介绍
snort工作模式、配置文件 Blog跳转链接:
配置snort
更新共享库
sudo ldconfig
创建符号连接
snort被安装到 /usr/local/bin/snort
创建符号链接到 /usr/sbin/snort
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
创建snort用户
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
参数说明:
-r:创建一个系统账户
-s:用户登录后使用的shell名称(默认值不填写,这样系统会指定预设的登入shell,根据/etc/default/useradd预设值)【sbin/nologin 代表这个用户无法使用bash或其他shell来登陆系统,即使给了密码也不行,但是可以使用系统资源。只是不能登陆主机而已。】
-g:group名称【添加到snort组下】
-c:comment,注释说明栏
创建snort文件夹
创建snort文件夹用以存放snort配置文件
sudo mkdir -p /etc/snort/rules
sudo mkdir /var/log/snort
sudo mkdir /usr/local/lib/snort_dynamicrules
给文件夹赋予权限
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
775权限:
root有读、写、执行权限
组用户有读、写、执行权限
其他用户有读、执行权限
读取权限 r=4。写入权限 w=2。执行权限 x=1
第一个数字 :拥有者权限(root,文件所有者)
第二个数字 :组用户权限(与文件所有者属于同一个用户组)
第三个数字 :其他用户权限
将这些文件的所属修改为之前创建的snort组里面的snort用户
查看文件所属
ls -l <file>
第一列含义:
第一个字母含义:
第一个字母d:意味着内容是目录或文件
如果第一个是
-
:意味着它的内容是文件 第一个是l:意味着内容是链接文件
后面的内容是文件所属
(对应着三个数字权限775)
前三个字母是文件拥有者权限
中间三个是文件所有组权限
后三个是其他人访问文件的权限
第二列含义:多少链接指向这个文件
第三列含义:谁是这个文件/文件夹的所有者
第四列含义:谁是这个文件/文件夹所有组
第五列含义:这个文件/文件夹的以字节为单位的大小。目录的大小总是4096字节
第六列含义:文件最后修改时间
第七列含义:文件名或目录名
创建黑白名单和规则
sudo touch /etc/snort/rules/white_list.rules
sudo touch /etc/snort/rules/black_list.rules
sudo touch /etc/snort/rules/local.rules
复制配置文件
从下载的snort-2.9.20文件夹里复制配置文件
snort-2.9.20 的路径/home/parallels/snortFile
sudo cp ~/snortFile/snort-2.9.20/etc/*.conf* /etc/snort
sudo cp ~/snortFile/snort-2.9.20/etc/*.map /etc/snort
下载snort规则集
snort官网提供了三种规则集:
- 社区版:免费的,但是只是很简单的规则限制
- 注册版:免费注册后可以获得code,用code可以下载注册版规则
- 订阅版:需要订阅,才可以下载规则
我选择了注册版,以下都以注册版进行演示。
oinkcode
注册成功后,会给一个oinkcode,在个人信息中可以找到
然后就可以下载规则了,将oinkcode换成自己的
wget https://www.snort.org/rules/snortrules-snapshot-29200.tar.gz?oinkcode=oinkcode -O ~/registered.tar.gz
复制规则
下载完成后,将规则解压到snort配置文件夹 /etc/snort
sudo tar -xvf ~/registered.tar.gz -C /etc/snort
配置网络和规则
已经有了配置以及规则文件,需要修改snort.conf的变量。
sudo vim /etc/snort/snort.conf
修改snort.conf的内容
设置需要保护的ip地址
# Setup the network addresses you are protecting
ipvar HOME_NET server_public_ip/24
# Set up the external network addresses. Leave as "any" in most situations
ipvar EXTERNAL_NET !$HOME_NET
# Path to your rules files (this can be a relative path)
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
# Set the absolute path appropriately
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
在setp6里,设置输出
# unified2
# Recommended for most installs
output unified2: filename snort.log, limit 128
翻到最下面,找到规则集列表。打开local.rules的注释,以允许snort装载个性化规则集。
include $RULE_PATH/local.rules
保存编辑:wq
测试是否能正常工作
sudo snort -T -c /etc/snort/snort.conf
运行成功
附录:snort 文件部署路径
snort安装包所在路径、相关文档
/home/parallels/snortFile
- doc:snort的一些说明文档所在文件夹
snort规则文件、配置文件
cd /etc/snort
snort日志文件
cd /var/log/snort
snort运行
/usr/local/bin/snort