| کانال امنیت و شبکه |
یکی از سادهترین راهها برای بالا بردن امنیت سرور لینوکسی اینه که لاگهای ssh رو جدی بگیریم و به شکل هوشمند بررسیشون کنیم تا الگوی لاگین مشکوک و حملات Brute Force زود شناسایی بشه. 🔍
با یک اسکریپت خیلی سبک میشه توی لاگها گشت و IPهایی که تعداد زیادی Login Fail دارن رو پیدا کرد و بعداً اونها رو توی firewall بلاک یا محدود کرد (مثلاً با iptables یا UFW یا حتی Fail2ban).
نمونهکد زیر روی لاگ پیشفرض Debian/Ubuntu یعنی /var/log/auth.log کار میکنه و IPهایی که بیشتر از ۵ بار لاگین ناموفق داشتن رو چاپ میکنه:
#!/usr/bin/env python3
import re
from collections import Counter
LOG_FILE = "/var/log/auth.log"
FAILED_THRESHOLD = 5
pattern = re.compile(r"Failed password for .* from (\d+\.\d+\.\d+\.\d+)")
ips = []
with open(LOG_FILE, "r", encoding="utf-8", errors="ignore") as f:
for line in f:
match = pattern.search(line)
if match:
ips.append(match.group(1))
counts = Counter(ips)
for ip, c in counts.items():
if c >= FAILED_THRESHOLD:
print(f"{ip} - failed logins: {c}")
👨💻 چند نکته کاربردی:
• این اسکریپت رو با کران (cron) زمانبندی میشه دورهای اجرا کرد و خروجی رو لاگ یا برای ادمین ایمیل کرد.
• روی توزیعهایی مثل CentOS/RHEL مسیر لاگ ssh معمولاً /var/log/secure هست، فقط همون رو عوض کن.
• بعد از شناسایی IP مشکوک، میشه بهصورت خودکار ruleهای firewall تولید کرد یا این منطق رو به ابزارهایی مثل Fail2ban سپرد تا به شکل استاندارد و امن Ban انجام بشه.
این رویکرد کمک میکنه رفتار مهاجم قبل از موفق شدن شناسایی بشه و در کنار تنظیمات درست ssh (مثل غیرفعال کردن Login با پسورد و استفاده از Key) یک لایه دفاعی مهم اضافه میکنه. 🔐
برای مطالعه عمیقتر روی لاگگیری و مانیتور امنیتی روی ssh میشه بخش مربوط به Brute Force در OWASP Cheat Sheet رو دید:
OWASP Authentication Cheat Sheet
🔖 #Security #امنیت #SSH #BruteForce #Logging #Linux #Security #Python
👤 Developix
💎 Channel: @DevelopixNetwork
14 · 1.4K ·