ditsoft

เข้าสู่ระบบจัดการข้อมุล



การติดตั้งและใช้งาน SSL (HTTPS) บน CentOS (25042013)

เป็นการเรียกใช้งาน Web Application แบบมีการเข้ารหัสสำหรับความปลอดภัย (SSL Security) โดยใช้ Secure Socket Layer (SSL) encrypt และ decrypt ข้อมูลที่ส่งเมื่อมี Client เรียกใช้งาน (HTTPS ใช้พอร์ต 443 แทนที่ HTTP พอร์ต 80 ซึ่งถ้าเราใช้ port 443 ในการเรียกใช้งาน Web Application ของเรา แต่แนะนำให้ทำ Alias บน https ไปด้วยกันดีกว่า)

      ปกติหากทำการสร้าง SSL จะต้องลงทะเบียนเสียเงินให้กับพวก CA Root ต่างๆ แต่อันนี้เป็นการติดตั้งแบบไม่ไม่เสียเงิน ความปลอดภัยอาจจะไม่สูงที่สุด 

ทำการติดตั้ง OpenSSL , mod_ssl
#yum install httpd mod_ssl openssl

ทำการสร้าง Directory ที่จะบรรจุไฟล์ cerf ต่างๆก่อน อาจะเก็บไว้ที่อื่นก็ได้ตามความพอใจ
#mkdir /var/www/ssl-cert
#cd /var/www/ssl-cert              // เข้าไปใน Dir ที่สร้างไว้

- Generate private key โดยพิมพ์คำสั่งด้านล่าง
# openssl genrsa -out ca.key 2048

- Generate CSR โดยพิมพ์คำสั่งด้านล่าง
# openssl req -new -key ca.key -out ca.csr

 

พิมพ์รายละเอียดต่างๆเข้าไปดังนี้

 

# openssl genrsa -out ca.key 2048
Generating RSA private key, 2048 bit long modulus
.........................................................................+++
...............+++
e is 65537 (0x10001)
# openssl req -new -key ca.key -out ca.csr
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) [XX]: 
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:
Email Address []:

 

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: ENTER
An optional company name []: ENTER
# openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

หลังจากนั้นทำการแก้ไขไฟล์ /etc/httpd/conf/httpd.conf ซึ่งเป็นไฟล์คอนฟิกของ Apache  เปิดไฟล์ /etc/httpd/conf/httpd.conf ด้วย Text editor 

#nano /etc/httpd/conf/httpd.conf ## หากมีการทำ Virtual Host สามารถเพิ่มที่ Virtual Hosts ได้เช่นกัน

 

NameVirtualHost *:443

SSLEngine on
SSLCertificateFile /var/www/ssl-cert/ca.crt
SSLCertificateKeyFile /var/www/ssl-cert/ca.key
ServerAdmin อีเมลนี้จะถูกป้องกันจากสแปมบอท แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน อีเมลนี้จะถูกป้องกันจากสแปมบอท แต่คุณต้องเปิดการใช้งานจาวาสคริปก่อน
DocumentRoot /home/oa/public_html/
#DocumentRoot /home/oa/public_html/
ServerName oa.csc.ku.ac.th
ErrorLog logs/oa.csc.ku.ac.th-error_log
CustomLog logs/oa.csc.ku.ac.th-access_log common

Options -Indexes
AllowOverride All
Order allow,deny
allow from all

Save แล้วออกไป restart service httpd

# service httpd restart

ทดสอบเข้าหน้าเว็บเพจ

 

จะต้องยอมรับผ่านไปเลย นั้นก็เพราะว่าเรายังไม่ได้ทำการซื้อใบรับรองที่ถูกจากผู้ให้บริการ