Sicurezza Server · 4 min read · Nov 29, 2025
Come proteggere il tuo server ISPConfig 3 contro l'attacco SSL poodle
Versione 1.2
Autore: Till Brehm
Segui howtoforge su Twitter
Pubblicato 2014-10-16
Nel seguente guida descriverò i passaggi per proteggere il tuo server contro il recente attacco SSL poodle. Userò un server perfetto ISPConfig 3 su Debian 7 per i miei esempi, ma gli stessi passaggi funzioneranno anche su qualsiasi altra distribuzione Linux. Un server di hosting ISPConfig predefinito esegue i seguenti servizi: Webserver (Nginx o apache), Mailserver (Postfix e Dovecot / Courier), FTP-Server (pure-ftpd) che offrono connessioni SSL / TLS e sono obiettivi potenziali per un attacco poodle.
Presumo che tu sia connesso al tuo server come utente root. Se lavori su Ubuntu e non sei connesso come root, allora aggiungi “sudo” a tutti i comandi o esegui “sudo -“ per diventare utente root.
Webserver Apache
Per proteggere un webserver apache, la riga
SSLProtocol all -SSLv2 -SSLv3
deve essere aggiunta in ogni vhost SSL sul server. Se l’impostazione SSLProtocol non è esplicitamente impostata in un vhost, allora viene applicata l’impostazione globale. Nel caso di un server ISPConfig 3, l’impostazione SSLProtocol può essere impostata globalmente poiché i vhosts non sovrascrivono quell’impostazione. Su un server Debian o Ubuntu, apri il file /etc/apache2/mods-available/ssl.conf in un editor
nano /etc/apache2/mods-available/ssl.conf
scorri verso il basso fino a vedere le righe:
SSLProtocol all -SSLv2
e cambiale in:
SSLProtocol all -SSLv2 -SSLv3
Poi riavvia apache
service apache2 restart
Webserver Nginx
Per un webserver nginx, la riga
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
deve essere aggiunta in ogni sezione server { } SSL. Se l’impostazione SSLProtocol non è esplicitamente impostata in una sezione server { }, allora viene applicata l’impostazione globale della sezione http { }. Nel caso di un server ISPConfig 3, l’impostazione SSLProtocol può essere impostata globalmente nella sezione http { } poiché le sezioni server { } non sovrascrivono quell’impostazione. Su un server Debian o Ubuntu, apri il file /etc/nginx/nginx.conf in un editor
nano /etc/nginx/nginx.conf
e aggiungi la riga:
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
dopo la riga:
http {
poi riavvia nginx:
service nginx restart
Server di posta Postfix
Per forzare postfix a non fornire i protocolli SSLv2 e SSLv3, esegui questi comandi:
postconf -e ‘smtpd_tls_mandatory_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtpd_tls_protocols=!SSLv2,!SSLv3’
postconf -e ‘smtp_tls_protocols=!SSLv2,!SSLv3’
Questo aggiungerà le righe:
smtpd_tls_mandatory_protocols = !SSLv2,!SSLv3
smtpd_tls_protocols = !SSLv2,!SSLv3
smtp_tls_protocols = !SSLv2,!SSLv3
nel file /etc/postfix/main.cf. Poi esegui questo comando per applicare la nuova configurazione:
service postfix restart
Server Dovecot IMAP / POP3
Dovecot supporta le impostazioni del protocollo SSL nella versione 2.1 e successive. Quindi il primo passo è scoprire quale versione di dovecot stai usando. Il comando è:
dovecot –version
sul mio server ho ottenuto il seguente risultato:
root@server1:~# dovecot –version
2.1.7
root@server1:~#
che indica che il mio server supporta le impostazioni ssl_protocol.
Modifica il file di configurazione di dovecot
nano /etc/dovecot/dovecot.conf
e aggiungi la riga
ssl_protocols = !SSLv2 !SSLv3
dopo la riga ssl_key, quindi il tuo file dovrebbe apparire così:
ssl_key = ssl_protocols = !SSLv2 !SSLv3
ed infine riavvia dovecot per applicare le modifiche:
service dovecot restart
Server Courier POP3 / IMAP
Il server imap e pop3 di courier offre connessioni tramite il protocollo SSLv3 per impostazione predefinita, quindi dobbiamo riconfigurarlo anche. I file di configurazione di courier si trovano nella cartella /etc/courier/. Iniziamo con il file di configurazione del demone IMAP:
nano /etc/courier/imapd-ssl
Aggiungi o sostituisci le seguenti righe:
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
Poi modifica il file di configurazione del demone POP3:
nano /etc/courier/pop3d-ssl
Aggiungi o sostituisci le seguenti righe:
POP3STARTTLS=YES
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1
Infine riavvia i demoni courier:
service courier-imap-ssl restart
service courier-pop-ssl restart
FTP con pure-ftpd
Proteggere pure-ftpd su Debian e Ubuntu è un po’ più complicato poiché lo script /usr/sbin/pure-ftpd-wrapper di Debian non supporta l’opzione -J che viene utilizzata da pure-ftpd per impostare i protocolli ssl. Quindi il primo passo è aggiungere supporto per l’opzione -J nello script wrapper. Questo non funzionerà in Debian 6 poiché la versione di pure-ftpd in Debian 6 è troppo vecchia e non ha un’impostazione per i protocolli SSL. Quindi l’unica opzione per gli utenti di Debian 6 sarà aggiornare a Debian 7. Apri il file
nano /usr/sbin/pure-ftpd-wrapper
e scorri verso il basso fino alla riga
‘TLS’ => [‘-Y %d’, \&parse_number_1],
e aggiungi questa nuova riga subito dopo:
‘TLSCipherSuite’ => [‘-J %s’, \&parse_string],
Infine creiamo un file di configurazione che contiene i protocolli SSL che vogliamo consentire:
echo ‘HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3’ > /etc/pure-ftpd/conf/TLSCipherSuite
per applicare le modifiche, riavvia pure-ftpd. Sul mio server, uso pure-ftpd con mysql, quindi il nome del demone è pure-ftpd-mysql invece di solo pure-ftpd.
service pure-ftpd-mysql restart
il risultato dovrebbe essere simile a questo:
root@server1:~# service pure-ftpd-mysql restart
Riavviando il server ftp: Esecuzione: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -J HIGH:MEDIUM:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
root@server1:~#
quindi l’opzione -J è stata aggiunta con successo alla sequenza di avvio del demone.
Link
- Attacco SSL poodle
- ISPConfig
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.