今天一早,登录到跑Docker的一台服务器,一登录就发现如下提示:
WARNING!The SSH server rejected X11 forwarding request.Last faild login: Sat Apr 24 07:13:15 CST 2021 from 91.196.148.56 on ssh:nottyThere were 133 failed login attempts since the last successful login.
心里顿时就一帮草泥马奔腾,没什么对外的服务,实际也就跑了几个自用的容器,一个密码管理,一个RSS流的,其他没啥,怎么就被爆破了呢?百思不得其解。。
然后就开始慢慢的查询,经过查询得知居然有1W+的爆破攻击
查询爆破记录
#通过lastb 查询登录失败的记录 wc -l 统计一共的条数lastb | wc -l13454# 通过lastb查询,发现应该是通过跑字典爆破的,记录一共1万多条,lastbnagios ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) mysql ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) root ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) backup ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) testwebl ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) manager ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) glassfis ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) nagios ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) ftpuser ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) tmc ssh:notty 180.142.130.246 Wed Apr 21 06:18 – 06:18 (00:00) test01 ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) hp ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) pcap ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) liy ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) tmc ssh:notty 180.142.130.246 Wed Apr 21 06:18 – 06:18 (00:00) manager ssh:notty ip209.ip-144-217 Wed Apr 21 06:18 – 06:18 (00:00) …… ……
截取部分日志,发现总共大概基本通过如下几个地址
基于系统访问控制策略控制
可以通过系统的访问控制策略阻止这几个ip
# 编辑 /etc/hosts.deny文件,将上述几个地址加入vim /etc/hosts.denysshd:45.76.149.9:deny
基于系统自带访问控制策略编写脚本检测,超过5次登录失败的,就将ip加入到黑名单
编写脚本 vim /usr/local/bin/secure_ssh.sh #! /bin/bashcat /var/log/secure|awk ‘/Failed/{print $(NF-3)}’|sort|uniq -c|awk ‘{print $2″=”$1;}’ > /usr/local/bin/black.txtfor i in `cat /usr/local/bin/black.txt`do IP=`echo $i |awk -F= ‘{print $1}’` NUM=`echo $i|awk -F= ‘{print $2}’` if [ $NUM -gt 5 ];then grep $IP /etc/hosts.deny > /dev/null if [ $? -gt 0 ];then echo “sshd:$IP:deny” >> /etc/hosts.deny fi fidone 创建记录登录失败次数的文件 touch /usr/local/black.txt(此处如果有正常访问被拉黑的话,可以将需要正常访问的加入到访问白名单 vim /etc/hosts.allow 将需正常访问的加入此文件即可) 添加定时任务,每5分钟运行一次上述脚本 */5 * * * * sh /usr/local/bin/secure_ssh.sh
修改sshd配置,增强远程连接安全性
通过修改ssh服务配置文件,修改远程端口,指定认证类型,建议使用密钥登录,禁止密码登录
生成ssh免密登录密钥
cd /root/.ssh#生成密钥对,-t代表类型,有RSA和DSA两种ssh-keygen -t rsa Generating public/private rsa key pair.#密钥文件默认存放位置,按Enter即可Enter file in which to save the key (/root/.ssh/id_rsa): Created directory ‘/root/.ssh’.#输入密钥锁码,或直接按 Enter 留空Enter passphrase (empty for no passphrase): Enter same passphrase again: #生成的私钥Your identification has been saved in /root/.ssh/id_rsa. #生成的公钥Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is:SHA256:K1qy9xxkk1FUuzQxsdfsdf6dfdxxvHw9lQ+xxxxThe key’s randomart image is:+—[RSA 2048]—-+| +. || o * . || . .O + || . *. * || S =3+ || . =… || .oo =+ov+ || ==o+B*3o. || oo.3=XXX. |+—-[SHA256]—–+# 然后将密钥文件拷贝或分发到其他需要免密登录的电脑,使用终端登录连线的时候需选泽密钥登录,选中密钥文件即可# 修改sshd配置文件Port 2202 #修改sshd默认端口,默认22PubkeyAuthentication yes #启用密钥登录,前提是先生成密钥PasswordAuthentication no #禁止密码登录
通过上述设置正常可以限制陌生登录,爆破了。
没有绝对安全的系统,所以在使用的时候还是要保持正常的使用,不适用弱密码,不安装陌生来历不明的软件,不运行高危脚本等。
基于上述环境设置,辅助的话可以结合其他监控类软件监测`/usr/local/black.txt` 当文件变化,当文件发生变化的时候告警通知提醒,即可即时得到通知,知道有非法爆破。
附:二00二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!
一、本站致力于为软件爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、 本站提供的部分源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、我站提供用户下载的所有内容均转自互联网。如有内容侵犯您的版权或其他利益的,若有侵犯你的权益请: 前往投诉 站长会进行审查之后,情况属实的会在三个工作日内为您删除。
暂无评论内容