关于SSHD更改绑定端口有没有用的分析

11 篇文章 0 订阅
10 篇文章 0 订阅

项目场景:

实际上很多人在安装好服务之后都会选则将默认的端口改掉,美其名曰防止端口扫描。实际上,如果仅仅更改端口就想阻止扫描,那多少有点掩耳盗铃的味道了。看完这篇文章你就明白了。


问题描述

就拿sshd来说吧,加密的安全通讯协议,可以说是未加密的telnetd的完美替换了。今天就围绕着只改默认端口能不能阻止扫描来展开。目的就是找到更改后的sshd端口和成功确认协议。


开始验证:

默认端口

一般不改的话默认是22,用nmap轻松扫描,不用任何额外配置。

nmap 192.168.1.1

PORT      STATE SERVICE
22/tcp    open  ssh
1935/tcp  open  rtmp
8000/tcp  open  http-alt
8443/tcp  open  https-alt
10000/tcp open  snet-sensor-mgmt
10001/tcp open  scp-config
19350/tcp open  unknown

看到了没有,轻松扫出。这里不一定说22端口就一定是sshd服务,但是黑客拿到这个端口就可以着手攻击了。

更改端口

这里更改为18022,依然是使用nmap扫描,不用额外配置。

nmap 192.168.1.1

PORT      STATE SERVICE
1935/tcp  open  rtmp
8000/tcp  open  http-alt
8443/tcp  open  https-alt
10000/tcp open  snet-sensor-mgmt
10001/tcp open  scp-config
19350/tcp open  unknown

看到22端口消失了,这是不是意味着你就安全了?别高兴太早!我们换个方式:

#指定扫描端口范围
sudo nmap -p1-65535 -sV 192.168.1.1

ORT      STATE SERVICE           VERSION
1935/tcp  open  rtmp?
8000/tcp  open  http-alt          ZLMediaKit(git hash:9fd5152/2022-11-19T09:52:10+08:00,branch:master,build time:2
8332/tcp  open  ssl/unknown
8443/tcp  open  ssl/https-alt?
8554/tcp  open  rtsp
10000/tcp open  snet-sensor-mgmt?
10001/tcp open  scp-config?
18022/tcp open  ssh               OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
19350/tcp open  ssl/unknown

时间长了点,但是依然扫描出来了。如果收益够大,这点时间不是问题。到这里已经证明单纯更改默认绑定端口是避不开攻击的。

禁ping

禁ping可以直接让ping命令无法得到回应,进而引发超时,但是对端口扫描有用吗?请继续看:

ping 192.168.1.1

正在 Ping 192.168.1.1 具有 32 字节的数据:
请求超时。
请求超时。

sudo nmap -p1-65535 -sV 192.168.1.1
PORT      STATE SERVICE           VERSION
1935/tcp  open  rtmp?
8000/tcp  open  http-alt          ZLMediaKit(git hash:9fd5152/2022-11-19T09:52:10+08:00,branch:master,build time:2
8332/tcp  open  ssl/unknown
8443/tcp  open  ssl/https-alt?
8554/tcp  open  rtsp
10000/tcp open  snet-sensor-mgmt?
10001/tcp open  scp-config?
18022/tcp open  ssh               OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
19350/tcp open  ssl/unknown

和上面一摸一样,所以禁ping只是在网路里隐藏自己,和端口无关。


解决方案:

我的理解是如果你的端口对外开放,那么是可以扫到的,除非你绑定为localhost。也不是说端口暴露了就一定处在危险之中,像ssh本身就是加密传输,安全性有一定保障,下面就提供几个加固办法,也是我一直在用的。

禁ping

有一丁点用,防菜鸟不防高手。

更改默认端口

有一丁点用,防菜鸟不防高手。

使用私钥登录

禁用密码登录,改用纯私钥登录,安全性比密码高很多。

私钥双重加密

私钥本身还可以添加一个密码,相当于双重密码了。

复杂密码

使用复杂密码,最好是数字+大小写字母+下划线等等,数目越长,破解难度越大。

超时断线

可以设置超时断线,一旦没有数据传输就断开,防止泄密

设置错误重试次数

如果多次重试失败就禁止用户登录

防火墙

如果你的ssh是内网用,可以设置防火墙仅支持指定ip登录

禁用非法ip登录

将疑似攻击的ip假如黑名单来阻止进一步侵害,这种工具很多。

多说一句:

网上很多人说通过替换sshd版本字符串让sshd不返回具体版本信息,因为不同版本有不同的漏洞。通过误导攻击者只能拖延攻击时间,还是不能避免被攻克的命运。我无法评估这个方法用处有多大,毕竟我也没见过真正的黑客能强到怎样可怕的地步,至少防一些普通攻击者是够了吧。

据我所知,ssh基本每个版本都有漏洞,如果真的被自己遇到了,可能修复漏洞才是更好的办法。

总结:

我接触过的很多项目和公司几乎不怎么注意这类安全问题,大公司一般有自己的安全团队。虽说可能服务器上没有什么特别值钱的数据,但是遇到恶意攻击的也不失没可能,到那个时候,法律就是最后的屏障了吧,毕竟使用黑客手段攻击他人是违法行为。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值