Mặc định khi bạn cài đặt DirectAdmin, trang đăng nhập tài khoản admin DirectAdmin của bạn sẽ không có SSL mà chỉ có thể truy cập theo dạng http://IP:2222, như vậy là cực kì nguy hiểm nếu như bạn đăng nhập tài khoản ở mạng công cộng, quán cà phê..vv…

Ngoài ra có một người dùng đang bật công cụ dò mật khẩu đăng nhập sẽ bắt được thông tin đăng nhập của bạn ngay. Và mật khẩu khi đăng nhập qua trang không có SSL sẽ không mã hóa, hacker hoàn toàn thấy mật khẩu ở dạng text.

Để tăng cường bảo mật cho vấn đề này bạn nên thiết lập SSL Hostname cho DirectAdmin theo hướng dẫn sau

Bước 1: Trỏ hostname về IP server

Đầu tiên bạn phải trỏ domain hostname về đúng địa chỉ IP VPS/Server của bạn.

SSL Hostname trên DirectAdmin
Hướng dẫn cài đặt SSL Hostname trên DirectAdmin 10

Bước 2: Set lại hostname

Bước tiếp theo bạn cập nhật lại hostname trên DirectAdmin. Ở DirectAdmin có sẵn script để đổi bạn thực hiện thay đổi theo lệnh sau.

cd /usr/local/directadmin/scripts
./hostname.sh nhập-vào-hostname

Bước 3: Yêu cầu chứng chỉ SSL cho Hostname

Tiếp theo bạn chạy lệnh sau để yêu cầu cấp phát chứng chỉ. Và bạn hãy thay dòng bôi đỏ của mình bằng hostname của bạn.

cd /usr/local/directadmin/scripts
./letsencrypt.sh request_single nhập-vào-hostname 4096
CleanShot 2023 01 04 at 14.11.35
Hướng dẫn cài đặt SSL Hostname trên DirectAdmin 11

Sau khi yêu cầu chứng chỉ hoàn tất, chứng chỉ SSL của hostname sẽ được lưu ở đường dẫn sau

  • Certificate: /usr/local/directadmin/conf/cacert.pem
  • Key: /usr/local/directadmin/conf/cakey.pem

Tuy nhiên bạn cần đảm bảo rằng ssl và certs được bật trong tệp directadmin.conf. Sử dụng lệnh sau để kiểm tra.

/usr/local/directadmin/directadmin config | egrep "^ssl=|^cacert=|^cakey="

Nếu xuất hiện đầu ra như ảnh, thì bạn có thể khởi động lại DirectAdmin. Nếu không xuất hiện thì bạn thực hiện tiếp Bước 4

CleanShot 2023 01 04 at 14.14.55
Hướng dẫn cài đặt SSL Hostname trên DirectAdmin 12

Bước 4: Cấu hình chứng chỉ SSL

Bạn copy các lệnh bên dưới, sau đó dán vào cửa số SSH, lệnh này sẽ thêm các đoạn vào file directadmin.conf

echo "ssl=1" >> /usr/local/directadmin/conf/directadmin.conf
echo "cacert=/usr/local/directadmin/conf/cacert.pem" >> /usr/local/directadmin/conf/directadmin.conf
echo "cakey=/usr/local/directadmin/conf/cakey.pem" >> /usr/local/directadmin/conf/directadmin.conf

Và cuối cùng bạn khởi động lại directadmin để áp dụng các thay đổi.

systemctl restart directadmin

Và bên dưới là kết quả sau khi thực hiện. Hostname truy cập với port 2222 đã có chứng chỉ SSL.

CleanShot 2023 01 04 at 14.20.45
Hướng dẫn cài đặt SSL Hostname trên DirectAdmin 13
  • Tài liệu tham khảo: https://docs.directadmin.com/webservices/ssl/service-ssls-and-le.html