VPS基本安全措施

我之前还会进行禁止ping的设置。

1. 使用 iptables 禁止ping

- 查看当前iptables规则:
  - iptables -L -n
  - 这条命令可以列出当前iptables的规则,-L表示列出规则,-n表示以数字形式显示 IP 地址和端口号,而不是解析为主机名和服务名。  

- 禁止 ping(入站 ICMP Echo Request):
  - iptables -A INPUT -p icmp --icmp - type 8 -j DROP
  - 这里-A INPUT表示在INPUT链(用于处理进入本机的数据包)的末尾添加一条规则。-p icmp指定协议为 ICMP,--icmp - type 8表示 ICMP 类型为 8(即 Echo Request),-j DROP表示将匹配的数据包丢弃。  
  
- 保存iptables规则(如果需要永久生效):
  - 对于不同的 Linux 发行版,保存iptables规则的方式不同。
  - 在 CentOS 等基于 RHEL 的系统中,可以使用service iptables save命令来保存规则。这条命令会将当前的iptables规则保存到/etc/sysconfig/iptables文件中,这样在系统重启后规则依然生效。
  - 在 Ubuntu 等 Debian 系系统中,需要安装iptables - persistent软件包。安装后可以使用iptables - save > /etc/iptables/rules.v4(对于 IPv4 规则)来保存规则,这样在系统重启后也能恢复规则。

- 恢复 ping 功能
如果要恢复 ping 功能,可以删除刚才添加的禁止 ping 的规则。使用iptables -D INPUT -p icmp --icmp - type 8 -j DROP命令。其中-D INPUT表示从INPUT链中删除规则,其他参数和添加规则时相同。

2. 使用 firewalld 禁止 ping

- 查看firewalld状态:
  - systemctl status firewalld
  - 这条命令可以查看firewalld防火墙的状态,包括是否正在运行等信息。
 
- 禁止 ping:
  - 对于firewalld,可以通过设置区域规则来禁止 ping。例如,对于默认的public区域,可以使用firewalld - cmd --permanent --zone = public --add - rich - rule='rule family="ipv4" protocol="icmp" drop'
  - 这里--permanent表示永久设置(需要重新加载firewalld才能生效),--zone = public指定操作的区域为public,--add - rich - rule用于添加一条复杂的规则,在这个规则中rule family="ipv4" protocol="icmp" drop表示对于 IPv4 协议的 ICMP 流量进行丢弃操作。
- 重新加载firewalld使规则生效:
  - firewalld - cmd --reload
 
恢复 ping 功能
要恢复 ping 功能,可以删除刚才添加的禁止 ping 的规则。使用firewalld - cmd --permanent --zone = public --remove - rich - rule='rule family="ipv4" protocol="icmp" drop',然后重新加载firewalld(firewalld - cmd --reload)。

3. 使用UFW禁止ping

- 要禁止 ping,需要阻止 ICMP 的 Echo Request 数据包。可以使用以下 UFW 命令:
  - sudo ufw deny in icmp
  - 这条命令会拒绝所有入站(in)的 ICMP 数据包,从而禁止其他主机 ping 本机。

- 如果要恢复 ping 功能,可以使用以下命令:
  - sudo ufw delete deny in icmp
  - 这条命令会删除之前设置的拒绝入站 ICMP 数据包的规则,这样其他主机就可以再次 ping 本机了。

在网上摘抄了一下,希望有用。

5 个赞