Dopo Heartbleed e Shellshock è arrivata una nuova falla: POODLE (Padding Oracle On Downgraded Legaxy Encryption). La vulnerabilità sfrutta l’ormai vecchio protocollo SSLv3 che è sempre usato da moltissimi vecchi browser. Infatti basta lanciare un attacco man-in-the-middle per decifrare i cookie, i quali possono anche contenere informazioni delicate, e adoperare i dati così ottenuti per accedere ai servizi online che ne fanno uso. Sul sito di openssl è riportato un documento che spiega meglio il problema: https://www.openssl.org/~bodo/ssl-poodle.pdf

Ecco un workaround per prevenire l’attacco su Apache in Debian:

aprire il file nano /etc/apache2/sites-available/default-ssl

dopo l’istruzione SSLEngine on inserire

SSLProtocol All -SSLv2 -SSLv3
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGC$
SSLHonorCipherOrder on
SSLCompression off

Basta eseguire questo semplice comando:

apache2ctl -M

una volta lanciato uscirà la lista dei moduli caricati come da esempio:

Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
mime_module (shared)
evasive20_module (shared)
negotiation_module (shared)
php5_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
setenvif_module (shared)
ssl_module (shared)
status_module (shared)
Syntax OK

Per aggiungere delle rotte statiche allo startup occorre andare a modificare il file

/etc/network/interfaces

Ed aggiungere le direttive post-up e post-down alla direttiva iface ethX. Ecco un esempio:

auto eth0
iface eth0 inet static
address 10.9.38.76
netmask 255.255.255.240
network 10.9.38.64
broadcast 10.9.38.79
        ### static routing ###
        post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.38.65
        pre-down route del -net 10.0.0.0 netmask 255.0.0.0 gw 10.9.38.65

Per prima cosa occorre salvare la configurazione del firewall con il comando

iptables-save > /etc/firewall.conf

Poi occorre andare creare un file in /etc/network/if-up.d

cd /etc/network/if-up.d

touch iptables

chmod 755 iptables

e al suo interno occorre scrivere

#!/bin/sh
iptables-restore < /etc/firewall.conf

Per prima cosa installiamo i pacchetti necessari

apt-get install rsync openbsd-inetd

Poi creiamo il file /etc/rsyncd.conf (in questo esempio andremo a sincronizzare l cartella /home/prova per l’utente pippo)

max connections = 10
log file = /var/log/rsync.log
timeout = 300
pid file=/var/run/rsyncd.pid

[prova]
comment = Rsync prova
path = /home/prova
read only = no
list = yes
uid = pippo
gid = root
auth users=pippo
list = yes
hosts allow = x.x.x.x
secrets file = /etc/rsyncd.secrets

Poi andiamo a creare il file /etc/rsyncd.secret dove al suo interno mettere le  credenziali di accesso nel seguente formato

pippo:password_utente_pippo

ricordiamo di dare il corretto permesso al file

chmod 600 /etc/rsyncd.secret

Poi andiamo a modificare il file /etc/inetd.conf inserendo la seguente riga

rsync stream tcp nowait root /usr/bin/rsync rsync –daemon

Riavviamo inetd

/etc/init.d/openbsd-inetd restart

il gioco è fatto !