فهرست مقاله
جدیدترین راهنمای کامل نصب Adminer روی HestiaCP شامل مراحل استقرار با یک کلیک، تقویت امنیت و پیکربندی خودکار است. این راهنما به شما گام به گام نحوه استقرار ابزارهای مدیریت پایگاه داده و محافظت از سرورتان را آموزش میدهد و به حتی مبتدیان نیز اجازه میدهد تا به سرعت شروع به کار کرده و نقاط ضعف عملیات و نگهداری HestiaCP + Adminer را حل کنند.
اگر هنوز از ابزارهای مدیریت پایگاه داده بدون هیچ گونه محافظتی استفاده میکنید، کلیدها را به هکرها میدهید.
چرا به جای ...، ادمینِر را انتخاب کنیم؟ از phpMyAdmin؟
ادمینِر از یک فایل PHP با حجم کمتر از ۱ مگابایت تشکیل شده است که باعث میشود پیادهسازی آن بسیار ساده، سریع و از نظر منابع کارآمد باشد.
در مقایسه با ساختار پیچیده phpMyAdmin، Adminer برای VPS، وبسایتهای کوچک و پروژههای شخصی مناسبتر است.

مراحل نصب Administrator در HestiaCP
۱. فایل Administrator را دانلود کنید
قابل اعتماد و متخصص وبسایت رسمی ادمین آخرین نسخه را دانلود کنید adminer.php.
فایل را در دایرکتوری وبسایت HestiaCP آپلود کنید، برای مثال:
/home/username/web/adminer.domain.com/public_html/adminer.php
۲. یک زیر دامنه ایجاد کنید و SSL را فعال کنید.
اضافه کردن زیر دامنه در پنل HestiaCP adminer.domain.comبرای اطمینان از انتقال امن، گزینه Let’s Encrypt SSL را فعال کنید.
۳. پیکربندی رمز عبور Nginx
موارد زیر را به فایل پیکربندی Nginx برای زیر دامنه اضافه کنید:
location / {
auth_basic "Restricted Area";
auth_basic_user_file /etc/nginx/.htpasswd;
root /home/username/web/adminer.domain.com/public_html;
index index.php adminer.php;
}
ایجاد فایل رمز عبور:
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminuser
هنگام دسترسی به مدیر، یک کادر محاورهای رمز عبور ظاهر میشود و شما فقط میتوانید با وارد کردن نام کاربری و رمز عبور صحیح وارد سیستم شوید.
بهروزرسانی خودکار فایلهای Administrator
برای جلوگیری از خطرات امنیتی مرتبط با استفاده از نسخههای قدیمیتر، میتوان با استفاده از اسکریپتهای shell و وظایف زمانبندیشدهی Cron، بهروزرسانیهای خودکار را انجام داد.
مثال اسکریپت را بهروزرسانی کنید
#!/bin/bash
URL="https://www.adminer.org/latest.php"
TARGET="/home/username/web/adminer.domain.com/public_html/adminer.php"
wget -q -O "$TARGET" "$URL"
chown username:username "$TARGET"
chmod 644 "$TARGET"
ذخیره به عنوان /usr/local/bin/update-adminer.shو یک کار زمانبندیشده اضافه کنید:
crontab -e
0 3 * * 1 /usr/local/bin/update-adminer.sh
به این ترتیب، فایل Administrator هر دوشنبه ساعت ۳ بامداد به طور خودکار بهروزرسانی میشود.
Faiحمله ضد جستجوی فراگیر l2Ban
Simple Basic Auth در برابر حملات جستجوی فراگیر آسیبپذیر است، در حالی که Fail2Ban میتواند به طور خودکار IP های مخرب را مسدود کند.
پیکربندی فیلتر
سند:/etc/fail2ban/filter.d/nginx-adminer.conf
[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =
پیکربندی زندان (مدت زمان ممنوعیت افزایشی)
سند:/etc/fail2ban/jail.local
[nginx-adminer]
enabled = true
filter = nginx-adminer
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 3
findtime = 600
bantime.increment = true
bantime.rndtime = 60
bantime.factor = 2
bantime = 600
اثر: اولین بن به مدت ۱۰ دقیقه، دومین به مدت ۲۰ دقیقه، سومین به مدت ۴۰ دقیقه و به همین ترتیب است. مهاجمانی که به طور مداوم مرتکب این کار شوند، برای مدت زمانهای طولانیتری بن خواهند شد.
اسکریپت استقرار کامل با یک کلیک
ذخیره به عنوان /usr/local/bin/setup-fail2ban-adminer.sh:
#!/bin/bash
FILTER_PATH="/etc/fail2ban/filter.d/nginx-adminer.conf"
JAIL_PATH="/etc/fail2ban/jail.local"
cat > $FILTER_PATH << 'EOF'
[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =
EOF
cat >> $JAIL_PATH << 'EOF'
[nginx-adminer]
enabled = true
filter = nginx-adminer
port = http,https
logpath = /var/log/nginx/access.log
maxretry = 3
findtime = 600
bantime.increment = true
bantime.rndtime = 60
bantime.factor = 2
bantime = 600
EOF
systemctl restart fail2ban
fail2ban-client status nginx-adminer
اجرا:
sudo chmod +x /usr/local/bin/setup-fail2ban-adminer.sh
sudo /usr/local/bin/setup-fail2ban-adminer.sh
نتیجهگیری: ایجاد تعادل بین ایمنی و کارایی
من کاملاً معتقدم که ابزارهای مدیریت پایگاه داده چیزی نیستند که بتوانید به سادگی در اینترنت عمومی رها کنید و با خیال راحت از آنها استفاده کنید. طراحی سبک Adminer جذاب است، اما اقدامات امنیتی باید همگام با آن باشند. محافظت با رمز عبور اولین خط دفاعی است، بهروزرسانیهای خودکار محافظت مداوم را فراهم میکنند و Fail2Ban اقدامات متقابل هوشمندی را ارائه میدهد. تنها با ترکیب این سه عنصر میتوانید یک محیط مدیریت پایگاه داده ایجاد کنید که هم کارآمد و هم ایمن باشد.
استاد واقعی کسی نیست که فقط بلد باشد ابزار بسازد، بلکه کسی است که میداند چگونه از آنها محافظت کند.
امیدوارم مقاله "نصب HestiaCP Admin: تنظیمات اتوماسیون امنیتی + بهینهسازی مدیریت پایگاه داده" که در وبلاگ چن ویلیانگ ( https://www.chenweiliang.com/ ) به اشتراک گذاشته شده است، برای شما مفید باشد.
لینک این مقاله را به اشتراک بگذارید: https://www.chenweiliang.com/cwl-34018.html
