امنیت و ویژگی‌های پیشرفته DirectAdmin – برای مدیران سرور

DirectAdmin یکی از امن‌ترین و پایدارترین کنترل‌پنل‌های لینوکسی است. این مقاله به‌صورت جامع به موضوعات امنیتی مهم مانند SSL روی پورت 2222، Login Key، احراز هویت دو مرحله‌ای، Brute Force Protection، مدیریت IPهای بلاک‌شده و سفارشی‌سازی‌های امنیتی پیشرفته می‌پردازد.

secure and flexible hosting controlsecuring

~3 min read • Updated Mar 1, 2026

1. ایمن‌سازی پنل DirectAdmin روی پورت 2222 با SSL


SSL باعث رمزنگاری ارتباط بین مرورگر و سرور می‌شود و از شنود، حملات MITM و سرقت اطلاعات جلوگیری می‌کند.

1.1 فعال‌سازی SSL برای DirectAdmin

DirectAdmin به‌صورت پیش‌فرض از SSL پشتیبانی می‌کند. برای فعال‌سازی:

  1. یک گواهی SSL معتبر (ترجیحاً Let’s Encrypt) نصب کنید.
  2. در فایل /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

  1. ورود به DirectAdmin با کاربر موردنظر
  2. رفتن به: User Level → Login Keys
  3. کلیک روی Create Key
  4. پر کردن فیلدها:
  • 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

  1. رفتن به: Dashboard → Change Password → Two-Step Authentication
  2. اسکن QR با Google Authenticator یا Authy
  3. وارد کردن کد یک‌بارمصرف
  4. ذخیره 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

این فایل جایگزین پیام پیش‌فرض بلاک خواهد شد.

Written & researched by Dr. Shahin Siami