چطور با CrowdSec امنیت سرور را بالا ببریم؟
CrowdSec یه ابزار رایگان و متن بازه برای تشخیص و مسدود کردن حملات روی سروره مثل یه نگهبان هوشمند که رفتارهای مشکوک رو تشخیص میده مهاجم رو بلاک میکنه و اطلاعاتش رو با بقیه سرورهای دنیا به اشتراک میذاره
چرا CrowdSec؟
- رایگان و متن بازه
کاملا رایگانه نه نسخه پرو داره نه محدودیت کدش روی گیت هاب هست
- هوشمندتر از Fail2ban
Fail2ban فقط لاگ ها رو میخونه و بر اساس الگوهای ساده بلاک میکنه CrowdSec رفتار مهاجم رو تحلیل میکنه و سناریوهای پیچیده رو تشخیص میده
- اشتراک گذاری تهدیدها
وقتی یه IP به سرور تو حمله میکنه بقیه سرورهایی که CrowdSec دارن هم اون IP رو بلاک میکنن یه شبکه جهانی از سرورها علیه مهاجما
- سبک و سریع
با زبان Go نوشته شده منابع کمی مصرف میکنه و روی هر VPS کوچیکی جواب میده
- چند سرویس رو همزمان محافظت میکنه
SSH، Nginx، Apache، MySQL، WordPress، و کلی سرویس دیگه رو میتونه پوشش بده
CrowdSec چطور کار میکنه؟
CrowdSec سه بخش اصلی داره:
Agent (عامل)
لاگ های سرویس ها رو میخونه (مثل /var/log/nginx/access.log) و رفتارهای مشکوک رو تشخیص میده مثلا ۱۰ بار تلاش ناموفق برای لاگین SSH توی ۱ دقیقه
Local API (API محلی)
تصمیم میگیره با IP مهاجم چیکار کنه بلاک بشه فقط ثبت بشه یا یه Captcha بهش نشون داده بشه
Bouncer (مسدودکننده)
دستور بلاک رو اجرا میکنه میتونه با iptables یا nftables یا خود Nginx مهاجم رو بلاک کنه
نصب CrowdSec
نصبش خیلی سادست یه اسکریپت داره که همه کار رو خودش انجام میده:
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.deb.sh | sudo bash sudo apt install crowdsec
برای CentOS/RHEL:
curl -s https://packagecloud.io/install/repositories/crowdsec/crowdsec/script.rpm.sh | sudo bash sudo yum install crowdsec
بعد از نصب خودش شروع به کار میکنه و سرویسهای فعال روی سرور رو تشخیص میده
نصب Bouncer (مسدودکننده)
برای اینکه IP های مهاجم واقعا بلاک بشن باید Bouncer نصب کنی:
بلاک با فایروال (iptables):
sudo apt install crowdsec-firewall-bouncer-iptables
بلاک با Nginx:
sudo apt install crowdsec-nginx-bouncer
بلاک با Cloudflare:
sudo apt install crowdsec-cloudflare-bouncer
دستورات مهم
وضعیت کلی CrowdSec
sudo cscli metrics
دیدن IP های بلاک شده
sudo cscli decisions list
اضافه کردن دستی یه IP به لیست بلاک
sudo cscli decisions add --ip 1.2.3.4
حذف یه IP از لیست بلاک
sudo cscli decisions delete --ip 1.2.3.4
دیدن سناریوهای فعال
sudo cscli scenarios list
دیدن سرویس هایی که مانیتور میشن
sudo cscli collections list
آپدیت دیتابیس تهدیدها
sudo cscli hub update
ارتقای خود CrowdSec
sudo cscli hub upgrade
داشبورد تحت وب
CrowdSec یه داشبورد رایگان داره به اسم Metabase که میتونی نصب کنی:
sudo cscli dashboard setup
بعد توی مرورگر برو به http://SERVER-IP:3000 و آمار حملات IP های بلاک شده و نمودارها رو ببین