Απενεργοποίηση SSLv3 στο Nginx
Απενεργοποίηση SSLv3 στον Apache
Απενεργοποίηση SSLv3 στο Postfix
Απενεργοποίηση SSLv3 στο Dovecot
Έλεγχος ότι το SSLv3 είναι απενεργοποιημένο
Το POODLE (Padding Oracle On Downgraded Legacy Encryption) είναι μια ευπάθεια που εντοπίστηκε στις 14 Οκτωβρίου 2014, η οποία επιτρέπει σε έναν εισβολέα να διαβάσει τυχόν κρυπτογραφημένες πληροφορίες χρησιμοποιώντας το πρωτόκολλο SSLv3 εκτελώντας μια επίθεση man-in-the-middle. Παρόλο που πολλά προγράμματα χρησιμοποιούν το SSLv3 ως εναλλακτικό, έχει φτάσει στο σημείο όπου θα έπρεπε να απενεργοποιηθεί - καθώς πολλοί πελάτες μπορούν να αναγκαστούν να χρησιμοποιήσουν το SSLv3. Ο εξαναγκασμός ενός πελάτη σε SSLv3 αυξάνει την πιθανότητα να λάβει χώρα μια επίθεση. Αυτό το άρθρο θα σας δείξει πώς να απενεργοποιήσετε το SSLv3 σε επιλεγμένες εφαρμογές λογισμικού που χρησιμοποιούνται συνήθως σήμερα.
Απενεργοποίηση SSLv3 στο Nginx
Μεταβείτε στο αρχείο διαμόρφωσης όπου είναι αποθηκευμένες οι πληροφορίες του διακομιστή σας. Για παράδειγμα, /etc/nginx/sites-enabled/ssl.example.com.conf(αντικατάσταση της διαδρομής ανάλογα με τη διαμόρφωσή σας). Μέσα στο αρχείο, αναζητήστε ssl_protocols. Βεβαιωθείτε ότι αυτή η γραμμή υπάρχει και ταιριάζει με τα ακόλουθα:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Αυτό θα επιβάλει τη χρήση του TLS, απενεργοποιώντας έτσι το SSLv3 (και τυχόν παλαιότερα ή απαρχαιωμένα πρωτόκολλα). Τώρα επανεκκινήστε τον διακομιστή Nginx εκτελώντας μία από τις παρακάτω εντολές.
CentOS 7 :
systemctl restart nginx
Ubuntu/Debian :
service nginx restart
Απενεργοποίηση SSLv3 στον Apache
Για να απενεργοποιήσετε το SSLv3, κατευθυνθείτε στον κατάλογο ρυθμίσεων της μονάδας για το Apache. Στο Ubuntu/Debian μπορεί να είναι /etc/apache2/mod-available. Ενώ στο CentOS, μπορεί να βρίσκεται στο /etc/httpd/conf.d. Αναζητήστε το ssl.confαρχείο. Ανοίξτε ssl.confκαι βρείτε την SSLProtocolοδηγία. Βεβαιωθείτε ότι αυτή η γραμμή υπάρχει και ταιριάζει με τα ακόλουθα:
SSLProtocol all -SSLv3 -SSLv2
Μόλις τελειώσετε, αποθηκεύστε και, στη συνέχεια, επανεκκινήστε τον διακομιστή σας εκτελώντας μία από τις ακόλουθες εντολές.
Για εκτέλεση Ubuntu/Debian:
CentOS 7 :
systemctl restart httpd
Ubuntu/Debian :
service apache2 restart
Απενεργοποίηση SSLv3 στο Postfix
Κατευθυνθείτε στον postfixκατάλογό σας . Είναι τυπικά /etc/postfix/. Ανοίξτε το main.cfαρχείο και αναζητήστε smtpd_tls_mandatory_protocols. Βεβαιωθείτε ότι αυτή η γραμμή υπάρχει και ταιριάζει με τα ακόλουθα:
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, TLSv1, TLSv1.1, TLSv1.2
Αυτό θα αναγκάσει τα TLSv1.1 και TLSv1.2 να ενεργοποιηθούν και να χρησιμοποιηθούν στον διακομιστή Postfix. Μόλις τελειώσετε, αποθηκεύστε και επανεκκινήστε.
CentOS 7 :
systemctl restart postfix
Ubuntu/Debian :
service postfix restart
Απενεργοποίηση SSLv3 στο Dovecot
Ανοίξτε το αρχείο που βρίσκεται στο /etc/dovecot/conf.d/10-ssl.conf. Στη συνέχεια, βρείτε τη γραμμή που περιέχει ssl_protocolsκαι βεβαιωθείτε ότι ταιριάζει με τα ακόλουθα:
ssl_protocols = !SSLv2 !SSLv3 TLSv1.1 TLSv1.2
Μόλις τελειώσετε, αποθηκεύστε και επανεκκινήστε το Dovecot.
CentOS 7 :
systemctl restart dovecot
Ubuntu/Debian :
service dovecot restart
Έλεγχος ότι το SSLv3 είναι απενεργοποιημένο
Για να επαληθεύσετε ότι το SSLv3 είναι απενεργοποιημένο στον διακομιστή ιστού σας, εκτελέστε την ακόλουθη εντολή (αντικαταστήστε τον τομέα και την IP ανάλογα):
openssl s_client -servername example.com -connect 0.0.0.0:443 -ssl3
Θα δείτε έξοδο παρόμοια με την παρακάτω:
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)
Εάν θέλετε να επιβεβαιώσετε ότι ο διακομιστής σας χρησιμοποιεί TLS, εκτελέστε την ίδια εντολή αλλά χωρίς -ssl3:
openssl s_client -servername example.com -connect 0.0.0.0:443
Θα πρέπει να δείτε να εμφανίζονται παρόμοιες πληροφορίες. Εντοπίστε τη Protocolγραμμή και επιβεβαιώστε ότι χρησιμοποιεί TLSv1.X(με το X να είναι 1 ή 2 ανάλογα με τη διαμόρφωσή σας). Εάν το δείτε, τότε έχετε απενεργοποιήσει επιτυχώς το SSLv3 στον διακομιστή ιστού σας.