59 lines
2.5 KiB
Markdown
59 lines
2.5 KiB
Markdown
---
|
||
slug: jailing-server-chongzhi
|
||
|
||
summary: 这已经不是一般的虫豸了,必须要出重拳!
|
||
tags:
|
||
- 折腾
|
||
title: 服务器除虫日志
|
||
date: 2024-08-25
|
||
description: 本文讲述了作者偶然发现自己的服务器遭到了一些攻击,主要是试图用 root 和不存在的用户名登录等。作者对之十分生气,于是写了一个脚本扫描了攻击者的 IP,使用 Fail2ban 将其永久封禁,同时设置了定时任务对试图用 root 登录的攻击者进行封禁。
|
||
categories: ["图灵机"]
|
||
featuredImage:
|
||
draft: false
|
||
---
|
||
|
||
各位老友们好,我是 Chlorine。本来打算鸽一段时间,等备案完成再水文,但是没办法,键盘不允许(~~键盘:关我什么事~~)。
|
||
|
||
昨天闲着没事又去看我的服务器,偶然打开了 1Panel 面板的 SSH 登录日志,结果不看不知道,一看吓一跳……
|
||
|
||

|
||
|
||
我简单看了下,大部分的攻击都是来自海外的(也有国内的,我就不说是哪个地方的了)。攻击的 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 来把你们一个一个送上天!
|
||
|
||
然后的话……其实我也没什么好办法了。封禁已经是我能想到的最好的防范措施了,总不能拿我的服务器去反向攻击它们吧。
|