SSH爆破攻击防护
过程记录
[2025-08-17 19:18:00 UTC+8] 我在宿舍里闲着没事,想着登录一下实验室的服务器看看服务器日志。
(事后)其实有一部分的动机来自于之前看到blgg在98上发布的有关于浙大超算队的服务器被入侵的恶性事件,自那时开始我对校园网内的网络安全开始产生了关注。我记得blgg说过:
当前校园网内的网络安全形式不容乐观,诸位可以试试在校网内暴露一下自己的22端口,很快就会有一群不怀好意的人/脚本找上门来。
其实我本身不太了解 Linux 的日志如何查看,先去搜索了一下,决定查看/var/log/auth.log
这个日志,它记录了服务器上的登录信息。(实验室的服务器用的ubuntu喵)
然后就看到了不得了的东西!
[2025-08-17 19:23:00 UTC+8] 向实验室的两个师兄报告了服务器正在遭受SSH爆破攻击。
从日志的内容来看,服务器正在承受来自222.205.10.24
和10.65.157.239
的攻击,主要有两种攻击方式:
- 弱口令爆破:攻击者通过字典攻击服务器中可能存在的弱口令用户(就是那群喜欢密码设置123456的大笨蛋!),所以日志中有大量的"guox","ienkins"这种奇怪的用户名的登录请求。
- root爆破:攻击者通过字典攻击服务器的root用户,试图窃取root权限。(赌root用户的密码很弱)
[2025-08-17 19:50:00 UTC+8] 得到师兄帮助,获得用户密码,开始配置防御措施。
因为只是在周四帮助师兄的时候将自己的公钥塞给了服务器,所以咱只有登录服务器的权限,但是没办法sudo
,但是得到师兄帮助,拿到用户密码后……啊哈,坏b,看招!
[2025-08-17 20:10:43 UTC+8] 禁止root用户远程登录
修改文件/etc/ssh/sshd_config
以禁止root用户以远程的方式登录。
# 修改 #PermitRootLogin yes 为 PermitRootLogin no
sudo nano /etc/ssh/sshd_config
# 重启sshd服务
sudo systemctl restart sshd
[2025-08-17 20:23:00 UTC+8] 解决网络问题
校园网内的服务器要拨号才能上外网唔!
[2025-08-17 20:27:56 UTC+8] 安装ufw防火墙并配置规则
为了尽可能给服务器提供足够的保护,使用防火墙绝对是个不错的选择。
下载后在启动防火墙前,请先放行ssh服务!!!,不然你会把自己一巴掌锁在服务器门外!(防火墙启动后会阻止ssh登录!)
重要的事情说三遍:请先放行ssh服务!!!请先放行ssh服务!!!请先放行ssh服务!!!
# 先放行!先放行!先放行!
sudo ufw allow ssh
# 启用ufw日志
sudo ufw logging on
# 拒绝所有进入的连接,允许所有出去的连接
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 有限ssh规则
sudo ufw limit ssh
# 启用两个服务的端口,很抱歉不能公开展示
sudo ufw allow ***/udp
sudo ufw allow ***/udp
# 鬼知道这两个服务在服务器上有什么用???
# 禁用 Avahi
sudo systemctl stop avahi-daemon && sudo systemctl disable avahi-daemon
# 禁用 CUPS 打印
sudo systemctl stop cups-browsed && sudo systemctl disable cups-browsed
sudo systemctl stop cups && sudo systemctl disable cups
# 启用并配置防火墙规则
# 你放行了ssh吗?你放行了ssh吗?你放行了ssh吗?
sudo ufw enable
sudo ufw status verbose
至此再返回去检查/var/log/auth.log
,安静地令人舒心。
至此完成了一次紧急的安全防护!
[2025-08-17 20:48:00 UTC+8] 完成所有配置,检验无误后向师兄报告,并计划明早和导师作简短的汇报。
写在最后
其实禁止密码登录是最有效的防御手段,但是由于实验室服务器仍有师兄习惯使用密码登录,所以暂时不对其进行设置。