POODLE (Padding Oracle On Downgraded Legacy Encryption) adalah kerentanan yang dijumpai pada 14 Oktober 2014, yang memungkinkan penyerang membaca setiap maklumat yang dienkripsi menggunakan protokol SSLv3 dengan melakukan serangan man-in-the-middle. Walaupun banyak program menggunakan SSLv3 sebagai pengganti, ia telah sampai ke tahap di mana ia harus dilumpuhkan - kerana banyak klien terpaksa menggunakan SSLv3. Memaksa klien memasuki SSLv3 meningkatkan kemungkinan serangan berlaku. Artikel ini akan menunjukkan kepada anda cara menonaktifkan SSLv3 dalam aplikasi perisian terpilih yang biasa digunakan hari ini.
Melumpuhkan SSLv3 pada Nginx
Pergi ke fail konfigurasi tempat maklumat pelayan anda disimpan. Contohnya, /etc/nginx/sites-enabled/ssl.example.com.conf
(mengganti jalan mengikut konfigurasi anda). Di dalam fail, cari ssl_protocols
. Pastikan garis ini ada, dan sepadan dengan yang berikut:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Ini akan menegakkan penggunaan TLS, dengan itu melumpuhkan SSLv3 (dan protokol yang lebih lama atau usang). Sekarang mulakan semula pelayan Nginx anda dengan menjalankan salah satu arahan berikut.
CentOS 7 :
systemctl restart nginx
Ubuntu / Debian :
service nginx restart
Melumpuhkan SSLv3 di Apache
Untuk melumpuhkan SSLv3, pergi ke direktori konfigurasi modul anda untuk Apache. Di Ubuntu / Debian mungkin /etc/apache2/mod-available
. Manakala di CentOS, ia mungkin terletak di /etc/httpd/conf.d
. Cari ssl.conf
failnya. Buka ssl.conf
dan cari SSLProtocol
arahannya. Pastikan garis ini ada, dan sepadan dengan yang berikut:
SSLProtocol all -SSLv3 -SSLv2
Setelah selesai, simpan, kemudian mulakan semula pelayan anda dengan menjalankan salah satu arahan berikut.
Untuk Ubuntu / Debian dijalankan:
CentOS 7 :
systemctl restart httpd
Ubuntu / Debian :
service apache2 restart
Melumpuhkan SSLv3 pada Postfix
Pergi ke postfix
direktori anda . Ia biasanya /etc/postfix/
. Buka main.cf
fail dan cari smtpd_tls_mandatory_protocols
. Pastikan garis ini ada, dan sepadan dengan yang berikut:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1, TLSv1.2
Ini akan memaksa TLSv1.1 dan TLSv1.2 diaktifkan dan digunakan pada pelayan Postfix anda. Setelah selesai, simpan dan mulakan semula.
CentOS 7 :
systemctl restart postfix
Ubuntu / Debian :
service postfix restart
Melumpuhkan SSLv3 di Dovecot
Buka fail yang terletak di /etc/dovecot/conf.d/10-ssl.conf
. Kemudian, cari baris yang mengandungi ssl_protocols
dan pastikan ia sesuai dengan yang berikut:
ssl_protocols = !SSLv2 !SSLv3 TLSv1.1 TLSv1.2
Setelah selesai, simpan dan mulakan semula Dovecot.
CentOS 7 :
systemctl restart dovecot
Ubuntu / Debian :
service dovecot restart
Menguji bahawa SSLv3 dilumpuhkan
Untuk mengesahkan bahawa SSLv3 dilumpuhkan pada pelayan web anda, jalankan arahan berikut (ganti domain dan IP sesuai):
openssl s_client -servername example.com -connect 0.0.0.0:443 -ssl3
Anda akan melihat output yang serupa dengan yang berikut:
CONNECTED(00000003)
140060449216160:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1260:SSL alert number 40
140060449216160:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:596:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 0 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : SSLv3
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
Key-Arg : None
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1414181774
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Sekiranya anda ingin mengesahkan bahawa pelayan anda menggunakan TLS, jalankan arahan yang sama tetapi tanpa -ssl3
:
openssl s_client -servername example.com -connect 0.0.0.0:443
Anda mesti melihat maklumat serupa dipaparkan. Cari Protocol
garis dan sahkan bahawa ia menggunakan TLSv1.X
(dengan X menjadi 1 atau 2 bergantung pada konfigurasi anda). Sekiranya anda melihat ini, anda telah berjaya mematikan SSLv3 di pelayan web anda.