Cài đặt quản trị viên trong HestiaCP: Thiết lập bảo mật tự động + Tối ưu hóa quản lý cơ sở dữ liệu

Hướng dẫn đầy đủ mới nhất về cài đặt Adminer trên HestiaCP bao gồm triển khai chỉ với một cú nhấp chuột, tăng cường bảo mật và các bước cấu hình tự động. Nó hướng dẫn bạn từng bước cách triển khai các công cụ quản lý cơ sở dữ liệu và bảo vệ máy chủ của mình, cho phép ngay cả người mới bắt đầu cũng có thể nhanh chóng làm quen và giải quyết các khó khăn trong vận hành và bảo trì HestiaCP + Adminer.

Nếu bạn vẫn đang sử dụng các công cụ quản lý cơ sở dữ liệu mà không có bất kỳ biện pháp bảo vệ nào, bạn đang trao chìa khóa cho tin tặc.

Tại sao nên chọn Adminer thay vì... phpMyAdmin?

Adminer chỉ bao gồm một tệp PHP duy nhất có dung lượng dưới 1MB, giúp việc triển khai trở nên cực kỳ đơn giản, nhanh chóng và tiết kiệm tài nguyên.

So với cấu trúc phức tạp của phpMyAdmin, Adminer phù hợp hơn cho VPS, các trang web nhỏ và các dự án cá nhân.

Cài đặt quản trị viên trong HestiaCP: Thiết lập bảo mật tự động + Tối ưu hóa quản lý cơ sở dữ liệu

Các bước cài đặt Administrator trong HestiaCP

1. Tải xuống tệp Quản trị viên

Đi đến Trang web chính thức của Adminer Tải xuống phiên bản mới nhất adminer.php.

Tải tệp lên thư mục trang web HestiaCP, ví dụ:

/home/username/web/adminer.domain.com/public_html/adminer.php

2. Tạo tên miền phụ và bật SSL.

Thêm tên miền phụ trong bảng điều khiển HestiaCP. adminer.domain.comHãy bật chứng chỉ SSL của Let's Encrypt để đảm bảo truyền tải dữ liệu an toàn.

3. Cấu hình bảo vệ mật khẩu cho Nginx

Thêm đoạn mã sau vào tệp cấu hình Nginx cho tên miền phụ:

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;
}

Tạo tệp mật khẩu:

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/nginx/.htpasswd adminuser

Khi truy cập vào trang Quản trị viên, một hộp thoại yêu cầu nhập mật khẩu sẽ hiện ra, và bạn chỉ có thể đăng nhập bằng cách nhập đúng tên người dùng và mật khẩu.

Tự động cập nhật các tệp quản trị viên.

Để tránh các rủi ro bảo mật liên quan đến việc sử dụng các phiên bản cũ hơn, có thể thực hiện cập nhật tự động bằng cách sử dụng các tập lệnh shell và các tác vụ được lên lịch bằng Cron.

Ví dụ về tập lệnh cập nhật

#!/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"

Lưu dưới dạng /usr/local/bin/update-adminer.shVà thêm một tác vụ theo lịch trình:

crontab -e
0 3 * * 1 /usr/local/bin/update-adminer.sh

Bằng cách này, tệp Quản trị viên sẽ được tự động cập nhật vào lúc 3 giờ sáng thứ Hai hàng tuần.

Fail2Ban chống tấn công vét cạn (brute-force)

Xác thực cơ bản đơn giản (Simple Basic Auth) dễ bị tấn công vét cạn (brute-force), trong khi Fail2Ban có thể tự động chặn các địa chỉ IP độc hại.

Cấu hình bộ lọc

tài liệu:/etc/fail2ban/filter.d/nginx-adminer.conf

[Definition]
failregex = ^<HOST> - .* "GET /adminer.php HTTP/.*" 401
ignoreregex =

Cấu hình nhà tù (thời gian cấm tăng dần)

tài liệu:/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

Hiệu lực: Lần cấm đầu tiên là 10 phút, lần thứ hai là 20 phút, lần thứ ba là 40 phút, và cứ thế tiếp tục. Những người chơi liên tục tấn công sẽ bị cấm với thời gian ngày càng dài hơn.

Tập lệnh triển khai hoàn chỉnh chỉ với một cú nhấp chuột

Lưu dưới dạng /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

thực hiện:

sudo chmod +x /usr/local/bin/setup-fail2ban-adminer.sh
sudo /usr/local/bin/setup-fail2ban-adminer.sh

Kết luận: Cân bằng giữa an toàn và hiệu quả

Tôi tin chắc rằng các công cụ quản lý cơ sở dữ liệu không phải là thứ bạn có thể tùy tiện để trên mạng internet công cộng và sử dụng một cách yên tâm. Thiết kế gọn nhẹ của Adminer rất hấp dẫn, nhưng các biện pháp bảo mật phải theo kịp. Bảo vệ bằng mật khẩu là tuyến phòng thủ đầu tiên, cập nhật tự động cung cấp khả năng bảo vệ liên tục, và Fail2Ban cung cấp các biện pháp đối phó thông minh. Chỉ bằng cách kết hợp ba yếu tố này, bạn mới có thể tạo ra một môi trường quản lý cơ sở dữ liệu vừa hiệu quả vừa an toàn.

Một bậc thầy thực thụ không chỉ là người biết cách chế tạo công cụ, mà còn là người biết cách bảo vệ chúng.

Hi vọng bài viết "Cài đặt quản trị HestiaCP: Thiết lập tự động hóa bảo mật + Tối ưu hóa quản lý cơ sở dữ liệu" được chia sẻ trên blog của Chen Weiliang ( https://www.chenweiliang.com/ ) sẽ hữu ích cho bạn.

Bạn có thể thoải mái chia sẻ liên kết bài viết này: https://www.chenweiliang.com/cwl-34018.html

Để khám phá thêm nhiều mẹo ẩn🔑, vui lòng tham gia kênh Telegram của chúng tôi!

Chia sẻ và thích nếu bạn thích nó! Những chia sẻ và lượt thích của bạn là động lực tiếp tục của chúng tôi!

 

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Di chuyển về đầu trang