Парольная политика

Небольшая история про то, с чем можно столкнутся при усилении безопасности информационной системы (ИС).


На  работе я  работаю программистом,  работаю над информационной системой, которой пользуется несколько регионов по России.

В Москве год назад наняли безопасника, который начал приводить в порядок ИБ по филиалам и время от времени присылали приказы которые надо исполнять.

И вот пару месяцев назад прислали приказ о политике паролей в ИС, то есть напрямую связана со мной. В ней требовалось:

- Обязательно большие, маленькие символы и цифры.

- Срок действия пароля - 3 месяца.

- Пароль не должен повторятся в течение года.

- Минимальная длина паролей для юзеров - 12 символов, а для админов — 16.

- Время закрытия сессии по неактивности — 15 минут.

- Защита от подбора: При восьми ошибок подряд блокируется аккаунт на 10 минут, потом давая еще 1 попытку.


Большая часть была реализована еще старым древним приказом, где минимальная длина паролей была всего 8 символов. И я начал реализовывать эту новую политику в своей программе. Сроки были небольшие, поскольку был уже конец месяца и надо отчитываться перед Москвой о проделанной работе.

За одним я реализовал хеширование пароля, удаляя хранение пароля в открытом виде (из совместимости с другими системами), сделал единую процедуру авторизации в SQL.

И вот, реализовав все требования, выпустил обновление как для своего региона, так и других.

Всё было рабочее, кроме одного нюанса: в программе не успел сделать сброс счетчика ошибок ввода пароля на пользователя. Его можно было обнулить только в базе.

После обновления, если программа видела простой пароль после авторизации просила его сменить в соответствии с новой парольной политикой.


Наверно после этого обновления все пользователи и администраторы были согласны купить мне билет прямо в Ад и на отдельный котел с усиленным подогревом. Особенно администраторы ведь для них длина пароля от 16 символов. Да и я сам в первое время забывал свой пароль и пару раз менял его, поскольку все мои старые пароли попали в историю как тестовые и повторно использовать их уже нельзя. Кроме того, пароль ведь больше не хранился больше в открытом виде и пользователю нельзя было подсказать какой у него был пароль, если он его никуда не записал, только сброс на новый.


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

Пришлось экстренно делать возможность сброса счетчика паролей с правами администратора через программу, а не в базе напрямую.

Сейчас в принципе всё спокойно. Ждем Новый Год, когда пароли юзеров и админов как раз истекут или забудут после праздников и будут вспоминать меня или московского безопасника добрым словом с его требованиями к паролям.

Лига программистов

1.5K постов11.4K подписчиков

Добавить пост

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества