4.3. Парольная защита

Пароли — основной способ определения подлинности пользователей, используемый в Red Hat Enterprise Linux. Вот почему парольная защита чрезвычайно важна для защиты пользователя, рабочей станции и сети.

По соображениям безопасности программа установки задействует в системе MD5 (Алгоритм выборки сообщения — Message-Digest Algorithm) и теневые пароли. Настоятельно рекомендуется не изменять этих настроек.

Если во время установки отключить пароли MD5, будет использоваться старый стандарт шифрования данных DES (Data Encryption Standard). В этом стандарте пароли ограничены восемью алфавитно-цифровыми символами (знаки препинания и другие спецсимволы запрещены) и используется скромное 56-битное шифрование.

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

Теневые пароли спасают от такой атаки, так как хэши паролей сохраняются в файле /etc/shadow, доступном на чтение только пользователю root.

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

За форматом и хранилищем стоит содержание. Самое главное, что должен сделать пользователь для защиты своей учётной записи от взлома пароля — задать сильный пароль.

4.3.1. Создание сильных паролей

Придумывая сильный пароль, следуйте приведённым ниже рекомендациям:

Не делайте следующего:

  • Не используйте только слова или числа — Никогда не используйте в пароле только слова или числа.

    Вот примеры небезопасных паролей:

    • 8675309

    • juan

    • hackme

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

    Вот примеры небезопасных паролей:

    • john1

    • DS-9

    • mentat123

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

    Вот примеры небезопасных паролей:

    • cheguevara

    • bienvenido1

    • 1dumbKopf

  • Не используйте сленг хакеров — Если вы думаете, что относитесь к элите, потому что используете в своём пароле сленг, подумайте ещё раз. Сленг включён во многие списки слов.

    Вот примеры небезопасных паролей:

    • H4X0R

    • 1337

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

    Вот примеры небезопасных паролей:

    • Ваше имя

    • Имена домашних животных

    • Имена членов семьи

    • Любые дни рождения

    • Ваш номер телефона или индекс

  • Не переворачивайте известных слов — Хорошие программы подбора пароля всегда переворачивают стандартные слова, поэтому переворачивание плохого пароля не делает его лучше.

    Вот примеры небезопасных паролей:

    • R0X4H

    • nauj

    • 9-DS

  • Не записывайте свой пароль — Никогда не записывайте свой пароль на бумаге. Гораздо безопаснее запомнить его.

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

Делайте следующее:

  • Придумывайте пароль длиной не меньше восьми символов — Чем длиннее пароль, тем лучше. Если вы используете пароли MD5, следует выбирать пароли из 15 символов и длиннее. Используя пароли DES, создавайте их максимально длинными (восемь символов).

  • Смешивайте буквы верхнего и нижнего регистра — Система Red Hat Enterprise Linux чувствительна к регистру, поэтому смешивайте регистр, чтобы усилить свой пароль.

  • Смешивайте буквы и цифры — Добавив пароли цифры, особенно, вставляя их в середину (а не просто в начало или конец), вы также увеличиваете стойкость пароля.

  • Включайте не алфавитно-цифровые символы — Специальные символы (например, &, $ и >) значительно усиливают пароль (их нельзя использовать в паролях DES).

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

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

4.3.1.1. Методика создания безопасного пароля

Есть множество способов создания безопасных паролей. Один из самых популярных — использование сокращений. Например:

  • Вспомните какую-нибудь фразу, например:

    «по лесам, по горам, сегодня здесь, завтра там.».

  • Затем сделайте из неё сокращение (включая знаки препинания).

    пл,пг,сз,зт.

  • Усложните его, заменив буквы цифрами и специальными символами. Например, подставьте 3 вместо з, а символ (() вместо с:

    пл,пг,(3,3т.

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

    пл,Пг,(3,3т.

  • И, наконец, никогда и нигде не используйте показанный здесь пароль.

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

4.3.2. Создание паролей пользователей в организации

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

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

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

4.3.2.1. Требование сильных паролей

Системные администраторы сделают правильный ход, если в целях защиты сети от вторжения будут проверять, насколько сильны используемые в организации пароли. Когда пользователю предлагается создать или сменить пароль, они могут использовать приложение командной строки passwd, поддерживающее PAM (Подключение модулей проверки подлинности — Pluggable Authentication Modules), и, таким образом, проверить, легко ли взломать пароль с помощью PAM-модуля pam_cracklib.so. Так как PAM можно настраивать, вы можете добавить дополнительные процедуры проверки качества пароля, например pam_passwdqc (доступный по адресу http://www.openwall.com/passwdqc/) или написать новый модуль. Список существующих модулей PAM вы найдёте по адресу http://www.kernel.org/pub/linux/libs/pam/modules.html. За дополнительной информацией о PAM, обратитесь к главе Подключаемые модули проверки подлинности (PAM) в Справочном руководстве Red Hat Enterprise Linux.

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

В Red Hat Enterprise Linux будет работать множество программ подбора пароля, но ни одна из них не поставляется с системой. Ниже приведён краткий список наиболее распространённых программ взлома пароля:

ЗамечаниеЗамечание
 

Ни одна из этих программ не включена в состав Red Hat Enterprise Linux, и ни в какой мере не поддерживается компанией Red Hat, Inc..

  • John The Ripper — быстрая и гибкая программа подбора пароля. Она может использовать несколько списков слов и подбирать пароль методом грубой силы. Она доступна по адресу http://www.openwall.com/john/.

  • Crack — возможно, наиболее известная программа взлом паролей. Crack также очень быстрая программа, хотя и не так проста в использовании, как John The Ripper. Её можно найти по адресу http://www.crypticide.org/users/alecm/.

  • Slurpie — программа Slurpie похожа на John The Ripper и Crack, но она рассчитана на работу сразу на нескольких компьютерах, и позволяет провести распределённый взлом пароля. Её, а также другие средства организации распределённой атаки, можно найти по адресу http://www.ussrback.com/distributed.htm.

ПредупреждениеПредупреждение
 

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

4.3.2.2. Срок действия пароля

Ограничение срока действия пароля — ещё один приём, используемый системными администраторами, для защиты от плохих паролей. Ограничение срока действия означает, что по истечении заданного времени (обычно 90 дней) пользователю предлагается сменить пароль. Смысл этого состоит в том, что если пользователь будет вынужден периодически менять пароль, подобранный взломщиком пароль будет действовать ограниченное время. Однако это имеет и негативные последствия — пользователи могут начать записывать пароли.

Для определения срока действия пароля в Red Hat Enterprise Linux в основном используются две программы: команда chage и графическое приложение Менеджер пользователей (redhat-config-users).

Параметр -M команды chage определяет максимальный срок действия пароля в днях. Например, чтобы срок действия пароля пользователя истекал через 90 дней, выполните:

chage -M 90 <username>

Замените в этой команде <username> именем пользователя. Чтобы периодическая смена пароля не требовалась, обычно используют значение 99999 после параметра -M (при этом период смены будет немногим больше 273 лет).

Определить политики срока действия пароля также можно в графическом приложении User Manager. Чтобы запустить это приложение, выберите в Главном меню (на панели) => Системные параметры => Пользователи и группы или введите в приглашении оболочки redhat-config-users (например, в терминале XTerm или GNOME). Перейдите на вкладку Пользователи, выберите пользователя из списка и щёлкните в контекстном меню Свойства (или выберите в главном меню Файл => Свойства).

Затем перейдите на вкладку Сведения о пароле и определите, сколько дней действует пароль, как показано на рисунке 4-1.

Рисунок 4-1. Вкладка Сведения о пароле

За дополнительными сведениями о настройке пользователей и групп (включая указания по принудительной смене пароля при первом входе), обратитесь к главе Настройка пользователей и групп Руководства по системному администрированию Red Hat Enterprise Linux. Познакомиться с управлением пользователями и ресурсами вы сможете в главе Управление учётными записями пользователей и доступом к ресурсам во Введении в системное администрирование Red Hat Enterprise Linux.