Kisuke IT Log - заметки практикующего сисадмина: разборы реальных инцидентов, миграций и восстановлений. Что сломалось, как чинили и что взяли на будущее - без теории ради теории.

Настройка fail2ban, которая действительно банит: jail.local, проверка и частые ошибки

Щит fail2ban отражает атаки на сервер

Fail2ban стоит почти на каждом Linux-сервере, но на многих из них он не банит никого. Пакет установлен, служба запущена, а в журнале тысячи неудачных входов по SSH и ни одного бана. Почти всегда дело не в fail2ban, а в настройке: jail не включён, смотрит не в тот лог или фильтр не совпадает с форматом строк. … Читать далее

Почему у одного сервера банов оказалось подозрительно мало - и как перезапуск fail2ban разбанил реальных атакующих по всему флоту

Третья, заключительная часть разбора Linux-клиента для личного проекта централизованной синхронизации банов IP (первые две - про первую ночь с OOM-штормом и про пять багов, найденных при аудите файрволов). На этот раз всё началось с безобидного статистического вопроса - и закончилось находкой самого серьёзного бага во всей истории проекта, в интеграции с fail2ban. Предыдущие части серии … Читать далее

Windows прячет IP того, кто подбирает пароль к RDP: где искать адрес, если в событии 4625 прочерк

Открываю журнал безопасности на сервере клиента, а там тысячи событий 4625: кто-то методично подбирает пароль к RDP. Хочу заблокировать адрес, а событие 4625 в поле «Сетевой адрес источника» показывает прочерк. И так во всех записях. Первая мысль: журнал сломан или атакующий как-то его обходит. На самом деле Windows просто пишет адрес в другое место. Расскажу, … Читать далее

Проверил fail2ban на 13 боевых серверах: он закрывал SSH и почти ничего больше

Почти на каждом Linux-сервере, который мне достаётся, стоит fail2ban, и почти везде владелец уверен, что сервер защищён. Я решил проверить это на цифрах: взял 13 боевых серверов и посчитал, какие атаки за сутки проходят мимо. Результат неприятный. Ниже цифры, шесть причин, почему fail2ban не банит то, что должен, и команды, которыми это проверяется за пять … Читать далее

Fail2ban на хостинг не поставить, поэтому я написал для KIPBan PHP-модуль

Когда я рассказывал, как связал серверы клиентов в общий бан-лист, в списке планов была строчка «идея на подумать: плагин для WordPress на обычном хостинге, куда агент не поставить». Идея дозрела быстрее, чем я думал. Но вместо плагина для одной CMS получился PHP-модуль, которому всё равно, что крутится на сайте. В этой статье расскажу, зачем мне … Читать далее

Как патч чужого C#-исходника внутри IPBan попутно снёс правила ufw - и что ещё нашлось при постпродакшен-аудите

Продолжение разбора Linux-клиента для личного проекта централизованной синхронизации банов IP (первую ночь после запуска разбирал в прошлой статье - DNS-ловушка через прокси и OOM-шторм от исторического бэклога). После того как клиент стабилизировался, прошёл флот уже не в режиме тушения пожара, а в режиме планового аудита - и это оказалось не менее продуктивно: нашлись баги в … Читать далее

Как я связал защиту серверов клиентов в общий бан-лист и что из этого выросло

Я занимаюсь аутсорсингом IT-инфраструктуры: на постоянном обслуживании около десятка организаций и примерно столько же клиентов, которые обращаются время от времени. На мне около двадцати серверов. Эта статья о том, как я полгода закрывал одну конкретную боль на этих серверах и в итоге собрал общий бан-лист, которым теперь пользуюсь не только я. Боль: каждый сервер отбивается … Читать далее

Собрал Linux-клиента для своей системы бана IP - и в первую же ночь дважды уронил сервер, на котором сам работал

Веду личный проект - централизованную синхронизацию банов по флоту клиентских серверов (систему уже разбирал в паре предыдущих статей цикла). До сих пор весь флот был на Windows: 14 RDP-серверов, общий пул банов через центральный сервер, персонализированный PowerShell-инсталлятор. Возникла мысль: раз upstream-проект IPBan официально собирает релизы под Linux, почему бы не довести систему до полноценного кросс-платформенного … Читать далее

Умные светильники потеряли облако из-за удара дронов по дата-центру Яндекса - обошёл блокировку подменой DNS на роутере

Дома четыре умных светильника на платформе eWeLink (бренд CoolKit) разом показали в приложении статус «не в сети». Первая версия - проблема с домашним Wi-Fi или DHCP. Но обе эти части оказались в полном порядке: все устройства были ассоциированы с точками доступа, DHCP-аренды действовали, три из четырёх держали соединение больше 11 суток без единого обрыва. Диагностика: … Читать далее

Как один непрочитанный параметр заставил ферму серверов клеймить каждый бан всеми четырнадцатью машинами сразу

Веду свой личный проект - централизованную синхронизацию банов по флоту клиентских Windows-серверов (сейчас в пилоте 14 машин). Систему уже разбирал в паре предыдущих статей: модель «заявителей» (ip_claims.json) когда-то решила проблему, что один клиент, поймавший атаку первым, снимал бан у всей фермы по истечении своего таймера. Это происходило даже когда остальные машины ещё реально отбивались от … Читать далее