set
05
2009
Dopo aver installato il Tor in BT4, vediamo come poterlo utilizzare per effettuare connessioni ssh anonime.
La suite del pacchetto mette a disposizione l’utility torify che come vedete ci permette di effettuare connessioni TCP via tor:
$ apropos torify
torify (1) - wrapper for tsocks and tor
….e per non farci mancare proprio nulla:
$ apropos tor-resolve
tor-resolve (1) - resolve a hostname to an IP address via tor
Bè credo che sia chiaro…. quindi digitando semplicemente:
$ torify ssh root@a.b.c.d
… avremo la nostra bella shell anonima
Una via speculare potrebbe essere quella del programma connect, disponibile su ubuntu e debian come connect-proxy:
$ ssh -o ProxyCommand="/usr/bin/connect -S 127.0.0.1:9050 %h %p" root@a.b.c.d
Ulteriori riferimenti: qui
Alla prossima
gen
10
2009
Poco tempo fa stavo stavo dando un occhiata ai miei log e mi sono subito accorto di un attacco brute force sulla porta ssh.
#tail /var/log/authlog
Dec 26 19:22:31 maxbsd sshd[12620]: Failed password for root from 218.23.105.25 port 45219 ssh2
Dec 26 19:22:31 maxbsd sshd[13293]: Received disconnect from 218.23.105.25: 11: Bye Bye
Dec 26 19:22:35 maxbsd sshd[6301]: reverse mapping checking getaddrinfo for 25.105.23.218.broad.static.hf.ah.cndata.com [218.23.105.25] failed - POSSIBLE BREAK-IN ATTEMPT!
Dec 26 19:22:35 maxbsd sshd[6301]: Failed password for root from 218.23.105.25 port 45474 ssh2
Dec 26 19:22:35 maxbsd sshd[2351]: Received disconnect from 218.23.105.25: 11: Bye Bye
Dec 26 19:22:39 maxbsd sshd[3801]: reverse mapping checking getaddrinfo for 25.105.23.218.bro
Per eliminare questo genere di attacchi possiamo:
- Abilitare ssh in modo che dopo 3 tentativi sbagliati cada la connessione
- Inserire una regola in pf in modo che non accetti più di 3 connessioni contemporaneamente dallo stesso Ip, per poi bannarlo in una blacklist
- Creare uno script in modo che legga l’ip dell’attaccante dai log e lo inserisca nella blacklist.
Per risolvere il primo punto è sufficiente modificare il file di configurazione di ssh, sshd_config, decommentando l’opzione:
# nano /etc/ssh/sshd_config
Per il secondo punto è necessario definire una tabella che contenga gli ip bloccati (la nostra blacklist). Dunque editiamo il file di configurazione di pf che si trova in /etc/pf.conf:
#nano /etc/pf.conf
table persist file "/etc/spammers"
Ora invece scriviamo la regola in modo che non accetti più di 3 connessioni contemporaneamente dallo stesso Ip e lo inserisca nella blacklist:
int="fxp0"
ssh_limit="(max-src-conn-rate 3/30, overload flush global)"
pass in log quick on $int inet proto tcp from any to $int port ssh flags S/SA keep state $ssh_limit
Infine per il terzo punto è sufficiente creare uno script, ssh_block_attack, come il seguente, in modo che legga il file di log e metta in blacklist l’indirizzo ip che ha sbagliato la password o l’username:
# nano /root/ssh_block_attack
#!/bin/sh
while read mm dd hms localhostname sshd word1 word2 word3 word4 host1 host2 rest;
do
if [ "$word1 $word2 $word4" = "Invalid user from" ]; then
data=`date`
pfctl -t spammers -T add $host1
echo "Aggiunto $host1 a spammers il $data" >> /root/ssh_log
elif [ "$word1 $word2 $word3 $host1" = "Failed password for from" ]; then
pfctl -t spammers -T add $host2
echo "Aggiunto $host2 a spammers il $data" >> /root/ssh_log
fi
done
Per lanciarlo avvio dandogli in pasto il log da monitorare aggiungiamo questa riga in /etc/rc.local .
tail -f /var/log/authlog | sh ssh_block_attack &
Infine se vogliamo vedere la tabella degli ip bloccati è necessario utilizzare questo comando
pfctl -t spammers -T show
Ovviamente per non saturare la nostra macchina ogni tanto andrebbe svuotata:
pfctl -t spammers -T delete indirizzo_ip