SSL ทำให้การเข้าถึง Website มีความปลอดภัย ข้อมูลทั้งหมดที่มีเรียกใช้งานระหว่างผู้ใช้ และ Server จะถูกเข้ารหัสเพื่อป้องกันการดักจับข้อมูลหรือการโจรกรรมข้อมูลจากแฮกเกอร์ Selt-signed Certificated เป็นการสร้างโดยไม่ต้องผ่านการรับรองจาก CA คือเราสามารถ Generate และติดตั้งได้ฟรี แต่จะมี Security Warning เพื่อกด Accept เพื่อเข้าสู่หน้าเว็บไซต์

ขั้นตอนการติดตั้ง Self Sign Certificate บน Apache CentOS 7

1. Install mod_ssl Package

#yum install mod_ssl openssl

2. Create Self Signed Certificate

#mkdir -p /etc/ssl/certs

#cd /etc/ssl/certs

สร้าง SSL Certificate

#openssl req -x509 -nodes -newkey rsa:2048 -keyout ssldemo.com.key -out ssldemo.com.crt

ความหมายของ Option และอื่นๆ

req -x509: ระบุประเภทของ certificate ที่ต้องการคือ x509 รองรับมาตรฐาน public key infrastructure ที่ใช้สำหรับ ssl, tls เป็นการทำงานร่วมกันระหว่าง key และ certificate
nodes: ยกเลิกการใช้ passphrase ของ key
days 365: อายุของ certificate
newkey rsa:2048: ความยาวของ key มีขนาด 2048bit
keyout: ชื่อของ private key
out: ชื่อ certificate

 

ขั้นตอนนี้ระบบจะถามข้อมูล ให้ดำเนินการตั้งค่าดังนี้

Country Name (2 letter code) [XX]:  TH

State or Province Name (full name): Bangkok

Locality Name (eg, city) [Default City]: Bangkok

Organization Name (eg, company) [Default Company Ltd]:  ชื่อบริษัท

 Organizational Unit Name (eg, section) []:  ชื่อหน่วยงาน

Common Name (eg, your name or your server's hostname) []:  ชื่อ Hostname

Email Address []:  ชื่ออีเมล์

3. ตั้งค่า Virtualhost

สร้างและแก้ไขไฟล์ /etc/httpd/conf.d/ssl.conf

เพิ่มข้อความตามด้านล่างในไฟล์ ssl.conf

<VirtualHost *:443>
ServerAdmin demo@ssldemo.com
DocumentRoot "/var/www/html/ssldemo/"
ServerName ssldemo.com
ServerAlias www.ssldemo.com

ErrorLog "/var/log/httpd/ssldemo.com-ssl-error_log"
CustomLog "/var/log/httpd/ssldemo.com-ssl-access_log" combined

<Directory "/var/www/html/ssldemo/">
DirectoryIndex index.html index.php
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>

SSLEngine On

SSLCertificateFile /etc/ssl/certs/ssldemo.com.crt
SSLCertificateKeyFile /etc/ssl/certs/ssldemo.com.key

</VirtualHost>

จากนั้นให้ Restart Web Server

#systemctl restart httpd

ทดสอบเรียกเว็บไซต์ https://ssldemo.com 

จะมี Warning Security ให้ดำเนินการกด Advance และยอมรับเพื่อเข้าสู่เว็บไซต์ต่อไป

Screenshot_from_2019-08-22_13-27-16.png