Hướng dẫn này chỉ cho bạn cách sử dụng Chứng chỉ SSL Class1 miễn phí từ StartSSL để bảo mật cài đặt ISPConfig 3 của bạn và loại bỏ các cảnh báo chứng chỉ tự ký. Hướng dẫn này bao gồm cách sử dụng chứng chỉ SSL cho giao diện web ISPConfig (cả Apache2 và nginx), Postfix (cho kết nối TLS), Courier và Dovecot (cho POP3 và IMAP) và PureFTPd (cho kết nối TLS/FTPES). Nếu bạn đã cài đặt monit và sử dụng HTTPS cho giao diện web của nó, tôi cũng sẽ chỉ cho bạn cách sử dụng chứng chỉ StartSSL cho nó. Hướng dẫn này giả định rằng bạn sử dụng Debian hoặc Ubuntu; Nguyên tắc này giống với các bản phân phối khác được ISPConfig 3 hỗ trợ, nhưng đường dẫn có thể khác.
CẬP NHẬT NGÀY 20/12/2017
Trình duyệt không còn tin cậy CA StartSSL nữa và sẽ ngừng cấp chứng chỉ SSL vào ngày 1 tháng 1 năm 2018. Hiện nay có một giải pháp thay thế tốt, hãy sử dụng Let's Encrypt thay vì StartSSL để nhận chứng chỉ SSL miễn phí. Tại đây, bạn có thể tìm thấy hướng dẫn về cách sử dụng chứng chỉ SSL Let's encrypt cho ISPConfig, Postfix, Dovecot, Courier, Monit và PureFTPD:
www.howtoforge.com
Tôi sẽ sử dụng tên máy chủ server1.example.com tại đây; StartSSL cho phép bạn tạo chứng chỉ Class1 cho miền chính và một miền phụ, vì vậy tôi sẽ tạo chứng chỉ cho example.com và server1.example.com. Điều này có nghĩa là bạn phải yêu cầu người dùng sử dụng tên miền chính example.com hoặc tên miền phụ server1.example.com cho tất cả các dịch vụ (giao diện web ISPConfig, Postfix, Courier/Dovecot, PureFTPD, v.v.) vì nếu không, họ sẽ nhận được cảnh báo về chứng chỉ.
Nếu bạn muốn sử dụng các tên máy chủ khác nhau cho các dịch vụ của mình (ví dụ: mail.example.com cho Postfix, ispconfig.example.com cho ISPConfig, v.v.), tôi khuyên bạn nên lấy chứng chỉ Class2 từ StartSSL. Nó không miễn phí, nhưng cho phép bạn tạo chứng chỉ cho nhiều tên miền phụ (bạn thậm chí có thể sử dụng *.example.com để tạo chứng chỉ cho tất cả các tên miền phụ) và thậm chí nhiều tên miền. Hướng dẫn giống nhau, ngoại trừ khi tôi sử dụng chứng chỉ trung gian sub.class1.server.ca.pem của StartSSL, bạn phải sử dụng sub.class2.server.ca.pem thay thế. Tôi sẽ phác thảo sự khác biệt này trong suốt hướng dẫn.
Tôi đang chạy tất cả các bước trong hướng dẫn này với quyền root, vì vậy hãy đảm bảo rằng bạn đã đăng nhập với tư cách là root. Nếu bạn sử dụng Ubuntu, hãy chạy...
... để có được quyền root.
Kể từ ISPConfig phiên bản 3.0.4, trình cài đặt ISPConfig cung cấp tùy chọn sử dụng mã hóa SSL cho giao diện web ISPConfig, nó tạo ra một chứng chỉ tự ký (4096 bit) bao gồm CSR nếu bạn trả lời câu hỏi sau bằng ENTER hoặc y:
Bạn có muốn kết nối (SSL) an toàn đến giao diện web ISPConfig (y, n) [y] không: <-- ENTER
Để trình cài đặt ISPConfig tạo CSR với dữ liệu chính xác, bạn phải nhập thông tin chi tiết chính xác khi thấy những câu hỏi sau:
Tạo khóa riêng RSA, môđun dài 4096 bit
..................................................................++
.....................................................................................++
e là 65537 (0x10001)
Bạn sắp được yêu cầu nhập thông tin sẽ được đưa vào
yêu cầu chứng chỉ của bạn.
Những gì bạn sắp nhập được gọi là Tên phân biệt hoặc DN.
Có khá nhiều trường nhưng bạn có thể để trống một số trường
Đối với một số trường sẽ có giá trị mặc định,
Nếu bạn nhập '.', trường đó sẽ được để trống.
-----
Tên quốc gia (mã 2 chữ cái) [AU]: <-- DE
Tên tiểu bang hoặc tỉnh (tên đầy đủ) [Một số tiểu bang]: <-- Niedersachsen
Tên địa phương (ví dụ: thành phố) []: <-- Lueneburg
Tên tổ chức (ví dụ: công ty) [Internet Widgits Pty Ltd]: <-- My Company Ltd.
Tên đơn vị tổ chức (ví dụ: bộ phận) []: <-- IT
Tên thông dụng (ví dụ: tên CỦA BẠN) []: <-- example.com
Địa chỉ email []: <-- [emailprotected]
Vui lòng nhập các thuộc tính 'thêm' sau
để gửi kèm yêu cầu cấp chứng chỉ của bạn
Mật khẩu thử thách []: <-- ENTER
Tên công ty tùy chọn []: <-- ENTER
viết khóa RSA
Nếu ban đầu bạn tạo chứng chỉ với dữ liệu sai, bạn có thể cập nhật ISPConfig bằng cách chạy...
..., hoặc, nếu bạn đã cài đặt phiên bản mới nhất, hãy chạy các lệnh sau:
Điều này sẽ cho phép bạn tạo chứng chỉ mới cho giao diện web ISPConfig 3 của mình bằng cách trả lời câu hỏi sau với có:
Tạo chứng chỉ SSL ISPConfig mới (có, không) [không]: <-- có
Nếu bạn sử dụng phiên bản ISPConfig trước 3.0.4, bây giờ bạn nên nâng cấp lên phiên bản ổn định mới nhất bằng cách chạy...
Điều này cũng sẽ cho phép bạn tạo kết nối SSL cho giao diện web ISPConfig 3 của mình bằng cách trả lời câu hỏi sau bằng có:
Tạo chứng chỉ SSL ISPConfig mới (có, không) [không]: <-- có
Như đã nêu ở trên, hãy đảm bảo rằng bạn nhập đúng thông tin chi tiết.
Sau đó, bạn sẽ có khóa SSL, CSR và chứng chỉ tự ký trong /usr/local/ispconfig/interface/ssl/ thư mục:
Tất cả những gì chúng ta cần trong hướng dẫn này là khóa riêng (ispserver.key) và CSR (ispserver.csr); chúng ta sẽ thay thế ispserver.crt bằng chứng chỉ Class1 từ StartSSL. Bạn có thể bỏ qua ispserver.key.secure.
Bạn cũng có thể tạo ispserver.key và ispserver.csr trên dòng lệnh như sau:
(Điều này sẽ không cung cấp cho bạn ispserver.crt, điều này không quan trọng vì chúng ta sẽ nhận được chứng chỉ đã ký từ StartSSL.)
ispserver.csr của bạn phải tương tự như thế này (tôi đã gạch chéo phần lớn vì đây là CSR thực sự mà tôi sử dụng):
Vì chúng ta đã có khóa riêng và CSR, chúng ta có thể bỏ qua bước tiếp theo - nhấp vào Bỏ qua >>:
Ở trang tiếp theo, bạn điền CSR của mình, tức là nội dung của tệp /usr/local/ispconfig/interface/ssl/ispserver.csr (bắt đầu bằng -----BEGIN CERTIFICATE REQUEST----- và kết thúc bằng -----END YÊU CẦU CHỨNG NHẬN-----):
Sau đó, làm theo phần còn lại của trình hướng dẫn - trình hướng dẫn sẽ yêu cầu bạn nhập tên miền và một tên miền phụ mà chứng chỉ sẽ được tạo. Nếu bạn sử dụng server1.example.com cho tất cả các dịch vụ của mình, hãy điền example.com làm tên miền và server1 làm tên miền phụ.
Sau vài phút, bạn sẽ nhận được email thông báo chứng chỉ mới của bạn đã sẵn sàng. Truy cập Toolbox > Lấy chứng chỉ và chọn chứng chỉ của bạn:
Sao chép chứng chỉ từ giao diện web của StartSSL...
... và sao lưu tệp ispserver.crt gốc của bạn và dán chứng chỉ StartSSL Class1 vào tệp ispserver.crt (trống):
Tiếp theo, hãy tải xuống Root CA của StartSSL và CA của Máy chủ trung gian Class1:
(Nếu bạn sử dụng chứng chỉ Class2, vui lòng tải xuống sub.class2.server.ca.pem thay vì sub.class1.server.ca.pem).
Đổi tên cả hai tệp:
(Điều chỉnh lệnh thứ hai nếu bạn sử dụng chứng chỉ Class2.)
Một số dịch vụ yêu cầu tệp .pem mà chúng tôi tạo như sau (một lần nữa, hãy đảm bảo bạn điều chỉnh các lệnh nếu bạn sử dụng chứng chỉ Class2):
CẬP NHẬT NGÀY 20/12/2017
Trình duyệt không còn tin cậy CA StartSSL nữa và sẽ ngừng cấp chứng chỉ SSL vào ngày 1 tháng 1 năm 2018. Hiện nay có một giải pháp thay thế tốt, hãy sử dụng Let's Encrypt thay vì StartSSL để nhận chứng chỉ SSL miễn phí. Tại đây, bạn có thể tìm thấy hướng dẫn về cách sử dụng chứng chỉ SSL Let's encrypt cho ISPConfig, Postfix, Dovecot, Courier, Monit và PureFTPD:

Securing ISPConfig 3 Control Panel (Port 8080) With Let's Encrypt Free SSL
Securing ISPConfig 3 Control Panel (Port 8080) With Let's Encrypt Free SSL [Introduction] I rewrote this since my LE4ISPC script has matured and now...

1 Lưu ý sơ bộ
Tôi cho rằng bạn đã sử dụng một trong các hướng dẫn từ http://www.ispconfig.org/ispconfig-3/documentation/ để thiết lập hệ thống của bạn. Như tôi đã đề cập trước đó, tôi sẽ tập trung vào Debian/Ubuntu trong hướng dẫn này, nhưng nó cũng có thể hoạt động với các bản phân phối khác được ISPconfig 3 hỗ trợ (mặc dù bạn có thể phải điều chỉnh một số đường dẫn).Tôi sẽ sử dụng tên máy chủ server1.example.com tại đây; StartSSL cho phép bạn tạo chứng chỉ Class1 cho miền chính và một miền phụ, vì vậy tôi sẽ tạo chứng chỉ cho example.com và server1.example.com. Điều này có nghĩa là bạn phải yêu cầu người dùng sử dụng tên miền chính example.com hoặc tên miền phụ server1.example.com cho tất cả các dịch vụ (giao diện web ISPConfig, Postfix, Courier/Dovecot, PureFTPD, v.v.) vì nếu không, họ sẽ nhận được cảnh báo về chứng chỉ.
Nếu bạn muốn sử dụng các tên máy chủ khác nhau cho các dịch vụ của mình (ví dụ: mail.example.com cho Postfix, ispconfig.example.com cho ISPConfig, v.v.), tôi khuyên bạn nên lấy chứng chỉ Class2 từ StartSSL. Nó không miễn phí, nhưng cho phép bạn tạo chứng chỉ cho nhiều tên miền phụ (bạn thậm chí có thể sử dụng *.example.com để tạo chứng chỉ cho tất cả các tên miền phụ) và thậm chí nhiều tên miền. Hướng dẫn giống nhau, ngoại trừ khi tôi sử dụng chứng chỉ trung gian sub.class1.server.ca.pem của StartSSL, bạn phải sử dụng sub.class2.server.ca.pem thay thế. Tôi sẽ phác thảo sự khác biệt này trong suốt hướng dẫn.
Tôi đang chạy tất cả các bước trong hướng dẫn này với quyền root, vì vậy hãy đảm bảo rằng bạn đã đăng nhập với tư cách là root. Nếu bạn sử dụng Ubuntu, hãy chạy...
Mã:
sudo su
2 Tạo Yêu cầu ký chứng chỉ (CSR)
Chúng ta cần Yêu cầu ký chứng chỉ (CSR) để lấy chứng chỉ SSL từ StartSSL. Vì trình cài đặt ISPConfig (cho các phiên bản >= 3.0.4) tạo ra điều này dù sao đi nữa, tôi sẽ sử dụng CSR này làm cơ sở để mã hóa tất cả các dịch vụ (ISPConfig, Postfix, v.v.).Kể từ ISPConfig phiên bản 3.0.4, trình cài đặt ISPConfig cung cấp tùy chọn sử dụng mã hóa SSL cho giao diện web ISPConfig, nó tạo ra một chứng chỉ tự ký (4096 bit) bao gồm CSR nếu bạn trả lời câu hỏi sau bằng ENTER hoặc y:
Bạn có muốn kết nối (SSL) an toàn đến giao diện web ISPConfig (y, n) [y] không: <-- ENTER
Để trình cài đặt ISPConfig tạo CSR với dữ liệu chính xác, bạn phải nhập thông tin chi tiết chính xác khi thấy những câu hỏi sau:
Tạo khóa riêng RSA, môđun dài 4096 bit
..................................................................++
.....................................................................................++
e là 65537 (0x10001)
Bạn sắp được yêu cầu nhập thông tin sẽ được đưa vào
yêu cầu chứng chỉ của bạn.
Những gì bạn sắp nhập được gọi là Tên phân biệt hoặc DN.
Có khá nhiều trường nhưng bạn có thể để trống một số trường
Đối với một số trường sẽ có giá trị mặc định,
Nếu bạn nhập '.', trường đó sẽ được để trống.
-----
Tên quốc gia (mã 2 chữ cái) [AU]: <-- DE
Tên tiểu bang hoặc tỉnh (tên đầy đủ) [Một số tiểu bang]: <-- Niedersachsen
Tên địa phương (ví dụ: thành phố) []: <-- Lueneburg
Tên tổ chức (ví dụ: công ty) [Internet Widgits Pty Ltd]: <-- My Company Ltd.
Tên đơn vị tổ chức (ví dụ: bộ phận) []: <-- IT
Tên thông dụng (ví dụ: tên CỦA BẠN) []: <-- example.com
Địa chỉ email []: <-- [emailprotected]
Vui lòng nhập các thuộc tính 'thêm' sau
để gửi kèm yêu cầu cấp chứng chỉ của bạn
Mật khẩu thử thách []: <-- ENTER
Tên công ty tùy chọn []: <-- ENTER
viết khóa RSA
Nếu ban đầu bạn tạo chứng chỉ với dữ liệu sai, bạn có thể cập nhật ISPConfig bằng cách chạy...
Mã:
ispconfig_update.sh
Mã:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install
php -q update.php
Tạo chứng chỉ SSL ISPConfig mới (có, không) [không]: <-- có
Nếu bạn sử dụng phiên bản ISPConfig trước 3.0.4, bây giờ bạn nên nâng cấp lên phiên bản ổn định mới nhất bằng cách chạy...
Mã:
ispconfig_update.sh
Tạo chứng chỉ SSL ISPConfig mới (có, không) [không]: <-- có
Như đã nêu ở trên, hãy đảm bảo rằng bạn nhập đúng thông tin chi tiết.
Sau đó, bạn sẽ có khóa SSL, CSR và chứng chỉ tự ký trong /usr/local/ispconfig/interface/ssl/ thư mục:
Mã:
ls -l /usr/local/ispconfig/interface/ssl/
Mã:
root@server1:~# ls -l /usr/local/ispconfig/interface/ssl/
tổng cộng 16
-rwxr-x--- 1 ispconfig ispconfig 2423 16 tháng 1 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 16 tháng 1 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 16 tháng 1 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 3311 1 16 13:28 ispserver.key.secure
root@server1:~#
Bạn cũng có thể tạo ispserver.key và ispserver.csr trên dòng lệnh như sau:
Mã:
cd /usr/local/ispconfig/interface/ssl/
openssl req -new -newkey rsa:4096 -days 365 -nodes -keyout ispserver.key -out ispserver.csr
ispserver.csr của bạn phải tương tự như thế này (tôi đã gạch chéo phần lớn vì đây là CSR thực sự mà tôi sử dụng):
Mã:
cat /usr/local/ispconfig/interface/ssl/ispserver.csr
Mã:
|
3 Nhận chứng chỉ Class1 miễn phí từ StartSSL
Bây giờ hãy truy cập http://www.startssl.com/ và tạo một tài khoản. Sau khi bạn đã xác thực tên miền của mình (trên tab Trình hướng dẫn xác thực), bạn có thể yêu cầu chứng chỉ của mình trên tab Trình hướng dẫn chứng chỉ - chọn Chứng chỉ SSL/TLS của Máy chủ web từ trường thả xuống Mục tiêu chứng chỉ:Vì chúng ta đã có khóa riêng và CSR, chúng ta có thể bỏ qua bước tiếp theo - nhấp vào Bỏ qua >>:
Ở trang tiếp theo, bạn điền CSR của mình, tức là nội dung của tệp /usr/local/ispconfig/interface/ssl/ispserver.csr (bắt đầu bằng -----BEGIN CERTIFICATE REQUEST----- và kết thúc bằng -----END YÊU CẦU CHỨNG NHẬN-----):
Sau đó, làm theo phần còn lại của trình hướng dẫn - trình hướng dẫn sẽ yêu cầu bạn nhập tên miền và một tên miền phụ mà chứng chỉ sẽ được tạo. Nếu bạn sử dụng server1.example.com cho tất cả các dịch vụ của mình, hãy điền example.com làm tên miền và server1 làm tên miền phụ.
Sau vài phút, bạn sẽ nhận được email thông báo chứng chỉ mới của bạn đã sẵn sàng. Truy cập Toolbox > Lấy chứng chỉ và chọn chứng chỉ của bạn:
Sao chép chứng chỉ từ giao diện web của StartSSL...
... và sao lưu tệp ispserver.crt gốc của bạn và dán chứng chỉ StartSSL Class1 vào tệp ispserver.crt (trống):
Mã:
mv /usr/local/ispconfig/interface/ssl/ispserver.crt /usr/local/ispconfig/interface/ssl/ispserver.crt_bak
vi /usr/local/ispconfig/interface/ssl/ispserver.crt
Mã:
|
Mã:
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
Đổi tên cả hai tệp:
Mã:
mv ca.pem startssl.ca.crt
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt
Một số dịch vụ yêu cầu tệp .pem mà chúng tôi tạo như sau (một lần nữa, hãy đảm bảo bạn điều chỉnh các lệnh nếu bạn sử dụng chứng chỉ Class2):
Mã:
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