Snort3——配置功能

该文章已生成可运行项目,

目录

步骤一        获取 Snort3 规则集和 OpenAppID

步骤二        配置 snort.lua

步骤三        检查配置

步骤四        设置 snort 为服务模式

1. 创建 log 文件夹存放 snort 日志

2. 为 Snort 单独创建用户,并设置用户 shell 为 nologin

3. 创建 Snort3 服务

4. 修改 Snort 日志目录的属性

5. 启动 Snort3 服务并设置为开机自启动

6. 检查运行状态


        在发布博客之前,博主新建虚拟机,严格按照以下步骤进行测试,可一遍调通。

步骤一        获取 Snort3 规则集和 OpenAppID

        官网下载 Snort3 社区规则集和 OpenAppID ,并通过共享文件夹或者其他方式传入虚拟机的自定义路径下(博主把规则集压缩包放在了 ../../Snort/rules/ 路径下,把 OpenAppID 放在了 ../../Snort/OpenAppID/ 路径下),然后解压。要搭建共享文件夹请参考文章,此处不再赘述。

        在 ../../Snort/rules/ 路径下打开终端,执行以下命令解压规则集。

tar -xzvf ./snort3-community-rules.tar.gz
// 此处压缩包名称需替换为你实际的压缩包名称,一般情况下名称与此处一致

        在 ../../Snort/OpenAppID/ 路径下打开终端,执行以下命令解压 OpenAppID 。

tar -xzvf ./snort-openappid.tar.gz
// 此处压缩包名称需替换为你实际的压缩包名称,一般情况下名称与此处一致

步骤二        配置 snort.lua

        Snort 的主配置文件 snort.lua 一般位于 /usr/local/etc/snort/snort.lua ,接下来需要修改该文件,可使用系统预装的 nano 编辑器进行编辑,也可以安装 vim 高效文本编辑器进行编辑。

        安装 vim (可选)。

sudo apt update && sudo apt install vim

        执行以下命令,编辑 snort.lua 主配置文件。

// 使用 nano
sudo nano /usr/local/etc/snort/snort.lua

// 使用 vim
sudo vim /usr/local/etc/snort/snort.lua

        执行命令后,将会进入 snort.lua 的文件编辑页面,此时请务必不要强行关闭终端! 

        在 snort.lua 文件中,需要修改的项目有:

  • 将 HOME_NET 的值修改为需要进行网络入侵检测的网段,可以设置为主机所在的网段。
    HOME_NET = '192.168.1.100'
    
  • 将 EXTERNAL_NET 的值修改为除了 HOME_NET 以外的所有网段。
    EXTERNAL_NET = '!$HOME_NET'
  • 在 ips 的字段中添加键值对,其中规则集路径需替换为之前解压的实际路径,可以添加社区规则集,也可以添加自定义的规则集。
    ips =
    {
        -- use this to enable decoder and inspector alerts
        --enable_builtin_rules = true,
    
        -- use include for rules files; be sure to set your path
        -- note that rules files can include other rules files
        -- (see also related path vars at the top of snort_defaults.lua)
        include = '/home/jin/Snort/rules/snort3-community-rules/snort3-community.rules',
        variables = default_variables
    }
    
  • 在 appid 的字段中添加键值对,其中 OpenAppID 路径需替换为之前解压的实际路径。
    appid =
    {
        -- appid requires this to use appids in rules
        --app_detector_dir = 'directory to load appid detectors from'
        app_detector_dir = '/home/jin/Snort/OpenAppID',
        log_stats = true
    }
    

        修改完成后,参照以下方式退出编辑器:

// nano 
键入 Ctrl+X 退出编辑
键入 y 保存更改
回车保存原文件

// vim
Esc 进入命令模式
键入 :wq 并回车,保存并退出
键入 :q! 并回车,不保存并退出

步骤三        检查配置

        可以使用 snort -c 参数检查配置。执行以下命令,若无报错,显示 "successfully" 类似字样即表示配置无误。

snort -c /usr/local/etc/snort/snort.lua

步骤四        设置 snort 为服务模式

        Snort 可使用 -D 参数进入后台运行,也可以按照如下方式设置服务模式运行。

1. 创建 log 文件夹存放 snort 日志

sudo mkdir /home/jin/Snort/log
// 自行定义路径

2. 为 Snort 单独创建用户,并设置用户 shell 为 nologin

sudo useradd -r -s /usr/sbin/nologin -M -c SNORT_IDS snort

3. 创建 Snort3 服务

        执行以下命令,编辑 snort3.service 文件。

// nano
sudo nano /etc/systemd/system/snort3.service

// vim
sudo vim /etc/systemd/system/snort3.service

        添加以下内容,其中 log 文件夹替换为自己定义的文件夹路径。 

[Unit]
Description=Snort 3 NIDS Daemon
After=syslog.target network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -s 65535 -k none -l /home/jin/Snort/log -D -i ens33 -m 0x1b -u snort -g snort
 
[Install]
WantedBy=multi-user.target 

        添加完成后退出文件编辑器。 

4. 修改 Snort 日志目录的属性

        依次执行以下命令,修改所有者和组,并设置权限。

sudo chown -R snort:snort /home/jin/Snort/log
// 路径替换为自己定义的文件夹路径

// 修改目录权限
// 所有者可读写执行,组内用户可读写执行,其他用户无权限
// 可自行更改权限类型
sudo chmod -R 750 /home/jin/Snort/log

// 修改文件权限
// 所有者可读写,组内用户可读,其他用户无权限
// 可自行更改权限类型
sudo find /home/jin/Snort/log -type f -exec chmod 640 {} \;

// 重新加载 systemd 服务管理器的配置文件
sudo systemctl daemon-reload

        可执行以下命令查看权限是否修改成功。 

stat -c "%a" /home/jin/Snort/log
// 路径替换为自己定义的文件夹路径

        若出现之前设置的八进制权限值则表示目录权限修改成功。

stat -c "%a" /home/jin/Snort/log/*
// 路径替换为自己定义的文件夹路径

        若提示权限不够则表示修改成功。 

5. 启动 Snort3 服务并设置为开机自启动

sudo systemctl enable --now snort3.service

6. 检查运行状态

sudo systemctl status snort3.service

        若出现如下图的字样,则表示服务运行正常。

        至此,Snort3 可以正常使用了。 

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值