Ritorna alla Home Page  Aggiungi LinuxGuide.it ai Preferiti  
Documentazione Linux, HowTo, Guide, Configurazioni, Tutorial, FaQ, News, Downloads e tanto altro ancora... LinuxGuide.it
""
 "" Home   "" Documentazione e Tutorial   "" Linux Commands Line   "" Recensioni   "" Download Software    
""

Home Page      Chiedi supporto al forum    

Bloccare gli attacchi SSH con uno script 
giovedì, gennaio 31, 2008, 01:25 AM - Scripts, Security
team
Descrizione
Grazie a questo piccolo script in shell, possiamo bloccare eventuali attacchi ssh provenienti da internet verso la nostra linuxbox.
Questo script controlla i logs sul file "/var/log/auth.log" ogni 60 secondi, se un utente prova quindi ad effettuare un login sulla macchina servendosi di una username inesistente, sicuramente si tratta di un brute-force attack, per cui lo script rilevando il tentativo login fallito aggiungerà l'ip address dell'host remoto all'interno de file "/etc/hosts.deny" gestito dal tcp wrapper che provvederà a bloccare qualsiasi comunicazione da e verso quell'host.

Progettato per:
Fedora/RedHat/CentOS

Testato su:
Fedora

INIZIO SCRIPT -->
#_______________________________________________________#
#!/bin/sh
#Script by LinuxGuide.it
#*AGREEMENT, INCLUDING, IN PARTICULAR THE LIMITATIONS ON:
#WARRANTY,IF THISY AND LIABILITY. YOU AGREE THAT THIS AGREEMENT IS ENFORCEABLE LIKE ANY WRITTEN NEGOTIATED AGREEMENT SIGNED BY YOU. IF YOU DO NOT AGREE, DO NOT USE THIS SCRIPT
#*WARRANTY
# NO WARRANTY IS OFFERED WITH THIS SOFTWARE.
#*LIMITATION OF LIABILITY.
#IN NO EVENT WILL THE DEVELOPERS OF THIS SOFTWARE BE LIABLE TO YOU FOR ANY DAMAGES, CLAIMS OR COSTS WHATSOEVER OR ANY CONSEQUENTIAL, INDIRECT, INCIDENTAL DAMAGES, OR ANY LOST PROFITS OR LOST SAVINGS.
while :
do
sleep 60
varcat=`cat /var/log/auth.log |grep Illegal | awk '{print $10}' |head -1 | awk '{split($0,Array,":"); print Array[4]}'`
vardate=`date`
if [ -z $varcat ]
then
# "nothing to do..."
echo "" > /var/spool/mail/root
echo "" > /var/mail/root
else
# "Block host"
echo "sshd: $varcat" >> /etc/hosts.deny
sleep 2
cat /var/log/auth.log |grep Illegal > /var/log/auth.temp
sleep 2
# echo send report via email - don't miss to change "your_account@example.com"
mail your_account@example.com -s "SSH Illegal user $vardate" < /var/log/auth.temp
sleep 1
cat /var/log/auth.temp >> /var/log/auth-backup.log
sleep 1
echo "" > /var/log/auth.log
sleep 1
rm /var/log/auth.temp
fi
done

#_______________________________________________________#
FINE SCRIPT <--

Autorun
Per avviare lo script al boot della macchina:
1)Copia & Incolla lo script in file chiamato ssh-attack.sh dentro "/usr/local/bin"
2)# chmod 500 /usr/local/bin/ssh-attack.sh
3)infine aggiungi la sottostante riga al file "/etc/rc.local:
# sh /usr/local/bin/ssh-attack.sh



Segnala questo documento su:
Segnalo OkNotizie Digg Del.icio.us Mr. Wong Google Yahoo Furl Technorati Newsvine

commenta ( 2326 visite )   |  permalink   |   ( 3 / 1424 )


<< <Indietro | 1 | 2 | 3 | 4 | 5 | 6 | Altre notizie> >>