Коллеги, приветствую! Напомню тем кто забыл и сообщу тем кто не в курсе - у нас есть бесплатное решение Антибот, это маленький Soap-клиент, который в момент регистрации проверяет на совпадение введеных имени, фамилии, логина и email на совпадение, после чего по Soap обращается к публичному web-сервису и проверяет н числится ли в черном списке email, с которым юзер пытается зарегистрироваться. Если одна из проверок не пройдена регистрация не пройдет.
На сегодня в черном списке несколько миллионов email-адресов. В итоге использования модуля от наших проектов Боты "отстали", опросы показали, что "отстали" и от 90+% других проектов, в основном это сторонние проекты не на БУС, которые пользуются сервисом уже достаточно давно, в их числе и банковские системы, и страховые компании и корпоративные почтовые системы и т.д. На сегодня в общей сложности сервис обрабатывает более 5-ти млн запросов.
Существует еще одна проблема БРУТФОРСеры. В течение последнего года мы обкатывали стоп-лист для блокировки по IP-адресам. Обкатывали совместно с одним из банков и рядом компаний на их сайтах и почтовых серверах. Готовимся выложить это дополнение в обновлении к модулю. Суть работы аналогична - перед попыткой авторизации по событию модуль по Soap обращается к сервису, если IP есть в списке, то ни авторизоваться ни зарегистрироваться не удастся. Удобство сервиса в том, что если на одном из проектов IP-ник спалился на брутфоре и попал в стоп-лист, то на других проектах, которые так же пользуются сервисом с этим IP-ником невозможно будет ни авторизоваться ни зарегистрироваться до тех пор пока не истечет время блокировки, более того - попытка регистрации и/или авторизации до истечения времени время блокировки автоматически продлевается. Таким образом спалившийся брутфорсер не сможет пойти и брутфорсить другой проект, который использует сервис. Но тут есть нюансы: 1. Размещение в стоп-листе осуществляется при N-количестве ошибок авторизации (неверный огин или пароль); 2. Вносится на определенное время. 3. По истечении времени блокировки IP из списка удаляется, НО - после N-ного количества попаданий в стоп-лист IP-попадает в стоп-лист бессрочно.
В итоге хотелось бы услышать мнения: 1. На какое время заносить? 2. После скольких попаданий блочить бессрочно?
Количество неудачных попыток можно будет указать в настройках, так как для разных проектов это может иметь разное РАЗУМНОЕ значение. А вот на какое время заносить в стоп-лист и после скольких попаданий в стоп блочить бессрочно выношу на обсуждение. В процессе тестирования использовали 30-минутный стоп и бессрочный блок на 4-том попадании. Если есть иные разумные цифры предлагайте и аргументируйте! У пользователей модуля будет возможность удалить свой IP из стоп-листа, но об этом чуть позже...
Сейчас набирают популярность сервисы вроде айри.рф (не реклама, мне они НЕ НРАВЯТСЯ), суть которых - проксирование траффика до сайта. Т.е. настраиваем DNS на их сервер, а они уже отдают трафик нашему серверу. По идее задумка интересная - ребята работают в качестве шлюза, могут фильтровать траффик при попытке DDoS, да и функции CDN могут выполнять. На практике есть проблема того самого брутфорса. Ведь все юзеры, приходящие через такой шлюз будут иметь ИП сервиса. С одной стороны это помешает брутфорсеров блочить (самого себя не заблочишь), а с другой наоборот несколько мелких "тестеров" будут восприняты системой как реально злобный и гнусный злоумышленник.
У меня пока мыслей как штатно бороться с этим явлением нет. Только всякие "ходы конём". Поэтому рекомендую следить, чтобы никто из пользователей вашего сервиса таким чудом техники не воспользовался.
Я блокирую в зависимости от объёма. Сразу не блокирую, набираю статистику. Если за день идёт более 1000 попыток - это на месяц, однозначно. А если, скажем, 20 попыток в день, то стандартного отлупа на 5 минут и/или капчи достаточно.
Черепанов Сергей написал: 2. После скольких попаданий блочить бессрочно?
Сложный вопрос. Скорее стоит рассматривать его в свете двух доп факторов: а) был ли возобновлён брутфорс сразу после выноса из стоп листа? б) был ли ПОЛЕЗНЫЙ траффик
Задойный Алексей написал: Ведь все юзеры, приходящие через такой шлюз будут иметь ИП сервиса. С одной стороны это помешает брутфорсеров блочить (самого себя не заблочишь), а с другой наоборот несколько мелких "тестеров" будут восприняты системой как реально злобный и гнусный злоумышленник.
В процессе тестирования имели счастье попасть в блок два хостера, не мелких. Теперь оба этих хостера следят за своим трафиком, заключили отдельные договоры с этими хостерами и теперь они получают уведомления о попадании их IP в стоп-лист. По каждому случаю разбираются, по результатам проверок отписываются нам и мы удаляем IP из баз данных. Если по хорошему - то законодатель правильно предусмотрел порядок ответственности за действия нарушающие работу информационных систем - первой несет ответственность сторона, предоставившая техническую возможность совершения противоправных действий, то есть провайдеры и хостеры. Когда нам позвонили из Дом.РУ по поводу 100+ заблоченных IP-ков, я скинул им список 120+ входящих номеров моих обращений за три года, по фактам брутфорса и попыток XSS-аттак с IP-ков Дом.РУ и напомнил, что ни по одному из обращений Дом.РУ не приняли никаких мер и не соизволили направить мне ответ, и с тех же самых IP-ков продолжались атаки и брутфорсы. Когда они начали мне судом угрожать, я им ответил: "Хотите, чтобы Ваши абоненты имели беспрепятственный доступ к защищенным ресурсам в сети следите за своим трафиком, мы предоставляем сервис, и если какой-то проект пожелал им пользоваться - это их право, я ничего не нарушаю, я предоставляю сервис тем, кому он полезен". Техническая возможность контроля трафика у них есть! Не хотят - их проблемы. У меня на ряде проектов по 2-3 млн попыток брутфорса было. Заломать эти проекты не получится, ибо там составные пароли и другие защитные механизмы, а вот нагрузку на этих проектах я сократил примерно на 80%. Это те деньги, которые провайдер должен был вложить на контроль своего трафика. Аналогично и с CDN-ами, проксями и т.д. - не хотите оказаться в блоке - сделайте невозможным использование Ваших серверов хулиганами. Сегодня в черном списке 12 IP-ков китайских проксей. В процессе тестирования сравнивали - прокси IP-ки не меняют, то есть другие проекты, где стоп-лист не участвует по прежнему атакуются с тех же китайских прокси. Стоит брутфорсеру пару раз наткнутся на сообщение о блоке и он больше не возвращается. То есть не просто исключается возможность подбора пароля - со временем снижается количество визитов брутфорсеров. Они видимо ведут свои списки - проекты на которые лучше не ходить.
Задойный Алексей написал: Ведь все юзеры, приходящие через такой шлюз будут иметь ИП сервиса. С одной стороны это помешает брутфорсеров блочить (самого себя не заблочишь), а с другой наоборот несколько мелких "тестеров" будут восприняты системой как реально злобный и гнусный злоумышленник.
Вопрос не в количестве хитов, а в явных попытках брутфорса, и стоп-лист этот мы делали именно для блокировки попыток брутфорса и не более того. Можно в настройках модуля включить опцию "Проверять наличие логина в базе", тогда логика проверки меняется проверяется логин в базе, если с одного IP дважды попытка авторизоваться с несуществующим ЛОГИНОМ (то есть явный брутфорс) - добро пожаловать в стоп-лист, это будет генерить еще один запрос к базе перед попыткой авторизации. Не думаю что тестеры трижды введут неверный логин и пароль, и не думаю, что тестеры дважды введут не правильный логин. Или это тестеры системы безопасности - так нет проблем - отключи модуль и тестирую свою защиту.
Задойный Алексей написал: Поэтому рекомендую следить, чтобы никто из пользователей вашего сервиса таким чудом техники не воспользовался.
У пользователей сервиса будет возможность удалить из черного списка свои IP и IP отправленные со своих проектов. Такая необходимость выявилась на ранней стадии тестирования. Но об этом будет отдельная статья после выпуска обновления.
Задойный Алексей написал: А если, скажем, 20 попыток в день, то стандартного отлупа на 5 минут и/или капчи достаточно.
Это те самые брутфорсеры, которые считают себя умнее других - 5 попыток там, 5 попыток здесь, еще 5 попыток на третьем проекте и в течение дня софт гуляет по проектам и перебирает по 3-5 вариантов. То есть даже если брутфорсер отстал от одного проекта, то пристал к другому, то есть брутфорс не прекратил. А значит если в результате брутфорса моего проекта IP попал в стоп-лист, то на другом проекте для него уже облом. Поэтому вопрос о разном сроке помещения в стоп-лист не стоит, стоит лишь вопрос на какое время стопить. Один мелкий провайдер меняет динамические IP для своих абонентов каждые 30 минут, остальные вроде как до конца сессии не меняют, и только исходя из этого тестировали в течение года на 30-ти минутных блокировках, чтобы в случае смены динамического IP, новый IP-абонент этого мелкого провайдера не был в бане всю сессию. Вроде удалось, но большинство брутфорсеров возобновляют свои попытки через 35-40 минут, хотя опять же попадают в бан, что говорит об использовании не самого умного софта.
Задойный Алексей написал: Сложный вопрос. Скорее стоит рассматривать его в свете двух доп факторов: а) был ли возобновлён брутфорс сразу после выноса из стоп листа? б) был ли ПОЛЕЗНЫЙ траффик
Тут согласен, по пункту "а" контроль добавить легко, по пункту "б" изначально была мысль, но те кто участвовали в тестировании отказались, потому что контроль полезности возможен только внутри самого проекта, а значит за счет ресурсов проекта, так как на сервис отправляется только IP и идентификатор проекта, больше никаких данных. Боюсь если сервис будет обрабатывать еще и прочие данные и анализировать полезность трафика, то даже текущие 5 млн+ запросов в сутки станут на столько дорогими, что сервис уже не сможет существовать как бесплатный. Замечу - этот сервис не нацелен исключительно на проекты 1С-Битрикс, к нему можно обращаться из любой системы.
Сергей, я думаю, ваш проект уже успешен и дальше будет только развиваться. Однако моё персональное мнение - он бесполезен. Вы ставите безопасность во главу угла в то время, как безопасность, есть лишь средство обеспечения работы ФУНКЦИОНАЛЬНОСТИ. Я описал реальную ситуацию с Айри.рф. У меня есть такой клиент. Он не может (не хочет) отказываться от этого сервиса. Поэтому я просто логирую всю подозрительную активность, ставлю оценку степени её угрозы (раз в неделю) и пишу "нет технической возможности блокировать". Для вашего подхода у меня нет "административного ресурса". Хотя лично я считаю этот Айри.рф столь же (если не ещё более) бесполезным, как и вам. Лично для своих проектов.
Ну и проблема, о которой я писал раньше. Нет понимания, что у вас внутри, нет гарантий надёжности и "кто наблюдает за наблюдателем".
Поэтому, увы, сам не воспользуюсь и клиентам не порекомендую. Буду по прежнему рекомендовать только "белые списки" для админки. И молиться всем богам, чтобы брутфорсеры не были заинтересованы в простых юзерах. 8)
Это не претензии, я просто обозначил для тебя "тонкий момент", реальное положение вещей, как я его наблюдаю на нескольких своих проектах.
Выпустили обновление 0.0.3, в котором добавлена проверка регистрирующегося пользователя по IP-адресу аналогично базе данных email-адресов + добавлена защита от БрутФорса. К работе с Базой данных IP-адресов начали подключаться заинтересованные провайдеры, регулярно проверяя IP-ники из состава своих емкостей. После принятия ограничительных мер IP-ники из базы удаляются.
Решение переведено с SOAP на REST-запросы. Обработка SOAP-запросов будет полностью прекращена с 01 мая 2016 года. Не забудьте установить обновления. На момент написания данного сообщения последняя стабильная версия 0.0.7.
Михайлов Андрей, на сколько я знаю нет. Наше решение уже давно проверяет пользователей не только при регистрации и авторизации, а при отправке любой формы, при попытках использования редиректов 1С-Битрикс и даже на первом хите в сессии и отрабатывает ряд других событий (форумы, инфоблоки и т.д.). В настройках модуля можно отключить ненужные функции. Кроме того, долго думали как можно использовать весь вредоносный трафик и придумали. Если раньше атакующий IP только ставился в стоп-лист, что не снижало нагрузку на сайт, и стоп-лист не решал проблему для владельцев младших редакций, то теперь можно выбрать активную реакцию - перенаправить атакующего, в этом случае модуль редиректит его на наш сервис, а сервис в свою очередь редиректит юзера на самый активный источник атак, то есть сервис по сути весь вредоносный трафик перенаправляет на источник вредоносного трафика, получается, что одни хулиганы DDos-ят самого активного хулигана)))
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».