Поиск по сайту:

Как заставить пользователей изменить свои пароли в Linux


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

Пароль существует уже почти 60 лет

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

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

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

Удаленные подключения через Secure Shell (SSH) можно настроить на использование ключей SSH вместо паролей, и это здорово. Однако это только один метод подключения, и он не распространяется на локальные входы в систему.

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

Анатомия пароля

В любом случае, что делает пароль хорошим? Ну, хороший пароль должен иметь все следующие атрибуты:

  • Это невозможно угадать или выяснить.
  • Вы больше нигде его не использовали.
  • Он не был причастен к утечке данных.

Веб-сайт Have I Been Pwned (HIBP) содержит более 10 миллиардов наборов взломанных учетных данных. С такими высокими цифрами есть вероятность, что кто-то другой использовал тот же пароль, что и вы. Это означает, что ваш пароль может быть в базе данных, даже если взломана не ваша учетная запись.

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

Действительно случайный пароль (типа 4HW@HpJDBr%*Wt@#b~aP) практически неуязвим, но вы, конечно, никогда его не запомните. Мы настоятельно рекомендуем вам использовать менеджер паролей для онлайн-аккаунтов. Они генерируют сложные случайные пароли для всех ваших онлайн-аккаунтов, и вам не нужно их запоминать — менеджер паролей предоставит вам правильный пароль.

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

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

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

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

Например, Experte Password Checker заявил, что для взлома chicago99 потребуется 42 минуты, а для взлома chimney.purple.bag – 400 миллиардов лет. Его также легко запомнить и ввести, и он содержит всего 18 символов.

Просмотр текущих настроек

Прежде чем менять что-либо, связанное с паролем человека, целесообразно взглянуть на его текущие настройки. С помощью команды passwd вы можете просмотреть их текущие настройки с параметром -S (статус). Обратите внимание, что вам также придется использовать sudo с passwd, если вы работаете с чужими настройками пароля.

Набираем следующее:

sudo passwd -S mary

В окно терминала печатается одна строка информации, как показано ниже.

В этом кратком ответе вы видите следующие фрагменты информации (слева направо):

  • Имя пользователя для входа.
  • Здесь отображается один из следующих трех возможных индикаторов:
    • P: указывает, что у учетной записи есть действительный рабочий пароль.
    • L: означает, что учетная запись заблокирована владельцем корневой учетной записи.
    • NP: пароль не установлен.

    Установка максимального срока действия пароля

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

    sudo passwd -x45 mary

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

    Используйте параметр -S (статус), чтобы убедиться, что значение теперь равно 45:

    sudo passwd -S mary

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

    Принуждение к немедленной смене пароля

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

    sudo passwd -e mary

    Затем нам сообщают, что информация об истечении срока действия пароля изменилась.

    Давайте проверим с опцией -S и посмотрим, что произошло:

    sudo passwd -S mary

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

    Следует ли принудительно менять пароль?

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

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

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

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

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

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

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

    Команда смены

    Вы можете использовать команду chage, чтобы изменить настройки, касающиеся устаревания пароля. Эта команда получила свое название от «change aging». Это похоже на команду passwd, в которой удалены элементы для создания пароля.

    Параметр -l (список) предоставляет ту же информацию, что и команда passwd -S , но в более понятном виде.

    Набираем следующее:

    sudo chage -l eric

    Еще один приятный штрих: вы можете установить дату истечения срока действия учетной записи, используя параметр -E (истечение срока действия). Мы передадим дату (в формате год-месяц-дата), чтобы установить срок действия 30 ноября 2020 г. В этот день учетная запись будет заблокирована.

    Набираем следующее:

    sudo chage eric -E 2020-11-30

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

    sudo chage -l eric

    Мы видим, что срок действия учетной записи изменился с «никогда» на 30 ноября 2020 года.

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

    Набираем следующее:

    sudo chage -M 45 mary

    Мы вводим следующее, используя параметр -l (список), чтобы увидеть результат нашей команды:

    sudo chage -l mary

    Срок действия пароля теперь установлен на 45 дней с даты, которую мы установили, что, как нам показано, будет 8 декабря 2020 года.

    Изменение пароля для всех в сети

    При создании учетных записей для паролей используется набор значений по умолчанию. Вы можете определить значения по умолчанию для минимального, максимального количества дней и дней предупреждения. Затем они хранятся в файле с именем «/etc/login.defs».

    Вы можете ввести следующее, чтобы открыть этот файл в gedit:

    sudo gedit /etc/login.defs

    Прокрутите до элементов управления сроком действия пароля.

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

    Если вы хотите изменить все даты истечения срока действия паролей для существующих учетных записей пользователей, вы можете легко сделать это с помощью скрипта. Просто введите следующее, чтобы открыть редактор gedit и создать файл с именем «password-date.sh»:

    sudo gedit password-date.sh

    Затем скопируйте следующий текст в редактор, сохраните файл и закройте gedit:

    #!/bin/bash
    
    reset_days=28
    
    for username in $(ls /home)
    do
      sudo chage $username -M $reset_days
      echo $username password expiry changed to $reset_days
    done

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

    Сначала мы вводим следующее, чтобы сделать наш скрипт исполняемым:

    chmod +x password-date.sh

    Теперь мы можем ввести следующее, чтобы запустить наш скрипт:

    sudo ./password-date.sh

    Затем каждая учетная запись обрабатывается, как показано ниже.

    Мы вводим следующее, чтобы проверить учетную запись на «mary»:

    sudo change -l mary

    Максимальное значение дней было установлено на 28, и нам сказали, что это произойдет 21 ноября 2020 года. Вы также можете легко изменить скрипт и добавить больше chage или passwd команды.

    К управлению паролями нужно относиться серьезно. Теперь у вас есть инструменты, необходимые для управления.