Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1
RSS
Как защитить контроллер WebGUI с помощью fail2ban?, UniFi Network
 
Привет, я запускаю контроллер на Ubuntu и хотел бы узнать, как защитить WebGUI с помощью fail2ban?
 
Привет! В файле журнала /var/log/unifi/server.log не отображается IP при неудачных попытках входа (только: [2022-08-11T19:20:04,819] <webapi-6> WARN api - не удалось аутентифицироваться в SSO: операция в облаке завершилась неудачей! RC=403, ошибка: {"detail":"Неверные учетные данные"}). У меня выбрана опция "more" в настройках > обслуживание > уровень журнала сервисов. Как мы можем использовать fail2ban? Буду очень признателен за любую помощь, спасибо.
 
У меня открыто 2 или 3 порта: камеры Unifi Protect, ещё один NVR для видеонаблюдения, а также несколько RDP и других камер. Я хочу настроить fail2ban для защиты этих портов. Как это сделать, шаг за шагом, для таких, как я, кто совсем не разбирается в скриптах? Спасибо.
 
Вот что мы придумали, работает с UniFi Controller версии 5.10.21.0.  

Поместите это сюда:  
/etc/fail2ban/filter.d/unifi.conf  
[Definition]
failregex = ^.*Failed .* login .* <HOST>*\s*$  

Поместите это сюда:  
/etc/fail2ban/jail.d/unifi.conf  
[unifi]
enabled = true  
filter = unifi  
logpath = /usr/lib/unifi/logs/server.log  
maxretry = 5  
bantime = 14400  
findtime = 900  
port = 8443,8080  
banaction = iptables[name=unifi, port=8443, protocol=tcp]

Затем перезапустите сервис:  
sudo service fail2ban restart  

*Обратите внимание, что мы блокируем IP на 4 часа после 5 неудачных попыток входа за 15 минут на портах 8443 и 8080.
 
Похоже, снова неправильный формат даты и времени: Новое: [2019-05-08T04:00:26,509] Старое: [09:23:50,157] Кто-нибудь взломал новый скрипт, чтобы исправить?
 
Я это настроил, но fail2ban.log ругается на неправильный формат даты и времени. Заглянул в server.log, формат там такой: [09:23:50,157] <inform-3>… [09:23:55,401] <inform-3>… Недавно Unifi поменял формат логов? Как добавить этот формат даты и времени в конфигурацию fail2ban? Спасибо! *Редактирование* Решение найдено: Добавьте в /etc/fail2ban/filter.d/unifi.conf строку [Init]datepattern = ^\[%%H:%%M:%%S(?:,%%f)?\]\s* Редактирование #2: Unifi исправил логирование и добавил отметку времени с версии 5.10.20. Теперь fail2ban может автоматически определять формат даты, и datepattern больше не нужен.
 
Сработало как часы, я создал новый файл /etc/fail2ban/jail.d/unifi.conf и протестировал конфигурацию. Теперь я сам себя заблокировал :-)
 
Это работает для меня, с парой условий. 1) В настройках — Обслуживание — увеличьте уровень логирования — Mgmt с «Normal» на «More». 2) Не рекомендуется редактировать /etc/fail2ban/jail.conf. Я советую добавить вторую секцию конфигурации в /etc/fail2ban/jail.d/unifi.conf.
 
Всегда убеждайтесь, что ваш контроллер защищён и не доступен напрямую из WAN.

А вот скрипт для fail2ban:

/etc/fail2ban/filter.d/unifi.conf

[INCLUDES]
before = common.conf  

[Definition]
failregex = ^(.*)Failed admin login for (.*) from <HOST>$  
ignoreregex =  

Добавьте в /etc/fail2ban/jail.conf (подкорректируйте порты под свои нужды):

[unifi]
enabled = true  
port = 8080,8443  
filter = unifi  
logpath = /var/log/unifi/server.log  
maxretry = 4  
bantime = 3600  
findtime = 900  
action = iptables-multiport[name="unifi", port="8443,8080"]
 
Я поставил обратный прокси перед Unifi, который также занимается завершением SSL. Поскольку у меня стандартный Apache, я могу использовать fail2ban для логов Apache. Правда, приходится входить в систему дважды, что не очень удобно.
Страницы: 1
Читают тему (гостей: 1)