~3 دقیقه مطالعه • بروزرسانی ۱۰ اسفند ۱۴۰۴
1. ایمنسازی پنل DirectAdmin روی پورت 2222 با SSL
SSL باعث رمزنگاری ارتباط بین مرورگر و سرور میشود و از شنود، حملات MITM و سرقت اطلاعات جلوگیری میکند.
1.1 فعالسازی SSL برای DirectAdmin
DirectAdmin بهصورت پیشفرض از SSL پشتیبانی میکند. برای فعالسازی:
- یک گواهی SSL معتبر (ترجیحاً Let’s Encrypt) نصب کنید.
- در فایل
/usr/local/directadmin/conf/directadmin.confمطمئن شوید این خطوط وجود دارند:
textssl=1
ssl_redirect_host=yourdomain.com
ssl_redirect_port=2222
سپس سرویس را ریاستارت کنید:
systemctl restart directadmin
از این پس پنل فقط از طریق https://yourdomain.com:2222 در دسترس خواهد بود.
---2. Login Key چیست و چگونه ساخته میشود؟
Login Key یک کلید امنیتی است که بهجای رمز اصلی استفاده میشود. این کلیدها برای API، اسکریپتها و دسترسی موقت بسیار کاربردی هستند.
2.1 ویژگیهای Login Key
- تعداد استفاده محدود یا نامحدود
- تاریخ انقضا
- محدودیت IP
- محدودیت دستورات (CMD_*)
- غیرفعالسازی دسترسی HTML برای جلوگیری از ورود با مرورگر
2.2 نحوه ساخت Login Key
- ورود به DirectAdmin با کاربر موردنظر
- رفتن به: User Level → Login Keys
- کلیک روی Create Key
- پر کردن فیلدها:
- Key Name: نام دلخواه
- Key Value: تولید رندوم
- Expires On: تاریخ انقضا
- Clear Key: حذف بعد از انقضا
- Allow HTM: فقط برای ورود با مرورگر
- Commands: فقط CMDهای لازم
- Allowed IPs: IPهای مجاز
- Current Password: رمز فعلی کاربر
کلید فقط یک بار نمایش داده میشود، پس آن را ذخیره کنید.
---3. فعالسازی Two-Factor Authentication و Security Questions
3.1 فعالسازی 2FA
- رفتن به: Dashboard → Change Password → Two-Step Authentication
- اسکن QR با Google Authenticator یا Authy
- وارد کردن کد یکبارمصرف
- ذخیره Scratch Codes برای مواقع اضطراری
3.2 فعالسازی Security Questions
در همان صفحه، بخش Manage Security Questions را تنظیم کنید.
3.3 نکته امنیتی مهم
هر تلاش ناموفق در فایل failed_logins ثبت میشود. اگر تعداد به مقدار brutecount برسد، IP بلاک میشود.
برای رفع بلاک:
/usr/local/directadmin/data/admin/ip_blacklist
برای جلوگیری از بلاک شدن IP خود:
/usr/local/directadmin/data/admin/ip_whitelist
---
4. Brute Force Monitoring و جلوگیری از حملات
DirectAdmin دو سیستم تشخیص حمله دارد:
4.1 برای پورت 2222 (ورود به پنل)
مسیر:
Admin Level → Admin Settings → Blacklist IPs for excessive login attempts
مقدار پیشنهادی: ۱۰ تا ۲۰
4.2 برای سرویسهای دیگر
Apache، Exim، Dovecot، SSH، ProFTPd:
Admin Level → Admin Settings → Parse service logs for brute force attacks
صفحه مدیریت حملات:
Admin Level → Brute Force Monitor
4.3 مخفی کردن اعلانهای Brute Force
اگر اعلانها زیاد است:
hide_brute_force_notifications=1
در directadmin.conf اضافه کنید.
4.4 حملات WordPress روی xmlrpc.php
اگر گزینه "Scan for WordPress attacks" فعال باشد، POSTهای موفق به xmlrpc.php نیز بهعنوان حمله ثبت میشوند.
4.5 صفحه سفارشی برای IPهای بلاکشده
فایل زیر را بسازید:
/usr/local/directadmin/data/templates/custom/blacklisted_ip.html
این فایل جایگزین پیام پیشفرض بلاک خواهد شد.
نوشته و پژوهش شده توسط دکتر شاهین صیامی