Ubuntu 14.04でパスワードの最後の数文字を省略できます


27

私の大学のラボPCにはUbuntu 14.04.3 LTSがあります。今日、深刻なバグに気づきました。

パスワードの最後の数文字をスキップしても、スムーズにログインできます。たとえば、パスワードがの場合、入力してログインするa1b2c3d4e5f6g7h8ことができa1b2c3d4eます。他の多くの人もこのバグに気づいています。

パスワードを完全にバイパスすることはできません-スキップできる最大文字数は7文字です。これ以上スキップしようとすると、「無効なパスワードですもう一度試してください」というメッセージが表示されます。また、パスワードのサブストリングのランダムな順列は機能しません。

これは、画面を手動でロックし、パスワードを再度入力した場合にも発生します。使用中にも同じバグが存在しssh、スタックオーバーフローをグーグル検索することは役に立ちませんでした。

私の質問は、このバグを修正できるのであれば、どうすれば修正できますか?sysadmは月曜日まで利用できません。これは本当に困ります。

重要:学生のアカウントはいずれも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.

更新:重要な問題は、最後に省略された文字数ではなく、パスワードの最初の8文字以上でログインできることです。


2
一部の外部認証(LDAP、Active Directoryなど)に問題があり、パスワードを適切に検証していないと思われます。システム管理者に相談してください。
アンドレボリー

8
350のセキュリティ更新プログラムが利用可能です。そのうちの一つは、おそらくあまりにもハートブリードのバグを修正
AnthumChris

4
システム管理者が数か月間利用可能ではなかったようです...
マイケルハンプトン

回答:


28

管理者アクセス権がない場合、できることはあまりありません。

とはいえ、これは管理者の能力不足によるものと思われます。これは、クラシックcrypt(3)機能を使用したパスワード暗号化と疑わしく似ています。からman 3 crypt

crypt()はパスワード暗号化関数です。データに基づいています
暗号化標準のアルゴリズム(特にバリエーションがある)
キー検索のハードウェア実装の使用を思いとどまらせること。

keyはユーザーが入力したパスワードです。

saltは、セット[a-zA-Z0-9./]から選択された2文字の文字列です。この
文字列は、4096の異なる方法のいずれかでアルゴリズムを混乱させるために使用されます。

の最初の8文字のそれぞれの最下位7ビットを取得することにより、
キー、56ビットキーが取得されます。  この56ビットキーは暗号化に使用されます
繰り返し定数文字列(通常はすべての文字列
ゼロ)。戻り値は、暗号化されたパスワード、シリーズを指します
13個の印刷可能なASCII文字(最初の2文字は
塩自体)。戻り値は、コンテンツが含まれる静的データを指します
呼び出しごとに上書きされます。

それはおなじみの音ですか?

最近のUbuntuシステムでは、これをデフォルトで使用していません。これを使用するには、管理者がパスワードのセットアップを手動で構成する必要があります。または、外部認証(LDAPなど)を使用していて、安全に構成できなかったか、構成できなかった可能性があります。

参照:最新のUnix / Linuxシステムのパスワードはまだ8文字に制限されていますか?


4
次に、管理者はおそらくLDAPを使用しています。ありがとう!
ディミトリマルコビッチ

1
OPは、最初の8文字のいずれかの8ビット目を反転すると違いが生じるかどうかを確認することで、これをさらに確認できます。ただし、UTF-8環境で行うのは難しいかもしれません。
ジョナスシェーファー

@JonasWielicki-最初の8文字のいずれかの8ビット目を反転すると違いが生じます-パスワードは無効として表示されます。したがって、元のパスワードの最初の8文字以上しか使用できません。
ディミトリマルコビッチ

@ die-policy137前述したように、UTF-8で8ビットのみを反転させるのは難しいと思います。これにより、コードポイントのエンコードに1バイトではなく2バイトが使用されます。したがって、残念ながら、端末で使用されるエンコーディングや認証のために送信されるデータを非常に厳密に制御しない限り、これは明確なテストではありません。
ジョナスシェーファー

7

すべてのUnixenがパスワードをこの方法で暗号化した時代がありました。8文字目以降のすべてを破棄し、ソルトを追加し、ハッシュ関数をドロップして終了します。

ここでの大きな問題は、潜在的なハッカーが暗号化されたパスワードを利用できるかどうかです。もしそうなら、これは大きな問題です。そうでない場合、それは本当に大したことではありません。8文字のパスワードには多くの可能性があります。潜在的なパスワードを確認するために実際のログインを試行する必要がある場合、侵入には長い時間がかかります。また、試行によりアラームがトリガーされます。

したがって、ここでの大きな勝利はシャドウパスワードです。それでも、人々はこれでは十分ではないと考え始め、すべてのUnixバリアントは、パスワードの最大長を延長する独自の方法を実装しました。これらは互換性がなくなりました。

しばらくの間、異なるUnixバリアントを持つ複数のマシンで同じパスワードを使用する場合、古いタイプの暗号化を使用する必要がありました。

これらのコンピューターラボが最初にセットアップされたとき、それはまだ事実であった可能性が非常に高いです。そして、このタイプのセットアップには慣性があります。サーバーに合わせて新しいクライアントが設定されます。クライアントに合わせて新しいサーバーがセットアップされます。

今日、物事は良くなっています。使用中のUnixバリアントはより少なく、それらはよりよく連携します。

私はこれを修正する方法をあなたに伝えるのに十分ではありませんが、それあなたではなく管理者の仕事です。


それでは...。でも何かできたらよかったのに。
ディミトリマルコビッチ

「Unixen」より「Unicies」それを聞いたことがない、いい感じ

1
これは明らかにUnixとのかばんです@cat ツゲ
マイケルハンプトン

2
Unixが作ら言葉であるため、複数のはあまりにも行うことができます:)
するThorbjörnRavnアンデルセン

Eight characters passwords has a lot of possibilities.以下のためにパスワードのエントロピーは、攻撃者は、あなたがパスワードを生成する方法を知っていると仮定します。ランダムな単語を使用する場合、最大で2単語または22ビットのエントロピーを取得できます。
NonlinearFruit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.