Проверка безопасности установленных паролей

Код выводит не установленные пароли, а так же очень простые (1, 123) пароли пользователей. Список можно пополнять.
Сообщить("Проверка не безопасных паролей");
Количество = 0;

СоответствиеПаролей = Новый Соответствие();
СоответствиеПаролей.Вставить("2jmj7l5rSw0yVb/vlWAYkK/YBwk=", "Пустой пароль");
СоответствиеПаролей.Вставить("", "Пустой пароль");
СоответствиеПаролей.Вставить(Неопределено, "Пустой пароль");
СоответствиеПаролей.Вставить("NWoZK3kTsExUV00Ywo1G5jlUKKs=", "1");
СоответствиеПаролей.Вставить("QL0AFWMIX8NRZTKeof9cXsvbvu8=", "123");

Для Каждого Пользователь Из ПользователиИнформационнойБазы.ПолучитьПользователей() Цикл

Если НЕ Пользователь.АутентификацияСтандартная Тогда
Продолжить;
КонецЕсли;

Значение = Лев(Пользователь.СохраняемоеЗначениеПароля, Найти(Пользователь.СохраняемоеЗначениеПароля, ",") - 1);

//Сообщить(""+Пользователь+": "+Значение);
//Прервать;

Описание = СоответствиеПаролей.Получить(Значение);

Если НЕ Описание = Неопределено Тогда
Сообщить("" + Пользователь + ": " + Описание);
Количество = Количество + 1;
КонецЕсли;

КонецЦикла;

Сообщить("Найдено паролей: " + Количество);

Выводит результат:

Проверка не безопасных паролей
тест - 1: 123
тест - 10 1
Сотрудник_АК: Пустой пароль
Найдено паролей: 3

Рекомендую регламентное задание для запрещения доступа для таких пользователей.

12 Comments

  1. asved.ru

    Без упоминания аббревиатур SHA-1 и Base64 полезность публикации околонулевая.

    Reply
  2. Andrefan

    Не раскрыто, как получить ключ соответствия для значения «111», «12345» и других.

    Reply
  3. fvadim
    Рекомендую регламентное задание для запрещения доступа для таких пользователей.

    Включить проверку сложности паролей в конфигураторе и установить минимальную длину не позволяет какая-то религия?

    Reply
  4. nomadon

    (5) это не всегда возможно, да и существующих пользователей не обезопасит, а только новых

    Reply
  5. nomadon

    (3) в целях безопасности и возможности умышленного восстановления исходных паролей это не упоминалось

    Reply
  6. nomadon

    (4) как вариант можно установить нужный пароль пользователю а затем вывести сохраняемое значение раскомментировав

    //Сообщить(«»+Пользователь+»: «+Значение);

    //Прервать;

    и получить исходное значение.

    Программной генерации умышленно не описывал для защиты от школохакеров.

    Публикация призвана обезопастить базу, а не познать «тонкости» (с «тонкостями» безопасности инфостарт не разрешает публиковаться)

    Reply
  7. asved.ru

    (8)

    (4) как вариант можно установить нужный пароль пользователю а затем вывести сохраняемое значение раскомментировав

    //Сообщить(«»+Пользователь+»: «+Значение);

    //Прервать;

    и получить исходное значение.

    Не получится. Почему — написано в синтакс-помощнике.

    Reply
  8. nomadon

    (9) там не так написано и прекрасно получается, не ленитесь, попробуйте

    Reply
  9. asved.ru

    (10) зачем? Я знаю, как получить эту строку вообще без 1С.

    Reply
  10. FB_2027025587552403

    Спасибо у меня все получилось

    Reply
  11. DrAku1a

    (7) Думаю, если кому нужно — найдут. Да и раньше находили — напрямую из SQL базы. За саму мысль, что надо сделать подобную проверку и установить требования к сложности паролей — спасибо!

    Reply
  12. nomadon

    (11) здесь никто не меряется знаниями основ безопасности, полученными гуглением. Основная цель описана пользователем в сообщении (13)

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *