Let’s Encrypt : Bảo Mật Apache Web Server Trên Ubuntu 16.04

28

Menu bài viết

Bắt đầu từ Chrome 56, trình duyệt do Google phát triển đã đánh dấu các trang không bảo mật, có chứa các mục nhập mật khẩu, điền vào thông tin thẻ tín dụng… các trang này sẽ bị đánh dấu là Not Secure trên thanh URL.

Dĩ nhiên, tất cả chúng ta đều biết rằng có bảo mật thì đương nhiên sẽ tốt hơn. Nhưng trong trường hợp này, vấn đề của HTTP, là nó thiếu đi một hệ thống dùng để bảo mật thông tin liên lạc giữa máy khách và máy chủ. Vấn đề này tiềm tàng nhiều khả năng dữ liệu sẽ bị tấn công khi máy client và server trao đổi dữ liệu. Một hacker đứng giữa, có thể dễ dàng lấy được thông tin của người dùng. Nếu đang sử dụng máy tính để thực hiện các giao dịch với ngân hàng, sử dụng thông tin thẻ tín dụng, hoặc chỉ cần nhập mật khẩu để đăng nhập vào web, thì tất cả dữ liệu này đều có thể trở thành mục tiêu tấn công của hacker.

Đó là lí do vì sao HTTPS tồn tại (HTTP over TLS, hoặc, HTTP over SSL, hoặc, HTTP Secure). Nếu đang đọc bài viết này, và nhìn lên thanh URL của An Ninh Mạng, bạn cũng sẽ thấy biểu tượng ổ khóa màu xanh. Đây là thông báo cho thấy HTTPS đã được cài đặt trên website anninhmang.edu.vn

Do đó, để bảo mật an toàn cho website của chúng ta, bạn nên chuyển sang dùng HTTPS. Để mã hóa traffic giữa client và server, webserver  sử dụng SSL certificates. Let’s Encrypt là một tổ chức chứng nhận phi lợi nhuận được điều hành bởi Nhóm nghiên cứu bảo mật Internet, cung cấp chứng chỉ X.509 cho mã hóa Bảo mật lớp vận chuyển miễn phí. Chứng chỉ có giá trị trong 90 ngày, trong đó việc gia hạn có thể diễn ra bất cứ lúc nào.

Trong bài hướng dẫn này, chúng ta sẽ cùng tìm hiểu cách bảo mật Apache Web Server trên Ubuntu 16.04 sử dụng Let’s Encrypt.

let's encrypt Let’s Encrypt : Bảo Mật Apache Web Server Trên Ubuntu 16.04

Install Let’s Encrypt :

Let’s Encrypt cung cấp một phần mềm, tự động lấy các certificates cho website. Phần mềm này được gọi là Certbot, và các nhà phát triển có repository Ubuntu với version được cập nhật mới nhất.

Trước hết, chúng ta add repository :

# add-apt-repository ppa:certbot/certbot

Sau đó, update apt package list :

# apt-get update

Sau đó, install Certbot :

# apt-get install python-certbot-apache

Cài đặt SSL Certificate :

Sau khi Certbot được cài đặt, chúng ta có thể dùng nó để nhận và cài đặt certificate mới vào server. Một certificate, cũng có thể được dùng cho các subdomain :

# certbot --apache -d www.example.com -d example.com

Certbot sẽ hiển thị một tiến trình từng bước một để tùy chỉnh các option certificate, và để nhập các thông tin như địa chỉ email. Địa chỉ email này dùng cho trường hợp key recovery. Người dùng sẽ có 2 lựa chọn : hoặc enable cả 2 HTTP và HTTPS, hoặc chỉ riêng HTTPS, tất cả request về HTTP sẽ được redirect sang HTTPS. Dĩ nhiên, phương án tốt nhất là chỉ sử dụng HTTPS.

Test Certificate :

Để verify trạng thái của SSL certificate, mở trình duyệt lên và đi theo link này :

https://www.ssllabs.com/ssltest/analyze.html?d=www.example.com&latest

Trong đó www.example.com sẽ được thay bằng website của người dùng.

Renew Certificate :

Chứng chỉ của Let’s Encrypt thường hết hạn sau 90 ngày, do đó người dùng cần renew lại. Sử dụng Certbot, bạn có thể test hệ thống tự động renew bằng dòng lệnh sau đây :

certbot renew --dry-run

Nếu nó hoạt động, bạn có thể thêm 1 job cron hoặc systemd để quản lý việc gia hạn tự động này.

Tổng kết :

Việc cài đặt một SSL certificate trên Apache server là tương đối dễ dàng, bằng cách dùng phần mềm do Let’s Encrypt cung cấp. Chúc bạn sẽ có thể thực hiện thành công.

 

BÌNH LUẬN

Please enter your comment!
Please enter your name here