案例展示 - CYBR3000 Information Security Assignment
编辑案例展示 - CYBR3000 Information Security Assignment
介绍
CYBR3000信息安全作业分为两部分:Part A: Intrusion Prevention和Part B: Intrusion Detection。此作业要求学生分别使用iptables编写规则集来实现入侵防御,并编写一个Python程序来模拟入侵检测系统(IDS)。下面将详细介绍每部分的内容和要求。
Part A: 入侵防御 (总分25分)
在Part A中,要求学生使用iptables
编写规则集来实现入侵防御。每个任务对应一个单独的.txt
文件,每行表示一个iptables
规则。文件名必须与任务名称相匹配,确保规则能够直接复制粘贴到终端运行。
任务说明
- Task 1 (5分): 允许来自特定IP地址(192.168.1.100)的SSH流量(使用端口22),拒绝所有其他SSH连接。
- Task 2 (5分): 允许HTTP(端口80)和HTTPS(端口443)流量,丢弃所有其他传入流量。
- Task 3 (5分): 将ICMP ping请求(ICMP回显请求)的频率限制为每秒最多2个。
- Task 4 (5分): 只允许已建立和相关的连接的传入流量,阻止新的传入连接(除SSH外)。
- Task 5 (5分): 默认阻止所有传入和传出流量,但允许来自特定IP(192.168.1.100)的SSH访问、HTTP/HTTPS流量以及DNS查询。
实施要求
- 每个任务的规则必须单独编写并保存为
.txt
文件。 - 所有规则应能够在Linux环境中运行,建议使用Docker或虚拟机(如VirtualBox或VMware)测试。
Part B: 入侵检测 (总分75分)
在Part B中,要求学生编写一个名为IDS.py
的Python程序,模拟入侵检测系统(IDS)。该程序将读取两个文件:一个包含入侵检测规则,另一个是.pcap
格式的包文件。程序需要通过命令行参数读取这两个文件,并检测是否有任何数据包违反规则。
程序功能说明
- 程序启动: 通过以下命令行启动程序,传入
.pcap
文件路径和IDS规则文件路径:
python3 IDS.py <path_to_the_pcap_file> <path_to_the_IDS_rules>
- 规则格式: IDS规则文件的格式类似于Snort规则,但略有不同。例如:
alert tcp 192.168.102.132 any -> any any (msg: "receive a TCP packet";)
该规则会在检测到从IP地址192.168.102.132发出的任何TCP包时触发警报。
输出格式
- 当程序检测到符合规则的数据包时,会在日志文件
IDS_log.txt
中记录警报,格式如下:
2024-08-18 11:47:53 - Alert: receive a TCP packet
- 日志文件中的每一行表示检测到符合规则的数据包。日志格式必须严格按照给定要求编写。
示例规则及复杂示例
例如,以下复杂规则:
alert tcp 192.168.102.132 any -> 131.171.127.1 25 (content: "malicious"; msg: "multiple malicious TCP syn packets found"; flags: S; detection_filter: count 10, seconds 2;)
该规则会在2秒内从IP地址192.168.102.132发送到131.171.127.1的TCP syn包超过10个时触发警报,并记录信息“multiple malicious TCP syn packets found”。
任务列表
- 检测多种TCP数据包 (5分)
- 检测多种ICMP数据包 (5分)
- 检测多种IP数据包 (5分)
- 检测多种UDP数据包 (5分)
- 混合检测TCP、ICMP、UDP和IP数据包 (5分)
- 检测含有恶意内容的单个数据包 (5分)
- 跨协议检测含有恶意内容的数据包 (5分)
- 检测TCP syn、fin、rst、ack数据包 (10分)
- 检测TCP洪水攻击 (10分)
- 检测TCP syn扫描 (10分)
- 短时间内检测带有恶意内容的多个TCP ack数据包 (10分)
注意事项
- Python版本:仅支持Python 3.9版本,使用其他版本将不予评分。
- 允许使用的库:仅允许使用
scapy
库,不允许使用其他外部库。 - 支持的协议:ip、icmp、tcp、udp。
- IDS规则中的“->”符号始终保持一致,表示数据包的传输方向。
flags
选项支持四种类型:A(ACK),S(SYN),F(FIN),R(RST)。
联系我们
WeChat:pythonyt001
Email: [email protected]
- 0
-
分享