zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-02-25 17:58:23 时间

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

在 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 的迹象!