Linux开放的端口太多了?教你一招找出所有开放的端口,然后直接干掉!

举报
wljslmz 发表于 2023/03/03 14:26:36 2023/03/03
【摘要】 基于服务器安全性维护的目的,查看所有开放的端口是通常采取的第一步,从中检查出可疑或者不必要的端口并将其关掉。关于查看开放的端口,方法不止一种,比如lsof 命令,还可以使用 ss 命令。 查看开放的端口今天我们就介绍一下如何使用 ss 命令来查看 Linux 系统中开放的端口。获取所有正在监听的接口,可以使用 -l 选项,不过我们可以再额外增加使用另外一个选项 t 来监听所有 TCP 端口,...

基于服务器安全性维护的目的,查看所有开放的端口是通常采取的第一步,从中检查出可疑或者不必要的端口并将其关掉。关于查看开放的端口,方法不止一种,比如lsof 命令,还可以使用 ss 命令。

查看开放的端口

今天我们就介绍一下如何使用 ss 命令来查看 Linux 系统中开放的端口。获取所有正在监听的接口,可以使用 -l 选项,不过我们可以再额外增加使用另外一个选项 t 来监听所有 TCP 端口,如下:

ss -tl

如果希望同时监听 TCP 和 UDP 端口,可以使用如下选项组合命令:

ss -tul

要获取每个服务监听的端口,可以使用 -n 选项,然后结合grep 命令来过滤结果,如下所示:

ss -tuln | grep LISTEN

找到开放的端口后,就可以选择性地关闭它们。

关闭端口

要关闭端口,首先你需要找到位于该端口的服务名称并停掉该服务,可以使用 ss 命令的 -p 选项,如下所示:

sudo ss -tulnp | grep LISTEN

上图所示的例子中,端口号 80 被 nginx 服务所占据,如果我们想要关闭该端口,可以使用如下命令停止 nginx 服务:

sudo systemctl stop nginx

如果 nginx 服务被设置了自启动(即每次服务器重启时,nginx 都会自动启动),那么我们可以使用如下命令来禁用该服务:

sudo systemctl disable nginx

不过最好还是更改防火墙规则,比如在 Ubuntu 中,可以阻止 UFW 中的端口号 80(即 nginx 所使用的端口)。

首先,检查 UFW 的状态:

sudo ufw status

如果其状态为 inactive,可以使用如下命令启用:

sudo ufw enable

然后使用 deny 选项 来阻止某个端口号:

sudo ufw deny 80

这里由于我们的服务器是云服务器,所以基本上防火墙都放在了云防火墙的配置中,这里就不演示了。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。