13/03/2012 19:24:43 PM

Bảo mật quá trình cài đặt ISPConfig 3 với StartSSL

(Lượt xem: 4853)

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...

Quản Trị Mạng - 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 nginx), Postfix (đối với kết nối TLS), Courier Dovecot (dành cho POP3sIMAPs), 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.comserver1.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]: <-- 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 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]: <-- 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 ISPConfig 3 bằng cách trả lời câu hỏi với tùy chọn yes

Create new ISPConfig SSL certificate (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, 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 ispconfig ispconfig 2423 Jan 16 13:29 ispserver.crt
-rwxr-x--- 1 ispconfig ispconfig 1777 Jan 16 13:29 ispserver.csr
-rwxr-x--- 1 ispconfig ispconfig 3243 Jan 16 13:29 ispserver.key
-rwxr-x--- 1 ispconfig ispconfig 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) 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.keyispserver.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-----
MIIC7TCCAdUCAQAwgacxCzAJBgxxxxxxAkRFMRYwFAYDVQQIDA1OaWVkZXJzYWNo
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
9Z5RhXTfOz8F2wsNH5yP9eqkVlkYKpIwyUHoZtUSp+xz
-----END CERTIFICATE REQUEST-----
Trang: 
T.Anh (HowToForge)
Đánh giá(?):
META.vn | Mua sắm trực tuyến
Bài viết mới nhất
Xem tất cả
Bài viết cũ hơn cùng chủ đề
Xem tất cả
  • Mẫu giao diện web thiết kế bởi Topweb
Tài nguyên





Xem tất cả
Tư vấn khách hàng
Điện thoại để được tư vấn tốt nhất
0973668377