Обновление правил аппаратного брандмауэра от Fail2Ban?

У Вас есть доступ SSH? Можно или сделать рекурсивный SCP или возможно передать tar/gzip поток по каналу по безопасному каналу. Тем путем Вы избежите тайм-аутов FTP.

0
задан 4 November 2011 в 18:06
2 ответа

Это зависит от того, что поддерживает ваш брандмауэр и какие интерфейсы у него есть для таких обновлений. Некоторые брандмауэры имеют интерфейсы загрузки (tftp, http и т. Д.) Для загрузки конфигурации, некоторые имеют только веб-интерфейсы, некоторые имеют API. Если у вас есть один только веб-интерфейс, то вам немного не повезло.

0
ответ дан 24 November 2019 в 12:05

Вот как я решил проблему, и это сработало :) Я установил это как cron для запуска каждые 10 минут.

#!/bin/sh
##This Script Requires expect to be installed!!
##Grab Logs and Filter Information
cat /var/log/fail2ban.log|grep -a "Ban"|grep -v "Unban">/tmp/banned.txt
##Move last line to file
tail -n 1 /tmp/banned.txt>/tmp/lastlogline.txt
##Extract the Date and IP of the Banned IPs
cat /tmp/lastlogline.txt | cut -c 1-10,61-72 --output-delimiter=':'> /tmp/filtered.txt
## Variable Assignment and Excessive Space Removal
cat /tmp/filtered.txt|cut -d: -f 1|sed 's/^[\t]*//;s/[\t]*$//'>/tmp/date.txt
cat /tmp/filtered.txt|cut -d: -f 2|sed 's/^[\t]*//;s/[\t]*$//'>/tmp/IP.txt
date=`cat /tmp/date.txt`
IP=`cat /tmp/IP.txt`
## Get User Name and Password from /[Passdir]
username=`cat /filepathto/passwords|cut -d: -f 1`
password=`cat /filepathto/passwords|cut -d: -f 2`
##Set Firewall IP as Variable
firewall="[IPofFirewallHere]"
namescheme="$date"_"$IP"
command1="set address untrust $namescheme $IP/32"
command2="set group address untrust Group_Banned_IPS add $namescheme"
##Firewall Conector and Rule Enforcer
VAR=$(expect -c "
spawn ssh $username@$firewall
expect \"password:\"
send \"$password\r\"
expect \"\\\\>\"
send \"$command1\r\n\"
expect \"\\\\>\"
send \"$command2\r\"
expect -re \"$username.*\"
send \"logout\"
")
echo "==============="
echo "$VAR"
## Clean up extra text files
rm /tmp/banned.txt /tmp/IP.txt /tmp/date.txt /tmp/filtered.txt /tmp/lastlogline.txt
0
ответ дан 24 November 2019 в 12:05

Теги

Похожие вопросы