Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
1,58 MB
Nội dung
Bảo mậtquátrìnhcàiđặtISPConfig3 với
Certificate Class1SSLcủaStartSSL
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 Class1SSLCertificate từ SSL
để bảo mậtquátrìnhcài dặt ISPConfig3 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 SSLcertificate
qua giao diện web củaISPConfig (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 certificateClass1 đố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ớiISPConfig 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 SSLqua 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]: < nhấn ENTER
Để ISPConfig installer tạo CSR với dữ liệu khớp với hệ thống thì các bạn phải
nhập đúng lựa chọn trong phần dưới:
Generating RSA private key, 4096 bit long modulus
++
++
e is 65537 (0x10001)
You are about to be asked to enter information that
will be incorporated
into your certificate request.
What you are about to enter is what is called a
Distinguished Name or a DN.
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]: < DE
State or Province Name (full name) [Some-State]: <
Niedersachsen
Locality Name (eg, city) []: < Lueneburg
Organization Name (eg, company) [Internet Widgits Pty
Ltd]: < My Company Ltd.
Organizational Unit Name (eg, section) []: < IT
Common Name (eg, YOUR name) []: < example.com
Email Address []: < hostmaster@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: < nhấn ENTER
An optional company name []: < nhấn ENTER
writing RSA key
Nếu các bước khởi tạo certificate ban đầu với dữ liệu bị sai lệch thì có thể cập
nhật ISPConfig bằng cách gõ lệnh:
ispconfig_update.sh
Hoặc nếu đã càiđặt phiên bản ISPConfig mới nhất thì sử dụng lệnh:
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
Quá trình này sẽ cho phép người dùng tạo mới certificatecủaISPConfig3 bằng
cách trả lời câu hỏi dưới đây với phương án yes:
Create new ISPConfigSSLcertificate (yes,no) [no]: <
chọn yes
Còn nếu bạn đang dùng ISPConfig phiên bản cũ hơn 3.0.4 thì nên cập nhật bằng
lệnh:
ispconfig_update.sh
Cú pháp trên cũng cho phép người dùng tạo kết nối SSL dành cho ISPConfig3
bằng cách trả lời câu hỏi với tùy chọn yes:
Create new ISPConfigSSLcertificate (yes,no) [no]: <
chọn yes
Như đã đề cập tới ở phía trên, các bạn nên khai báo các thông tin sao cho chính
xác. Sau đó, hệ thống sẽ có đầy đủ khóa key SSL, CSR, và self-signed certificate
trong thư mục /usr/local/ispconfig/interface/ssl/
ls -l /usr/local/ispconfig/interface/ssl/
root@server1:~# ls -l
/usr/local/ispconfig/interface/ssl/
total 16
-rwxr-x 1 ispconfigispconfig 2423 Jan 16 13:29
ispserver.crt
-rwxr-x 1 ispconfigispconfig 1777 Jan 16 13:29
ispserver.csr
-rwxr-x 1 ispconfigispconfig 3243 Jan 16 13:29
ispserver.key
-rwxr-x 1 ispconfigispconfig 3311 Jan 16 13:28
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 Class1củ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 certificatecủ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 certificatecủa chúng ta:
Copy certificate từ giao diện web của StartSSL:
[...]... dụng ISPConfig 3 với Apache, hãy mở file /etc/apache2/sitesavailable /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... định rõ /usr/local /ispconfig/ interface /ssl/ ispserver.pem tại dòng PEMFILE Ví dụ như dưới đây: [ ] set SSL httpd port 2812 and 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ậtquátrìnhcàiđặtISPConfig3 với CertificateClass1SSLcủaStartSSL Chúc các bạn thành... -END CERTIFICATE Tiếp theo, tải phần Root CA củaStartSSL và Class1 Intermediate Server CA: cd wget /usr/local /ispconfig/ interface /ssl 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 mv ca.pem startssl. ca.crt sub .class1. server.ca.pem... 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...Sao lưu 1 bản của file ispserver.crt gốc, sau đó nhập nội dung của file certificateStartSSLClass1 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... /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,... 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, sau /etc/postfix/smtpd.key đó tạo symlink tới và /usr/local /ispconfig/ interface /ssl/ ispserver.crt... 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. .. 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... 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 . 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. 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!