Merhabalar ,
---------------------------------------------------------------------------------------
root@debian:~# cat /home/www/router/data_scriptler/ssh_accept_fail.sh
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
mailler="ee@ttnet.net.tr"
touch /tmp/sshaccept_1 /tmp/sshfail_1
cat /var/log/auth.log |grep sshd | grep "Accepted password" > /tmp/sshaccept_2
cat /var/log/auth.log |grep sshd | grep "Failed password" > /tmp/sshfail_2
diff /tmp/sshaccept_1 /tmp/sshaccept_2 | grep ">" |sed 's/> //g' > /tmp/sshaccept_3
diff /tmp/sshfail_1 /tmp/sshfail_2 | grep ">" |sed 's/> //g' > /tmp/sshfail_3
cp /tmp/sshaccept_2 /tmp/sshaccept_1
cp /tmp/sshfail_2 /tmp/sshfail_1
if [ $(cat /tmp/sshfail_3 |wc -c) -gt 0 ]
then
smbclient -M ERT -I 1.1.1.1 < /tmp/sshfail_3
email -s "Hatali Sistem Girisi" -b ee@ttnet.net.tr -cc $mailler < /tmp/sshfail_3
fi
if [ $(cat /tmp/sshaccept_3 |wc -c) -gt 0 ]
then
smbclient -M ERT -I 1.1.1.1 < /tmp/sshaccept_3
email -s "Normal Sistem Girisi" -b ee@ttnet.net.tr -cc $mailler < /tmp/sshaccept_3
fi
----------------------------------------------------------------------------------
Temel olarak bu script'i(Daha da geliştirilebilir) crontab'a yerleştiriseniz; hem hatalı, hem de normal ssh girişlerini winpopup'dan veya mail olarak görebilirsiniz.
Hatta if else'lerin arasına yazacağınız kontrollerle eğer aynı IP'den atıyorum 5'den fazla fail gelirse iptables vasıtasıyla o IP'yi bloklayabilirsiniz.
Ertuğrul ERZIN
26 Ekim 2006 Perşembe