Соляріс впустив мене з різним паролем з тими ж 8 першими символами


42

Я не знаю, чи нормально це, але річ у тому, скажімо, у мене є користувач Solaris під назвою gloaiza, а його пароль - password2getin

Я входжу на сервер за допомогою PuTTY, я просто поставив 192.168.224.100, і це запитує вікно з проханням користувача, тому я набираю глоайзу , потім він запитує пароль і скажімо, я помилково набираю password2geti , і він працював! Я в сервері!

Це нормально? Це також працює, якщо я поставив щось на кшталт password2getin2 .

Я не є носієм англійської мови, тому, якщо є щось, чого ви не можете зрозуміти, запитайте мене

ОС: Oracle Solaris 10 1/13


4
Що відбувається під вісьмома символами? Чи має passworkотримати у вас в?
тригст

@thrig Добре, мій фактичний пароль є 9 символів довжиною, так скажемо , пароль pass2word, то він працює з pass2wor, pass2word1, pass2worr1і так далі ... Я думаю , що він працює з усім , як тільки ви наберете pass2wor я не думаю , що це велика проблема, але не добре.
gloaiza

3
Поки ви отримаєте перші 8 символів правильно, це дозволить вам ввійти. На жаль, при створенні пароля за допомогою шифрування в старих версіях Solaris, ігнорується символ 9 і пізніше.
Мельбурслан

14
Натяк для всіх вбудованих девів тут мислення, «це ніколи не могло статися на моїй системі:» busyboxбуде тихо падати назад DES , якщо ви не маєте повне право варіанти крипто включена в його .config і вашої libc. Можливо, знайдіть хвилину сьогодні, щоб двічі перевірити свої файли passwd/ shadowфайли? ;)

11
@drewbenn - хто, до чорта, подумав, що мовчки принижуючи безпеку - це гарна ідея? Ісус Христос.
Давор

Відповіді:


65

Операційна система зберігає хеш пароля в /etc/shadow(або, історично, /etc/passwdабо в іншому місці в деяких інших варіантах Unix). Історично перший розповсюджений хеш паролів був на основі DES схеми, яка мала обмеження, що вона враховувала лише перші 8 символів пароля. Крім того, алгоритм хешування паролів повинен бути повільним; Схема на основі DES була дещо повільною, коли вона була винайдена, але є недостатньою сьогоднішніми стандартами.

Відтоді були розроблені кращі алгоритми. Але Solaris 10 за замовчуванням застосовується до історичної схеми, заснованої на DES. Solaris 11 за замовчуванням використовує алгоритм, заснований на ітераційній SHA-256, що відповідає сучасним стандартам.

Якщо вам не потрібна історична сумісність із старовинними системами, перейдіть на ітераційну схему SHA-256. Відредагуйте файл /etc/security/policy.confта змініть CRYPT_DEFAULTналаштування на 5, яке означає crypt_sha256. Ви також можете встановити CRYPT_ALGORITHMS_ALLOWі CRYPT_ALGORITHMS_DEPRECATE.

Після зміни конфігурації запустіть, passwdщоб змінити свій пароль. Це дозволить оновити хеш паролів за допомогою налаштованої на даний момент схеми.


1
Дякую за відповідь. Коли ви сказали: " Якщо вам не потрібна історична сумісність із стародавніми системами ", ви насправді це маєте на увазі, це я маю на увазі ... Чи можливо дійсно потрібна схема, заснована на DES, і не в змозі перейти на SHA-256 для деяких причина?
gloaiza

11
@gloaiza Можливо, якщо файл хешу ваших паролів надається спільним з NIS або іншим методом із машиною, що працює з справді старовинною операційною системою (наприклад, Solaris 2.x). Інакше ні.
Жил "ТАК - перестань бути злим"


21

Це очікується, принаймні, за замовчуванням конфігурації Solaris 10 та старішої версії.

Ваша система використовує застарілий crypt_unixалгоритм Unix , який дійсно обмежує кількість символів, які використовуються до восьми.

Це задокументовано на passwdсторінці керівництва :

Паролі повинні бути створені таким чином, щоб відповідати наступним вимогам:

  Кожен пароль повинен містити символи PASSLENGTH, де визначено PASSLENGTH
  / etc / default / passwd і встановлюється на 6. Встановлення PASSLENGTH більше восьми
  символів вимагає налаштування policy.conf (4) з алгоритмом, який підтримує
  більше восьми символів .

Оскільки цей алгоритм по суті є застарілим. Ви повинні переключитися на щось краще (доступні значення, перелічені на crypt.confсторінці керівництва), встановивши файл CRYPT_ALGORITHMS_DEPRECATEі CRYPT_DEFAULTввівши його /etc/security/policy.conf.

Див. Http://docs.oracle.com/cd/E19253-01/816-4557/concept-63/index.html



@OrangeDog Точка взята, порада видалена
jlliagre

7

Дивіться цю тему на форумах Oracle :

Поведінка, яку ви описуєте, очікується при використанні схеми шифрування пароля за замовчуванням "crypt_unix". Ця схема зашифрує лише перші вісім символів пароля, і, таким чином, лише перші вісім символів повинні відповідати, коли пароль буде знову введено. Це не «помилка», а відоме обмеження алгоритму - він значною мірою зберігається для зворотної сумісності і, на жаль, встановлюється за замовчуванням у системах Solaris при встановленні.

Щоб вирішити це, встановіть вашу ОС замість crypt_unix використовувати алгоритми MD5 або Blowfish.

Це можна змінити у файлі /etc/security/policy.conf. Ви можете встановити алгоритми криптовалюти, щоб дозволити, а також є налаштування знецінення (заборони) використання алгоритму "crypt_unix" та змінити типовий режим на більш безпечний.

Додаткову інформацію див. У "Посібнику з адміністрування системи Solaris 10: Служби безпеки" для отримання додаткової інформації.

Див. Також Зміна алгоритму пароля (карта завдань) і особливо Як вказати алгоритм шифрування пароля :

Вкажіть ідентифікатор для вибраного алгоритму шифрування.

...

Введіть ідентифікатор як значення для змінної CRYPT_DEFAULT у файлі /etc/security/policy.conf.

...

Для отримання додаткової інформації про налаштування варіантів алгоритму, див. policy.conf(4)Сторінку man.


2

Щойно FYI, це також відбувається в системах IBM AIX до версії 7.1.

Це смішно, тому що ця система, з якою я працював, має політику "не може повторно використовувати жоден з останніх 10 паролів", яка враховує всю довжину пароля, але потім перевіряє лише перші 8 символів при вході в систему. Отже, ви можете встановити свої паролі як easypass_%$xZ!01, easypass_%&ssY!02, easypass_%$33zoi@@, ... для кожного обов'язкового зміни пароля, ефективно зберігаючи в easypassякості пароля в протягом багатьох років.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.