快速关闭非业务端口-阿里云开发者社区

开发者社区> 安全> 正文
登录阅读全文

快速关闭非业务端口

简介:

    服务器开放的端口,对于攻击者来说,其实就是一个入口点,一旦入口点存在安全风险,那么攻击者就会集中精力对该端口进行攻击,但是某些管理员在部署相关业务的时候,并没有对服务器开放的端口进行检查,导致开放了很多非业务端口,一旦开放的端口被攻击者利用(如windows的445端口),那么即使你业务(端口)安全防护措施做得多好也是无济于事的!因此我们在服务器上面部署业务后,一定需要及时关闭那些非业务端口,那么我们怎么知道我们开放了哪些端口?我们应该怎么关闭这些端口呢?

  • 查看开放的端口

    查看开放的端口我们可以使用netstat命令来进行查看,该命令windows和linux都是支持的,对于windows,我们可以使用

1
netstat -ano

来快速查看开放的端口以及对应的PID号,如下图:

wKiom1mH-pjgW_9dAABpJq-XK_0073.png-wh_50


    对于linux系统,我们可以使用

1
netstat -anp

来快速查看我们开放的端口、PID以及对应的程序名称(服务),如下图:

wKioL1mH-9-yKRZeAACa3nG99f8645.jpg-wh_50

    通过使用以上的方法,我们可以查看我们开放了什么端口,然后判断出什么端口是我们需要的,什么端口是我们不需要的,对于不需要的,我们应该及时关闭!

  • 关闭非业务端口

    当我们找出了哪些端口是我们不需要的,我们应该把这些端口直接关闭,以防被攻击者利用!

对于linux系统来说,我们可以使用命令

1
kill PID

 PID是上面查出来的具体PID,这样就可以关闭不需要的端口了。另外我们可以使用命令

1
sudo netstat -anp | grep port

 或者

1
lsof -i:port

port是具体的端口号,这样可以查看单独端口对应的PID,查看PID即可关闭非业务端口了!

    对于windows系统来说,在我们知道那些端口是不需要的时候,我们可以使用快捷键【Ctrl+shift+Esc】打开任务管理器,选择【服务】项,查找PID对应的服务(描述即为服务名称),可以通过鼠标右键进行停止,也可以打开服务,查找对应的服务,然后进行禁止相关服务,也可使用命令 net stop 服务名称 进行禁止!

    对于windows系统,我们可以使用

1
tskill PID

来杀死进程,但是不推荐这种方式,这种方式存在一定的风险,可能会导致蓝屏!慎用!

另外我们可以使用

1
netstat -ano | findstr "端口"

来单独查看某一端口的PID号。

    如果这种方法不行,建议使用防火墙策略进行端口限制!

  • 验证端口关闭是否成功

    在我们使用了上述方法后,我们还需要验证端口是否关闭成功,如果是直接关闭的,那我们可以使用查询开放的端口来进行验证,如果我们是使用防火墙做的策略,那么我们可以让一个互通的主机使用命令

1
telnet ip 端口

来进行查看端口是否封堵成功,端口是具体端口号,如果显示以下信息表示成功封堵!

正在连接xx.xx.xx.xx...无法打开到主机的连接。 在端口 xx: 连接失败

反之封堵未成功!



本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1954172

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: