博客
关于我
linux下IPTABLES配置详解 [[转]]
阅读量:794 次
发布时间:2023-02-02

本文共 2201 字,大约阅读时间需要 7 分钟。

apparatus配置与管理

在你安安装并系统中启用防火墙时,随系统默认设置开放了22、80、25端口。本节将指导你从零开始配置一个安全且实用的防火墙方案。

1. 查看现有防火墙规则

在启用防火墙前,先查看现有规则是否存在:

iptables -L -n

可以看到默认已经开放了INPUT、FORWARD、OUTPUT三条链,并默认设置允许所有网络连接。

2. 清除原有规则

不论你是否启用防火墙,在自定义配置前建议清理所有现有规则:

iptables -Fiptables -X

这将清除所有预设表中的规则链。

3. 设定规则

3.1 设置链策略

为确保安全性,我们采用以下策略:

iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT

说明:

  • INPUT链的默认目标是DROP,表示拒绝所有未明确规则的入站数据包。
  • FORWARD链的默认目标也是DROP,表示拒绝所有未明确规则的中转数据包。
  • OUTPUT链的默认目标是ACCEPT,表示接受所有明确规则的出站数据包。

3.2 添加规则

接下来为需要开放的端口和服务添加规则:

####college 添加INPUT链规则

为了允许外部访问网络服务,需开放服务器提供的端口:

#SSH端口(22)iptables -A INPUT -p tcp --dport 22 -j ACCEPT#Web服务器端口(80)iptables -A INPUT -p tcp --dport 80 -j ACCEPT#邮件服务器端口(25)iptables -A INPUT -p tcp --dport 25 -j ACCEPT#FTP服务器端口(21)iptables -A INPUT -p tcp --dport 21 -j ACCEPT#DNS查询端口(53)iptables -A INPUT -p tcp --dport 53 -j ACCEPT

college OUTPUT链规则

对于OUTPUT链,默认接受所有端口的数据包,建议仅开放特定端口:

#允许未经яс说的输出连接iptables -A OUTPUT -p tcp --sport 22 -j ACCEPTiptables -A OUTPUT -p tcp --sport 80 -j ACCEPTiptables -A OUTPUT -p tcp --sport 25 -j ACCEPTiptables -A OUTPUT -p tcp --sport 21 -j ACCEPTiptables -A OUTPUT -p tcp --sport 53 -j ACCEPT

college 允许ICMP查询

ICMP查询(如ping)需特殊处理:

#允许ICMP进入iptables -A INPUT -p icmp -j ACCEPT#允许ICMP出站iptables -A OUTPUT -p icmp -j ACCEPT

college 允许Loopback传输

内网接口(lo)必须允许本地数据包:

iptables -A INPUT -i lo -p all -j ACCEPTiptables -A OUTPUT -o lo -p all -j ACCEPT

college 添加状态跟踪

为了维护现有连接的状态:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTiptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

college 远程访问规范

为了规避被恶意攻击:

#封锁非法端口iptables -A OUTPUT -p tcp --dport 31337 -j DROP#封锁常见攻击端口iptables -A OUTPUT -p tcp --dport 135 137 139 2142 -j DROP#封锁NFS共享iptables -A OUTPUT -p tcp --dport 2049 -j DROP

college 为NAT配置防火墙

college 添加NAT规则

在NAT表中添加以下规则以管理网络转发:

#DNSMasq配置iptables -t nat -A PREROUTING -i eth0 -j DNAT --target 192.168.0.1 --destination 0.0.0.0/0
#Web服务器NAT规则iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

college 清除NAT规则

若需要清除NAT表中的规则:

iptables -F -t natiptables -X -t nat

college 最终保存规则

确保在服务重启后防火墙规则仍然生效:

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

保存后重启防火墙服务:

service iptables restart

以上步骤将帮助你构建一个安全的、符合业务需求的防火墙配置方案。建议按要求完成上述步骤,并根据实际网络环境进行调整和补充。

转载地址:http://hyzfk.baihongyu.com/

你可能感兴趣的文章
linux下解压命令
查看>>
Linux下设置Tomcat启动参数
查看>>
linux下软件的安装与卸载
查看>>
linux下迅雷远程下载服务,在 Linux 下使用迅雷的另一种无入侵方式
查看>>
Linux下运行Jmeter压测
查看>>
Linux下进程通信与FIFO操作详解
查看>>
Linux下通过ssh访问另一台内网服务器
查看>>
Linux下通过端口杀死进程
查看>>
Linux下部署maven-web项目,包括JDK安装、TOMCAT安装、MYSQL安装详细解释
查看>>
linux下配置Java环境变量
查看>>
Linux下配置Mysql允许远程访问
查看>>
Linux下配置NFS简单步骤
查看>>
Linux下配置tomcat,resin,JDK
查看>>
Linux下配置无密码登录
查看>>
linux下集成脚启动本编写——Rabbitmq mysql redis apache
查看>>
Linux下,C++判断指定路径下,是否存在wps打开的文件
查看>>
Linux下,Docker出现Cannot connect to the Docker daemon. Is the docker daemon running on this host错误解决办法
查看>>
linux下,websocketpp实现长连接,C++代码实现
查看>>
Linux下,配置nodejs环境两种方法,并使用cron系统任务定时启动web服务
查看>>
Linux专家揭秘:Keepalived的安装和VIP自动漂移 - 简单步骤,大功效!
查看>>