Linux длина пароля пользователя

Как обеспечить качество пароля в Linux

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

Шаг 1. Убедитесь, что у вас есть разрешения администратора

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

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

Шаг 2: Проверка существующей минимальной длины

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

Нажмите «Enter» и введите пароль в следующую строку. Например:

Как обеспечить качество пароля в Linux

На скриншоте выше вы можете увидеть, что мы ввели пароль «1234567». Это не соответствует минимальной длине пароля 8, поэтому мы получаем сообщение об ошибке, сообщающее нам. Конечно, этот пароль не соответствует многим другим требованиям. Но минимальная длина является первой проверкой.

Шаг 3. Откройте файл pwquality.conf

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

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

vi /etc/security/pwquality.conf

Теперь давайте установим минимальную длину

Шаг 4: Установите минимальную длину пароля

В текстовом редакторе прокрутите список до следующей строки:

Как обеспечить качество пароля в Linux

Чтобы изменить минимальную длину, выполните следующие две задачи:

  1. Удалите символ хеша (#) с начала строки
  2. Измените длину до нужной длины
  3. Измените следующие параметры на «0» и удалите хэш (#) для них
    1. dcredit
    2. ucredit
    3. lcredit
    4. ocredit

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

    Как обеспечить качество пароля в Linux

    Шаг 5: Проверьте изменения

    Теперь, когда мы снова используем команду «pwscore», вводится новая длина пароля. Вот доказательство:

    Как обеспечить качество пароля в Linux

    На этом скриншоте мы используем пароль «qjtdysi7» — он сильнее, чем в прошлый раз. Поскольку мы установили «minlen» в 10, минимальная длина пароля теперь равна 9.

    Шаг 6 (необязательно): настройка других параметров пароля

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

    Если мы опустим шаг 4, он позволяет пользователям обходить минимальную длину, используя сочетание символов и цифр. Так, например, «minlen» of 9 может быть преодолен предыдущим паролем:

    Хотя он имеет только 8 символов, он содержит цифры и строчные буквы. Это увеличивает оценку до 10 и, таким образом, соответствует нашим требованиям к паролю.

    Вы можете настроить параметр «minlen» на большее число и дать людям дополнительную сложность пароля. Вы можете установить различные кредиты на отрицательное число, чтобы заставить вводить определенное количество символов. Значение «dcredit» -3 означает, что пароль должен содержать не менее 3 цифр.

    Файл «pwquality.conf» документирует все эти параметры, и вы можете создавать правила паролей, которые настолько сложны, насколько вам нравится! Но здесь мы показали вам, как начать работу с минимальной длины. Вы можете взять его оттуда!

    Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

    Источник

    Создание политики паролей в Linux

    И снова здравствуйте! Уже завтра начинаются занятия в новой группе курса «Администратор Linux», в связи с этим публикуем полезную статью по теме.

    В прошлом туториале мы рассказывали, как использовать pam_cracklib , чтобы усложнить пароли в системах Red Hat 6 или CentOS. В Red Hat 7 pam_pwquality заменила cracklib в качестве pam модуля по умолчанию для проверки паролей. Модуль pam_pwquality также поддерживается в Ubuntu и CentOS, а также во многих других ОС. Этот модуль упрощает создание политик паролей, чтобы удостовериться, что пользователи принимают ваши стандарты сложности паролей.

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

    Другая политика, которая недавно была поставлена под сомнение, заставляет пользователей менять свои пароли каждые x дней. Были проведены некоторые исследования, которые показали, что это также наносит ущерб безопасности.

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

    Параметры политики паролей

    Ниже вы увидите параметры политики паролей и краткое описание каждого из них. Многие из них схожи с параметрами в модуле cracklib . Такой подход упрощает портирование ваших политик из старой системы.

    • difok – Количество символов в вашем новом пароле, кототрые НЕ должны присутствовать в вашем старом пароле. (По умолчанию 5)
    • minlen – Минимальная длина пароля. (По умолчанию 9)
    • ucredit – Максимальное количество кредитов за использование символов верхнего регистра (если параметр > 0), или минимальное требуемое число символов верхнего регистра (если параметр < 0). По умолчанию 1.
    • lcredit — Максимальное количество кредитов за использование символов нижнего регистра (если параметр > 0), или минимальное требуемое число символов нижнего регистра (если параметр < 0). По умолчанию 1.
    • dcredit — Максимальное количество кредитов за использование цифр (если параметр > 0), или минимальное требуемое число цифр (если параметр < 0). По умолчанию 1.
    • ocredit — Максимальное количество кредитов за использование иных символов (если параметр > 0), или минимальное требуемое количество иных символов (если параметр < 0). По умолчанию 1.
    • minclass – Устанавливает количество требуемых классов. Классы включают в себя вышеперечисленные параметры (символы верхнего регистра, нижнего регистра, цифры, иные символы). По умолчанию 0.
    • maxrepeat – Максимальное число повторений символа в пароле. По умолчанию 0.
    • maxclassrepeat — Максимальное количество последовательных символов в одном классе. По умолчанию 0.
    • gecoscheck – Проверяет, содержит ли пароле какие-либо слова из строк GECOS пользователя. ( Информация о пользователе, т.е. настоящее имя, местоположение и т.д.) По умолчанию 0 (выключено).
    • dictpath – Пусть к словарям cracklib.
    • badwords – Разделенные пробелом слова, которые запрещены в паролях (Название компании, слово «пароль» и т. д. ).

    Конфигурация политики паролей

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

    • Пароль должен иметь минимальную длину 15 символов.
    • В пароле один и тот же символ не должен повторяться более двух раз.
    • В пароле классы символов могут повторяться до четырех раз.
    • Пароль должен содержать символы из каждого класса.
    • Новый пароль должен иметь 5 новых символов по сравнению со старым.
    • Включить проверку GECOS.
    • Запретить слова «password, pass, word, putorius»
    # Make sure 5 characters in new password are new compared to old password difok = 5 # Set the minimum length acceptable for new passwords minlen = 15 # Require at least 2 digits dcredit = -2 # Require at least 2 upper case letters ucredit = -2 # Require at least 2 lower case letters lcredit = -2 # Require at least 2 special characters (non-alphanumeric) ocredit = -2 # Require a character from every class (upper, lower, digit, other) minclass = 4 # Only allow each character to be repeated twice, avoid things like LLL maxrepeat = 2 # Only allow a class to be repeated 4 times maxclassrepeat = 4 # Check user information (Real name, etc) to ensure it is not used in password gecoscheck = 1 # Leave default dictionary path dictpath = # Forbid the following words in passwords badwords = password pass word putorius

    Как вы могли заметить, некоторые параметры в нашем файле избыточны. Например, параметр minclass избыточен, поскольку мы уже задействуем как минимум два символа из класса, используя поля [u,l,d,o]credit . Наш список слов, которые нельзя использовать также избыточен, поскольку мы запретили повторение какого-либо класса 4 раза (все слова в нашем списке написаны символами нижнего регистра). Я включил эти параметры только, чтобы продемонстрировать, как использовать их для настройки политики паролей.
    Как только вы создали свою политику, вы можете принудить пользователей сменить свои пароли при следующем их входе в систему.

    Еще одна странная вещь, которую вы, возможно, заметили, заключается в том, что поля [u,l,d,o]credit содержат отрицательное число. Это потому что числа больше или равные 0 дадут кредит на использование символа в вашем пароле. Если поле содержит отрицательное число, это значит, что требуется определенное количество.

    Что такое кредиты (credit)?

    Я называю их кредитами, поскольку это максимально точно передает их назначение. Если значение параметра больше 0, вы прибавляете количество «кредитов на символы» равное «х» к длине пароля. Например, если все параметры (u,l,d,o)credit установить в 1, а требуемая длина пароля была 6, то вам понадобится 6 символов для удовлетворения требования длины, потому что каждый символ верхнего регистра, нижнего регистра, цифра или иной символ дадут вам один кредит.

    Если вы установите dcredit в 2, вы теоретически сможете использовать пароль длиной в 9 символов и получить 2 кредита на символы для цифр и тогда длина пароля уже может быть 10.

    Посмотрите на этот пример. Я установил длину пароля 13, установил dcredit в 2, а все остальное в 0.

    $ pwscore Thisistwelve Password quality check failed: The password is shorter than 13 characters $ pwscore Th1sistwelve 18

    Моя первая проверка провалилась, поскольку длина пароля была меньше 13 символов. В следующий раз я изменил букву “I” на цифру “1” и получил два кредита за цифры, что приравняло пароль к 13.

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

    Утилита pwscore читает из stdin. Просто запустите утилиту и напишите свой пароль, она выдаст ошибку или значение от 0 до 100.

    Показатель качества пароля соотносится с параметром minlen в файле конфигурации. В целом показатель меньше 50 рассматривается как «нормальный пароль», а выше – как «сильный пароль». Любой пароль, который проходит проверки на качество (особенно принудительную проверку cracklib ) должен выдержать атаки словаря, а пароль с показателем выше 50 с настройкой minlen по умолчанию даже brute force атаки.

    Настройка pwquality – это легко и просто по сравнению с неудобствами при использовании cracklib с прямым редактированием файлов pam . В этом руководстве мы рассмотрели все, что вам понадобится при настройке политик паролей в Red Hat 7, CentOS 7 и даже систем Ubuntu. Также мы поговорили о концепции кредитов, о которых редко пишут подробно, поэтому эта тема часто оставалась непонятной тем, кто с ней ранее не сталкивался.

    Источник

    Читайте также:  Linux mint ssh keys
Оцените статью
Adblock
detector