我有一个 Debian 10 VPS(虚拟专用服务器)。
如何检查是否已经安装了防火墙?
我没有所有现有防火墙的列表,所以我希望有一个更通用的方法。
答案1
我想看看系统服务。检查默认设置是个好主意,因为可能有您不需要的服务,您可以禁用它们提高绩效, 甚至减少攻击面(例如,可能有一个正在运行的网络服务器,但您不需要)。
列出系统上所有已加载的服务,包括失败的服务:
systemctl --type=service
列出活动服务:
systemctl list-units --type=service --state=active
如果已经安装了防火墙,很可能是以下之一:iptables、firewalld、ufw。
注意:您的系统上可能安装了某个服务,但是残疾人。这意味着当它没有运行时它是可用的。例如,有人可能用另一个防火墙(firewalld、ufw)替换了默认防火墙,但 iptables 仍然安装。因此,iptables 存在这一事实并不一定意味着它是活动防火墙。
既然你提到它是一个 VPS:除了内置的 Linux 防火墙之外,VPS 可能位于某种硬件/软件设备后面,充当防火墙或缓解 DDOS。上游流量过滤应该是最小的(如果有的话),但这是您必须与网络主机澄清的事情。
我假设您有一个“非托管”VPS,这意味着您只能靠自己,必须保护自己。另一方面,当“托管”VPS 面向技术不太熟练的最终用户时,它可能具有额外的保护。
答案2
如果您的防火墙使用内置的内核防火墙,sudo iptables -n -L
则会列出所有 iptables 内容。如果没有防火墙,输出将大部分为空。
您的 VPS 可能已经ufw
安装,所以请尝试ufw status
。ufw
是内核防火墙的简化“外观”(因此用它设置的内容也会出现在输出中iptables
),但它更容易理解/管理,所以我会推荐它。
答案3
最近的Linux中有一个firewall-cmd命令。跑步
firewall-cmd --state
会给你答案。例如
# firewall-cmd --state
running
这意味着防火墙处于活动状态。