Я можу опустити останні кілька символів свого пароля на Ubuntu 14.04


27

У моїх коледжах у Ubuntu 14.04.3 LTS на наших лабораторних ПК. Я сьогодні помітив серйозну помилку.

Я можу пропустити останні кілька символів свого пароля і все одно плавно увійти. Наприклад, якщо мій пароль a1b2c3d4e5f6g7h8, я можу набрати a1b2c3d4eта все ж увійти. Багато інших людей також помітили цю помилку.

Зауважте, що пароль не можна повністю обійти - максимум, який я зміг пропустити, - це 7 символів. Якщо я спробую пропустити більше, з'явиться повідомлення " Недійсний пароль, будь ласка, спробуйте ще раз ". Також зауважте, що будь-яка випадкова перестановка підрядка пароля не працює.

Це також відбувається, якщо я заблокую екран вручну і введу пароль ще раз. Та сама помилка присутня під час використання sshі добре, гугл і пошук Stack Overflow не допомогли.

Моє запитання - як виправити цю помилку, якщо я її взагалі зможу виправити? Наша система не буде доступна до понеділка, і це нас справді хвилює.

ВАЖЛИВО: Зауважте, що жоден з облікових записів студентів не входить до списку sudoers, лише до sysadm є кореневий доступ. Крім того, під час входу sshв власний обліковий запис з’являється наступне :

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)

* Documentation:  https://help.ubuntu.com/

543 packages can be updated.
350 updates are security updates.

New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

ОНОВЛЕННЯ: Схоже, важливим питанням є не кількість символів, опущених наприкінці, а те, що можна ввійти з першими вісьмома або більше символами пароля.


2
Я б підозрював, що деяка зовнішня автентифікація (LDAP, Active Directory тощо) є винною і не перевіряє паролі належним чином. Поговоріть із системним адміністратором.
Андре Борі

8
Доступно 350 оновлень безпеки. Один із них, ймовірно, виправляє помилку
Heartbleed

4
Здається, ваш sysadmin не був доступний місяцями ...
Майкл Хемптон

Відповіді:


28

Якщо у вас немає доступу адміністратора, ви не можете багато чого зробити.

Однак це здається через некомпетентність адміністратора. Це звучить підозріло схоже на шифрування паролем за допомогою класичної crypt(3)функції. Від man 3 crypt:

crypt () - функція шифрування паролем. Він заснований на даних
Шифрування Стандартний алгоритм із задуманими варіантами (серед іншого)
речі) для відмови від використання апаратних реалізацій ключового пошуку.

ключ - це введений користувачем пароль.

сіль - це двозначний рядок, вибраний із набору [a-zA-Z0-9./]. Це
рядок використовується для збурення алгоритму одним із 4096 різних способів.

Беручи найнижчі 7 біт кожного з перших восьми символів
ключ, виходить 56-бітний ключ.   Цей 56-бітний ключ використовується для шифрування
багаторазово постійний рядок (зазвичай це рядок, що складається з усіх
нулі). Повернене значення вказує на зашифрований пароль, серію
з 13 символів для друку ASCII (перші два символи являють собою
сама сіль). Повернене значення вказує на статичні дані, вміст яких
перезаписується при кожному дзвінку.

Це звучить знайомо?

Жодна остання система Ubuntu не використовує це за замовчуванням. Щоб використовувати це, ваш адміністратор повинен вручну налаштувати налаштування пароля. Або вони можуть використовувати зовнішню аутентифікацію (LDAP або подібну), і не зробили це, або не змогли її конфігурувати надійно.

Дивіться також: Чи паролі в сучасних системах Unix / Linux все ще обмежені 8 символами?


4
Тоді адмін, швидше за все, використовує LDAP ..... Я спробую зв’язатися з ним. Спасибі!
Димитрій Маркович

1
OP може додатково підтвердити це, побачивши, чи перевернення 8-го біта будь-якого з перших 8 символів має значення. Це не складно зробити в середовищі UTF-8.
Jonas Schäfer

@JonasWielicki - Перегортання 8-го біта будь-якого з перших восьми символів НЕ має значення - пароль відображається як недійсний. Тож я можу використовувати лише перші вісім чи більше символів мого оригінального пароля.
Димитрій Маркович

@ die-policy137 Як уже згадувалося, я думаю, що складно перевернути лише восьмий біт – з UTF-8, це призведе до використання двох байтів замість одного для кодування кодової точки. Отже, це, на жаль, не є певним тестом, якщо тільки не ведеться дуже жорсткий контроль над кодуванням, що використовується терміналом та / або даними, надісланими для аутентифікації.
Jonas Schäfer

7

Був час, попереднього тисячоліття, коли всі Unixen шифрували свої паролі таким чином. Відкиньте все, що перевищує восьмий символ, додайте сіль, пропустіть хеш-функцію і зробіть все.

Тут велике питання, чи зашифровані паролі доступні потенційним хакерам. Якщо вони є, це велика проблема. Якщо їх немає, це насправді не велика справа. Вісім паролів символів має безліч можливостей. Якщо вам доведеться здійснити фактичну спробу входу, щоб перевірити потенційний пароль, то введення в систему займе багато часу. Також спроби спричинить тривогу.

Отже, велика виграш тут - тіньові паролі. Проте люди почали думати, що це недостатньо добре, і кожен варіант Unix реалізував свій спосіб продовження максимальної довжини пароля. Вони вже не були сумісними.

Деякий час, якщо ви хотіли, щоб кілька машин з різними варіантами Unix використовували один і той же пароль, вам довелося використовувати старий тип шифрування.

Цілком можливо, що коли вперше були створені ці комп'ютерні лабораторії, це все було так. І цей тип налаштування має інерцію. Налаштовуються нові клієнти для відповідності серверу. Налаштовані нові сервери, щоб відповідати клієнтам.

Сьогодні все краще. У використанні є менше варіантів Unix, і вони краще співпрацюють.

Я не достатньо компетентний , щоб сказати вам , як це виправити, але це завдання для адміністратора, а не для вас.


Добре тоді .... Я б хотів, щоб я міг щось зробити, хоча.
Димитрій Маркович

"Unixen" над "Unicies"? Ніколи раніше не чула цього, приємного дотику
кіт

1
@cat Це, мабуть, портман Унікс та боксен .
Майкл Хемптон

2
Оскільки Unix є складеним словом, множина може бути складена також :)
Thorbjørn Ravn Andersen

Eight characters passwords has a lot of possibilities.Що стосується ентропії пароля , ви припускаєте, що зловмисник знає, як ви генеруєте паролі. Якщо ви використовуєте випадкові слова , максимум, ви отримаєте 2 слова або 22 біти ентропії.
нелінійний
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.