ไดเรกทอรีบทความ
最新 เฮสเทียซีพี คู่มือฉบับสมบูรณ์นี้สำหรับการติดตั้ง Adminer ประกอบด้วยขั้นตอนการติดตั้งแบบคลิกเดียว การเสริมความปลอดภัย และการกำหนดค่าอัตโนมัติ โดยจะสอนวิธีการติดตั้งเครื่องมือจัดการฐานข้อมูลและปกป้องเซิร์ฟเวอร์ของคุณทีละขั้นตอน ทำให้ผู้เริ่มต้นใช้งานได้ง่ายและรวดเร็ว พร้อมทั้งช่วยแก้ปัญหาที่ยุ่งยากในการใช้งานและบำรุงรักษา HestiaCP + Adminer
หากคุณยังคงใช้เครื่องมือจัดการฐานข้อมูลโดยไม่มีการป้องกันใดๆ คุณกำลังมอบกุญแจสำคัญให้กับแฮกเกอร์
ทำไมถึงควรเลือก Adminer แทนที่จะใช้... phpMyAdmin?
Adminer ประกอบด้วยไฟล์ PHP เพียงไฟล์เดียวที่มีขนาดไม่ถึง 1MB ทำให้การติดตั้งใช้งานง่าย รวดเร็ว และประหยัดทรัพยากรอย่างมาก
เมื่อเทียบกับโครงสร้างที่ซับซ้อนของ phpMyAdmin แล้ว Adminer เหมาะสำหรับ VPS เว็บไซต์ขนาดเล็ก และโปรเจกต์ส่วนบุคคลมากกว่า

ขั้นตอนการติดตั้ง Administrator ใน HestiaCP
1. ดาวน์โหลดไฟล์ผู้ดูแลระบบ
ไปที่ เว็บไซต์อย่างเป็นทางการของ Adminer ดาวน์โหลดเวอร์ชันล่าสุด adminer.php.
อัปโหลดไฟล์ไปยังไดเร็กทอรีเว็บไซต์ HestiaCP ตัวอย่างเช่น:
/home/username/web/adminer.domain.com/public_html/adminer.php
2. สร้างโดเมนย่อยและเปิดใช้งาน SSL
เพิ่มโดเมนย่อยในแผงควบคุม HestiaCP adminer.domain.comเปิดใช้งาน Let's Encrypt SSL เพื่อให้มั่นใจได้ถึงการส่งข้อมูลที่ปลอดภัย
3. ตั้งค่าการป้องกันด้วยรหัสผ่านของ 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
เมื่อเข้าสู่ระบบในฐานะผู้ดูแลระบบ กล่องโต้ตอบขอรหัสผ่านจะปรากฏขึ้น และคุณจะสามารถเข้าสู่ระบบได้ก็ต่อเมื่อป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้องเท่านั้น
อัปเดตไฟล์ผู้ดูแลระบบโดยอัตโนมัติ
เพื่อหลีกเลี่ยงความเสี่ยงด้านความปลอดภัยที่เกี่ยวข้องกับการใช้เวอร์ชันเก่า สามารถอัปเดตอัตโนมัติได้โดยใช้สคริปต์เชลล์และงานที่กำหนดเวลาไว้ใน 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
ด้วยวิธีนี้ ไฟล์ผู้ดูแลระบบจะได้รับการอัปเดตโดยอัตโนมัติทุกวันจันทร์ เวลา 3 นาฬิกา
Fail2Ban ป้องกันการโจมตีแบบ Brute-force
การตรวจสอบสิทธิ์แบบ Basic Auth ธรรมดานั้นมีความเสี่ยงต่อการโจมตีแบบ Brute-force ในขณะที่ 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
ผล: การแบนครั้งแรกมีระยะเวลา 10 นาที ครั้งที่สอง 20 นาที ครั้งที่สาม 40 นาที และลดลงเรื่อยๆ ผู้ที่โจมตีอย่างต่อเนื่องจะถูกแบนเป็นระยะเวลานานขึ้นเรื่อยๆ
สคริปต์การติดตั้งแบบคลิกเดียวที่สมบูรณ์แบบ
บันทึกเป็น /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 นำเสนอมาตรการตอบโต้ที่ชาญฉลาด มีเพียงการผสมผสานองค์ประกอบทั้งสามนี้เข้าด้วยกันเท่านั้นที่จะสร้างสภาพแวดล้อมการจัดการฐานข้อมูลที่มีประสิทธิภาพและปลอดภัยไปพร้อมกัน
ปรมาจารย์ที่แท้จริงไม่ใช่คนที่แค่รู้วิธีสร้างเครื่องมือ แต่เป็นคนที่รู้วิธีปกป้องเครื่องมือเหล่านั้นด้วย
หวัง Chen Weiliang บล็อก ( https://www.chenweiliang.com/ บทความ "การติดตั้ง HestiaCP สำหรับผู้ดูแลระบบ: การตั้งค่าระบบรักษาความปลอดภัยอัตโนมัติ + การเพิ่มประสิทธิภาพการจัดการฐานข้อมูล" ที่แชร์ไว้ที่นี่ อาจเป็นประโยชน์สำหรับคุณ
ยินดีต้อนรับสู่การแบ่งปันลิงค์ของบทความนี้:https://www.chenweiliang.com/cwl-34018.html
