Bảo mật quá trình cài đặt ISPConfig 3 với Certificate Class1 SSL của StartSSL
lượt xem 4
download
Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn và giới thiệu với các bạn những thao tác cơ bản để tạo và sử dụng Free Class1 SSL Certificate từ SSL để bảo mật quá trình cài dặt ISPConfig 3 và loại bỏ những thông báo về việc tự tạo Certificate. Bài thử nghiệm dưới đây dựa trên việc sử dụng SSL certificate qua giao diện web của ISPConfig (Apache2 và nginx), Postfix (đối với kết nối TLS), Courier và Dovecot (dành cho POP3s và IMAPs), cuối cùng là PureFTPd (với kết nôi TLS/FTPES)....
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bảo mật quá trình cài đặt ISPConfig 3 với Certificate Class1 SSL của StartSSL
- Bảo mật quá trình cài đặt ISPConfig 3 với Certificate Class1 SSL của StartSSL Trong bài viết dưới đây, chúng tôi sẽ hướng dẫn và giới thiệu với các bạn những thao tác cơ bản để tạo và sử dụng Free Class1 SSL Certificate từ SSL để bảo mật quá trình cài dặt ISPConfig 3 và loại bỏ những thông báo về việc tự tạo Certificate. Bài thử nghiệm dưới đây dựa trên việc sử dụng SSL certificate qua giao diện web của ISPConfig (Apache2 và nginx), Postfix (đối với kết nối TLS), Courier và Dovecot (dành cho POP3s và IMAPs), cuối cùng là PureFTPd (với kết nôi TLS/FTPES). Cách thực hiện này có thể được áp dụng trên Debian hoặc Ubuntu với cách làm tương tự, không có gì khác biệt quá nhiều. Trước tiên, các bạn cần đảm bảo rằng đã thiết lập được hệ thống theo đúng mô hình sau. Tại đây chúng tôi sử dụng hostname server1.example.com, và StartSSL sẽ cho phép người dùng tạo certificate Class1 đối với domain chính và 1 sub domain, do vậy các bạn cần tạo certificate tương ứng dành cho example.com và server1.example.com. Điều này cũng có nghĩa là chúng ta phải “thông báo” tới tất cả tài khoản người dùng về việc sử dụng domain example.com hoặc sub domain server1.example.com đối với tất cả các dịch vụ (giao diện điều khiển ISPConfig, Postfix, Courier/Dovecot, PureFTPD...) vì nếu không thì hệ thống sẽ liên tục hiển thị các thông báo khác nhau về certificate. Trong trường hợp bạn muốn dùng nhiều địa chỉ hostname khác nhau với các dịch vụ (ví dụ mail.example.com đối với Postfix, ispconfig.example.com với ISPConfig...) thì nên sử dụng certificate Class2 của StartSSL. Thực chất đây không phải miễn phí, nhưng nó lại hỗ trợ chúng ta tạo cho nhiều sub domain khác nhau và thậm chí là nhiều domain. Về mặt kỹ thuật thì cách thức triển khai không có gì khác biệt, ngoại trừ phần intermediate certificate sub.class1.server.ca.pem của StartSSL thì các bạn nên thay thế bằng sub.class2.server.ca.pem. Chúng tôi sẽ đề cập cụ thể hơn những sự khác biệt này trong toàn bộ bài hướng dẫn.
- Tất cả lệnh được thực hiện ở đây dưới quền cao nhất – root, do vậy các bạn hãy sử dụng lệnh sau trong Ubuntu: sudo su Tạo Certificate Signing Request – CSR: Trên thực tế, chúng ta cần phải có Certificate Signing Request – CSR để nhận certificate SSL từ StartSSL. Với ISPConfig installer (phiên bản tối thiểu 3.0.4), chúng tôi sẽ sử dụng CSR này làm cơ chế mã hóa cơ bản đối với tất cả các dịch vụ của hệ thống (ISPConfig, Postfix...) Từ ISPConfig 3.0.4 thì ISPConfig installer cung cấp khá nhiều tùy chọn để sử dụng mã hóa SSL qua giao diện web ISPConfig, hệ thống sẽ tự tạo self-signed certificate (4096 bit) có bao gồm CSR nếu người dùng trả lời các câu hỏi sau bằng y hoặc nhấn Enter: Do you want a secure (SSL) connection to the ISPConfig web interface (y,n) [y]:
- There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:
- cd ispconfig3_install/install php -q update.php Quá trình này sẽ cho phép người dùng tạo mới certificate của ISPConfig 3 bằng cách trả lời câu hỏi dưới đây với phương án yes: Create new ISPConfig SSL certificate (yes,no) [no]:
- ispserver.key.secure root@server1:~# Tất cả những gì chúng ta cần thiết trong bài thử nghiệm này là khóa private key (ispserver.key) và CSR (ispserver.csr), các bạn cần thay thế ispserver.crt với certificate Class1 của SSL, và có thể bỏ qua ispserver.key.secure. Hoặc tạo khóa ispserver.key và ispserver.csr như sau: cd /usr/local/ispconfig/interface/ssl/ openssl req -new -newkey rsa:4096 -days 365 -nodes - keyout ispserver.key -out ispserver.csr File ispserver.csr của bạn sẽ có dạng như dưới đây: cat /usr/local/ispconfig/interface/ssl/ispserver.csr -----BEGIN CERTIFICATE REQUEST----- MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWV kZXJzYWNo xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx 9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz -----END CERTIFICATE REQUEST----- Bước tiếp theo cần thực hiện ở đây là truy cập vào StartSSL và tạo mới 1 tài khoản. Sau khi xác nhận thông tin chính xác của domain (tại thẻ Validations Wizard), hãy yêu cầu certificate của bạn trong thẻ Certificates Wizard > Web Server SSL/TLS Certificate từ menu Certificate Target như hình dưới:
- Nếu đã có sẵn private key và CSR thì có thể bỏ qua bước này, nhấn nút Skip >>:
- Trong trang tiếp theo, nhập nội dung của file CSR, ví dụ như bên trong file /usr/local/ispconfig/interface/ssl/ispserver.csr (thường bắt đầu bằng -----BEGIN CERTIFICATE REQUEST----- và kết thúc bởi -----END CERTIFICATE REQUEST-----):
- Sau đó, làm theo hướng dẫn hiển thị, hệ thống sẽ hỏi bạn về domain và sub domain khởi tạo certificate, nếu dùng server1.example.com cho tất cả các dịch vụ thì hãy nhập example.com là domain và server1 là sub domain. Và sau vài phút, chúng ta sẽ nhận được email thông báo về certificate đã hoàn tất. Mở Toolbox > Retrieve Certificate và chọn certificate của chúng ta:
- Copy certificate từ giao diện web của StartSSL:
- Sao lưu 1 bản của file ispserver.crt gốc, sau đó nhập nội dung của file certificate StartSSL Class1 vào file ispserver.crt vừa thao tác: mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak vi /usr/local/ispconfig/interface/ssl/ispserver.crt -----BEGIN CERTIFICATE----- MIIHMTCCBhmgAwIBAgIDxxxxxx0GCSqGSIb3DQEBBQUAMIGMMQswCQY DVQQGEwJJ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx
- xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxx c2x1wonVRVmKovt2OuM1ZqZw0Ynk -----END CERTIFICATE----- Tiếp theo, tải phần Root CA của StartSSL và Class1 Intermediate Server CA: cd /usr/local/ispconfig/interface/ssl wget https://www.startssl.com/certs/ca.pem wget https://www.startssl.com/certs/sub.class1.server.ca.pem Nếu dùng certificate Class2 thì tải sub.class2.server.ca.pem thay vì sub.class1.server.ca.pem. Sau đó, đổi tên cả 2 file này: mv ca.pem startssl.ca.crt mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt Thay đổi câu lệnh thứ 2 trong trường hợp bạn dùng certificate Class2. Tuy nhiên, có một vài dịch vụ có yêu cầu sử dụng file .pem được tạo theo cách sau (thay đổi lệnh thứ 2 sao cho phù hợp nếu dùng certificate Class2):
- cat startssl.sub.class1.server.ca.crt startssl.ca.crt > startssl.chain.class1.server.crt cat ispserver.{key,crt} startssl.chain.class1.server.crt > ispserver.pem chmod 600 ispserver.pem Nếu các bạn sử dụng ISPConfig 3 với Apache, hãy mở file /etc/apache2/sites- available/ispconfig.vhost bằng lệnh: vi /etc/apache2/sites-available/ispconfig.vhost sau đó, thêm dòng SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/startssl.sub.class1.server.ca.crt vào phần # SSL Configuration như dưới đây: [...] # SSL Configuration SSLEngine On SSLCertificateFile /usr/local/ispconfig/interface/ssl/ispserver.crt SSLCertificateKeyFile /usr/local/ispconfig/interface/ssl/ispserver.key ## must be re-added after an ISPConfig update!!! SSLCertificateChainFile /usr/local/ispconfig/interface/ssl/startssl.sub.class1. server.ca.crt [...] Các bạn lưu ý thay đổi thông số kỹ thuật phù hợp nếu dùng certificate Class2, khởi động lại Apache: /etc/init.d/apache2 restart Giao diện ISPConfig – nginx:
- Trên nginx, tất cả những gì chúng ta cần làm ở đây là áp dụng intermediate certificate tới file ispserver.crt: cat /usr/local/ispconfig/interface/ssl/startssl.sub.class1. server.ca.crt >> /usr/local/ispconfig/interface/ssl/ispserver.crt sau đó reload lại nginx: /etc/init.d/nginx reload Với Postfix: Đối với Postfix, chúng ta cần phải sao lưu /etc/postfix/smtpd.cert, /etc/postfix/smtpd.key sau đó tạo symlink tới /usr/local/ispconfig/interface/ssl/ispserver.crt và /usr/local/ispconfig/interface/ssl/ispserver.key: cd /etc/postfix mv smtpd.cert smtpd.cert_bak mv smtpd.key smtpd.key_bak ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key Tiếp theo, gán smtpd_tls_CAfile vào file /etc/postfix/main.cf: postconf -e 'smtpd_tls_CAfile = /usr/local/ispconfig/interface/ssl/startssl.chain.class 1.server.crt' Và cuối cùng là khởi động lại Postfix: /etc/init.d/postfix restart
- Với Dovecot: Để thực hiện, các bạn mở file /etc/dovecot/dovecot.conf: vi /etc/dovecot/dovecot.conf và gán thêm dòng ssl_ca_file = /usr/local/ispconfig/interface/ssl/startssl.chain.class1.server.crt (lưu ý rằng các bạn phải làm lại thao tác này sau khi cập nhật ISPConfig): [...] ssl_cert_file = /etc/postfix/smtpd.cert ssl_key_file = /etc/postfix/smtpd.key ## must be re-added after an ISPConfig update!!! ssl_ca_file = /usr/local/ispconfig/interface/ssl/startssl.chain.class 1.server.crt [...] Khởi động lại Dovecot: /etc/init.d/dovecot restart Courier: Việc cần làm trước tiên ở đây là sao lưu file /etc/courier/imapd.pem và /etc/courier/pop3d.pem: mv /etc/courier/imapd.pem /etc/courier/imapd.pem.bak mv /etc/courier/pop3d.pem /etc/courier/pop3d.pem.bak Sau đó, kết nối tới /usr/local/ispconfig/interface/ssl/ispserver.pem bằng lệnh: ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem /etc/courier/imapd.pem ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem /etc/courier/pop3d.pem
- Khởi động lại Courier: /etc/init.d/courier-imap-ssl stop /etc/init.d/courier-imap-ssl start /etc/init.d/courier-pop-ssl stop /etc/init.d/courier-pop-ssl start PureFTPd: Cũng tương tự như trên, chúng ta phải sao lưu file /etc/ssl/private/pure-ftpd.pem trước tiên: cd /etc/ssl/private/ mv pure-ftpd.pem pure-ftpd.pem_bak Tạo liên kết tới /usr/local/ispconfig/interface/ssl/ispserver.pem: ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem Khởi động lại PureFTPd: /etc/init.d/pure-ftpd-mysql restart Monit: Nếu các bạn đã cài đặt và sử dụng Monit qua giao thức HTTPS, thì có thể dùng certificate StartSSL để loại bỏ bớt các thông báo không thực sự cần thiết. Mở file /etc/monit/monitrc: vi /etc/monit/monitrc và xác định rõ /usr/local/ispconfig/interface/ssl/ispserver.pem tại dòng PEMFILE. Ví dụ như dưới đây: [...] set httpd port 2812 and SSL ENABLE
- PEMFILE /usr/local/ispconfig/interface/ssl/ispserver.pem allow admin:secret [...] Khởi động lại Monit: /etc/init.d/monit restart Như vậy là chúng ta đã hoàn tất các bước cơ bản để bảo mật quá trình cài đặt ISPConfig 3 với Certificate Class1 SSL của StartSSL. Chúc các bạn thành công!
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Cách cài đóng băng
4 p | 309 | 73
-
CoreJava 10: CÀI ĐẶT BẢO MẬT
12 p | 173 | 48
-
Cài đặt eGroupware trên máy chủ Ubuntu
9 p | 186 | 35
-
Chương 10: CÀI ĐẶT BẢO MẬT
12 p | 140 | 32
-
Quét virus – spyware không cần cài đặt phần mềm
6 p | 150 | 23
-
Cài đặt phần mềm cần thiết đơn giản hơn với Ninite
5 p | 157 | 23
-
Cài đặt Boris Red (P2)
5 p | 133 | 20
-
Triển khai Vista – Phần 9: Tự động hoàn toàn quá trình cài đặt
9 p | 90 | 15
-
SmartPM - Trình quản lý gói tin cho Linux OS
8 p | 94 | 14
-
Gỡ bỏ tận gốc các chương trình diệt virus và bảo mật
6 p | 135 | 10
-
Tạo đám mây ảo bằng Hyper-V (Phần 6)
3 p | 82 | 7
-
Hướng dẫn mã hóa bảo mật Home Folder trong Ubuntu
8 p | 110 | 6
-
Cài đặt ứng dụng và game trong windows 8 từ Windows Store
3 p | 66 | 5
-
Diệt Malware cứng đầu với SuperAntiSpyware
5 p | 103 | 5
-
Hướng dẫn sử dụng Windows 7 với Boot Camp – P.2
6 p | 88 | 4
-
Phần mềm bảo mật ESET Cybersecurity dành cho Mac – P.1
7 p | 70 | 2
-
Diệt Malware cứng đầu với SuperAnti Spyware
8 p | 60 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn