计算机安全_Lab4_Snort实验

本文详述了一次基于Snort的实验室,重点是Snort的三种工作模式,以及如何配置Snort规则以检测HTTP访问和远程root用户登录。通过创建规则并运行Snort,实验成功地在检测到外部计算机通过HTTP访问和root用户登录时触发了警报。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 实验描述

2 实验准备

3 实验内容

3.1 Snort三种工作模式

3.2 snort规则定义

3.3 task 1 :检测到其他计算机通过HTTP协议访问计算机时,显示警报。

3.4 task 2 :当有人通过任何方法以root用户身份在计算机外部登录计算机时,该规则将显示警报。

4 实验总结


1 实验描述

 对于网络安全而言入侵检测是一件非常重要的事。入侵检测系统(IDS)用于检测网络中非法与恶意的请求。Snort是一款免费、开源的网络入侵防御系统(Network Intrusion Prevention System,NIPS)和网络入侵检测系统(Network Intrusion Detection System,NIDS)工具,用于管理和防御黑客入侵 Web 站点、应用程序和支持 Internet 的程序。 本实验为了了解snort入侵检测系统中,对于外界访问本机系统依据规则提出警告等相关操作。查阅资料,编写具有防护警告的snort rules,了解snort运行机理。

2 实验准备

1. 预装daq所需程序

snort使用数据采集器(daq)监听防火墙数据包队列,所以按照daq。需预装的程序有:flex、bison、libcap

安装flex

安装bison

安装libpcap-dev

2. 安装daq

  安装后make

3. 安装snort所需程序

安装libpcre3-dev

安装libdumbnet-dev

安装zlib1g-dev

4. 安装snort

此处遇到错误:

解决办法:加上—disable-open-appid

### 回答问题 #### **1. 这些变量的作用是什么?** 在 Snort 配置文件(通常是 `/etc/snort/snort.conf`)中,`var` 关键字用于定义变量。以下是对这些变量的解释: - **`RULE_PATH`**: 指定规则文件的路径。例如,`/etc/snort/rules` 表示规则文件存储在该目录下。 - **`SO_RULE_PATH`**: 指定共享对象(Shared Object, SO)规则文件的路径。SO 规则是动态加载的规则,通常用于扩展 Snort 的功能。 - **`PREPROC_RULE_PATH`**: 指定预处理器规则文件的路径。预处理器规则用于处理网络流量中的特定协议或行为。 --- #### **2. 示例代码:验证变量是否正确配置** 以下是一个简单的步骤来验证这些变量是否正确配置: ##### **(1) 检查变量定义** 打开 `snort.conf` 文件,确保变量已正确定义: ```conf var RULE_PATH /etc/snort/rules var SO_RULE_PATH /etc/snort/so_rules var PREPROC_RULE_PATH /etc/snort/preproc_rules ``` ##### **(2) 检查目录是否存在** 运行以下命令检查这些目录是否存在: ```bash ls -ld /etc/snort/rules ls -ld /etc/snort/so_rules ls -ld /etc/snort/preproc_rules ``` 如果目录不存在,请手动创建它们: ```bash sudo mkdir -p /etc/snort/rules sudo mkdir -p /etc/snort/so_rules sudo mkdir -p /etc/snort/preproc_rules ``` ##### **(3) 测试 Snort 配置** 使用以下命令测试 Snort 配置文件是否正确: ```bash sudo snort -T -c /etc/snort/snort.conf ``` 如果没有错误信息,则说明配置文件加载成功。 --- ### **3. 给出解释** #### **(1) `var` 的作用** `var` 是 Snort 配置文件中的一个关键字,用于定义变量。这些变量可以在配置文件的其他部分引用。例如: ```conf include $RULE_PATH/scan.rules ``` 上述配置会将 `$RULE_PATH` 替换为 `/etc/snort/rules`,从而加载 `/etc/snort/rules/scan.rules` 文件。 #### **(2) 各变量的具体用途** - **`RULE_PATH`**: 存储静态规则文件,如 `scan.rules`、`http.rules` 等。 - **`SO_RULE_PATH`**: 存储动态加载的规则文件,通常以 `.so`(共享对象)形式存在。这些规则可以扩展 Snort 的检测能力。 - **`PREPROC_RULE_PATH`**: 存储与预处理器相关的规则文件。预处理器用于处理特定类型的流量,例如 HTTP、FTP、DNS 等。 #### **(3) 为什么需要这些变量?** 通过使用变量,可以简化配置文件的维护工作。如果规则文件的存储路径发生变化,只需修改变量定义即可,而无需逐一修改所有 `include` 指令。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值