Solarisでは、最初の8文字が同じで、別のパスワードを入力できました


42

これが正常かどうかはわかりませんが、問題は、Solarisのユーザーgloaizaがあり、そのパスワードがpassword2getinだとします

私はPuTTYでサーバーにログインしていますが、192.168.224.100を入力するだけで、ユーザーに尋ねるウィンドウが表示されるので、gloaizaと入力し、パスワードを要求し、誤ってpassword2getiと入力すると、うまくいきました!私はサーバーにいます!

それは正常ですか?password2getin2のようなものを置いても機能します

私は英語を母国語としないので、理解できないことがある場合は私に聞いてください

OS:Oracle Solaris 10 1/13


4
8文字の下で何が起こりますか?あなたをpasswork入れますか?
-thrig

[OK]を@thrig、私の実際のパスワードは、長いそれでは、パスワードがあるとしましょう9文字でpass2word、それはで動作するpass2worpass2word1pass2worr1、のように...私はあなたが入力したら、それはすべてにうまくいくと思うpass2wor 、私はそれが大きいとは思いません問題ですが、どちらも良くありません。
-gloaiza

3
最初の8文字が正しければ、許可されます。残念ながら、古いsolarisリリースではパスワードの生成に暗号化が使用されており、文字9以降は無視されます。
メルバースラン

14
すべての組み込み開発者のためのジェントルリマインダーここで、「これは上で起こることができませんでした、思考の私のシステム:」busyboxあなたはすべての権利暗号のオプションがその中で有効になっていない場合は静かにDESにフォールバックされます.config 、あなたlibcpasswd/ shadowファイルを再確認するのに今日かかるかもしれませんか?;)

11
@drewbenn-地獄は、静かにセキュリティを低下させるのは良い考えだと誰が考えたのですか?イエス・キリスト。
-Davor

回答:


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_sha256CRYPT_ALGORITHMS_ALLOWおよびを設定することもできCRYPT_ALGORITHMS_DEPRECATEます。

構成passwdを変更したら、実行してパスワードを変更します。これにより、現在構成されているスキームでパスワードハッシュが更新されます。


1
答えてくれてありがとう。「古代のシステムとの歴史的な互換性が必要でない限り」と言ったとき、あなたは本当にそれを意味します...理由?
-gloaiza

11
@gloaizaパスワードハッシュファイルがNISまたは他の方法で、古代のオペレーティングシステム(Solaris 2.xなど)を実行しているマシンと共有されている場合があります。そうでなければ、いいえ。
ジル「SO-悪であるのをやめる」


21

これは、少なくともデフォルトのSolaris 10以前の構成では予想されます。

お使いのシステムは、crypt_unix実際に使用される文字数を8文字に制限するレガシーUnix アルゴリズムを使用しています。

これは、passwdマニュアルページに記載されています

パスワードは、次の要件を満たすように構築する必要があります。

  各パスワードにはPASSLENGTH文字が必要です。PASSLENGTHは
  / etc / default / passwdで、6に設定されています。PASSLENGTHを8以上に設定します
  文字は、サポートするアルゴリズムでpolicy.conf(4)を設定する必要があります
  8文字を超える

このアルゴリズムは本質的に廃止されているためです。ファイルとエントリをcrypt.conf設定して、より良いもの(マニュアルページに記載されている利用可能な値)に切り替える必要があります。CRYPT_ALGORITHMS_DEPRECATECRYPT_DEFAULT/etc/security/policy.conf

http://docs.oracle.com/cd/E19253-01/816-4557/concept-63/index.htmlを参照してください


1
「高いほど良い」というのは正しくありません。アルゴリズム2a(bcrypt)が最適かもしれません
ハーミングモニカを停止

@OrangeDogポイントを取得、アドバイスを削除
-jlliagre

7

Oracleフォーラムでこのスレッドを参照してください。

説明する動作は、デフォルトの「crypt_unix」パスワード暗号化スキームを使用する場合に予想されます。このスキームは、パスワードの最初の8文字のみを暗号化するため、パスワードを再度入力するときに最初の8文字のみを一致させる必要があります。これは「バグ」ではなく、アルゴリズムの既知の制限です。後方互換性のために大部分は保持されており、残念ながらインストール時にSolarisシステムのデフォルトとして設定されます。

これを解決するには、crypt_unixではなくMD5またはBlowfishアルゴリズムを使用するようにOSを設定します。

これは/etc/security/policy.confファイルで変更できます。暗号化アルゴリズムを許可するように設定できます。また、「crypt_unix」アルゴリズムの使用を廃止(禁止)し、デフォルトをより安全なものに変更する設定もあります。

詳細については、「Solaris 10システム管理ガイド:セキュリティサービス」を参照してください。

パスワードアルゴリズムの変更(作業マップ)」、特にパスワード暗号化のアルゴリズムを指定する方法も参照してください。

選択した暗号化アルゴリズムの識別子を指定します。

...

/etc/security/policy.confファイルのCRYPT_DEFAULT変数の値として識別子を入力します。

...

アルゴリズムの選択の構成の詳細については、policy.conf(4)manページを参照してください。


2

参考までに、これはバージョン7.1までのIBM AIXシステムでも発生します。

おもしろいのは、このシステムには「最後の10個のパスワードを再利用できない」というポリシーがあり、パスワードの長さ全体を考慮しますが、ログイン時に最初の8文字のみをチェックするためです。以下のようにeasypass_%$xZ!01easypass_%&ssY!02easypass_%$33zoi@@...、すべての必須のパスワード変更のために、効果的に維持easypass年間のパスワードとして。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.