CYBR3000信息安全作业 辅导
该文档是关于CYBR3000信息安全作业的说明,作业分为两部分。A部分是入侵防御,需要使用iptables编写规则集,完成五个任务,并将每个任务的规则集写在单独的.txt文件中。B部分是入侵检测,需要编写一个名为IDS.py的Python程序,读取包含入侵检测规则的文件和.pcap文件,检测数据包是否违反规则,并将警报信息记录到IDS_log.txt中。程序需要支持多种检测场景,并遵循特定的规则格式和要求。 介绍 本作业分为两个部分:A部分和B部分。 A部分:入侵防御(总计25分) 非中介 直接联系❤️ cstutorcs 您需要为以下每个任务编写iptables规则集。每个任务的每个规则集都需要写在一个单独的.txt文件中。.txt文件中的每一行都对应一个单独的iptables规则。.txt文件的名称必须与相应任务的名称匹配(例如task1.txt)。如果.txt文件的名称不正确或标记错误,则不会给分。每个.txt文件中的规则应该是可以直接使用的,这意味着其他人可以复制粘贴并在终端中运行规则集中的每个规则来满足任务的要求。 要使用iptables,您需要在基于Linux的系统中测试您的规则。像Docker这样的工具或使用VirtualBox或VMware等软件的虚拟机可以让您运行一个可以使用iptables的Linux环境。 任务: 任务1(5分):允许来自特定IP地址(192.168.1.100)的传入SSH流量(使用端口22),并拒绝所有其他传入的SSH连接。 任务2(5分):允许传入的HTTP(端口80)和HTTPS(端口443)流量,但丢弃所有其他传入流量。 任务3(5分):将传入的ICMP ping请求(ICMP echo – request)限制为每秒仅两个。 任务4(5分):对于传入流量,仅允许已建立和相关的连接,阻止新的传入连接,除了SSH。 任务5(5分):默认情况下阻止所有传入和传出流量,但允许来自特定IP(192.168.1.100)的SSH访问、HTTP / HTTPS流量和DNS查询。 B部分:入侵检测(总计75分) 在这部分中,您需要编写一个名为IDS.py的Python程序,该程序模拟入侵检测系统(IDS)的行为。这个程序将读取两个文件:1)一个文件包含入侵检测规则(如Snort中使用的规则),2)另一个文件是.pcap文件,其中包含您的程序将检查的所有数据包,以查看它们是否违反规则。这两个文件都将通过命令行参数传递到您的Python程序(IDS.py)中。IDS.py的开头如下: $python3 NIDS.py <.pcap文件的绝对路径> <IDS规则的绝对路径> 两个路径都需要是绝对路径。 – Python 3.9是此部分所需的版本,并且本次作业的最终测试也将使用Python 3.9。我们不允许使用任何其他Python版本,如果由于错误的Python版本导致意外行为发生,则不会给分。Scapy是此部分允许使用的库,请勿在代码中使用任何其他外部库。 – IDS_rules.txt和.pcap文件的示例在BlackBoard上给出。您需要读取和解析每条规则,并使用该规则来监视和检测.pcap文件中的数据包。请注意,提供的.pcap文件只是在最终评分中使用的.pcap文件的一个子集。 – IDS规则的格式与Snort规则的格式略有不同。您的IDS规则的一个简单示例是: alert tcp 192.168.102.132 any -> any any (msg: "receive a TCP packet";) 当数据包是来自IP地址192.168.102.132的任何端口并发送到任何IP地址的任何端口的传入TCP数据包时,此规则将发出警报。如果发现这样的数据包,IDS.py将把消息记录到名为IDS_log.txt的日志中,格式如下: 2024 – 08 – 18 11:47:53 …