Как да принудим потребителите да променят паролите си в Linux

Паролите са ключовият камък за сигурността на акаунта. Ще ви покажем как да нулирате пароли, да задавате периоди на валидност на паролата и да налагате промени в паролата във вашата Linux мрежа.

Паролата съществува от близо 60 години

Ние доказваме на компютрите, че сме тези, за които се представяме от средата на 60-те години, когато паролата беше въведена за първи път. Необходимостта е майка на изобретението Съвместима система за споделяне на времето разработена в Масачузетски институт по технологии се нуждаеше от начин за идентифициране на различни хора в системата. Освен това трябваше да попречи на хората да виждат файловете на другия.

Фернандо Дж. Корбато предложи схема, която разпределя уникално потребителско име на всеки човек. За да докажат, че някой е този, за когото се представят, те трябваше да използват лична парола за достъп до акаунта си.

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

Отдалечените връзки, направени от Secure Shell (SSH), могат да бъдат конфигурирани да използват SSH ключове вместо пароли и това е страхотно. Това обаче е само един метод за свързване и не обхваща локални влизания.

Ясно е, че управлението на паролите е жизненоважно, както и управлението на хората, които използват тези пароли.

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

Какво прави паролата добра? Е, добрата парола трябва да има всички следните атрибути:

Невъзможно е да се отгатне или да се разбере.
Не сте го използвали никъде другаде.
То не е участвало в а нарушение на данните.

В Дали са ме стреляли (HIBP) уебсайтът съдържа над 10 милиарда набора от нарушени идентификационни данни. При толкова високи цифри има вероятност някой друг да е използвал същата парола като вие. Това означава, че паролата ви може да е в базата данни, въпреки че не е бил нарушен акаунтът ви.

Ако вашата парола е на уебсайта на HIBP, това означава, че е в списъците на участниците в заплахите за пароли. груба сила и речникова атака инструменти, които използват, когато се опитват да разбият акаунт.

Наистина произволна парола (като [email protected]%*[email protected]#b~aP) е практически неуязвим, но, разбира се, никога няма да го запомните. Силно препоръчваме да използвате мениджър на пароли за онлайн акаунти. Те генерират сложни, произволни пароли за всичките ви онлайн акаунти и не е нужно да ги помните – мениджърът на пароли предоставя правилната парола за вас.

За локални акаунти всеки човек трябва да генерира своя собствена парола. Те също така ще трябва да знаят коя парола е приемлива и коя не. Ще трябва да им се каже да не използват повторно пароли в други акаунти и т.н.

  Как да архивирате блог Ghost на Linux

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

Въпреки това, според чисто нова папкаr от екип на Университет Карнеги Мелън, всички тези трикове добавят малко или нищо към надеждността на паролата. Изследователите установиха, че двата ключови фактора за стабилност на паролата са, че те са дълги поне 12 знака и са достатъчно силни. Те измерват силата на паролата с помощта на редица програми за разбиване на софтуер, статистически техники и невронни мрежи.

Минимум от 12 знака може да звучи обезсърчително в началото. Въпреки това, не мислете като парола, а по-скоро парола от три или четири несвързани думи, разделени с препинателни знаци.

Например, на Експертна проверка на пароли каза, че ще отнеме 42 минути, за да се разбие „chicago99“, но 400 милиарда години, за да се разбие „chimney.purple.bag“. Освен това е лесен за запомняне и въвеждане и съдържа само 18 знака.

Преглед на текущите настройки

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

Пишем следното:

sudo passwd -S mary

Един ред с информация се отпечатва в прозореца на терминала, както е показано по-долу.

Виждате следните части от информация (отляво надясно) в този кратък отговор:

Името за вход на лицето.
Тук се появява един от следните три възможни индикатора:
P: Показва, че акаунтът има валидна, работеща парола.
L: Означава, че акаунтът е бил заключен от собственика на основния акаунт.
NP: Парола не е зададена.

Датата на последната промяна на паролата.
Минимална възраст на паролата: Минималният период от време (в дни), който трябва да измине между нулирането на паролата, извършено от собственика на акаунта. Собственикът на root акаунта обаче винаги може да промени паролата на всеки. Ако тази стойност е 0 (нула), няма ограничение за честотата на смяна на паролата.
Максимална възраст на паролата: Собственикът на акаунта е подканен да промени паролата си, когато достигне тази възраст. Тази стойност се дава в дни, така че стойност от 99 999 означава, че паролата никога не изтича.
Период на предупреждение за промяна на паролата: Ако се наложи максимална възраст на паролата, собственикът на акаунта ще получи напомняния да промени паролата си. Първият от тях ще бъде изпратен броят дни, показани тук преди датата за нулиране.
Период на неактивност за паролата: Ако някой няма достъп до системата за период от време, който припокрива крайния срок за нулиране на паролата, паролата на този човек няма да бъде променена. Тази стойност показва колко дни е гратисният период след датата на изтичане на паролата. Ако акаунтът остане неактивен този брой дни след изтичане на паролата, акаунтът е заключен. Стойност от -1 деактивира гратисния период.

Задаване на максимална възраст на паролата

За да зададете период за нулиране на паролата, можете да използвате опцията -x (максимум дни) с брой дни. Не оставяте интервал между -x и цифрите, така че ще го напишете по следния начин:

sudo passwd -x45 mary

Казаха ни, че стойността на изтичане е променена, както е показано по-долу.

  4-те най-добри Github клиента за Linux

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

sudo passwd -S mary

Сега, след 45 дни, трябва да се зададе нова парола за този акаунт. Напомнянията ще започнат седем дни преди това. Ако нова парола не бъде зададена навреме, този акаунт ще бъде заключен незабавно.

Налагане на незабавна промяна на паролата

Можете също да използвате команда, така че другите във вашата мрежа да трябва да променят паролите си следващия път, когато влязат. За да направите това, ще използвате опцията -e (изтичане), както следва:

sudo passwd -e mary

След това ни казват, че информацията за изтичане на паролата е променена.

Нека проверим с опцията -S и да видим какво се е случило:

sudo passwd -S mary

Датата на последната промяна на паролата е настроена на първия ден от 1970 г. Следващия път, когато този човек се опита да влезе, той или тя ще трябва да промени паролата си. Те също така трябва да предоставят текущата си парола, преди да могат да напишат нова.

Трябва ли да наложите промени в паролата?

Принуждаването на хората да променят редовно паролите си беше здрав разум. Това беше една от рутинните стъпки за сигурност за повечето инсталации и се счита за добра бизнес практика.

Мисленето сега е полярно противоположно. В Обединеното кралство, Национален център за киберсигурност силно съветва срещу налагането на редовно подновяване на пароли, и на Национален институт по стандарти и технологии в САЩ се съгласява. И двете организации препоръчват налагане на промяна на паролата само ако знаете или подозирате, че съществува такава познато от други.

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

Двете организации, които споменахме по-горе, препоръчват следните насоки за сигурност с парола:

Използвайте мениджър на пароли: както за онлайн, така и за локални акаунти.
Включете двуфакторна автентификация: Където и да е тази опция, използвайте я.
Използвайте силна парола: Отлична алтернатива за тези акаунти, които няма да работят с мениджър на пароли. Три или повече думи, разделени с пунктуация или символи, са добър шаблон за следване.
Никога не използвайте повторно парола: Избягвайте да използвате същата парола, която използвате за друг акаунт, и определено не използвайте такъв, посочен в Дали са ме стреляли.

Съветите по-горе ще ви позволят да установите защитени средства за достъп до вашите акаунти. След като имате тези насоки, придържайте се към тях. Защо да сменяте паролата си, ако е силна и сигурна? Ако попадне в грешни ръце – или подозирате, че е – тогава можете да го промените.

Понякога обаче това решение е извън вашите ръце. Ако правомощията за налагане на паролата се променят, нямате много избор. Можете да пледираш по делото си и да обявиш позицията си, но освен ако не си шефът, ще трябва да спазваш политиката на компанията.

  Как да архивирате и възстановите профил в Google Chrome на Linux

Командата chage

Можеш да използваш командата chage за да промените настройките относно стареенето на паролата. Тази команда получава името си от „промяна на стареенето“. Това е като командата 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.

Управлението на пароли е нещо, което трябва да се вземе сериозно. Сега имате инструментите, от които се нуждаете, за да поемете контрола.