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
上一篇
下一篇