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

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

在 Linux 中查找开放端口

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

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 ss -tl

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 ss -tul

要获得每个服务的监听端口,您可以使用-n并获得更精细的结果,您可以随时使用 grep 命令:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 ss -tuln | grep LISTEN

寻找开放端口已经介绍够了,显著让我们来看看如何关闭它们。

在 Linux 中关闭开放端口

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 sudo ss -tulnp | grep LISTEN

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 sudo systemctl stop nginx

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 sudo systemctl disable nginx

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

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

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

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 sudo ufw status

如果它显示状态:不活动

您可以使用给定的命令来启用它:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 sudo ufw enable

在系统启动时启用和激活防火墙

现在,您只需使用deny选项与端口号

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
 sudo ufw deny 80
跳过添加已经存在的规则
跳过添加已经存在的规则 (v6)

这是最终结果: 

没有 NGINX 的迹象!

总结

这是我对如何在 Linux 中查找和关闭开放端口的看法。我希望你会发现这很有帮助。

如果您还有其他疑问,请在评论中告诉我。

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

THE END