HCRM博客

如何在CentOS系统中配置Iptables以实现网络安全防护?

CentOS配置Iptables

一、iPTAbles简介

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

iptables是一个用于设置、维护和检查Linux内核中的IP包过滤规则的工具,它作为netfilter项目的一部分,被广泛用于实现防火墙功能,iptables通过定义一组规则来控制数据包的进出,从而实现网络安全策略。

二、基本命令说明

查看当前所有的iptables配置

iptables L n

L:列出规则。

n:以数字形式显示地址和端口。

添加允许INPUT访问规则

以下示例展示了如何添加常见服务的端口设置,如果需要拒绝访问,则将ACCEPT改为DROP即可。

SSH
iptables A INPUT p tcp dport 22 j ACCEPT
HTTP
iptables A INPUT p tcp dport 80 j ACCEPT
iptables A INPUT p tcp dport 8080 j ACCEPT
HTTPS
iptables A INPUT p tcp dport 443 j ACCEPT
POP3
iptables A INPUT p tcp dport 110 j ACCEPT
SMTP
iptables A INPUT p tcp dport 25 j ACCEPT
FTP
iptables A INPUT p tcp dport 21 j ACCEPT
iptables A INPUT p tcp dport 20 j ACCEPT
DNS
iptables A INPUT p tcp dport 53 j ACCEPT

添加使用IP限制INPUT访问规则

以SSH为例,只允许特定IP(如192.168.0.100)访问SSH服务。

如何在CentOS系统中配置Iptables以实现网络安全防护?-图2
(图片来源网络,侵权删除)
删除之前的允许所有IP的规则
iptables D INPUT p tcp dport 22 j ACCEPT
添加新的规则只允许特定IP访问
iptables A INPUT s 192.168.0.100 p tcp dport 22 j ACCEPT

保存iptables的设置

修改完规则后记得保存:

/etc/rc.d/init.d/iptables save

重启iptables

service iptables restart

开启/关闭 开机启动

开启开机启动
chkconfig iptables on
关闭开机启动
chkconfig iptables off

打开iptables的配置文件

vi /etc/sysconfig/iptables

8. 修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口

A RHFirewall1INPUT m state state NEW m tcp p tcp dport 80 j ACCEPT

关闭/开启/重启防火墙

停止防火墙
/etc/init.d/iptables stop
启动防火墙
/etc/init.d/iptables start
重启防火墙
/etc/init.d/iptables restart

永久性关闭防火墙

chkconfig level 35 iptables off
/etc/init.d/iptables stop
iptables P INPUT DROP

打开主动模式21端口

iptables A INPUT p tcp dport 21 j ACCEPT

12. 打开被动模式49152~65534之间的端口

iptables A INPUT p tcp dport 49152:65534 j ACCEPT
iptables A INPUT i lo j ACCEPT
iptables A INPUT m state state ESTABLISHED j ACCEPT

三、iptables高级配置与优化

设置扩展的规则匹配

多端口匹配

匹配多个源端口或目的端口:

如何在CentOS系统中配置Iptables以实现网络安全防护?-图3
(图片来源网络,侵权删除)
多个源端口
iptables A INPUT p tcp m multiport sport 22,23,53,80 j ACCEPT
多个目的端口
iptables A INPUT p tcp m multiport dport 22,23,53,80 j ACCEPT
连续端口范围
iptables A INPUT p tcp sport 20:80 j ACCEPT

指定TCP匹配

使用tcp包的标志位进行过滤:

仅SYN包匹配
iptables A INPUT p tcp tcpflags SYN,FIN,ACK,SYN j ACCEPT

速率匹配

限制单位时间内的数据包个数:

每秒最多允许10个数据包通过
iptables A INPUT m limit limit 10/sec j ACCEPT

NAT模式配置

网络地址转换NAT模式

将所有从eth0接口进来的流量转发到192.168.1.100:8080
iptables t nat A PREROUTING p tcp dport 80 j DNAT todestination 192.168.1.100:8080

企业级防火墙配置建议

状态检测机制

确保启用状态检测机制,提高防火墙性能和安全性:

确保状态检测模块加载成功
lsmod | grep xt_state
如果未加载,手动加载模块
modprobe xt_state

日志记录与监控

配置iptables记录匹配的规则日志,以便后续分析和监控:

在INPUT链上记录丢弃的数据包信息
iptables A INPUT m limit limit 5/min j LOG logprefix "IPTablesDropped: " loglevel 4

四、常见问题FAQs解答

Q1: 如何更改iptables配置使其立即生效?

A1: 修改完iptables规则后,可以使用以下命令使其立即生效:

service iptables restart

或者直接重新加载规则而不重启服务:

/etc/rc.d/init.d/iptables save && /etc/rc.d/init.d/iptables restart

注意:某些情况下,可能需要清空现有规则并重新添加。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/18516.html

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