《操作系统》实验指导书/实验六:系统防火墙管理 实验六:系统防火墙管理 实验目的 1、理解 iptables的工作原理; 2、掌握 iptables防火墙的安装与配置; 3、掌握 iptables防火墙的基本操作方法,能够熟练使用防火墙。 实验学时 2学时 三、实验类型 综合性 四、实验需求 1、硬件 每人配备计算机1台,不低于双核CPU、8G内存、500GB硬盘 2、软件 Windows操作系统,安装Ⅵ irtualBox虚拟化软件,安装Puty管理终端软件,安装Nmap 工具软件 3、网络 计算机使用固定IP地址接入局域网,并支持对互联网的访问,虚拟主机可通过NAT方 式访问互联网。 4、工具 无 五、实验任务 1、完成 iptables防火墙的安装与配置; 2、完成 iptables防火墙规则的管理,满足实验的场景要求 六、实验内容及步骤 1、 iptables的安装与理 (1)防火墙检测 ①关闭 firewall防火墙 关闭 Centos的 firewall防火墙,并取消开机自动启动,其操作命令如下。 f systemctl stop firewall systemctl disable firewall 信息管理与信息系统教研室/阮晓龙/13938213680/共6页,第1页
《操作系统》实验指导书 / 实验六:系统防火墙管理 信息管理与信息系统教研室 / 阮晓龙 / 13938213680 / 共 6 页,第 1 页 实验六:系统防火墙管理 一、实验目的 1、理解 iptables 的工作原理; 2、掌握 iptables 防火墙的安装与配置; 3、掌握 iptables 防火墙的基本操作方法,能够熟练使用防火墙。 二、实验学时 2 学时 三、实验类型 综合性 四、实验需求 1、硬件 每人配备计算机 1 台,不低于双核 CPU、8G 内存、500GB 硬盘。 2、软件 Windows操作系统,安装VirtualBox虚拟化软件,安装Putty管理终端软件,安装Nmap 工具软件。 3、网络 计算机使用固定 IP 地址接入局域网,并支持对互联网的访问,虚拟主机可通过 NAT 方 式访问互联网。 4、工具 无。 五、实验任务 1、完成 iptables 防火墙的安装与配置; 2、完成 iptables 防火墙规则的管理,满足实验的场景要求。 六、实验内容及步骤 1、iptables 的安装与管理 (1)防火墙检测 ①关闭 firewall 防火墙 关闭 CentOS 的 firewall 防火墙,并取消开机自动启动,其操作命令如下。 # systemctl stop firewalld # systemctl disable firewalld
《操作系统》实验指导书/实验六:系统防火墙管理 ②检查 iptables是否安装 般情况下, iptables已经包含在 Linux系统中,可以通过命令来检测系统是否已经安 装 iptables,具体命令如下,检测结果如图6-1所示则表示系统已经安装 iptables防火墙。 iptables --version [root@localhost -]t iptables --version 图6-1检测 iptables是否安装 ③检查是否安装 iptables-services 查看 iptables服务是否安装,其命令如下所示 若出现如图6-2所示的结果则说明 iptables服务未安装,若出现如图6-3所示的结果则 说明 iptables服务已安装 rootelocalhost "]t service iptables status Redirecting to /bin/systemctl status iptables. service Unit iptables. service could not be Itrootelocalhost-1+ systemctl status iptables 图6-2 iptables service未安装 Irootelocalhost-1t systemctl enable iptables Created symlink from /etc/systemd/system/basic target wants/iptables. service to r/lib/systemd/system/iptables. service [root@localhost - ]# systemctl status iptables iptables. service - IPv4 firewall with iptables ded: loaded (/usr/lib/systemd/system/iptables. service: enabled: vendor pre set: disabled) 图6-3 iptables service已安装 (2)安装 iptables软件 安装 iptables以及 iptables services服务软件,其操作命令如下所示。 yum install -y iptables yum install -y iptables-services (3) iptables服务配置 进行 iptables服务管理,其操作命令如下所示。 ##开启 iptables服务 systemctl start iptables ##设置开机自动启动 #t systemctl enable iptables ##关闭 iptables服务 #f systemctl stop iptables ##重启 iptables服务 #f systemctl restart iptables ##取消开机自动启动 systemctl disable iptables 信息管理与信息系统教研室/阮晓龙/13938213680/共6页,第2页
《操作系统》实验指导书 / 实验六:系统防火墙管理 信息管理与信息系统教研室 / 阮晓龙 / 13938213680 / 共 6 页,第 2 页 ②检查 iptables 是否安装 一般情况下,iptables 已经包含在 Linux 系统中,可以通过命令来检测系统是否已经安 装 iptables,具体命令如下,检测结果如图 6-1 所示则表示系统已经安装 iptables 防火墙。 # iptables --version ③检查是否安装 iptables-services 查看 iptables 服务是否安装,其命令如下所示。 # systemctl status iptables 若出现如图 6-2 所示的结果则说明 iptables 服务未安装,若出现如图 6-3 所示的结果则 说明 iptables 服务已安装。 (2)安装 iptables 软件 安装 iptables 以及 iptables services 服务软件,其操作命令如下所示。 # yum install -y iptables # yum install –y iptables-services (3)iptables 服务配置 进行 iptables 服务管理,其操作命令如下所示。 ##开启 iptables 服务 # systemctl start iptables ##设置开机自动启动 # systemctl enable iptables ##关闭 iptables 服务 # systemctl stop iptables ##重启 iptables 服务 # systemctl restart iptables ##取消开机自动启动 # systemctl disable iptables 图 6-1 检测 iptables 是否安装 图 6-2 iptables service 未安装 图 6-3 iptables service 已安装
《操作系统》实验指导书/实验六:系统防火墙管理 2、 iptables的基本配置 (1)规则的查看 使用一下命令进行防火墙规则查看,并将防火墙规则信息填写到表6-1中。 表6-1防火墙规则 (2)规则的添加 ①端口配置 ●开启需要的端口,如配置TCP协议的22端口允许进出系统,其配置命令如下。 f iptables-A INPUT -p tcp --dport 22 -j ACCEPT #f iptables-A OUTPUT-p tcp --sport 22 j ACCEPT ●关闭不安全的端口,如配置不允许通过TCP协议的445端口进出系统,其配置命令 如下所示 #f iptables-A INPUT-p tcp --dport 445-j DROP #f iptables-A OUTPUT-p tcp --sport 445 -j DROP ●配置服务端口,如配置允许通过HTIP访问系统的80端口,其配置命令如下 #iptables-aInPut-Ptcp--dporthttp-jDrop ②IP地址配置 ●拒绝某单一IP地址,如拒绝某一单独IP地址访问系统,且系统拒绝访问该IP地址 其配置命令如下 f iptables-A INPUT -S XXX.Xxx. XXX. XXX -j DROP f iptables-A OUTPUT -d xXx.XXX. XXX. XXXj DROP ●拒绝某IP地址段,如拒绝某P地址段中任一地址访问系统,且系统拒绝访问该IP 地址段中任一IP地址,其配置命令如下, f iptables-A INPUT -S XXX.xxx. xxX. xXX/Xx j DROP iptables-A OUTPUT -d xxx.xxx. xxx. xXx/xXi DROP ③IP地址与端口结合 ●拒绝某IP地址访问某端口,如拒绝某一单独P地址访问系统的22端口(TCP协 议),其配置命令如下 #f iptables-A INPUT -S xXX.xxx. xXX. XXx-p tcp--dport 22 -j DROP ●允许某段PP地址访问系统的服务端口,如允许某段P地址访问系统的HITP服务端 口,其配置命令如下。 #fiptables-aInPut-sXxx.xxX.xxx.xXx/Xx-ptcp--dporthttpjAcc EPT ④网络协议配置 配置拒绝lMP协议通过,如配置拒绝网络中通过PNG方式发现系统IP地址,其配 信息管理与信息系统教研室/阮晓龙/13938213680/共6页,第3页
《操作系统》实验指导书 / 实验六:系统防火墙管理 信息管理与信息系统教研室 / 阮晓龙 / 13938213680 / 共 6 页,第 3 页 2、iptables 的基本配置 (1)规则的查看 使用一下命令进行防火墙规则查看,并将防火墙规则信息填写到表 6-1 中。 # iptables -n -L 表 6-1 防火墙规则 (2)规则的添加 ①端口配置 ●开启需要的端口,如配置 TCP 协议的 22 端口允许进出系统,其配置命令如下。 # iptables -A INPUT -p tcp --dport 22 -j ACCEPT # iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT ●关闭不安全的端口,如配置不允许通过 TCP 协议的 445 端口进出系统,其配置命令 如下所示。 # iptables -A INPUT -p tcp --dport 445 -j DROP # iptables -A OUTPUT -p tcp --sport 445 -j DROP ●配置服务端口,如配置允许通过 HTTP 访问系统的 80 端口,其配置命令如下。 # iptables -A INPUT -p tcp --dport http -j DROP ②IP 地址配置 ●拒绝某单一IP地址,如拒绝某一单独IP地址访问系统,且系统拒绝访问该IP地址, 其配置命令如下。 # iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP # iptables -A OUTPUT -d xxx.xxx.xxx.xxx -j DROP ●拒绝某 IP 地址段,如拒绝某 IP 地址段中任一地址访问系统,且系统拒绝访问该 IP 地址段中任一 IP 地址,其配置命令如下。 # iptables -A INPUT -s xxx.xxx.xxx.xxx/xx -j DROP # iptables -A OUTPUT -d xxx.xxx.xxx.xxx/xx -j DROP ③IP 地址与端口结合 ●拒绝某 IP 地址访问某端口,如拒绝某一单独 IP 地址访问系统的 22 端口(TCP 协 议),其配置命令如下。 # iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j DROP ●允许某段 IP 地址访问系统的服务端口,如允许某段 IP 地址访问系统的 HTTP 服务端 口,其配置命令如下。 # iptables -A INPUT -s xxx.xxx.xxx.xxx/xx -p tcp --dport http -j ACC EPT ④网络协议配置 配置拒绝 ICMP 协议通过,如配置拒绝网络中通过 PING 方式发现系统 IP 地址,其配
《操作系统》实验指导书/实验六:系统防火墙管理 置命令如下 iptables-A INPUT -p icmp -j DROP ⑤网卡接口配置 iptables防火墙可单独为某个网卡接口设定不同的策略规则,如不允许任何主机通过防 火墙本机的eth0网卡访问系统的80端口,其配置命令如下 iptables-A INPUT- i etho-p tcp -dport 80-jDROP ⑥MAC地址配置 ●拒绝某MAC地址主机的所有通信请求访问,其配置命令如下。 iptables-A INPUT -m mac --mac-source XX: XX: XX: XX XX XX j DR ●拒绝网络中某一固定P地址且固定MAC地址的主机访问系统任意端口,其配置命 令如下 #t iptables-A INPUT -S XXX.XXX. XXX. xXX/x-m mac --mac-source XX X X XX XXXX: XX-j DROP ●允许网络中某一固定P地址且固定MAC地址的主机访问系统的22号端口,其配置 命令如下。 #f iptables-A INPUT -p tcp --dport 22-5 XXX. xXX. XXX. xXX/x-m mac mac-source XX: XX XX: XX: XX XX - ACCEPT (3)规则的测试 ①软件获取 获取端口扫描工具 Zenmap软件可通过本课程网站(htp:/ linux xg. hactcmeducn)下载 获得,也可通过 Zenmap官方网站(htps/ nmap.org/zenmap)下载获得,如图6-4所示。本 实验所使用的 Zenmap软件为nmap760- setup.exe LETnG UTHERS D07 Nmap Intro Projects In the Mowles In the News stosur he official Nmap spcunty Scanner GU. I is a multi-plattorm (Ln dit Frequently command 图6-4 Zenmap官网 ②软件安装 点击下载的EXE执行安装文件,可根据安装过程提示进行默认选择安装。 ③软件使用 打开工具,展示如图6-2所示工具界面。在“配置”下拉框中选择“ Regular scan”(使 用规则扫描),在“命令”输入框输入“nmap-p1-1024-T4-A-v172.16.124.127”命令规则 点击【扫描】按钮,工具将自动扫描IP地址为“172.16.124.127”的主机,其1-1024端口的 信息管理与信息系统教研室/阮晓龙/13938213680/共6页,第4页
《操作系统》实验指导书 / 实验六:系统防火墙管理 信息管理与信息系统教研室 / 阮晓龙 / 13938213680 / 共 6 页,第 4 页 置命令如下。 # iptables -A INPUT -p icmp -j DROP ⑤网卡接口配置 iptables 防火墙可单独为某个网卡接口设定不同的策略规则,如不允许任何主机通过防 火墙本机的 eth0 网卡访问系统的 80 端口,其配置命令如下。 # iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP ⑥MAC 地址配置 ●拒绝某 MAC 地址主机的所有通信请求访问,其配置命令如下。 # iptables -A INPUT -m mac --mac-source XX:XX:XX:XX:XX:XX -j DR OP ●拒绝网络中某一固定 IP 地址且固定 MAC 地址的主机访问系统任意端口,其配置命 令如下。 # iptables -A INPUT -s xxx.xxx.xxx.xxx/x -m mac --mac-source XX:X X:XX:XX:XX:XX -j DROP ●允许网络中某一固定 IP 地址且固定 MAC 地址的主机访问系统的 22 号端口,其配置 命令如下。 # iptables -A INPUT -p tcp --dport 22 -s xxx.xxx.xxx.xxx/x -m mac - -mac-source XX:XX:XX:XX:XX:XX -j ACCEPT (3)规则的测试 ①软件获取 获取端口扫描工具 Zenmap 软件可通过本课程网站(http://linux.xg.hactcm.edu.cn)下载 获得,也可通过 Zenmap 官方网站(https://nmap.org/zenmap)下载获得,如图 6-4 所示。本 实验所使用的 Zenmap 软件为 nmap-7.60-setup.exe。 ②软件安装 点击下载的 EXE 执行安装文件,可根据安装过程提示进行默认选择安装。 ③软件使用 打开工具,展示如图 6-2 所示工具界面。在“配置”下拉框中选择“Regular scan”(使 用规则扫描),在“命令”输入框输入“nmap –p 1-1024 -T4 –A -v 172.16.124.127”命令规则, 点击【扫描】按钮,工具将自动扫描 IP 地址为“172.16.124.127”的主机,其 1-1024 端口的 图 6-4 Zenmap 官网
《操作系统》实验指导书/实验六:系统防火墙管理 状态情况。 ④信息查看 在“Nmap输出”选项卡中可查看扫描的过程,如图6-2所示,查看主机端口的状态信 息,并将信息填写到表6-2中。通过该工具可测试防火墙规则配置是否正确且生效。 74p1-104-1721612417 巴=播m 图6-5扫描结果 表6-2端口检测结果 3、 iptables的应用 请根据下面的要求,写出防火墙的配置,将配置命令写入到实验报告册中。 ①允许来自于PPA地址的报文,通过UDP方式,访问系统的4486端口 ②丢弃来至IPB地址的使用TCP方式,访问系统20和21端口的报文 信息管理与信息系统教研室/阮晓龙/13938213680/共6页,第5页
《操作系统》实验指导书 / 实验六:系统防火墙管理 信息管理与信息系统教研室 / 阮晓龙 / 13938213680 / 共 6 页,第 5 页 状态情况。 ④信息查看 在“Nmap 输出”选项卡中可查看扫描的过程,如图 6-2 所示,查看主机端口的状态信 息,并将信息填写到表 6-2 中。通过该工具可测试防火墙规则配置是否正确且生效。 表 6-2 端口检测结果 3、iptables 的应用 请根据下面的要求,写出防火墙的配置,将配置命令写入到实验报告册中。 ①允许来自于 IP A 地址的报文,通过 UDP 方式,访问系统的 4486 端口。 ②丢弃来至 IP B 地址的使用 TCP 方式,访问系统 20 和 21 端口的报文。 图 6-5 扫描结果
《操作系统》实验指导书/实验六:系统防火墙管理 ③允许IP地址属于xx.xxx.x.xx/x段的主机、由指定eth0网口,通过SSH远程连 接本机 ④允许P地址为C的主机通过422端口进行SSH远程连接本机 ⑤将来自PD地址的主机使用TCP协议,访问21端口的数据包信息记录到 messages 日志中。 ⑥当超过100个用户同时访问系统的80端口时,限制每分钟最大连接数为25个,防 止系统遭受DOS攻击 七、实验扩展 1、防火墙 (1)防火墙一共有几种?分别是什么,主要作用是什么? (2) iptables防火墙是工作在计算机网络的哪一层上的? 2、 iptables防火墙规则 (1) iptables防火墙规则除了可以通过配置端口、P地址,还能通过配置哪些选项来 制定防火墙策略?请举例说明 (2)如何将防火墙规则进行备份? 信息管理与信息系统教研室/阮晓龙/13938213680/共6页,第6页
《操作系统》实验指导书 / 实验六:系统防火墙管理 信息管理与信息系统教研室 / 阮晓龙 / 13938213680 / 共 6 页,第 6 页 ③允许 IP 地址属于 xxx.xxx.xxx.xxx/x 段的主机、由指定 eth0 网口,通过 SSH 远程连 接本机。 ④允许 IP 地址为 C 的主机通过 422 端口进行 SSH 远程连接本机。 ⑤将来自 IP D 地址的主机使用 TCP 协议,访问 21 端口的数据包信息记录到 messages 日志中。 ⑥当超过 100 个用户同时访问系统的 80 端口时,限制每分钟最大连接数为 25 个,防 止系统遭受 DOS 攻击。 七、实验扩展 1、防火墙 (1)防火墙一共有几种?分别是什么,主要作用是什么? (2)iptables 防火墙是工作在计算机网络的哪一层上的? 2、iptables 防火墙规则 (1)iptables 防火墙规则除了可以通过配置端口、IP 地址,还能通过配置哪些选项来 制定防火墙策略?请举例说明。 (2)如何将防火墙规则进行备份?