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