HCRM博客

如何在CentOS 7上配置IPTables以实现网络安全防护?

CentOS 7 iptables配置

一、背景介绍

如何在CentOS 7上配置IPTables以实现网络安全防护?-图1
(图片来源网络,侵权删除)

CentOS 7是一款广泛使用的Linux操作系统,其安全性是用户关注的重点之一,默认情况下,CentOS 7使用firewalld作为防火墙管理工具,但iptables作为一种强大的基于包过滤的防火墙工具,在许多场景下仍然被广泛使用,本文将详细介绍如何在CentOS 7上安装、配置和管理iptables,以确保系统的安全性。

二、iptables简介

iptables是Linux内核中的一个子系统模块,用于设置、维护和检查IP包过滤规则,它功能强大且灵活,可以对流入、流出和流经服务器的数据包进行精细的控制,CentOS 7默认并没有安装iptables,需要用户自行安装和配置。

三、安装与配置步骤

检查并禁用firewalld

在安装iptables之前,需要先检查并禁用firewalld防火墙:

查看firewalld状态
systemctl status firewalld

如果firewalld处于开启状态,执行以下命令关闭它:

如何在CentOS 7上配置IPTables以实现网络安全防护?-图2
(图片来源网络,侵权删除)
关闭firewalld
systemctl stop firewalld

并禁止其在开机时启动:

禁止firewalld开机自启
systemctl disable firewalld

安装iptables

我们需要安装iptables:

安装iptables
yum install y iptablesservices

启动iptables

安装完成后,启动iptables服务:

启动iptables
systemctl start iptables

并设置其在开机时自动启动:

设置iptables开机自启
systemctl enable iptables.service

查看iptables状态与规则

启动iptables后,我们可以查看其当前状态和默认规则:

查看iptables状态
systemctl status iptables

输出结果中绿色的“active (exited)”表示iptables已经成功启动。

如何在CentOS 7上配置IPTables以实现网络安全防护?-图3
(图片来源网络,侵权删除)

查看默认规则:

查看iptables默认规则
iptables L

这将列出当前系统中的所有iptables规则。

备份iptables规则

在进行任何修改之前,建议先备份当前的iptables规则:

备份iptables规则
cp a /etc/sysconfig/iptables /etc/sysconfig/iptables.bak

6. 添加或修改规则(以放行80端口为例)

假设我们需要开放HTTP服务的80端口,可以使用以下命令添加规则:

添加规则放行80端口
iptables I INPUT p tcp dport 80 m state state NEW j ACCEPT

查看规则是否生效:

查看规则是否生效
iptables L

生效后保存规则:

保存添加的规则
iptablessave > /etc/sysconfig/iptables

并确保iptables在开机时加载这些规则:

设置iptables开机自启
systemctl enable iptables.service

至此,我们已经完成了在CentOS 7上安装、配置和管理iptables的基本步骤,重启服务器后,新的iptables规则将生效。

四、常见配置案例与示例

IP过滤

禁止特定IP地址的所有类型数据接入:

禁止192.168.200.113 IP地址的所有类型数据接入
iptables A INPUT ! s 192.168.200.113 j DROP

开放多个端口或端口范围

开放TCP协议的多个端口或一个端口范围:

开放TCP协议的22和80端口
iptables A INPUT p tcp dport 22 j ACCEPT
iptables A INPUT p tcp dport 80 j ACCEPT

或者开放一个端口范围:

开放TCP协议的2280端口范围
iptables I INPUT p tcp dport 22:80 j ACCEPT

禁止特定端口流出

不允许HTTP服务的80端口数据流出:

禁止80端口流出
iptables I OUTPUT p tcp dport 80 j DROP

配置自定义链与复杂规则

用户可以根据需求自定义链,并在其中添加复杂的匹配条件和目标动作,以实现更精细的络流量控制,创建一个名为“DDOSguard”的自定义链来防止DDoS攻击:

创建一个自定义链DDOSguard
iptables N DDOSguard
在INPUT链中引用DDOSguard链
iptables A INPUT j DDOSguard
定义DDOSguard链中的规则(示例:限制每分钟来自同一IP的连接数不超过100)
iptables A DDOSguard m connlimit connlimitabove 100/min connlimitmask 64 connlimitrep HC connlimitzone 32 connmarkset 1 j REJECT rejectwith tcpreset

规则将限制每分钟来自同一IP的连接数,超过限制的连接将被拒绝并发送TCP重置报文。

五、注意事项与最佳实践

备份规则:在修改iptables规则之前,务必备份当前的规则集,以防万一出现问题可以快速恢复。

最小权限原则:只开放必要的端口和服务,减少潜在的攻击面。

定期更新:保持系统和软件的最新状态,及时修复已知的安全漏洞。

日志记录:启用iptables的日志功能,记录被拒绝的连接和可疑活动,以便后续分析和审计。

测试环境:在生产环境应用新规则之前,建议在测试环境中充分测试,确保规则的正确性和有效性。

分享:
扫描分享到社交APP
上一篇
下一篇