Linux 安全 02—iptables 防火墙(二)

一、隐含匹配

常见的隐含匹配条件:

1.端口匹配:–sport 源端口 –dport 目的端口

2.TCP 标记匹配:–tcp-flags 检查范围 被设置的标记

3.ICMP 类型匹配:–icmp-type ICMP 类型

常见的 icmp 类型

8 Echo request ———— 回显请求(Ping 请求)

0 Echo Reply ———— 回显应答(Ping 应答)

3 错误回显

获取帮助:iptables -p icmp -h

二、显氏匹配

常用的显示匹配条件:

1.多端口匹配:-m multiport –sports 源端口列表、-m multiport –dports 目的端口列表

2.IP 范围:-m iprange –src-range IP 范围

3.MAC 地址匹配:-m mac –mac-source MAC 地址、

4.状态匹配:-m state –state 连接状态

常见的连接状态

NEW:新连接,与任何连接无关

ESTABLISHED:响应请求或已建立连接的

RELATED:与已连接有相关性的,如 FTP 数据连接

三、案例–基于 IP 和端口的防火墙控制

实验环境:

为网关、Web 服务器配置防火墙规则

需求描述:

1.为网站服务器编写入站规则

(1)允许接收响应本机 ping 测试请求的各种 ICMP 数据包

(2)允许访问本机中位于 80 端口的 Web 服务,禁止访问其他端口的 TCP 请求

(3)允许发往本机已建立连接或与已连接相关的各种 TCP 数据包

(4)禁止其他任何形式的入站访问数据

搭建实验环境,结果如下:

internet 用桥接网络模拟:ip 为 dhcp

internet 客户端网关需指向网关服务器的 internet 的 ip 地址

为网站服务器编写入站规则

允许接收响应本机 ping 测试请求的各种 ICMP 数据包

禁止其他任何形式的入站访问数据

内网服务器 ping 网关测试:

网关 ping 内网服务器测试:

允许访问本机中位于 80 端口的 Web 服务,禁止访问其他端口的 TCP 请求

允许发往本机以建立连接或与已有连接相关的各种 TCP 数据包

保存 iptables 设置

[root@web ~]# service iptables save

如果命令报错,则执行以下命令后重试

[root@web ~]# yum -y install iptables-services

[root@web ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  确定  ]

测试

需要在网关服务器上开启路由转发,才能实现两个网段互通

[root@gw ~]# vim /etc/sysctl.conf 

net.ipv4.ip_forward = 1    //添加此行内容

[root@gw ~]# sysctl  -p

内网 web 服务器安装 httpd 并启动

[root@web ~]# yum -y install  httpd

[root@web ~]# vim /etc/httpd/conf/httpd.conf 

42 Listen 192.168.100.100:80

[root@web ~]# systemctl restart httpd

[root@web ~]# netstat  -utpln 

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 192.168.100.100:80      0.0.0.0:*               LISTEN      8273/httpd          
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6845/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7016/master         
tcp6       0      0 :::22                   :::*                    LISTEN      6845/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      7016/master         
udp        0      0 127.0.0.1:323           0.0.0.0:*                           5949/chronyd        
udp6       0      0 ::1:323                 :::*                                5949/chronyd  

测试机安装测试工具

[root@internet ~]# yum -y install elinks

[root@internet ~]# elinks 192.168.100.100

2.为网关服务器编写转发规则

(1)允许局域网中的主机访问 Internet 中是 Web、FTP、DNS、邮件服务

(2)禁止局域网中的主机访问 web.qq.com、w.qq.com、im.qq.com 等网站,以防止通过 WebQQ 的方式进行在线聊天

允许局域网中的主机访问 Internet 中是 Web、FTP、DNS、邮件服务

禁止局域网中的主机访问 w.qq.com、im.qq.com 等网站

保存 iptables 规则设置

[root@gw ~]# service iptables save

如果命令报错,则执行以下命令后重试

[root@gw ~]# yum -y install iptables-services

[root@gw ~]# service iptables save

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦