cwd*_*cwd 31 security firewall ip amazon-ec2
我知道一定范围的 IP 地址导致我的服务器出现问题,172.64.*.*阻止访问我的 Amazon EC2 实例的最佳方法是什么?有没有办法使用安全组来做到这一点,或者最好使用服务器本身的防火墙来做到这一点?
Mat*_*att 19
如果可能,阻止服务器和防火墙上的流量,以防万一。
安全组很好,因为它们在您的主机外部,因此数据永远不会到达您的身边。但是,它们不像大多数基于服务器的防火墙那样可配置。
不幸的是,EC2 安全组只能通过默认拒绝策略“允许”服务。因此,如果您试图阻止对一个小 IP 范围的公开“允许”服务的访问,为“互联网的其余部分”构建允许规则比仅仅阻止一个 IP 范围要复杂一些。由于您指定了一个不错的大块,因此不包括 172.64.0.0/16 的网络范围列表不会太长:
0.0.0.0/1
128.0.0.0/3
160.0.0.0/5
168.0.0.0/6
172.0.0.0/10
173.0.0.0/8
174.0.0.0/7
176.0.0.0/4
192.0.0.0/3
224.0.0.0/3
Run Code Online (Sandbox Code Playgroud)
需要为您的端口添加此列表。然后您可以删除该端口的“全部允许”规则。如果您有多个不连续的端口要执行此操作,则它们的列表将需要多次输入。如果您有多个安全组,这会很快变得难以管理。
本地防火墙也将起作用。iptables可在默认的 Amazon AMI 和所有 linux 发行版上使用
sudo iptables -I INPUT -s 172.64.0.0/16 -j DROP
Run Code Online (Sandbox Code Playgroud)
添加规则后,您需要保存它们,并确保iptables服务在启动时启动。
# For Amazon Linux
sudo service iptables save
# Other distributions might use one of these:
#sudo iptables-save > /etc/sysconfig/iptables-config
#sudo iptables-save > /etc/iptables/rules.4
Run Code Online (Sandbox Code Playgroud)
要保存到的配置文件将因发行版而异。
如果您为实例使用VPC,则可以指定在您的子网上工作的“网络 ACLS”。网络 ACL 确实允许您编写允许和拒绝规则,因此我建议您这样做。
小智 12
停止流量的最简单方法是(假设正在使用 VPC)将其添加到该实例的 VPC 网络 ACL 并拒绝来自该 IP 地址的所有流量。
要记住的一件事是拒绝规则编号应小于第一个允许规则编号。