1
0
Fork 0
blog/content/posts/图灵机/服务器除虫日志.md

59 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
slug: jailing-server-chongzhi
summary: 这已经不是一般的虫豸了,必须要出重拳!
tags:
- 折腾
title: 服务器除虫日志
date: 2024-08-25
description: 本文讲述了作者偶然发现自己的服务器遭到了一些攻击,主要是试图用 root 和不存在的用户名登录等。作者对之十分生气,于是写了一个脚本扫描了攻击者的 IP使用 Fail2ban 将其永久封禁,同时设置了定时任务对试图用 root 登录的攻击者进行封禁。
categories: ["图灵机"]
featuredImage:
draft: false
---
各位老友们好,我是 Chlorine。本来打算鸽一段时间等备案完成再水文但是没办法键盘不允许~~键盘:关我什么事~~)。
昨天闲着没事又去看我的服务器,偶然打开了 1Panel 面板的 SSH 登录日志,结果不看不知道,一看吓一跳……
![](https://img.viento.cc/IMG-20240825090708.webp "好几万条的记录")
我简单看了下,大部分的攻击都是来自海外的(也有国内的,我就不说是哪个地方的了)。攻击的 IP 高度重复,手段主要集中于使用 `root` 进行登录,以及尝试蒙用户名。幸亏我的机器除了 `root` 拢共就我一个用户(系统自动生成的除外),而且只有我能 SSH 登录,不然可能还真就叫人钻空子了。
然后我就坐在那想,越想越气。欺负人都欺负到我小氯头上了,这已经不是一般的虫豸了,必须要出重拳!
于是我写了个简单的脚本:
```bash
#!/bin/bash
LOG_DIR=/var/log
OUTPUT_FILE=/home/yoghurtlee/chongzhi.txt
# 方便审查
LOGIN_RECORD_FILE=/home/yoghurtlee/chongzhi_jilu.txt
> $LOGIN_RECORD_FILE
for log_file in $LOG_DIR/auth.log*; do
if [[ -f "$log_file" ]]; then
grep "Invalid user" "$log_file" >> $LOGIN_RECORD_FILE
fi
done
grep "Invalid user" $LOGIN_RECORD_FILE | awk '{print $10}' | sort -u > $OUTPUT_FILE
```
然后赋予可执行权限:
```bash
chmod +x chongzhi.sh
./chongzhi.sh
```
获得了一群 IP。全都加到 1Panel 里面 Fail2ban 的黑名单里面,杜绝其访问我的一切服务。
然后我又写了个定时任务,监控所有尝试用 `root` 登录的 IP一旦发现直接永久封禁。你们这帮攻击者给我老实呆着看我派 Fail2ban 来把你们一个一个送上天!
然后的话……其实我也没什么好办法了。封禁已经是我能想到的最好的防范措施了,总不能拿我的服务器去反向攻击它们吧。