如何在 Linux 中查找打开的端口并关闭它们

因此,您正在处理一个关键服务器,您必须不惜一切代价维护安全。 关闭端口以阻止不需要的流量是您要采取的第一步。

在 Linux 中查找开放端口

在本教程中,我将使用 ss 命令查找打开的端口。

您可以使用 -l 选项与 ss 命令一起获取监听端口。 但更具体地说,我要 -lt 获取侦听 TCP 端口:

ss -tl

同样,如果你想在监听状态下同时拥有 TCP 和 UDP 的列表,你可以使用给定的命令:

ss -tul

而要获取每个服务的监听端口,你可以使用 -n 要获得更精细的结果,您始终可以使用 grep 命令:

ss -tuln | grep LISTEN
获取当前运行服务的监听端口

找到足够的开放端口,让我们跳到如何 close 他们。

在 Linux 中关闭开放端口

至 close 端口,首先,您需要停止服务并找到服务名称,您可以使用相同的 ss 命令 -p 选项:

sudo ss -tulnp | grep LISTEN
查找附加了服务名称的开放端口

如您所见,NGINX 正在使用端口号 80。所以让我们使用给定的命令停止它:

sudo systemctl stop nginx

因为它会在每次启动时自行启用,您可以使用给定命令更改此行为:

sudo systemctl disable nginx

为了获得更好的结果,我建议更改防火墙规则。

在这里,我将在 UFW(预安装在 Ubuntu 中)中阻止端口号 80(由 NGINX 使用)。

首先,让我们检查一下 UFW 的状态:

sudo ufw status
检查ufw的状态

如果它显示 inactive,您可以使用给定的命令来启用它:

sudo ufw enable

现在,您只需将 deny 选项与 port number:

sudo ufw deny 80
拒绝来自 ufw 的 nginx 服务器

这是最终结果:

close  80号端口

没有 NGINX 的迹象!

总结

这是我对如何找到和 close 在 Linux 中打开端口。 我希望你会发现这很有帮助。

如果您有任何疑问,请在评论中告诉我。

Linux基础培训