2014年11月6日 星期四

cài đặt và cấu hình SSL trong apache centos

2. Cài đặt

- cài đặt thêm các gói ssl

[root@ns /]# yum install mod_ssl openssl

- tạo các cert

[root@ns tmp]# openssl genrsa -out ca.key 1024
[root@ns tmp]# openssl req -new -key ca.key -out ca.csr
[root@ns tmp]# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
[root@ns tmp]# ls
ca.crt ca.csr ca.key

- copy các file vừa được tạo

[root@ns tmp]# cp ca.crt /etc/pki/tls/certs/
[root@ns tmp]# cp ca.key /etc/pki/tls/private/
[root@ns tmp]# cp ca.csr /etc/pki/tls/private/

- sửa file cấu hình của apache

vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf

- thay đổi nội dung 2 dòng sau

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

thành

SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

- sửa lại các virtualhost

[root@ns tmp]# vi /etc/httpd/conf/httpd.conf

- add thêm vào cuối file httpd.conf

NameVirtualHost *:443

SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key

AllowOverride All

DocumentRoot /var/www/html
ServerName IP_or_site_name


- restart lại service apache

2014年11月4日 星期二

Hướng dẫn cài đặt SSL cho Apache – Centos

Bắt tay vào việc, sau đây sẽ là hướng dẫn Step by Step. Lấy vị dụ bạn cần cài ssl cho domain.vn
1. Tạo Key Pair:
Chiều dài của key pair mặc định là 1024bit tuy nhiên bạn nên cấu hình cho nó là 2048bit. Nên tạo một thư mục riêng để lưu trữ các file cấu hình liên quan.( /home/techblog/ssl/)
Vào thư mục lưu trữ:
1#cd /home/techblog/ssl/
Tạo key pair file (Không mã hóa):
1#openssl genrsa -out techblog.vn.key 2048
Tạo key pair file mã hóa:
1#openssl genrsa -des3 -out www.yourdomain-example.com.key 2048
Lưu ý: Openssl trên Windows không tương thích với key pair mã hóa.
2. Tạo CSR (Certificate Signing Request):
Đây là nội dung dùng tương tác với key file vừa tạo phía trên, chúng ta sẽ tao ra một đoạn mã để dùng nó gửi yêu cầu kích hoạt SSL. Khi đăng ký SSL, bạn bắt buộc phải gửi nội dung CSR cho nhà cung cấp.
1#openssl req -new -key techblog.vn.key -out techblog.vn.csr
Nhập các thông tin được yêu cầu như:
  • Country Name: Mã quốc gia, 2 ký tự (VN,US,CA…)
  • State or Province: Thành phố (Ha Noi, Ho Chi Minh, California…)
  • Locality or City: Quận huyện, không viết tắt (Quan 10, Phu Nhuan…)
  • Company: Tên công ty, không dùng ký tự đặc biệt, viết không dấu (Tech Blog Team, Ngoi Sao So…)
  • Organizational Unit: Đơn vị, phòng ban, có thể bỏ qua bằng cách nhấn Enter.
  • Common Name: Tên domain (techblog.vn). Nếu bạn muốn cài đặt SSL Wildcard, nhập vào *.techblog.vn (Phải mua loại SSL hỗ trợ wildcard).
Để lấy nội dung CSR, bạn có thể dùng lệnh nano:
1#nano techblog.vn.csr
3. Đăng ký SSL:
Sau đó, đem nội dung CSR gửi cho nhà cung cấp và bạn sẽ nhận được lại Certificate. Dạng file .crt hoặc nội dung text.
4. Cài đặt SSL cho host:
Để cài đặt SSL cho domain, host, ta cần cấu hình trong httpd.conf (hoặc vhosts). Trước tiên cần tìm vị trí file này:
1#locate httpd.conf
Sau khi thấy file, hãy chỉnh sửa file bằng lệnh nano, thêm vào nội dung như sau:
01     
02     
03     
04     
05     
06     
07 
08 
09
10    DocumentRoot /home/techblog/public_html
11    ServerName techblog.vn
12    SSLEngine on
13    SSLCertificateFile /home/techblog/ssl/techblog.vn.crt
14    SSLCertificateKeyFile /home/techblog/ssl/techblog.vn.key
15    SSLCertificateChainFile /home/techblog/ssl/intermediate.crt
16
Trong đó:
/home/techblog/ssl/techblog.vn.crt: là file Certificate do nhà cung cấp gửi (hoặc nội dung).
/home/techblog/ssl/techblog.vn.key: là key pair file tạo trên bước 1.
/home/techblog/ssl/intermediate.crt: là file CertificateChain do nhà cung cấp gửi (hoặc nội dung).
Sau đó lưu lại httpd.conf, restart apache:
1#service httpd restart
Cuối cùng, bạn có thể kiểm tra lại kết quả bằng cách truy cập https://domain.vn. Chúc thành công.