问题发现

登录云主机,根据提示消息,发现正遭受SSH爆破攻击,IP地址为159.65.230.189

查看登录相关安全日志:tail -f /var/log/secure,发现其他尝试爆破IP106.12.183.6182.61.166.179220.88.40.41

百度搜索IP地址为国外IP,有2个IP查询显示百度,不知道是啥原因。

另外发现该IP在其他地方也存在SSH攻击,打开链接网址为:http://antivirus.neu.edu.cn/scan/ssh.php ,为东北大学网络中心-网络威胁黑名单系统中存在攻击记录

该网站给出了封锁这些黑IP的方法,可以参考使用,本系统未采用,而是使用了下文的“防止 SSH 暴力破解脚本”。

#==========开始复制==========
ldd `which sshd` | grep libwrap # 确认sshd是否支持TCP Wrapper,输出类似:libwrap.so. => /lib/libwrap.so. (0x00bd1000)
cd /usr/local/bin/
wget antivirus.neu.edu.cn/ssh/soft/fetch_neusshbl.sh
chmod +x fetch_neusshbl.sh
cd /etc/cron.hourly/
ln -s /usr/local/bin/fetch_neusshbl.sh .
./fetch_neusshbl.sh
#=========结束复制==========

  

防止 SSH 暴力破解脚本

注:同一个IP地址超过10次的尝试,就加入/etc/hosts.deny。

  • vi ssh_pervent.sh  
#! /bin/bash
cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}' > /root/sshPrevent/black.txt
DEFINE=""
for i in `cat /root/sshPrevent/black.txt`
do
IP=`echo $i |awk -F= '{print $1}'`
NUM=`echo $i|awk -F= '{print $2}'`
if [ $NUM -gt $DEFINE ];
then
grep $IP /etc/hosts.deny > /dev/null
if [ $? -gt ];
then
echo "sshd:$IP" >> /etc/hosts.deny
fi
fi
done

添加计划任务:

[root@VM_0_11_centos ~]# crontab -e
*/ * * * * /bin/bash /root/sshPrevent/ssh_pervent.sh
# 每五分钟检查一次 # 重启crontab
[root@VM_0_11_centos ~]# systemctl restart crond

五分钟后,查看是否成功:

[root@VM_0_11_centos sshPrevent]# cat black.txt
101.36.138.61=
103.133.109.143=
103.15.62.69=
103.21.228.3=
103.23.100.87=
104.131.113.106=
104.131.37.34=
104.131.83.45=
104.200.110.184=
104.210.60.66=
104.211.79.54=
104.244.76.201=
104.244.79.242=
......
------------------我是分割线------------------

 

[root@VM_0_11_centos sshPrevent]# cat /etc/hosts.deny
#
# hosts.deny This file contains access rules which are used to
# deny connections to network services that either use
# the tcp_wrappers library or that have been
# started through a tcp_wrappers-enabled xinetd.
#
# The rules in this file can also be set up in
# /etc/hosts.allow with a 'deny' option instead.
#
# See 'man 5 hosts_options' and 'man 5 hosts_access'
# for information on rule syntax.
# See 'man tcpd' for information on tcp_wrappers
#
sshd:103.15.62.69
sshd:103.21.228.3
sshd:103.23.100.87
sshd:104.131.37.34
sshd:104.131.83.45
sshd:104.200.110.184
sshd:104.210.60.66
sshd:104.211.79.54
sshd:106.12.119.148
sshd:106.12.127.183
sshd:106.12.130.235
sshd:106.12.13.138
sshd:106.12.17.107
sshd:106.12.183.6
sshd:106.12.199.98
sshd:106.12.24.1
sshd:106.12.241.109
sshd:106.12.30.229
sshd:106.12.60.137
sshd:106.12.80.204
sshd:106.13.52.234
sshd:106.13.56.45
......
------------------我是分割线------------------

爆破源IP成功加入阻拦列表,查看secure日志,可以看到加入阻拦列表的IP被拒绝连接,阻断爆破成功。

参考链接

本文首发于【路飞小站】http://www.noofi.cn

长按二维码关注我们

SSH爆破应急响应的更多相关文章

  1. Linux应急响应(一):SSH暴力破解

    0x00 前言 ​ SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...

  2. Linux应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

  3. Linux应急响应思路详谈

    一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...

  4. 最全Linux应急响应技巧 【转】

    概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...

  5. Linux应急响应基础

    文件排查 敏感目录文件分析 tmp目录 命令目录 /usr/bin /usr/sbin 开机启动项 /etc/init.d /etc/init.d是/etc/rc.d/init.d的软链接 文件时间 ...

  6. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

  7. Window应急响应(一):FTP暴力破解

    0x00 前言 ​ FTP是一个文件传输协议,用户通过FTP可从客户机程序向远程主机上传或下载文件,常用于网站代码维护.日常源码备份等.如果攻击者通过FTP匿名访问或者弱口令获取FTP权限,可直接上传 ...

  8. Linux应急响应(四):盖茨木马

    0x00 前言 ​ Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装.木马得名于其 ...

  9. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

随机推荐

  1. Solr的核心操作案例

    @Service public class SearchServiceImpl implements SearchService { @Autowired private SolrTemplate s ...

  2. python3 pathlib库中的Path类的使用

    调用库 from pathlib import Path 获取 Path 的文件名 Path.name 参考 https://blog.csdn.net/amanfromearth/article/d ...

  3. Xcode一个project多个target

    project添加target https://blog.csdn.net/vbirdbest/article/details/53466009 https://www.cnblogs.com/Bob ...

  4. centos8 安装 docker

    centos 安装docker  官方参考地址:https://docs.docker.com/install/linux/docker-ce/centos/ 里面包含包下载地址: https://d ...

  5. 显示屏display的API

    display是代表25个led阵列显示屏的对象,包括以下的功能方法 # 获取(x,y)灯的亮度. 从 0 (不亮) to 9 (最亮). display.get_pixel(x, y) # 设置(x ...

  6. teacher笔记

    ======= 总览 start ======= 1.素质教育以提高国民素质为根本宗旨4.素质教育是促进学生个性发展的教育5.素质教育是以培养学生的创新精神和事件能力为重点的教育2.素质教育是面向全体 ...

  7. 【题解】Luogu P5471 [NOI2019]弹跳

    原题传送门 先考虑部分分做法: subtask1: 暴力\(O(nm)\)枚举,跑最短路 subtask2: 吧一行的点压到vector中并排序,二分查找每一个弹跳装置珂以到达的城市,跑最短路 sub ...

  8. Java学习:集合的使用与数组的区别

    ArrayList 集合 ArrayList 集合 ArrayList<String> list = new ArrayList<>(); 对于ArrayList来说,有一个尖 ...

  9. 在window中安装Docker,并生成CentOS镜像

    下载并安装windows docker 修改镜像本地保存地址             

  10. java面向对象的基本概念

    面向对象的基本概念 这里先介绍面向对象程序设计的一些关键概念,并开始使用类,你需要学习一些术语,我们尽量用比较浅显的语言来介绍,因为这些内容都比较重要,所以希望大家好好好理解. 一.什么是对象和面向对 ...