Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

Защита с помощью пароля на Linux

Использование файла /etc/shadow

Пароль в Linux системах, используемый для учётных записей, обычно доступен как /etc/passwd. Для дополнительных мер безопасности используется теневая (shadow) копия этого файла, которая включает пароли ваших пользователей. А на самом деле, хранится даже хеш пароля, для максимальной безопасности.

Пример строки в /etc/shadow может выглядеть вроде этого:

Для нормального отображения давайте разделим эту строку на несколько полей:

  1. mial
  2. $6$Xwg3PsUW$M49EeBEW7jBPfArGNLcNt6p2uck2o71V.XS8VZzhcNCYQRpPkWTD16WSrTHUhQ2qegMgb56CLuc2Qe/TxXT.H0
  3. 16441
  4. 0
  5. 99999
  6. 7:::
  7. <пусто>
  8. <пусто>

Объяснение полей

Время взглянуть, что эти строки означают:

1) Имя пользователя

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

2) Детали хэширования паролей + хешированный пароль

Самая важная строка в файле /etc/shadow, конечно, это второе поле. Оно включает детали о пароле и содержит несколько частей:

$6 = SHA-512

$Xwg3PsUW$ = Соль и разделители. Соль — это маленькая строка символов для смешения в функции хеширования. Её цель — усложнение исполнения конкретных атак, основанных на подборе пароля по его хешу. Эта соль состоит из символов a-z, A-Z, 0-9, / и .

Длинная строка символов = хешированный пароль

Длинная строка и её длина зависят от использованного метода хеширования. С $6, или SHA-512, она будет из 86 символов.

Длины:

  • $1 = MD5 с 22 символами
  • $5 = SHA-256 с 43 символами

Обратите внимание:

Когда поле пароля содержит ! или *, это значит, что аккаунт заблокирован. Двойной ! (!!) сигнализирует, что пароль никогда не был установлен.


Проект codebyOS

Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

3) Последнее изменение

Номер показывает, когда пароль был изменён последний раз.

Этот номер показывает, когда пароль был изменён последний раз. Номер отображает номер дня, отсчитанного с начала эпохи (1 января 1970). Прямо сейчас это промежуток 16000+.

4) Число дней до смены пароля

Это поле определяет, сколько должно пройти, пока пароль может быть сменён. В нашем случае это ноль, т. е. пароль можно поменять прямо сейчас.

5) Число дней до требуемой смены пароля

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

6) Порог предупреждения в днях

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

7) Дата истечения

Также хранится в днях, описывает, когда учётная запись истекает (с даты начала эпохи).

8) Зарезервированное поле

Обычно не используется дистрибутивами Linux.

Разрешения на файл

Владельцем файла /etc/shadow должен быть пользователь root, обычно групповым владельцем является shadow. Этот файл не должен быть читаемым кем угодно, следовательно, подходящим режимом прав на этот файл является 640.​

Проверка согласованности /etc/passwd и /etc/shadow

Дистрибутивы Linux обычно содержат утилиту pwck. Эта маленькая утилита проверет согласованность обоих файлов и укажет на какие-либо проблемы. Задавая ключ -r мы определяем, что она работает в только режиме чтения.

01



Похожие темы

Настройка защищённого VPS (VDS) на Debian. Часть п... Если вы не знаете, что такое VPS (VDS), то посмотрите здесь. Если вы знаете о VPS, но по какой-то причине у вас его ещё нет, то перейдите ...
Как создать зашифрованный zip файл на Linux... Допустим вы хотите создать zip архив защищённый паролем, для того чтобы тот, кто пробует распаковать zip файл, должен был ввести правильны...
Хакерские плагины для Firefox Подобная подборка для Google Chrome в статье "Хакерские плагины для Chrome". Подборка плагинов для тестировщиков на проникновение подс...
Обход UAC на удаленном компьютере жертвы... Всем привет! В этой статье я бы хотел описать один важный прием в работе с Meterpreter’ом. А в частности: Способ повышения привилегий до си...
Как совершить фишинг-атаку с помощью metasploit... Фишинг - это техника социальной инженерии, которая пытается получить секретную информацию от человеческой цели. Во время фишинг-атаки цель получ...