Глядя на соответствующую часть исходного кода debian-installer
код мы
можно увидеть, что он просто вызывает usermod USER --password=CRYPTED-PASSWORD
внутри
целевой chroot.
Кроме того, man-страница usermod
предполагает, что параметр --password
принимает «The
зашифрованный пароль, возвращаемый функцией crypt(3).» и что «Пароль будет
записано в локальном файле /etc/passwd или /etc/shadow.". Это говорит о том, что мы можем
используйте только зашифрованные форматы паролей, описанные на справочной странице crypt(3)
.
Однако надежда еще не потеряна. Из вышеупомянутой справочной страницы мы узнаем, что
crypt
фактически включает поле соли в зашифрованной строке пароля, формат
будучи $hash_id$соль$хэш
. Так что по крайней мере в принципе он должен быть устойчив к радужным таблицам.
Помимо атак по радужным таблицам, нам еще предстоит рассмотреть атаки методом полного перебора. Если мы посмотрим на реализацию glibc
crypt
мы видим, что он на самом деле реализует растяжение пароля с использованием нескольких раундов
SHA-512 не совсем отличается, но, к сожалению, не использует стандартный подход, такой как
ПБКДФ2.
Кроме того, мы видим, что фактически можем контролировать количество раундов хеширования.
применяется crypt
с использованием дополнительного поля в зашифрованном пароле
($раундов=$
). Глядя на справочную страницу mkpasswd(1)
, мы обнаруживаем, что это показано как
Опция -R
.Используя эту функцию, мы можем значительно увеличить количество
раундов 5000 (см. ROUNDS_DEFAULT
в исходном коде), что на моей машине
занимает менее пары миллисекунд, чтобы вычислить, скажем, 10 миллионов, что
вместо этого занимает пару секунд:
> mkpasswd -R 10000000 -m sha-512 mypassword
$6$rounds=10000000$Rq30Hdd.0LzWq3x$XRXHvd5MnIi5MD2H8Jtn5W0cjvq4siGtUgWUaETc4QZyvuR4iY0Af.DoNfj1E6SvoHaVotAEjIiOPS3GvwJjM0
Поскольку Jessie больше не является последним стабильным выпуском Debian, (Stretch является ), я полагаю, что они больше не поддерживают бэкпорты jessie -. Теперь он растягивается -задними портами. Не очень безопасно запускать бэкпорты stretch -на машине, основанной на jessie, поскольку бэкпорты stretch -перекомпилируются на основе того, что доступно в Stretch. К сожалению, ваши варианты:
Жизненный цикл версии Debian состоит из пяти фаз:
Jessie стала старой стабильной версией 17 июня 2017 г. и, следовательно, 17 июня 2018 г. стала LTS. Таким образом, репозиторий jessie -backports в настоящее время бездействует. Некоторое время он был сохранен, чтобы обеспечить определенные допустимые варианты использования, но администраторы резервных портов недавно выполнили некоторые работы по техническому обслуживанию и отключили репозиторий резервных портов jessie -; это причина, по которой вы теперь получаете эти ошибки.
Репозиторий резервных копий предназначен для хранения версий программного обеспечения, доступных в следующей версии Debian; т. е. бэкпорты jessie -будут содержать пакеты с версиями, поставляемыми в растянутом виде. Таким образом, если вы уже перешли на stretch, как утверждаете, включение бэкпортов jessie -в вашей системе не принесет никакой пользы, и вам следует просто придерживаться репозитория stretch и перейти от jessie.