Check SSH attacks on Linux

SSH端口暴露在公网上很可能被黑客扫描,并尝试登入系统。这种攻击基本每天都在发生。

所谓的服务器被入侵或者说被黑了的意思,是指未经授权的人或程序为了自己的目的登录到服务器上去并使用其计算资源,通常会产生不好的影响。
免责声明:若你的服务器被类似 NSA 这样的国家机关或者某个犯罪集团入侵,那么你并不会注意到有任何问题,这些技术也无法发觉他们的存在。
然而,大多数被攻破的服务器都是被类似自动攻击程序这样的程序或者类似“脚本小子”这样的廉价攻击者,以及蠢蛋罪犯所入侵的。
这类攻击者会在访问服务器的同时滥用服务器资源,并且不怎么会采取措施来隐藏他们正在做的事情。

被入侵服务器的症状
当服务器被没有经验攻击者或者自动攻击程序入侵了的话,他们往往会消耗 100% 的资源。他们可能消耗 CPU 资源来进行数字货币的采矿或者发送垃圾邮件,也可能消耗带宽来发动 DoS 攻击。
因此出现问题的第一个表现就是服务器 “变慢了”。这可能表现在网站的页面打开的很慢,或者电子邮件要花很长时间才能发送出去。
那么你应该查看那些东西呢?

一、检查攻击来源

btmp文件会记录SSH端口登录失败的信息,包括尝试的用户名、IP地址和时间等信息。
btmp为二进制文件,文件路径为/var/log/btmp

1. 查看文件btmp
使用命令lastb可以查看文件btmp的信息,参数-n可以指定显示数量。
lastb -n 10 | tac

2. 查看攻击者IP及攻击次数和尝试的用户名
lastb | awk '{ print $1,$3}' | sort | uniq -c | sort -n

3. 分析攻击者
对攻击次数第一的IP进行分析。
• 查看攻击开始时间
lastb | grep 137.184.155.125
• 查看攻击终止时间
lastb | grep 137.184.155.125 | tac
#tac 命令是 cat 命令的反转。字面上,字符串 'tac' 是 'cat' 的反向字符序列。
#它使行逆序显示文件内容。意味着这个命令显示文件内容,最先显示内容的最后一行,倒数第二行 ... 依此,最后显示第一行。
• 查看IP地理位置
curl ipinfo.io/137.184.155.125		https://www.google.com/maps谷歌地图

4.记录
查看攻击失败记录:
grep "Failed password for invalid user admin" /var/log/secure
查看攻击成功的记录:
grep "Accepted password for root from" /var/log/secure

在这里插入图片描述

二、防范措施

1. 修改SSH端口

修改SSH端口可以避免广撒网式的端口扫描及后续的攻击。

  • 打开文件sshd_config

    vim /etc/ssh/sshd_config
    
  • 修改参数Port

    修改前:

    #port 22
    

    修改后:

    port 8500
    
  • 重启SSH守护程序

    systemctl restart sshd
    

2. 设置复杂密码

设置密码为字母+数字+符号组合,提升暴力破解难度。
There is no innate confidence, only the confidence of continuous cultivation

猜你喜欢

转载自blog.csdn.net/qq_50573146/article/details/126577390