在服务器上搭建简易的ssh蜜罐

笔者有一台云服务器,通过长期的使用发现ssh服务容易受到暴力破解,所以在此也建议大家凡是放在公网上的东西密码不能太简单。

1. 更改原有ssh服务端口号

sudo vi /etc/ssh/sshd_config编辑配置文件将ssh的端口号改为一个不常用的端口号,让默认的22留给蜜罐使用。

#Port 22
Port XXX

重启ssh服务sudo systemctl restart sshd

2. 安装ssh蜜罐

这里有两个开源软件值得推荐安装

  1. cowrie
  2. ssh-honeypot

2.1 cowrie安装过程

安装依赖包

sudo apt-get install git python-virtualenv libssl-dev libffi-dev build-essential libpython-dev python2.7-minimal authbind

新建用户

对外提供服务的程序以普通用户身份运行,能更好的保证服务器安全性。

sudo adduser --disabled-password cowrie

配置环境

$ cd /home/cowrie/
$ git clone https://github.com/cowrie/cowrie.git
$ cd /home/cowrie/cowrie
$ virtualenv --python=python2 cowrie-env
$ source cowrie-env/bin/activate
$ pip install --upgrade pip
$ pip install --upgrade -r requirements.txt

创建修改cowrie.cfg配置文件

$ cd etc
$ vi cowrie.cfg
[honeypot]
hostname = VM_ubuntu

[output_textlog]
enabled = true
logfile = ${honeypot:log_path}/audit.log
format = text

开始运行

$ bin/cowrie start
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

查看日志

 grep login /home/cowrie/cowrie/var/log/cowrie/audit.log | awk '{print $5}' | sort | uniq -c

通过查看日志可以知道服务器暴力登录破解常用的用户名密码组合,在尝试登录成功后还能进一步了解破解后使用的攻击命令,最常用的密码是123456,admin,p@ssw0rd

2.2 ssh-honeypot安装过程

ssh-honeypot是更加轻量级的ssh蜜罐,它提供的功能只有破解记录登录的用户名密码组合,仅适合分析攻击来源、常用密码。运行前ssh-honeypot需要停掉前面的cowrie。
安装运行过程

$ git clone https://github.com/droberson/ssh-honeypot.git
$ cd ssh-honeypot
$ sudo apt install libssh-dev
$ make
$ ssh-keygen -t rsa -f ./ssh-honeypot.rsa
$ bin/ssh-honeypot -r ./ssh-honeypot.rsa -p 22 -l mylog.log -f my.pid -u cowrie -d

-l mylog.log选择日志文件,-u cowrie以刚才创建的cowrie身份运行,-d作为守护进程运行。
查看日志

 awk '{print $7,$8}' mylog.log | sort | uniq -c

通过分析攻击来源可以有针对的屏蔽对特定IP的响应,安装ssh蜜罐使得服务器真正的ssh服务难以被发现。

你可能感兴趣的:(Linux方向)