[12593] Улучшить механизм блокировки при вводе неправильного пароля

В связи с участившимися случаями взлома серверов ЛЭРС УЧЕТ предлагаю пересмотреть механизм блокировки при вводе некорректного пароля некоторое количество раз.
Сейчас если для учетной записи несколько раз подряд был указан неверный пароль запись блокируется на некоторое время. Тут я вижу сразу несколько минусов:

  1. “Правомерный” пользователь учетной записи получает бан и невозможность использования системы. Часто наши клиенты используют одну учетную запись для всей организации (например у УК это диспетчер, метролог, инженер и т.д.) - они все разом теряют доступ к системе если злоумышленник пытается подобрать пароль.
  2. При появлении сообщения “Учетная запись заблокирована” злоумышленник косвенно получает сведения о том, что такая учетная запись в принципе существует и остается только подобрать к ней пароль.
  3. Ничто не мешает злоумышленнику продолжить подбирать пароль для другой учетной записи.

Предлагаю ввести некое подобие Fail2ban и при попытках брутфорса блокировать не учетную запись, а IP, с которого осуществляется атака.
Плюс было бы неплохо направлять уведомление администратору системы о попытке неправомерного доступа.

Это уже одна огромная дырка в безопасности, которая перекрывает остальные пункты.

Вы предлагаете просто писать “логин или пароль неверный”?

Блокировать IP адрес сейчас не слишком правильно. Множество пользователей работают под одним и тем же IP адресом. TOR позволяет сменить его за секунду.

Ещё раз подчеркну, что сейчас все известные нам случаи взлома связаны с тем, что логин и пароль по умолчанию не менялись. Или же использовался пароль типа admin123.

Более безопасно будет:

  1. Сменить пароль администратора на сложный.
  2. Использовать для работы специальную учётку с минимально нужными правами доступа.
  3. Не при каких обстоятельствах не использовать одну учётку для нескольких людей.

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

Тут я полностью согласен с вами, но как мы можем проконтролировать чтобы одна пара логин-пароль использовалась только одним сотрудником? Ну кроме как попросить этого не делать :smiley:

Я правильно понимаю что если кто-то начнет подбирать пароль к системной учетной записи администратора - то тем самым он заблокирует на некоторое время учетную запись администратора?
Если это единственная учетная запись с такими правами на сервере - то таким образом можно серьезно парализовать работу с системой. Или я что-то упускаю?
В таком случае предложение raven34716 выглядит логичным - менять еще и логин со стандартного на какой-то уникальный.

Поддерживаю, сам как то столкнулся с этим моментом, сам себя забанил на своем сервере. может это зависит от того что я ставлю количество одновременных сеансов=1?

Такое решается административно: штрафами, выговорами, увольнениями. По-другому никак.

Это правильный подход. По крайней мере, на серверах наших обсуживающих организаций учётка admin была сразу заблокирована, а права администратора выданы другим пользователям.

Мы прорабатываем ещё и вопрос двухфакторной аутентификации по SMS. Думаю, что в крайнем случае можно будет включить и такой механизм. Но придётся тратится на сообщения.

В качестве дополнительной меры защиты для всех учетных записей, которые имеют права на удаление объектов и другие подобные действия у нас установлен белый список ip адресов, содержащий подсети провайдеров, с которых такие пользователи входят в свои учетные записи.
Посмотреть принадлежащие провайдеру подсети можно например здесь
Таким образом атаки через Tor/VPN/Proxy совсем не страшны.
Прошу все таки рассмотреть возможность блокировки не учетных записей, а ip адресов (например дать возможность выбора).
Либо настройку блокировки, потому что сейчас ни количество неправильных вводов пароля, ни срок блокировки не настраивается.
Так же нужно продумать момент, когда администратор блокирует сам себя когда неверно вводит пароль - как видно по сообщению sergey_foton я не один попал в такую ситуацию (я проверял работу механизма блокировки).

В качестве совета другим пользователям в контексте обсуждения безопасности:
Для системной учетной записи администратора можно так же установить определенный ip адрес, с которого разрешен вход. Например это может быть подсеть, в которой находится сервер ЛЭРС УЧЕТ вида 192.168.1.0/24 - таким образом под администратором можно будет работать только из локальной сети.
image

Хорошо, этот момент продумаем.

Но ведь пароль всегда можно сбросить и разблокировать учётную запись.

Сбросить через утилиту сброса, или через ссылку “Забыли пароль”?

Через утилиту сброса, запрос к БД напрямую, или cli сервера.

Приветствую, это не дело сброс пароля. Смысл? кто то где то долбит в морду входа правильный логин, но неправильный пароль и блокирует работу официального оператора. И чего? каждый раз сбрасывать что ли? Как там эти атаки называются? брут форс что ли? Сколь мне раз в час надо будет пароль сбросить?

Есть кросплатформенный проект IPBan, который работает на windows и на linux. Можем добавить ещё один журнал, на основании которого будет заблокирован IP.

Думаю, что использовать специаилизированно ПО надёжнее, чем делать блокировку в ЛЭРС УЧЁТ.

Что скажете?

Я думаю это хорошее решение

Как это работает? Ресурс англоязычный, а использование зарубежных сервисов в нынешних реалиях чревато известными и неизвестными проблемами.

IP Бан платное приложение я полагаю, не айс. Организация оплачивает поддержку продукта. Теперь получается что бы защитить продукт надо еще куда то платить. Думаю директор меня не поймет =(

Насколько я понимаю ЛЭРС будет писать в файл IP, которые нужно заблокировать. Как они будут блокироваться - остается на усмотрение системного администратора.
Я верно понял?

У IPBan станадртная модель с открытым бесплатным приложением и платной pro-версией. Бесплатная версия под лицензией MIT находится в открытом доступе.

ЛЭРС будет формировать журнал, который обрабатывается IPBan. Администратор сможет настроить какие IP блокировать, на какое время, количество попыток, и так далее. Плюс блокируется IP на уровне ОС. ЛЭРС, естественно, этого делать не будет.

Зачем платить, вам должно хватить и открытой версии.

Делайте что считаете нужным, у меня только один вопрос: будет ли блокироваться запущенная (оператор уже зашел под ней), учетная запись официального оператора если кто то 3 раза введет, с другого компьютера, неправильный пароль при правильном логине этого оператора?