Если у Вас нет достаточного $$$ для получения устройства SAN, можно всегда использовать DRBD, который является в основном raid1 по сети. Можно зеркально отразить блочное устройство от одного физического узла до другого. Но необходимо будет запустить Linux на узле.
Если Вы используете GNU awk (gawk
) можно использовать regex для разделителя полей.
$ echo 'Jan 2 18:38:25 server1 proftpd[17847]: spy1.XYZ.com (93.218.93.95[93.218.93.95]) - Maximum login attempts (3) exceeded' \
| awk -F'\\[|]' '{print $4}'
93.218.93.95
Вы могли также посмотреть на что-то как Fail2Ban, который действительно имеет установки в качестве примера для ProFTPd.
tail -1000 /var/log/secure | awk '/proftpd/ && /Maximum login attempts/' | awk -F "[][]" '{print $(NF-1)}' |
while read ip
do
# note: check if IP is already blocked...
/sbin/iptables -L -n | grep $ip > /dev/null
if [ $? -eq 0 ] ; then
# echo "already denied ip: [$ip]" ;
true
else
# echo "Subject: denying ip: $ip" | /usr/sbin/sendmail pager@xyz.com
logger -p authpriv.notice "*** Blocking ProFTPD attempt from: $ip"
/sbin/iptables -I INPUT -s $ip -j DROP
fi
done