[Перевод] Практики по парольной безопасности

ab7215bc88befc71cf576528e87347d9.png

Эта статья подготовлена на основе перевода Password security Guidance от Национального центра кибербезопасности Канады (далее — CFCS), в этом руководстве очень компактно и понятно собраны ключевые моменты, связанные с паролями.

Общие рекомендации

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

Выбор пароля

• Используйте многофакторную аутентификацию во всех корпоративных системах, доступных из интернета. Лучше, использовать многофакторную аутентификацию везде, где это доступно.

• Используйте менеджер паролей для хранения и генерации паролей.

• Используйте пароли длиной не менее 15 символов.

• Избегайте повторного использования паролей.

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

• Избегайте излишне сложных требований к созданию пароля — выбирайте подходящую
длину пароля. 

• Меняйте пароли при появлении признаков или подозрений на компрометацию.

• Используйте единый вход (SSO), чтобы облегчить пользователям доступ к системам организации.

• Используйте многофакторную аутентификацию для всех решений удаленного доступа (например, VPN) и привилегированных учетных записей.

• Сформируйте черный список часто используемых паролей, чтобы пользователи
не могли их использовать.

• Внедряйте передовые методы безопасного обращения с паролями и регулярные мероприятия по повышению осведомленности сотрудников по вопросам использования паролей.

Проблемы, связанные с паролями

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

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

Злоумышленники используются такие тактики, как brute force (перебор паролей), радужные таблицы (способ быстрого подбора значения пароля по его хэшу), атаки по словарям (в июле 2024 года обнаружили на хакерском форуме файл rockyou2024, содержащий 9 948 575 739 уникальных паролей), атаки password spraying (тактика кибератаки, при которой злоумышленник использует один пароль, чтобы попытаться взломать несколько целевых аккаунтов) и другие типы атак.

Распространенные методы создания нежелательных паролей

Большинство пользователей при создании новых паролей выбирают самый простой из возможных пароль, отвечающий корпоративным требованиям безопасности. Например:

• Если минимальная длина пароля установлена равной 8 символам, пользователи часто будут создавать пароли, не превышающие 8 символов.

• Если пароль должен содержать заглавные буквы, то использование заглавной первой буквы является обычной практикой.

• Если пароль требует использования цифр, пользователи часто ставят цифры
в конце пароля. Довольно часто встречаются цифры от 0 до 99 или цифры,
обозначающие год рождения пользователя. Замена букв на похожие цифры также является обычной практикой, например, замена буквы «e» на цифру »3» или буквы «o» на цифру »0» и т.д.

• Если пароль должен содержать специальные символы, пользователи часто включают только один символ. Некоторые специальные символы кажутся более популярными, чем другие, такие как »@» и »!».

• Если требуется регулярная смена пароля, многие пользователи будут выбирать циклические слова, такие как времена года, кварталы, месяцы и т.д.

• Некоторые слова и цифры очень популярны и, следовательно, широко используются в
паролях. Наиболее часто используемыми паролями являются »123456», «password» и
буквы, набранные последовательно на клавиатуре, такие как «qwerty».

• Пароль часто совпадает с именем или фамилией пользователя или его частью.

• Пароль содержит имена членов семьи, друзей, домашних животных и т.д.

• В связи с обязательной периодической сменой паролей пользователи часто вносят небольшие изменения в старые пароли, а не создают совершенно новые.

Надежность пароля

Если организация предъявляет требования к сложности паролей, это приводит к предположению, что пароли организации надежны, это не обязательно так. Например, если минимальная длина пароля составляет пятнадцать символов с сочетанием прописных и строчных букв, цифр и специальных символов, соответствующий требованиям пароль может выглядеть следующим образом:

Password123456!

Часто используемые пароли

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

Использование утекших паролей

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

веб-сайт https://haveibeenpwned.com позволяет пользователям проверять, не были ли их учетные данные для входа в систему или учетные записи из их домена
скомпрометированы в результате утечки данных. Вам никогда не следует проверять действующие пароли.

Из чего состоит надежный пароль?

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

Если единый вход используется для предоставления доступа к нескольким системам, требования безопасности должны основываться на наиболее критичной из систем. Системы, подключенные к Интернету, часто более уязвимы для атак, чем внутренние системы, не подключенные к Интернету.

Пароли и парольные фразы

Существует множество рекомендаций по выбору пароля. Независимо от выбранного метода, важно, чтобы пароли оставались конфиденциальными. Также важно выбрать соответствующую длину пароля, в идеале минимум 15 символов, особенно если многофакторная аутентификация не включена. 

Пример пароля

Используйте первую букву каждого слова в предложении, например:

Янпенвнре-дис

»Я не против ездить на велосипеде на работу, если нет дождя или снега»
(Здесь слово «нет» заменено знаком »-»)

Другой способ — выбрать название песни и объединить его с именем исполнителя и знаками/цифрами:

AbbeyRoad1969TheBeatles

Если используется менеджер паролей, который избавляет пользователя от необходимости запоминать все свои уникальные пароли (например, bitwarden или LastPass), по-прежнему рекомендуется использовать сложные и длинные пароли. Такие пароли часто могут быть сгенерированы самим менеджером паролей.

Другой подход — создании парольной фразы, состоящей из случайной строки легко запоминающихся слов, которые добавляют длину паролю. Если используется комбинация обычных слов, важно увеличить минимальную длину пароля до 20 символов.

Доступ без пароля

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

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

Для доступа без пароля, например, к онлайн-сервису требуется учетная запись пользователя и генерация уникальной пары открытого / закрытого ключей. Во-первых, пользователь должен выбрать средство аутентификации, поддерживаемое Identity-провайдером (например, мобильный телефон или аппаратный ключ USB). Пользователь открывает выбранный аутентификатор с помощью отпечатков пальцев, аппаратного ключа или PIN-кода, после чего генерируется уникальная пара ключей. Эта пара ключей однозначно привязана к аутентификатору, учетной записи пользователя и Identity-провайдеру. Открытый ключ отправляется Identity-провайдеру для сохранения для последующей проверки.

Когда пользователь позже обращается к услугам данного онлайн-сервиса и вводит свое имя пользователя, Identity-провайдер отправляет длинную строку произвольных чисел на устройство пользователя. Все, что нужно сделать пользователю, это открыть аутентификатор, точно так же, как он это делал на этапе регистрации (например, с помощью отпечатков пальцев). Затем устройство находит соответствующий закрытый ключ, шифрует номер с помощью ключа и отправляет результат обратно Identity-провайдеру.  Identity-провайдер проверяет полученный номер с помощью открытого ключа, сохраненного для пользователя, подтверждая, что пользователь имеет доступ к своему закрытому ключу. При условии, что проверка прошла успешно, пользователю предоставляется доступ к онлайн-сервису.

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

Рекомендации CFCS

• минимальная длина пароля должна быть 15 символов.

• если возможно применение парольных фраз — должны использоваться ключевые фразы из 5 слов общей длиной не менее 20 символов.

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

• пароли не должны использоваться повторно.

Многофакторная аутентификация

Сегодня большинство систем предлагают многофакторную аутентификацию — одну из наиболее эффективных мер безопасности для повышения безопасности входа в систему. Если реализована многофакторная аутентификация, то требования к надежности пароля могут быть снижены — как с точки зрения длины, так и сложности.

Многофакторная аутентификация — это метод аутентификации, при котором пользователю предоставляется доступ после ввода своего логина вместе с двумя или тремя из следующих
факторов аутентификации:

• Что-то, что знает пользователь (PIN-код или пароль).

• Что-то, что есть у пользователя (карта-ключ или USB-ключи).

• биометрические данные пользователя (распознавание лица или отпечатков пальцев.

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

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

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

Многофакторная аутентификация, основанная на кодах, доставляемых по SMS, считается менее безопасной, чем другие методы, и ее следует избегать. Если по какой-то причине это единственный доступный подход, это лучше, чем полагаться только на пароли.

Удаленный доступ пользователей

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

Рекомендации CFCS

• многофакторная аутентификация должна быть реализована везде, где это возможно.

• для доступа к привилегированным учетным записям всегда следует использовать многофакторную аутентификацию.

• для удаленного доступа к внутренним системам всегда следует использовать многофакторную аутентификацию

Осведомленность и обучение пользователей

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

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

Рекомендации CFCS

• руководству следует спланировать и внедрить обучение парольной политике для повышения осведомленности пользователей организации.

Изменение всех паролей по умолчанию (default)

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

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

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

Рекомендации CFCS

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

Сосредоточьтесь на привилегированных учетных записях

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

Права администратора

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

Роль системного администратора включает в себя задачи, обеспечивающие доступ к критически важной для системы инфраструктуре, обслуживание внутренних ИТ-систем и т.д. В результате административные учетные записи являются основными целями для многих хакеров. Доступ к учетным записям администратора должен быть защищен с помощью
многофакторной аутентификации. Если по какой-либо причине это невозможно, следует использовать более длинные и сложные пароли. Учетные записи администратора следует использовать только для задач, где требуются расширенные права.

Для выполнения повседневных задач, таких как управление электронной почтой и доступ в Интернет, сотрудникам с ролью администраторов следует использовать непривилегированную учетную запись без прав администратора.

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

Управление привилегиями

Для обеспечения лучшего обзора привилегированных учетных записей организации можно использовать систему управления привилегированным доступом (PAM, например Teleport). Решения PAM предназначены для управления, мониторинга и защиты привилегированных прав и могут использоваться для централизации и оптимизации управления привилегированными учетными записями.

Рекомендации CFCS

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

• Привилегированные учетные записи должны быть защищены многофакторной аутентификацией.

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

Мониторинг блокировки учетной записи и входа в систему

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

Блокировка учетной записи

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

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

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

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

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

Задержка новых попыток входа в систему

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

Уведомление пользователя о входе в систему

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

Мониторинг и логирование входа в систему

В целях противодействия потенциальным нарушениям безопасности организации рекомендуется отслеживать попытки входа в систему. Мониторинг часто проводится автоматически с помощью программного обеспечения, оповещающего соответствующий персонал, если, например, количество попыток входа в систему отклоняется от нормального показателя. Порог предупреждения инструмента мониторинга может быть установлен таким образом, чтобы отражать критичность или чувствительность рассматриваемой системы. CFCS часто сталкивается с организациями, ставшими объектом кибератак, в которых впоследствии выяснялось, что ключевые файлы журналов событий из затронутых ИТ-систем недоступны для анализа атаки. Логирование событий безопасности в инфраструктуре организации имеет важное значение для обнаружения и эффективного выявления последствий кибератак.

Рекомендации CFCS

• следует использовать блокировку учетной записи или «задержку на вход».

• организация должна придерживаться фиксированного процесса разблокировки заблокированных учетных записей.

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

Безопасное обращение с паролями в системах

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

Использование паролей

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

Организациям следует в максимально стараться применять многофакторную аутентификацию в используемых системах и использовать возможность поддержки аутентификации без пароля FIDO2 при внедрении новых систем.

Передача паролей

Рекомендуется использовать зашифрованный канал связи всякий раз, когда вводится пароль или иным образом осуществляется обмен между устройствами /системами по сети.

Хранилище паролей

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

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

В качестве дополнительного уровня безопасности к каждому паролю перед хэшированием добавляется уникальное значение, так называемая «соль». Этот метод гарантирует, что даже если пароли идентичны, результирующее сохраненное значение является уникальным, что защищает от атак rainbow table.

Если система поддерживает беспарольный доступ через стандарт FIDO2, потребность в безопасном хранении паролей, очевидно, уменьшается.

Рекомендации CFCS

• пользовательские интерфейсы должны позволять использовать менеджеры паролей.

• пользовательские интерфейсы должны быть разработаны таким образом, чтобы помочь пользователям выбирать безопасные пароли.

• следует создать черный список паролей, чтобы предотвратить использование часто используемых паролей.

• вся передача паролей должна осуществляться по зашифрованным соединениям.

• должны храниться только хэшированные значения, основанные на уникальных солях. Хэширование должно выполняться с использованием стандартных реализаций проверенных функций хэширования паролей.

Велкам к нам в тг @defhubcommunity там много интересного и полезного про кибербезопасность.

© Habrahabr.ru