Как предотвратить разбан в fail2ban?

Вы можете рассчитать процент ЦП с помощью следующего кода:

#!/bin/bash 
FILE=<file path>  
CPU_USAGE=`sed -n 'H; /^USER/h; ${g;p;}' $FILE | awk '{print $3}' | awk '{sum+=$1} END {print sum ;}'` 
CPU_CORES=`nproc --all`
ACTUAL_CPU_USAGE=`echo "$CPU_USAGE $CPU_CORES" | awk '{print $1/$2"%"}'`
echo "CPU : $ACTUAL_CPU_USAGE"
0
27.04.2020, 07:28
2 ответа

Добавьте бантайм в свою тюрьму вот так-

[ssh]
enabled  = true
port     = ssh
filter   = sshd
logpath  = /var/log/auth.log
maxretry = 3
bantime = 3600

Это будет каждый IP-адрес после 3 неудачных попыток в течение 1 часа, а не бесконечно. Вы можете легко настроить это, изменив время бана. Кроме того, вы также захотите активировать возврат

1
19.03.2021, 02:25

Бан всегда временный, т.к. ошибка, ip распределяются динамически.

Так что рекомендую вам:

1 )изменить время бана

Эта команда извлечет текущую конфигурацию тюрьмы sshd

fail2ban-client -d --dp   | grep -e 'sshd'  | grep -E '(maxretry|findtime|bantime)'

, так что вы можете добавить:

[sshd] 
bantime = 3600  

в вашем файле fail.local, поэтому каждый раз он будет баниться на 1 час вместо 10 минут по умолчанию.

Я буду держать время бана небольшим на случай, если вы совершите ошибку, когда будете удаленно пытаться получить доступ к вашему серверу.

2 )активировать повтор

НО вы можете АКТИВИРОВАТЬ возвратную тюрьму. Рецидивная тюрьма поймает IP, который был забанен несколько раз, и будет забанен дольше.

[recidive]
enabled = true
maxretry = 4
bantime = 1w
findtime = 1d

и с этими настройками после 4х3 попыток в последний день плохой IP будет забанен на 1 неделю

3
19.03.2021, 02:25

Теги

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