wget http://www.csc.liv.ac.uk/~greg/sshdfilter-1.5.3.tar.gz
tar -zvxf sshdfilter-1.5.3.tar.gz
cd sshdfilter-1.5.3/source
chmod a+x sshdfilter.pl
mv sshdfilter.pl /usr/local/sbin
/etc/syslog.conf-ba:
auth,authpriv.* |/var/log/sshd.fifo
mkfifo /var/log/sshd.fifo
/etc/init.d/syslogd restart
cd ../etc
sshdfilterrc-ben debian etch-hez ezeket kell átírni (diff szerűen :):
-logsource='STDIN'
+logsource='/var/log/sshd.fifo'
-#+'^192\.168\.0\.[0-9]+$' # always accept, never block LAN connections
++'^192\.168\.1\.[0-9]+$' # always accept, never block LAN connections
++'^127.0.0.1$'
és még ezeket belerakni a végére:
msg_invalid='^Invalid user (.*) from ([0-9a-fA-F:\.]+)'
map_invalid='push @res,$1; push @res,$2;'
msg_invalid='^Failed .* for invalid user (.*) from ([0-9a-fA-F:\.]+) port [0-9]+
ssh2'
map_invalid='push @res,$1; push @res,$2;'
msg_failed_valid='^error: PAM: Authentication failure for (.*) from ([0-9a-fA-F:
\.]+)'
map_failed_valid='push @res,$1; push @res,$2;'
msg_failed_valid='^Postponed .* for (.*) from ([0-9a-fA-F:\.]+) port [0-9]+ ssh2
'
map_failed_valid='push @res,$1; push @res,$2;'
msg_no_id_string='^Did not receive identification string from ([0-9a-fA-F:\.]+)'
map_no_id_string='push @res,$1;'
msg_quit='^Received signal ([0-9]+); terminating.'
map_quit='push @res,$1;'
mv sshdfilterrc /etc
a /etc/rc.local-ba:
iptables -N SSHD
iptables -I INPUT -p tcp -m tcp -s ! 192.168.1.0/255.255.255.0 --dport 22 -j SSHD
/usr/local/sbin/sshdfilter.pl
ha nem akarjuk megvárni az újraindítást a cucc elindításával:
/usr/local/sbin/sshdfilter.pl
valamint a log vizslatása, hogy talált -e valami hibát:
cat /var/log/auth.log | grep ssh | less
- BaliHB blogja
- A hozzászóláshoz be kell jelentkezni
- 926 megtekintés
Hozzászólások
Nem akarok belekotyogni, de szerintem a fifo fájlt nem touch-csal hanem mkfifo-val kell megalkotni szerény véleményem szerint...
Ya, és az direkt hogy ez a sor 2x fut le?
/usr/local/sbin/sshdfilter.pl
Először közvetlen a iptables parancsok után, majd még egyszer utána.
- A hozzászóláshoz be kell jelentkezni
köszi!
így már minden ok?
- A hozzászóláshoz be kell jelentkezni
Így sokkal érthetőbb. thx
- A hozzászóláshoz be kell jelentkezni
A denyhosts nem egyszerűbb? Én azt használom, bevált.
Petya
- A hozzászóláshoz be kell jelentkezni
ezt eddig nem is láttam.
nincs valami ilyesmi ftp-re? (egyik haverom panaszkodott, hogy a freebsd-s ftp-jén kicsit sok a próbálkozás)
- A hozzászóláshoz be kell jelentkezni
proftpd-hez van ilyen: http://www.castaglia.org/proftpd/modules/mod_ban.html
- A hozzászóláshoz be kell jelentkezni
Én ugyan csak ma próbáltam ki pont, ezért nem tudok sokat mondani róla, de amit írtál szöget ütött a fejembe.
A denyhosts nem egyszerűbb? Én azt használom, bevált.
Azért használod mert bevállt? Nem fontosabb a hatékonyság?
Ha hatékonyabb akkor én is kipróbálom, de most az sshdfilter bejön :)
- A hozzászóláshoz be kell jelentkezni
Nekem Ubuntun, upgrade után nem működik. Nincs errorlog, semmi. Ha elindítom nem kapom vissza a promptot.
Ekkor két service fut
7769 pts/2 S+ 0:00 /usr/bin/perl /usr/local/sbin/sshdfilter
7770 ? Ss 0:00 /usr/bin/perl /usr/local/sbin/sshdfilter
Ctrl+C és egy marad: 7770-es. De közben másik szerverről teszteltem és nem működik. Előtte nagyon szépen működött, tele volt az SSHD lánc és a mail is jött, hogy mit bannolt és meddig.
Az auth.log-ban látszólag elindul, azt látom, hogy minden értéket beolvas a konfgig fájlból.
Nem tudok perlül, de azt látom, hogy itt áll meg:
323. sor
open STDOUT, '>/dev/null' or die "Can't write to /dev/null: $!";
Ezen nem halad át, ha jól nézem.
- A hozzászóláshoz be kell jelentkezni