蜜罐SSH服务器

云服务器的SSH服务总是受到攻击,于是做了一下加固,可以看 云服务器SSH服务加固

最近突然想到一些攻击者的攻击思路,无非是先扫描常用端口是否能够访问,例如可以访问22端口,并且通过尝试连接发现也是SSH协议的端口,那就会使用一些弱密码或者暴力破解的方式进行攻击。如果22端口访问不通,那说明有可能SSH服务切换了端口,可以扫描所有端口来查找正确的SSH服务。

于是就有了这样一个想法,如果我在22端口上放置一个服务,能模拟SSH的协议,但不提供服务。再把真正的SSH服务端口限制一些IP白名单,这样是不是攻击者的脚本只会尝试破解22端口了。

终于被我找到了一个软件,FakeSSH是一个用 Go 语言编写的容器化蜜罐 SSH 服务器,用于记录登录尝试。密码验证总是失败,因此不会向攻击者提供终端访问权限。

在服务器上采用docker的方式部署一下FakeSSH

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "3"
services:
fakessh:
container_name: fakessh
deploy:
resources:
limits:
cpus: "1.00"
memory: 128M
image: fffaraz/fakessh
network_mode: host
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro

过一段时间去看一下容器日志,就能发现有不少暴力破解的情况了,能够得到弱密码和对应的攻击者IP