Linux 的防火墙配置

网易云提供的 Linux 操作系统都可以安装 iptables,有些发型版已经自带了 iptables,可以使用

# iptables --version
iptables v1.6.0

查看 iptables 版本

Attention

1.CentOS 7 以上版本默认是 Firewalld ,不过也可以使用 iptables。

2.配置防火墙,通常我们建议只开放必须的服务端口,对其他端口进行禁止。比如你的服务器只是对外提供 web 服务的,则只提供 HTTP 和 HTTPS 服务以及操作系统的 SSH 服务端口是最安全的。

配置规则

1.清空规则

iptables -F
iptables -X
iptables -Z

2.配置规则

在配置规则时需要注意防火墙的规则要求,通常是将经常使用的端口写在最前面,我们建议将 SSH 端口写在最前面,例如下面的规则

 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 iptables -A INPUT -p tcp --dport 443 -j ACCEPT
 iptables -A INPUT -p tcp --dport 3306 -j REJECT
 iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT 

以上命令依次按优先级顺序开放了22、80、443端口,拒绝了3306端口的访问(数据库我们强烈建议在非必要情况下禁止外网访问)最后一条是允许已经建立了连接的请求。

配置完成可以查看规则

root@centos:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443
REJECT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306 reject-with icmp-port-unreachable
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

但是此时的规则都是保存在内存中的,都是配置完立即生效的,而一旦掉电就会丢失,因此我们需要将规则保存起来。

# iptables-save > /etc/iptables.rules

然后查看规则

# cat  /etc/iptables.rules
# Generated by iptables-save v1.6.0 on Fri Nov 24 11:24:12 2017
*filter
:INPUT ACCEPT [212:17040]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [177:29476]
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Fri Nov 24 11:24:12 2017