VPS服务器安全教程 – 一个简单的防火墙

搬瓦工机场JMS

防火墙是保护VPS服务器的流行方式。它用于控制哪些网络流量传递到服务器和从服务器传出。通常,到服务器的所有传入端口都被阻止,除了少数服务器的公共端口。如果我们的服务器是一个Web服务器,比如80端口就是开放的。

准备规则

我们将使用iptables来管理我们的防火墙规则。从手册页:iptables – IPv4数据包过滤和NAT的管理工具。

第一步是准备一个包含规则的文本文件:

  1. $ nano /etc/iptables.up.rules

并使用以下内容:

  1. *filter
  2. #  允许所有环回(lo0)流量,并将所有流量下降到不使用lo0的127/8
  3. -A INPUT -i lo -j ACCEPT
  4. -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT
  5. #  接受所有已建立的入站连接
  6. -A INPUT –m state –state ESTABLISHED,RELATED -j ACCEPT
  7. #  允许所有出站流量
  8. -A OUTPUT -j ACCEPT
  9. #  允许SSH连接到我们的ssh端口
  10. -A INPUT -p tcp –dport 22 -j ACCEPT
  11. # 打开其他TCP端口(如果你要安装一个web服务器,80)。如果你喜欢,添加更多行这样的内容
  12. -A INPUT -p tcp –dport 80 -j ACCEPT
  13. # 允许 ping
  14. -A INPUT -p icmp –m icmp –icmp-type 8 -j ACCEPT
  15. # log iptables被拒绝来电
  16. -A INPUT –m limit –limit 5/min -j LOG —log-prefix “iptables denied: “ —log-level 7
  17. # 拒绝所有其他的入站 – 默认拒绝,除非有明确允许的策略
  18. -A INPUT -j REJECT
  19. -A FORWARD -j REJECT
  20. COMMIT

上述规则所说的是除端口22(对于ssh和scp)和端口80(Web服务器)外,所有端口都被阻塞。如果要打开更多端口,只需在端口80打开的行下方添加一行。例如,如果要打开端口21(ftp)和端口25(smtp为邮件服务器),增加下面的配置:

  1. -A INPUT -p tcp –dport 80 -j ACCEPT
  2. -A INPUT -p tcp –dport 21 -j ACCEPT
  3. -A INPUT -p tcp –dport 25 -j ACCEPT

如何应用规则:

  1. iptables -F
  1. /sbin/iptables-restore < /etc/iptables.up.rules

规则固化

如果要在重新启动后自动应用防火墙规则,请创建一个脚本:

  1. $ nano /etc/network/if-pre-up.d/iptables

并放这些内容:

  1. #!/bin/sh
  2. /sbin/iptables-restore < /etc/iptables.up.rules

执行:

  1. chmod +x /etc/network/if-pre-up.d/iptables

未经允许不得转载:美国VPS_搬瓦工CN2 GIA VPS » VPS服务器安全教程 – 一个简单的防火墙

赞 (0) 打赏

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏