我使用 Amazon Lightsail 部署了一个 wordpress 站点,它的工作原理非常棒。现在我需要将可以在端口 80 上访问的 IP 地址限制为与 SiteLock 的防火墙关联的 IP 地址,我正在寻找最佳和最干净的解决方案。
看起来在 Lightsail 简化版的世界里,我只能打开一个端口供公共访问,或者关闭它。
我现在唯一的想法是通过 SSH 登录并使用iptables
,但我想了解这是我能做到这一点的唯一方法,还是有一些“更智能”的方法。
我使用 Amazon Lightsail 部署了一个 wordpress 站点,它的工作原理非常棒。现在我需要将可以在端口 80 上访问的 IP 地址限制为与 SiteLock 的防火墙关联的 IP 地址,我正在寻找最佳和最干净的解决方案。
看起来在 Lightsail 简化版的世界里,我只能打开一个端口供公共访问,或者关闭它。
我现在唯一的想法是通过 SSH 登录并使用iptables
,但我想了解这是我能做到这一点的唯一方法,还是有一些“更智能”的方法。
这是我想出来的,它确实有效,但iptables
我不确定使用它是最好的选择,所以问题仍然存在以获得更好的解决方案。
由于 SiteLock 网站说这些 IP 范围是允许的:
SiteLock 防火墙 IP 范围
199.83.128.0/21
198.143.32.0/19
149.126.72.0/21
103.28.248.0/22
45.64.64.0/22
185.11.124.0/22
192.230.64.0/18
107.154.0.0/16
2a02:e980::/29
我创建了一个脚本来允许它们,然后用一个明确的DROP
规则关闭所有其余的
sudo iptables -A INPUT -p tcp -s 199.83.128.0/21 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 198.143.32.0/19 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 149.126.72.0/21 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 103.28.248.0/22 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 45.64.64.0/22 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 185.11.124.0/22 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 192.230.64.0/18 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 107.154.0.0/16 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 2a02:e980::/29 --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 80 -j DROP
现在,可以从 AWS 控制台本身将 IP 列入白名单。在控制台中转到您的 Lightsail 实例,然后联网。在那里您可以选择要打开的端口,并将 IP 列入白名单,选中限制为 IP。然后输入列入白名单的 IP 或范围并保存。
参考:https ://lightsail.aws.amazon.com/ls/docs/en_us/articles/amazon-lightsail-editing-firewall-rules