20211904 2021-2022-2 《网络攻防实践》第五次作业
实验内容
防火墙配置
要求
一、防火墙配置
任务要求:配置Linux操作系统平台上的iptables,或者Windows操作系统平台上的个人防火墙,完成如下功能,并进行测试:
(1)过滤ICMP数据包,使得主机不接收Ping包;
(2)只允许特定IP地址(如局域网中的Linux攻击机192.168.200.3),访问主机的某一网络服务(如FTP、HTTP、SMB),而其他的IP地址(如Windows攻击机192. 168.200.4)无法访问
二、动手实践:Snort
使用Snort对给定pcap文件(第4章中的解码网络扫描任一个pcap文件,之前的实践已经提供了,请在云班课中下载)进行入侵检测,并对检测出的攻击进行说明。在BT4 Linux攻击机或Windows Attacker攻击机上使用Snort,对给定的pcap文件进行入侵检测,获得报警日志。
Snort运行命令提示如下:
- 从离线的pcap文件读取网络日志数据源
- 在snort.conf中配置明文输出报警日志文件
- 指定报警日志log目录(或缺省log目录=/var/log/snort)
linux防火墙配置
过滤ICMP数据包,使得主机不接收Ping包
使用iptables命令查看Kali规则链上已有条目
sudo iptables -L
先测试metasploite与kali的连通性。
ping 192.168.238.128
使用imptables命令过滤icmp包
sudo iptables -A INPUT -p icmp -j DROP
在metasploitable上ping kali发现ping不同
ping 192.168.238.128
只允许特定IP地址,访问主机的某一网络服务,而其他的IP地址无法访问
先给kali换个源
vim /etc/apt/sources.list
把原来的源注释掉,换上码云源
使用命令更新源和下载telnet
apt-get update
apt-get install xinetd telnetd
使用命令启动telnet服务和查看服务是否启用成功
/etc/init.d/xinetd start
/etc/init.d/xinetd status
下载ftp
apt-get install vsftpd
mkdir /home/ftpuser //创建一个ftp用户文件夹
useradd -d /home/ftpuser -s /bin/bash ftpuser //新建ftp用户,并指向它的主目录和所有的shell
passwd ftpuser //设置用户密码
chown ftpuser:ftpuser /home/ftpdir //设置ftp目录用户权限
启动ftp服务,查看ftp服务是否开启
/etc/init.d/vsftpd start
/etc/init.d/vsftpd status
在metaploitable上连接kali的ftp服务
ftp 192.168.238.128
在windows上连接kali的ftp服务
ftp 192.168.238.128
使用命令只允许metasploitable的ip访问kali的ftp服务,而其他ip无法访问
sudo iptables -A INPUT -p tcp -s 192.168.238.129 --dport 21 -j ACCEPT
sudo iptables -P INPUT DROP
再次在metasploitable和windows上访问kali的ftp服务。
ftp 192.168.238.128
可以看到metasploitable还可以正常访问kali的ftp服务,而windows上访问ftp服务无响应。telnet服务与ftp服务同理,这里不再重复操作。
windows防火墙配置
过滤ICMP数据包,使得主机不接收Ping包
先测试kali和windows的连通性
ping 192.179.31.233
打开防火墙的高级设置
点击入站规则->新建规则
选择自定义
协议类型选择icmpv4,符合执行条件时的操作选择阻止连接,其他一律默认下一步即可,最后输入名字和描述。
设置完后kali再次ping windows ping不通
ping 192.168.31.233
只允许特定IP地址,访问主机的某一网络服务,而其他的IP地址无法访问
先测试kali、windows与Winxp的telnet服务连通性。
打开控制面板——>管理工具——>本地安全策略,右键IP安全策略并点击创建IP安全策略,一路默认即可
进入安全规则向导,添加阻止kali ip访问的策略
再次从kali和windows访问winxp的telnet服务连通性
可以看到windows可以正常访问而kali不行
动手实践:Snort
使用命令读取pcap中的数据
snort -c /etc/snort/snort.conf -r listen.pcap -K ascii
使用命令查看生成的数据文件
cat snort.alert.fast
可以看到namp扫描的记录,还使用了DDOS攻击等。
分析配置规则
使用命令进入配置文件查看源码
vim /etc/init.d/rc.firewall
可以看到设置了三个名单:白名单、黑名单和防护名单。
- 白名单:可以通过的ip
- 黑名单:不能通过的ip
- 防护名单:部分服务可以通过的ip
使用命令可以查看具体的规则列表
iptables -L
使用命令查看snort文件
vim /etc/rc.d/init.d/snortd
可以看到监听的网卡为eth0,配置文件为snort.conf等信息。
使用命令查看snort配置信息
vim /etc/snort/snort.conf
使用命令查看hw-snort_inline文件。里面可以看到对snort各种参数的介绍
vim /etc/init.d/hw-snort_inline
使用命令查看服务情况
chkconfig --list | grep iptables
chkconfig --list | grep snort
根据等级:
- 0:表示关机
- 1:单用户模式
+2:无网络连接的多用户命令行模式
+3:有网络连接的多用户命令行模式
+4:不可用
+5:带图形界面的多用户模式
+6:重新启动
可以看出防火墙和NIPS在某些模式下就自己开启了,而NIDS在任何模式下都需要手动启动。
遇到的问题
在使用win10时,发现win10开启不了telnet服务器服务,经搜索发现,从win7后telnet只支持客户端,不支持服务器模式。
解决方法:改用winxp做实验。