发布网友 发布时间:2024-09-29 04:41
共1个回答
热心网友 时间:2024-09-30 09:16
以下是针对Web服务器的IPTABLES规则的详细示例,通过一系列命令配置防火墙规则,以确保服务器的安全和通信的控制:首先,使用IPTables指令初始化并清除规则链:
$IPT --delete-chain
$IPT --flush
设置INPUT, FORWARD,和OUTPUT链的基本策略为DROP,以阻止外部与服务器的默认通信:
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT DROP
然后,允许已建立连接(RELATED和ESTABLISHED状态)的数据通过:
$IPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
针对常见的服务端口开放连接,如HTTP(80)、SSH(22)、FTP(21)、SFTP(873):
$IPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp --dport 873 -j ACCEPT
允许内部循环流量:
$IPT -A INPUT -i lo -j ACCEPT
允许外部ping请求:
$IPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
对于数据从服务器发送到外部的情况,设置OUTPUT链规则:
$IPT -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT(允许DNS解析)
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp --dport 25 -j ACCEPT
(允许SMTP邮件发送)
$IPT -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
最后,将规则保存并重启IPTables服务:
iptables-save >iptables.sh
iptables-restore < iptables.sh
将这些命令封装到脚本iptables.sh中,执行该脚本即可自动配置防火墙规则。
iptables 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。