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

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

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

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

Как я встроил кнопку удалённого самоуничтожения в собственный инсталлятор - после того как потерял доступ к серверу клиента

Личный проект: у одного из клиентов, на чьём сервере (дальше в тексте - SRV-09) стоял мой клиент BanHub для централизованного бана IP поверх DigitalRuby.IPBan, поменялся администратор - прежнего уволили. Вместе с ним я потерял доступ к этому серверу: канал, через который я обычно управлял своим же софтом на этой машине, пропал вместе с человеком, который … Читать далее

Как я устроил себе шторм банов и разбанов на весь флот серверов - и почему сама архитектура синхронизации это позволила

Личный проект: центральный сервис BanHub держит список банов для тестового флота из 13 Windows RDP-серверов на DigitalRuby.IPBan, синхронизируя его между ними. Но он с самого начала знал только «забанен / не забанен» - никогда «на сколько». Лестница эскалации бана (BanTime=3 дня, 30 дней, навсегда) целиком живёт внутри каждого экземпляра IPBan и наружу не отдаётся. Это … Читать далее

Переезд наоборот: почему мы перенесли сайт с VPS на shared-хостинг из-за ТСПУ

Обычно миграция идёт в одну понятную сторону: сайт вырастает, ему становится тесно на shared-хостинге, и его переносят на VPS ради выделенных ресурсов и полного контроля. Этот кейс - ровно наоборот. Образовательный сервис (онлайн-курсы по психологии и психоанализу) переехал с VPS на обычный тарифный хостинг, и сделал это не из экономии, а потому что VPS оказался … Читать далее