Chuyển tới nội dung chính

Bảo mật cPanel cơ bản cho VPS mới

Giới Thiệu

Khi bạn triển khai một VPS mới với cPanel, việc thiết lập các biện pháp bảo mật cơ bản ngay từ đầu là cực kỳ quan trọng. Điều này giúp bảo vệ máy chủ của bạn khỏi các mối đe dọa phổ biến, ngăn chặn truy cập trái phép và đảm bảo hoạt động ổn định cho các website và dịch vụ của bạn. Một VPS không được bảo mật đúng cách cđ thể trở thành mục tiêu dễ dàng cho tin tặc, dẫn đến mất dữ liệu, gián đoạn dịch vụ hoặc thậm chí là bị lợi dụng cho các hoạt động độc hại.

📋 Thời gian: 20-30 phút | Độ khó: Cơ bản

Yêu Cầu

Để thực hiện hướng dẫn này, bạn cần có:

  • Một VPS mới đã cài đặt cPanel/WHM.
  • Quyền truy cập root hoặc người dùng có quyền sudo vào VPS qua SSH.
  • Mật khẩu đăng nhập vào WHM (Web Host Manager).

Các Bước Thực Hiện

Bước 1: Cập nhật hệ thống

Luôn bắt đầu bằng việc cập nhật toàn bộ hệ thống để đảm bảo tất cả các gói phần mềm và kernel đều ở phiên bản mới nhất, vá các lỗ hổng bảo mật đã biết.

# Đối với CentOS/AlmaLinux/Rocky Linux (phổ biến với cPanel)
sudo yum update -y
sudo yum upgrade -y # Đảm bảo tất cả các gói được nâng cấp
sudo reboot # Khởi động lại nếu kernel được cập nhật

# Đối với Ubuntu/Debian (ít phổ biến hơn cho cPanel, nhưng là ví dụ)
# sudo apt update && sudo apt upgrade -y
# sudo reboot # Khởi động lại nếu kernel được cập nhật

💡 Mẹo: Sau khi cập nhật kernel, hãy khởi động lại VPS để áp dụng các thay đổi mới.

Bước 2: Đổi mật khẩu mặc định mạnh

Mật khẩu mặc định hoặc mật khẩu yếu là một trong những điểm yếu bảo mật lớn nhất. Hãy thay đổi mật khẩu root, mật khẩu WHM và tất cả các tài khoản cPanel đã tạo.

  1. Đổi mật khẩu root (qua SSH):
    passwd root
    # Nhập mật khẩu mới hai lần. Đảm bảo mật khẩu mạnh, bao gồm chữ hoa, chữ thường, số và ký tự đặc biệt.
  2. Đổi mật khẩu WHM: Đăng nhập vào WHM (thường là https://your_vps_ip:2087 hoặc https://your_vps_ip/whm), điều hướng đến Security Center > Change Root Password. ✅ Lưu ý: Mật khẩu WHM và mật khẩu root thường đồng bộ, nhưng việc đổi cả hai cách đảm bảo.
  3. Đổi mật khẩu tài khoản cPanel: Trong WHM, đi tới Account Functions > Password Modification để thay đổi mật khẩu cho các tài khoản cPanel của người dùng.

Bước 3: Bảo mật SSH

SSH là cổng chính để quản lý VPS của bạn. Bảo mật SSH là tối quan trọng.

  1. Vô hiệu hóa đăng nhập root trực tiếp: Thay vì đăng nhập trực tiếp bằng tài khoản root, bạn nên tạo một ngưđi dùng mới và sử dụng sudo để thực hiện các tác vụ quản trị.

    # Tạo người dùng mới (ví dụ: adminuser)
    sudo adduser adminuser
    # Đặt mật khẩu cho người dùng mới
    sudo passwd adminuser
    # Thêm người dùng vào nhóm wheel (để có thể sử dụng sudo trên CentOS/AlmaLinux/Rocky Linux)
    sudo usermod -aG wheel adminuser

    Sau đó, chỉnh sửa file cấu hình SSH:

    sudo vi /etc/ssh/sshd_config

    Tìm dòng PermitRootLogin và thay đổi thành:

    PermitRootLogin no
  2. Thay đổi cổng SSH mặc định (từ 22 sang một cổng khác): Tìm dòng #Port 22 hoặc Port 22 và thay đổi nó thành một số cổng khác (ví dụ: 2222, 54321).

    Port 2222

    ⚠️ Quan trọng: Sau khi thay đổi cổng, bạn cần mở cổng mới này trong firewall.

  3. Khởi động lại dịch vụ SSH:

    sudo systemctl restart sshd

    💡 Mẹo: Đừng đóng phiên SSH hiện tại cho đến khi bạn đã kiểm tra và xác nhận có thể đăng nhập lại bằng cổng và người dùng mới.

Bước 4: Cài đặt và cấu hình Firewall (CSF/LFD)

ConfigServer Security & Firewall (CSF/LFD) là một firewall rất mạnh mẽ và phổ biến cho cPanel. Nó cung cấp bảo vệ chống lại các cuộc tấn công DDoS, brute-force và nhiều mối đe dọa khác.

  1. Cài đặt CSF/LFD (nếu chưa có):

    cd /usr/local/src
    rm -fv csf.tgz
    wget https://download.configserver.com/csf.tgz
    tar -xzf csf.tgz
    cd csf
    sh install.sh

    Sau khi cài đặt, chạy kiểm tra các mô-đun cần thiết:

    perl /usr/local/csf/bin/csftest.pl

    Nếu có bất kỳ cảnh báo nào, hãy cài đặt các mô-đun đó.

  2. Cấu hình cơ bản: Mở file cấu hình chính:

    sudo vi /etc/csf/csf.conf
    • Thay đổi TESTING = "1" thành TESTING = "0" để kích hoạt firewall.
    • Cập nhật TCP_INTCP_OUT để bao gồm cổng SSH mới của bạn (ví dụ: 2222).
    • Lưu lại file.
  3. Khởi động lại CSF:

    csf -r

    Xác minh: Truy cập WHM > Plugins > ConfigServer Security & Firewall. Đảm bảo CSF đang chạy và bạn có thể quản lý nó từ giao diện WHM.

Bước 5: Kích hoạt AutoSSL và Force HTTPS

Mã hóa lưu lượng truy cập là cần thiết cho bảo mật và SEO. cPanel cung cấp AutoSSL miđơn phí.

  1. Kích hoạt AutoSSL: Trong WHM, điều hướng đến SSL/TLS > Manage AutoSSL. Chọn một nhà cung cấp AutoSSL (ví dụ: cPanel (powered by Sectigo)) và nhấn Enable AutoSSL. Sau đó, chạy Run AutoSSL for all users để cấp phát chứng chỉ cho tất cả các domain.

  2. Force HTTPS: Sau khi chứng chỉ SSL được cấp phát, bạn nên buộc tất cả các truy cập web qua HTTPS.

    • Trong WHM, đi tới SSL/TLS > Force HTTPS Redirect. Bật tính năng này cho các domain của bạn.
    • Hoặc, bạn có thể thêm cấu hình chuyển hướng vào file .htaccess của từng website:
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Bước 6: Cấu hình Xác thực hai yếu tố (2FA)

Xác thực hai yếu tố (2FA) bổ sung một lớp bảo mật quan trọng cho việc đăng nhập WHM và cPanel.

  1. Kích hoạt 2FA trong WHM: Trong WHM, đi tới Security Center > Two-Factor Authentication. Nhấn Manage My Issuers để thêm và cấu hình các ứng dụng xác thực như Google Authenticator. Sau khi cấu hình, bạn có thể buộc người dùng sử dụng 2FA cho các tài khoản cPanel của họ thông qua Manage My Users.

Troubleshooting

  • Lỗi không thể đăng nhập SSH sau khi thay đổi cổng hoặc tắt root:

    • Nguyên nhân: Có thể bạn đã cấu hình sai cổng trong sshd_config hoặc firewall chưa được cập nhật.
    • Cách xử lý: Nếu bạn vẫn còn phiên SSH cũ đang mở, hãy kiểm tra lại cấu hình. Nếu không, bạn có thể cần truy cập VPS qua bảng điều khiển của nhà cung cấp (Console Access) để sửa lỗi hoặc mở cổng.
    • Giải pháp: Đảm bảo cổng mới được thêm vào TCP_IN của CSF (/etc/csf/csf.conf) và khởi động lại CSF (csf -r).
  • Website không hoạt động hoặc không truy cập được sau khi cấu hình firewall:

    • Nguyên nhân: Firewall có thể đã chặn các cổng cần thiết (ví dụ: 80 cho HTTP, 443 cho HTTPS).
    • Cách xử lý: Kiểm tra lại cấu hình TCP_IN trong /etc/csf/csf.conf. Đảm bảo các cổng 80, 443, 2082, 2083, 2086, 2087, 2095, 2096 (cho cPanel/WHM/webmail) đã được mở.
    • Giải pháp: Thêm các cổng bị thiếu vào TCP_IN và khởi động lại CSF (csf -r).
  • Quên mật khẩu cPanel/WHM:

    • Cách xử lý: Bạn có thể đặt lại mật khđu WHM qua SSH bằng lệnh passwd root. Đối với tài khoản cPanel, đăng nhập vào WHM với quyền root, sau đó đi tới Account Functions > Password Modification để đặt lại mật khẩu cho tài khoản cPanel cụ thể.

Kết Luận

Bảo mật cPanel trên VPS mới là một quá trình liên tục, nhưng việc thiết lập các biện pháp cơ bản ngay từ đầu sẽ tạo ra một nền tảng vững chắc. Bằng cách thực hiện các bước như cập nhật hệ thống, sử dụng mật khẩu mạnh, bảo mật SSH, triển khai firewall (CSF/LFD), kích hoạt SSL và 2FA, bạn đã giảm thiểu đáng kể rủi ro bị tấn công.

Best practices:

  • Thường xuyên cập nhật: Luôn giữ hệ thống và cPanel ở phiên bản mới nhất.
  • Sao lưu định kỳ: Đảm bảo bạn có các bản sao lưu đầy đủ và thường xuyên của dữ liệu.
  • Kiểm tra nhật ký (logs): Định kỳ kiểm tra nhật ký hệ thống và cPanel để phát hiện hoạt động đáng ngờ.
  • Sử dụng mật khẩu mạnh: Luôn sử dụng mật khẩu phức tạp và duy nhất cho mọi dịch vụ.
  • Giới hạn quyền truy cập: Chỉ cấp quyền truy cập cần thiết và xem xét lại định kỳ.

Hãy biến bảo mật thành ưu tiên hàng đầu để đảm bảo VPS và website của bạn luôn an toàn và hoạt động hiệu quả.

Xem thêm: