网络安全攻防:SSH 爆破后的亡羊补牢,真能防住下一只狼?

admin 2025年6月14日23:10:03评论14 views字数 2204阅读7分20秒阅读模式

文章开篇就提到了暴力破解,这玩意儿就像是网络世界的“敲门砖”,坏人拿着它,挨家挨户试密码。今天我们就来聊聊,当 Linux 服务器遭遇 SSH 暴力破解后,该如何亡羊补牢。

你的 SSH 连接还好吗?别等“砰”的一声才后悔!

首先,得看看“案发现场”。用 netstat -pantu 就像是给服务器做个全身 CT,看看有没有啥不正常的连接。

  • Proto
    ?TCP 还是 UDP?就像是进你家的路,是高速公路还是乡间小道。
  • Recv-Q
     和 Send-Q?这两个家伙就像是服务器的“消化系统”,积压太多数据,不是被 DOS 攻击了,就是服务器便秘了。
  • Local Address
     和 Foreign Address?一个是“家”,一个是“贼”来的地方。
  • State
    ?这可重要了!ESTABLISHED 状态一大堆?恭喜你,可能已经被盯上了。

(图片同原文)

网上关于网络状态的解释多如牛毛,但说实话,真要搞懂,还得自己多琢磨。

如果 ESTABLISHED 状态的连接多到你怀疑人生,那就得往下查了。

谁在偷偷摸摸?揪出那些“特权阶级”和“SSH 常客”!

接下来,我们要看看,谁有“作案”的嫌疑。

  • awk -F: '{if($3==0) print $1}' /etc/passwd
     这条命令,能揪出那些“特权阶级”—— root 用户。
  • 再用一堆命令组合拳,sudo cat /etc/shadow | grep '^[^:]*:[^*!]' | awk -F: '{print $1}' 找出能登录 SSH 的“常客”。说实话,这命令有点长,但效果杠杠的。

然后,看看谁正在连接:

  • who -a
    wlast -p now 都能告诉你,现在谁在线。
  • sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'
     再次确认 SSH 连接情况。
  • pgrep -af sshd
     看看 SSH 守护进程在干啥。
  • echo $SSH_CONNECTION
     查查当前 SSH 连接的信息。

从“犯罪现场”找线索:SSH 日志里的秘密

接下来,我们要去“犯罪现场”—— SSH 日志里找线索。

  • Ubuntu 在 /var/log/auth.log,CentOS 在 /var/log/secure。别告诉我你找不到!

看看有没有“欢迎光临”的记录:

  • cat /var/log/auth.log | grep "Accept"
     看看谁登录成功了。
  • cat /var/log/auth.log | grep "pam_unix(sshd:session): session closed"
     看看谁正常退出了。

重点来了,看看谁在输错密码:

  • cat /var/log/auth.log | grep "Failed password for" | more
     这条命令能揪出那些“手残党”或者“暴力破解者”。

再用 Perl 脚本统计一下,谁最爱输错密码:

  • grep "Failed password" /var/log/auth.log|perl -e 'while($_=<>){ /for(.*?)from/; print "$1 ";}'|sort|uniq -c|sort -nr
     这条命令有点骚,但能帮你快速找到目标。

看看有没有人盯着 root 用户下手:

  • cat /var/log/auth.log | grep "Failed password for" | grep "root" | grep -Po '(1d{2}|2[0-4]d|25[0-5]|[1-9]d|[1-9])(.(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d)){3}'|sort|uniq -c|sort -nr
     这条命令能揪出那些试图破解 root 密码的 IP 地址。

当然,你也可以用 cut 命令来定位:

  • cat /var/log/auth.log | grep "Failed password for" | grep "root" | cut -d " " -f 11 |sort -nr|uniq -c

最后,来个“一锅端”:

  • cat /var/log/auth.log | grep "Failed password for" | cut -d " " -f 9 | sort -nr |uniq|grep -v "invalid"| while read line;do echo [$line];cat /var/log/auth.log | grep "Failed password for" | grep $line | grep -Po '(1d{2}|2[0-4]d|25[0-5]|[1-9]d|[1-9])(.(1d{2}|2[0-4]d|25[0-5]|[1-9]d|d)){3} '|sort|uniq -c |sort -nr; done
     这条命令能把所有输错密码的用户和 IP 地址都揪出来。

亡羊补牢,不如防患于未然:SSH 加固三板斧

查完了“案发现场”,抓完了“嫌疑人”,接下来就是亡羊补牢了。

  1. 升级 SSH 版本
    :至少升到 7.7,老古董该换换了。
  2. 加强口令复杂程度
    :密码搞复杂点,别用啥 123456 了。
  3. 禁止 root 用户登录
    :让 root 用户退休吧,找个替身也行。
  4. 安装 fail2ban
    :这玩意儿就像个“保安”,发现有人恶意破解,直接拉黑。

说实话,亡羊补牢不如防患于未然。与其等被爆破了再来补救,不如一开始就把 SSH 加固好。毕竟,网络安全这玩意儿,永远是“道高一尺,魔高一丈”。今天你防住了 SSH 爆破,明天可能又冒出个新的漏洞。所以,别掉以轻心,时刻保持警惕才是王道。

黑客/

原文始发于微信公众号(龙哥网络安全):网络安全攻防:SSH 爆破后的亡羊补牢,真能防住下一只狼?

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月14日23:10:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   网络安全攻防:SSH 爆破后的亡羊补牢,真能防住下一只狼?http://cn-sec.com/archives/4165652.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息