/etc/shadowと同じ暗号化

/etc/shadowと同じ暗号化

私は、サーバー管理者がネットワーク全体でスクリプトの結果を分析できるように、Linux上でいくつかのマルウェア検出スクリプト用のGUIツールを作成しています。

/etc/shadowで使用されている暗号化が強力であることがわかっている限り、私のアプリケーションのルートに同じパスワードを使用し、/etc/shadowの変更を確認し、dbのルートパスワードを同期し、ルート資格情報を使用して管理します。管理者ログインを許可したい。 。

PHPを使って開発します。これが正確にどの暗号化を使用しているのか、そして人々がルート資格情報を使用してPHPから私のGUIにログインできるように、PHPで同じ機能を実装できるかどうか疑問に思います。

ベストアンサー1

パスワードフィールドの値は、$XY$数字Xで始まるか、2つのDES(長さに応じて標準または拡張)のいずれかです。

DESはもはや安全ではなく、ほとんどサポートされていません。次の指定Yに従ってオプションです(2番目の項目以降)。X$

1:CRYPT_MD5(Ynull)
2:CRYPT_BLOWFISH(またはY可能性があります):CRYPT_SHA256:CRYPT_SHA512axy
56

最も一般的なの$6$は、計算がres = sha(res + salt)最初から繰り返し(標準5000回)の適用に基づいていることですres = password。別のラウンド数を指定してソルトの前に保存できない限り、ソルトは2番目$から3番目まで続きます。$

$6$salt$result
$6$rounds=N$salt$result

(最初は5000ラウンドを意味します)。

確かにこれを直接実装できますが、PHPのcryptが使用するアルゴリズム指定をサポートしているかどうかを確認するか、別の方法で呼び出しを見てみましょう(Ubuntuのパッケージなどmkpasswd)。whois


これがうまくいくことを考えると、HTTPSを介していなくてもrootアカウントとパスワードを使用しないことをお勧めします。 PHPが破損している場合は、システムのルートパスワードをスヌーピングするために何かを挿入するのは非常に簡単です。

おすすめ記事