اقدامها
بستن خودکار IP مهاجم، ریاستارت سرویس خراب و قرنطینهی فایل، با تأیید اپ Authenticator.
بستن خودکار IP مهاجم، ریاستارت سرویس خراب و قرنطینهی فایل، با تأیید اپ Authenticator.
ایجنت wardex بهطور پیشفرض فقط میبیند و گزارش میدهد. از نسخهی ۲ میتواند چند کار مشخص را هم خودش انجام دهد: بستن IP مهاجم، ریاستارت سرویس خراب و قرنطینهی فایل مشکوک. هر کدام خاموش است تا وقتی خودتان روی سرور روشنش کنید.
| اقدام | چه وقت انجام میشود | چه کسی تصمیم میگیرد |
|---|---|---|
| بستن IP مهاجم | هر IP که در ۱۰ دقیقه ۲۰ بار رمز SSH را اشتباه بزند. اول یک ساعت بسته میشود؛ با هر تکرار در یک هفته مدتش دو برابر میشود، حداکثر یک روز | خود سرور، خودکار |
| ریاستارت سرویس خراب | وقتی وبسرور، PHP، دیتابیس یا Redis با خطا متوقف شود. حداکثر ۳ بار در ساعت؛ بعد فقط خبرتان میکند | خود سرور، خودکار |
| قرنطینهی فایل | فقط وقتی شما از داشبورد بخواهید. فایل از سایت بیرون برده و غیرقابل اجرا میشود؛ پاک نمیشود و برمیگردد | شما، با کد Authenticator |
باز کردن IP بستهشده و بستن دستی یک IP هم از داشبورد، با کد Authenticator، ممکن است.
روی سرور اجرا کنید (هر کدام را که بخواهید):
sudo wardex-agent allow block-ip restart-service quarantine
بستن IP به nftables نیاز دارد (sudo apt install nftables یا sudo dnf install nftables). ایجنت فقط یک جدول جدا به اسم inet wardex میسازد و به قوانین فعلی فایروال شما دست نمیزند.
خاموش کردن هر وقت بخواهید؛ با خاموش کردن بستن IP، همهی IPهای بستهشده هم فوراً باز میشوند:
sudo wardex-agent deny all
برای اینکه بتوانید از داشبورد IP باز کنید یا فایل قرنطینه کنید، یک بار روی سرور این دستور را بزنید و QR را با اپ Authenticator گوشیتان (Google Authenticator، Microsoft Authenticator، Aegis و…) اسکن کنید:
sudo wardex-agent authenticator
از آن به بعد، هر اقدامی که از داشبورد بخواهید، کد ۶ رقمی اپ را میخواهد.
sudo wardex-agent authenticator --removeاین IPها هرگز بسته نمیشوند، چه خودکار و چه از داشبورد:
/etc/wardex/agent.json:{ "neverBlock": ["203.0.113.10", "10.0.0.0/8"], "blockAfter": 20, "blockWindowM": 10, "blockForM": 60 }
blockAfter، blockWindowM و blockForM تعداد تلاش ناموفق، بازه به دقیقه و مدت اولین بستن به دقیقه را تنظیم میکنند.
با "blockWebAttacks": true، IPهایی هم که در ۱۰ دقیقه ۳۰ بار یا بیشتر درخواست حمله به سایت بفرستند (تزریق SQL، XSS، خواندن فایل، اجرای دستور یا جستوجوی فایلهای حساس، از روی لاگ وبسرور) خودکار بسته میشوند. این گزینه پیشفرض خاموش است.
wardex-actuator انجام میدهد. این سرویس هیچ دسترسی شبکهای ندارد و فقط چند کار ثابت را میشناسد. ایجنتی که به اینترنت وصل است همچنان بدون root اجرا میشود./etc، /usr، /root…) هیچوقت قرنطینه نمیشوند. حتی اگر پوشهای در سایت به آنها لینک داده شده باشد.همهی کارها بدون داشبورد هم از روی سرور انجام میشوند:
sudo wardex-agent actions # چه چیزی روشن است، IPهای بسته، فایلهای قرنطینه، آخرین اقدامها
sudo wardex-agent block 203.0.113.7 --for 6h # بستن دستی
sudo wardex-agent unblock 203.0.113.7
sudo wardex-agent quarantine /var/www/site/wp-content/uploads/x.php
sudo wardex-agent restore 20261019-12e907e64508
| مشکل | علت معمول |
|---|---|
| «سرویس اقدامها روی سرور اجرا نمیشود» | sudo systemctl status wardex-actuator را ببینید |
| کد درست رد میشود | ساعت گوشی یا سرور تنظیم نیست؛ روی سرور timedatectl set-ntp true |
| «فقط فایلهای داخل پوشهی سایت» | پوشهی سایت را در صفحهی تنظیمات سرور اضافه کنید |
| IP بسته نشد و «محافظتشده» است | یکی از قاعدههای بخش «هیچوقت خودتان را پشت در نمیگذارد» |