GNU/Linux >> Linux Esercitazione >  >> Linux

Come proteggere il tuo server ISPConfig 3 dall'attacco SSL del barboncino

Versione 1.2 
Autore:Till Brehm 
 Segui howtoforge su Twitter
Pubblicato   2014-10-16

Nella seguente guida descriverò i passaggi per proteggere il tuo server dal recente attacco SSL del barboncino. 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:Server Web (Nginx o apache), server di posta (Postfix e Dovecot / Courier), Server FTP (pure-ftpd) che offrono connessioni SSL/TLS e sono potenziali bersagli per un attacco di barboncini.

Presumo che tu abbia effettuato l'accesso al tuo server come utente root. Se lavori su Ubuntu e non sei loggato come root, anteponi "sudo" a tutti i comandi o esegui "sudo -" per diventare utente root.

Server Web Apache

Per proteggere un server web apache, la linea

SSLProtocol tutti -SSLv2 -SSLv3

deve essere aggiunto in ogni vhost SSL sul server. Se l'impostazione SSLProtocol non è impostata in modo esplicito in un vhost, viene applicata l'impostazione globale. Nel caso di un server ISPConfig 3, l'impostazione SSLProtocol può essere impostata a livello globale poiché i vhost non sovrascrivono tale 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 visualizzare le righe:

# abilita solo protocolli sicuri:SSLv3 e TLSv1, ma non SSLv2
SSLProtocol all -SSLv2

e cambiali in:

# abilita solo protocolli sicuri:ma non SSLv2 e SSLv3
SSLProtocol all -SSLv2 -SSLv3

Quindi riavvia Apache

servizio apache2 riavvio

server web Nginx

Per un server web nginx, la linea

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

deve essere aggiunto in ciascuna sezione del server SSL { }. Se l'impostazione SSLProtocol non è impostata in modo esplicito in una sezione del server { }, 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 del server { } non sovrascrivono tale 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 {

quindi riavvia nginx:

riavvio del servizio nginx

Server di posta Postfix

Per forzare postfix a non fornire il protocollo 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. Quindi esegui questo comando per applicare la nuova configurazione:

riavvio suffisso del servizio

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 usi. Il comando è:

dovecot --versione

sul mio server ho ottenuto il seguente risultato:

[e-mail protetta]:~# dovecot --version
2.1.7
[e-mail protetta]:~#

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

subito dopo la riga ssl_key, quindi il tuo file dovrebbe assomigliare a questo:


ssl_key =ssl_protocols =!SSLv2 !SSLv3

e infine riavvia dovecot per applicare le modifiche:

riavvio del servizio dovecot

Server Courier POP3/IMAP

Il corriere imap e il server pop3 offrono connessioni tramite il protocollo SSLv3 per impostazione predefinita, quindi dobbiamo riconfigurarlo anche noi. I file di configurazione del corriere si trovano nella cartella /etc/courier/. Per prima cosa iniziamo con il file di configurazione del demone IMAP:

nano /etc/courier/imapd-ssl

Aggiungi o sostituisci le seguenti righe:

IMAPDSTARTTLS=SI
IMAP_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Quindi modifica il file di configurazione del demone POP3:

nano /etc/courier/pop3d-ssl

Aggiungi o sostituisci le seguenti righe:

POP3STARTTLS=SI
POP3_TLS_REQUIRED=1
TLS_PROTOCOL=TLS1
TLS_STARTTLS_PROTOCOL=TLS1

Infine riavvia i demoni del corriere:

servizio corriere-imap-ssl riavvio
servizio corriere-pop-ssl riavvio

FTP con pure-ftpd

La protezione di pure-ftpd su Debian e Ubuntu è un po' più complicata in quanto lo script /usr/sbin/pure-ftpd-wrapper di Debian non supporta l'opzione -J che è usata da pure-ftpd per impostare i protocolli SSL. Quindi il primo passo è aggiungere il supporto per l'opzione -J nello script wrapper. Questo non funzionerà in Debian 6 poiché la versione pure-ftpd in Debian 6 è troppo vecchia e non ha un'impostazione per protocolli SSL. Quindi l'unica opzione per gli utenti di Debian 6 sarà l'aggiornamento a Debian 7. Apri il file

nano /usr/sbin/pure-ftpd-wrapper

e scorri 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 'ALTO:MEDIO:+TLSv1:!SSLv2:!SSLv3'> /etc/pure-ftpd/conf/TLSCipherSuite

per applicare le modifiche, riavvia pure-ftpd. Sul mio server, utilizzo pure-ftpd con mysql, quindi il nome del demone è pure-ftpd-mysql invece di pure-ftpd.

riavvio del servizio pure-ftpd-mysql

il risultato dovrebbe essere simile a questo:

[email protetta]:~# service pure-ftpd-mysql restart
Riavvio del server ftp:In esecuzione:/usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql .conf -l pam -Y 1 -8 UTF-8 -H -J ALTA:MEDIA:+TLSv1:!SSLv2:!SSLv3 -D -b -O clf:/var/log/pure-ftpd/transfer.log - E -u 1000 -A -B
[email protetta]:~#

quindi l'opzione -J è stata aggiunta con successo alla sequenza di avvio del demone.

  • Attacco del barboncino SSL
  • Configurazione ISP

Linux
  1. Come proteggere i tuoi servizi di posta elettronica Linux con SSL/TLS

  2. Come unire il tuo server Linux al progetto del pool NTP

  3. Come rimuovere la password dalla tua chiave SSL

  4. Come proteggere il tuo server Ubuntu con CSF Firewall

  5. come avviare il server Tomcat in Linux?

Come modificare il nome host del server in Ubuntu

Come eseguire un trasferimento SSL da Tomcat a Tomcat su CentOS

Come proteggere il server LEMP con Let's Encrypt Free SSL su Ubuntu 18.04 VPS

Come nascondere la versione del tuo server NGINX.

Come modificare il fuso orario su Ubuntu 18.04 Server?

Come proteggere SSH con Fail2Ban