如何关闭 Linux 中打开的端口
排除网络故障?以下是如何在 Linux 命令行中查找打开的端口并关闭这些打开的端口。
因此,您正在处理一台关键服务器,您必须不惜一切代价维护安全。关闭端口以阻止不需要的流量是您要采取的第一步。
查找 Linux 中开放的端口
在本教程中,我将使用 ss 命令查找开放端口。
您可以将 -l
选项与 ss 命令一起使用来获取侦听端口。但更具体地说,我将使用 -lt
来获取侦听 TCP 端口:
ss -tl
同样,如果你想获得处于监听状态的 TCP 和 UDP 的列表,你可以使用给定的命令:
ss -tul
要获取每个服务的侦听端口,您可以使用 -n
,并且要获得更微调的结果,您始终可以使用 grep 命令:
ss -tuln | grep LISTEN
找到开放的端口已经够多了,让我们跳到如何关闭它们。
关闭Linux中开放的端口
要关闭端口,首先,您需要停止服务并查找服务名称,您可以使用带有 -p
选项的相同 ss 命令:
sudo ss -tulnp | grep LISTEN
正如您所看到的,NGINX 正在使用端口号 80。所以让我们使用给定的命令停止它:
sudo systemctl stop nginx
因为它会在每次启动时自行启用,您可以使用给定的命令更改此行为:
sudo systemctl disable nginx
为了获得更好的结果,我建议更改防火墙规则。
在这里,我将阻止 UFW(Ubuntu 中预安装的)中的 80 号端口(由 NGINX 使用)。
首先,我们检查一下UFW的状态:
sudo ufw status
如果它显示inactive
,您可以使用给定的命令来启用它:
sudo ufw enable
现在,您只需将 deny
选项与端口号
配对即可:
sudo ufw deny 80
这是最终结果:
没有 NGINX 的迹象!
包起来
这是我对如何在 Linux 中查找和关闭开放端口的看法。我希望您会发现这很有帮助。
如果您有任何疑问,请在评论中告诉我。