ที่ผ่านมาเราจะเคยได้ยินข่าว เกียวกับช่องโหว่ของ SSLv3 ซึ่งเป็น Protocol ที่ออกมาตั้งแต่ปี 1996 (เก่ามากๆ) และเป็นช่องโหว่ที่ถือว่าร้ายแรงเหมือนกัน มีผลทำให้สามารถถอดรหัสข้อมูลระหว่าง Client – Server ได้ ช่องโหว่นี้ถูกตั่งชื่อว่า “POODLE” หรือ “Padding Oracle On Downgraded Legacy Encryption” หรือ CVE-20140-3566
พอดีเมือวานผม update server ใหม่ ให้รองรับ version SSL/HTTPS เลยได้ทำการ scan ทดสอบดูพบว่า ในค่า Default ของ Apache มันยังคง active ใช้งาน SSLv3 อยู่ (ในที่นี้ผมใช้ v 2.4.X) ก็เลยจะนำวิธีการยกเลิก SSLV3 มาฝากกันครับ
เราสามารถตรวจสอบ version ได้จากคำสั่งด้านล่าง
1 2 3 4 5 6 7 8 9 10 |
[root@localhost]# apachectl -V Server version: Apache/2.4.6 (CentOS) Server built: Nov 19 2015 21:43:13 Server's Module Magic Number: 20120211:24 Server loaded: APR 1.4.8, APR-UTIL 1.5.2 Compiled using: APR 1.4.8, APR-UTIL 1.5.2 Architecture: 64-bit Server MPM: prefork threaded: no forked: yes (variable process count) |
Link สำหรับตรวจสอบ SSLtest
https://www.ssllabs.com/ssltest/
ให้แก้ไขไฟล์ ssl.conf
จากนั้นมองหา SSLProtocol แล้วแก้เป็น SSLProtocol all -SSLv2 -SSLv3
หมายเหตุ : ถ้ามีเครืองหมาย – ข้างหน้า ProtocolName ทำให้ Apache มันจะถือว่าเป็นการยกเลิกใช้งาน Protocol นั้น
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
vi /etc/httpd/conf.d/ssl.conf Listen 443 https SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300 SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin <VirtualHost *:443> DocumentRoot "/var/www/html" ServerName yourdomain.com ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/letsencrypt/live/rockdevper.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/rockdevper.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/rockdevper.com/chain.pem <Files ~ "\.(cgi|shtml|phtml|php3?)$"> SSLOptions +StdEnvVars </Files> <Directory "/var/www/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> |
จากนั้นทำการ restart web server อีกที
1 2 3 |
# service httpd restart หรือ # systemctl reload httpd |
แล้วลองตรวจสอบอีกทีผ่าน https://www.ssllabs.com/ssltest/
เรียบร้อยละครับ
Comments are closed