質問箱/5298
の編集
Top
/
質問箱
/
5298
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/5298]] [#zbccb911] |RIGHT:70|LEFT:410|c |~カテゴリ|サイト管理・運営| |~サマリ|アカウント登録のリモート登録| |~バージョン|1.5.1| |~投稿者|[[Tomose]]| |~状態|質問| |~投稿日|&new{2018-03-27 (火) 09:07:46};| ***質問 [#n6fc17d6] 現状ユーザ認証のメカニズムはありますが、そのためのユーザ登録はpukiwiki.ini.php を管理者が編集する必要があります。 その際、管理者が「新規ユーザのパスワード」を知る必要があり、セキュリティ的に好ましくないです(wikiの編集だけならそれでもいいでしょうが、パスワード作成の癖の流出などリスクがある)。改善方法はないでしょうか。 # とはいえ管理者に許可なくユーザ登録するのも不適切っぽいので、 # 例えば管理者による「許可」をうけるために、管理者に確認メールを入れるなどの手間は必要そうですが。 ***回答 [#a6970e41] - パスワードを平文(ありのまま、書いたままの文)でしか設定できないと誤解されているのですね。12年前の1.4.6からパスワードハッシュを使用できるようになっています。%%(厳密にはSSL上の)%%((PukiWiki本体がSSLで守られていない場合、SSL無しでmd5プラグインを操作したとしても危険度は変わらない))PukiWiki上のmd5プラグインや、Linuxのslappasswdコマンドで、各自に「ソルト(各自が決める、でたらめな文字列)つき」と「パスワード」を元にしたSSHAのパスワードハッシュを計算してもらった上で、パスワードハッシュを受け渡すようにすることで、常識的なレベルでは改善するでしょう。(非常識なレベルでは、これでも不足ではあります)(詳しくは [[dev:BugTrack/709]]) -- [[henoheno]] &new{2018-03-27 (火) 22:07:13}; //-- あれっ、管理者パスワードではなくてユーザーのパスワードでしたね。そちらに同じロジックが利用できるかどうかは記憶にないので、確認が必要です。 -- [[henoheno]] &new{2018-03-27 (火) 22:11:13}; -- ・・・少なくとも $auth_users については $adminpass と同様ですね。 -- [[henoheno]] &new{2018-03-27 (火) 22:13:29}; -- ・・・ slappasswd では salt は自動的に毎回異なる内容が与えられ、手動で指定できないようですね。 -- [[henoheno]] &new{2018-03-27 (火) 22:28:49}; - 認証設定については [[PukiWiki/Authentication]] に説明があります。henohenoさんの書かれているようにmd5などを使って平文パスワードを隠蔽することもできますし、そもそも認証情報をPukiWikiの外部に持つこともできます。(LDAP利用やAUTH_TYPE_EXTERNAL_REMOTE_USERなど) 更にPukiWiki 1.5.2 だと AUTH_TYPE_SAML で外部のSingleSignOnサーバーと連携することもできるようになります。[[dev:BugTrack/2411]] AUTH_TYPE_EXTERNAL で twitter認証する話を[[質問箱/5262]]に書いていたりします -- [[umorigu]] &new{2018-03-28 (水) 02:46:49}; - 回答ありがとうございます。ちょっとニュアンスが違いまして。Pukiwikiの認証を使う場合にMD5化する方法は理解していますが、ではその「MD5化する」のは誰か、ということです。詳しくない方にはお願いできません(PCを使い慣れている方ばかりというわけではない。ということです)。 -- [[Tomose]] &new{2018-03-28 (水) 05:53:22}; - 外部認証についてもまあ同様で、twitterアカウントを誰もが持っているわけでもないです。SingleSignOnは考えてなかったのでちょっと相談してみますが、これもどうだろうなぁ・・・同窓会的なメンバーで使おうと思っているので、個々人のレベルはいろいろ違うのです。 -- [[Tomose]] &new{2018-03-28 (水) 05:55:55}; - ああ。読み直してちょっと思い当たりました。例えば登録ページ作って、そこで入力させたものをMD5プラグインで加工したものを出力するようなページなりプラグインなり作ればいいのか・・・ちょっと考えてみます。ありがとうございました。 -- [[Tomose]] &new{2018-03-28 (水) 05:59:30}; - もう一つ余談ですが、MD5ってのも今時どうよ、とは思いました。pukiwiki.ini を直接参照されることは普通ないにせよ。sha2プラグインでも作りますかね(笑) -- [[Tomose]] &new{2018-03-28 (水) 06:40:42}; --プラグインだけでは解決しなくて、認証部分にも手を加える必要があります。標準機能にsha2加えてもいいのですが最近は外部連携を重視していて、要望は少なそうだとは思ってます -- [[umorigu]] &new{2018-03-29 (木) 09:28:27}; -- 「MD5ってのも今時どうよ、とは思いました」について、SHA2も利用可能なことがわかりました。[[dev:BugTrack/709]] によるとプリフィクス {x-php-crypt} で PHP crypt が使えます。PHPで crypt('pass', '$6$abc') の結果が "$6$abc$dCZAbKbeBK7T0hukxi7enUZp/94Lft5t19M7i5KuPRB7fbWvBRbIYAWY22u9tH90kN7HD..U6kgPLsfSP1Rl0/" なので、以下のようにするとpukiwiki.ini.phpの中のパスワード指定に SHA512 を利用できます。(プリフィクス $5$ が SHA256, $6$ が SHA512 を表します。詳しくは [[php.net:manual/ja/function.crypt.php]] ) -- [[umorigu]] &new{2018-04-02 (月) 08:15:33}; $auth_users = array( 'user_a' => '{x-php-crypt}$6$abc$dCZAbKbeBK7T0hukxi7enUZp/94Lft5t19M7i5KuPRB7fbWvBRbIYAWY22u9tH90kN7HD..U6kgPLsfSP1Rl0/', ); -- SHA2情報ありがとうございます。自分で言っておいてなんですが、SHA2だとハッシュ値も長く、いよいよ「利用者に意識させずにこちら側でハッシュ化」するメカニズムが必要そうなので、SSL/TLSやTwitter認証の件もひっくるめていろいろ試してみています。 どこまで「よくある」感じにするかは検討の余地はありますが、例えば「pukiwiki認証+Twitter認証の併用(利用する側が選べる)」なんてのも考えています。これはまあ、単純にやるとユーザ名衝突とか起きそうなので、登録者を限定できる環境ゆえの話ではありますが。 -- [[Tomose]] &new{2018-04-03 (火) 06:34:33}; #comment
**[[質問箱/5298]] [#zbccb911] |RIGHT:70|LEFT:410|c |~カテゴリ|サイト管理・運営| |~サマリ|アカウント登録のリモート登録| |~バージョン|1.5.1| |~投稿者|[[Tomose]]| |~状態|質問| |~投稿日|&new{2018-03-27 (火) 09:07:46};| ***質問 [#n6fc17d6] 現状ユーザ認証のメカニズムはありますが、そのためのユーザ登録はpukiwiki.ini.php を管理者が編集する必要があります。 その際、管理者が「新規ユーザのパスワード」を知る必要があり、セキュリティ的に好ましくないです(wikiの編集だけならそれでもいいでしょうが、パスワード作成の癖の流出などリスクがある)。改善方法はないでしょうか。 # とはいえ管理者に許可なくユーザ登録するのも不適切っぽいので、 # 例えば管理者による「許可」をうけるために、管理者に確認メールを入れるなどの手間は必要そうですが。 ***回答 [#a6970e41] - パスワードを平文(ありのまま、書いたままの文)でしか設定できないと誤解されているのですね。12年前の1.4.6からパスワードハッシュを使用できるようになっています。%%(厳密にはSSL上の)%%((PukiWiki本体がSSLで守られていない場合、SSL無しでmd5プラグインを操作したとしても危険度は変わらない))PukiWiki上のmd5プラグインや、Linuxのslappasswdコマンドで、各自に「ソルト(各自が決める、でたらめな文字列)つき」と「パスワード」を元にしたSSHAのパスワードハッシュを計算してもらった上で、パスワードハッシュを受け渡すようにすることで、常識的なレベルでは改善するでしょう。(非常識なレベルでは、これでも不足ではあります)(詳しくは [[dev:BugTrack/709]]) -- [[henoheno]] &new{2018-03-27 (火) 22:07:13}; //-- あれっ、管理者パスワードではなくてユーザーのパスワードでしたね。そちらに同じロジックが利用できるかどうかは記憶にないので、確認が必要です。 -- [[henoheno]] &new{2018-03-27 (火) 22:11:13}; -- ・・・少なくとも $auth_users については $adminpass と同様ですね。 -- [[henoheno]] &new{2018-03-27 (火) 22:13:29}; -- ・・・ slappasswd では salt は自動的に毎回異なる内容が与えられ、手動で指定できないようですね。 -- [[henoheno]] &new{2018-03-27 (火) 22:28:49}; - 認証設定については [[PukiWiki/Authentication]] に説明があります。henohenoさんの書かれているようにmd5などを使って平文パスワードを隠蔽することもできますし、そもそも認証情報をPukiWikiの外部に持つこともできます。(LDAP利用やAUTH_TYPE_EXTERNAL_REMOTE_USERなど) 更にPukiWiki 1.5.2 だと AUTH_TYPE_SAML で外部のSingleSignOnサーバーと連携することもできるようになります。[[dev:BugTrack/2411]] AUTH_TYPE_EXTERNAL で twitter認証する話を[[質問箱/5262]]に書いていたりします -- [[umorigu]] &new{2018-03-28 (水) 02:46:49}; - 回答ありがとうございます。ちょっとニュアンスが違いまして。Pukiwikiの認証を使う場合にMD5化する方法は理解していますが、ではその「MD5化する」のは誰か、ということです。詳しくない方にはお願いできません(PCを使い慣れている方ばかりというわけではない。ということです)。 -- [[Tomose]] &new{2018-03-28 (水) 05:53:22}; - 外部認証についてもまあ同様で、twitterアカウントを誰もが持っているわけでもないです。SingleSignOnは考えてなかったのでちょっと相談してみますが、これもどうだろうなぁ・・・同窓会的なメンバーで使おうと思っているので、個々人のレベルはいろいろ違うのです。 -- [[Tomose]] &new{2018-03-28 (水) 05:55:55}; - ああ。読み直してちょっと思い当たりました。例えば登録ページ作って、そこで入力させたものをMD5プラグインで加工したものを出力するようなページなりプラグインなり作ればいいのか・・・ちょっと考えてみます。ありがとうございました。 -- [[Tomose]] &new{2018-03-28 (水) 05:59:30}; - もう一つ余談ですが、MD5ってのも今時どうよ、とは思いました。pukiwiki.ini を直接参照されることは普通ないにせよ。sha2プラグインでも作りますかね(笑) -- [[Tomose]] &new{2018-03-28 (水) 06:40:42}; --プラグインだけでは解決しなくて、認証部分にも手を加える必要があります。標準機能にsha2加えてもいいのですが最近は外部連携を重視していて、要望は少なそうだとは思ってます -- [[umorigu]] &new{2018-03-29 (木) 09:28:27}; -- 「MD5ってのも今時どうよ、とは思いました」について、SHA2も利用可能なことがわかりました。[[dev:BugTrack/709]] によるとプリフィクス {x-php-crypt} で PHP crypt が使えます。PHPで crypt('pass', '$6$abc') の結果が "$6$abc$dCZAbKbeBK7T0hukxi7enUZp/94Lft5t19M7i5KuPRB7fbWvBRbIYAWY22u9tH90kN7HD..U6kgPLsfSP1Rl0/" なので、以下のようにするとpukiwiki.ini.phpの中のパスワード指定に SHA512 を利用できます。(プリフィクス $5$ が SHA256, $6$ が SHA512 を表します。詳しくは [[php.net:manual/ja/function.crypt.php]] ) -- [[umorigu]] &new{2018-04-02 (月) 08:15:33}; $auth_users = array( 'user_a' => '{x-php-crypt}$6$abc$dCZAbKbeBK7T0hukxi7enUZp/94Lft5t19M7i5KuPRB7fbWvBRbIYAWY22u9tH90kN7HD..U6kgPLsfSP1Rl0/', ); -- SHA2情報ありがとうございます。自分で言っておいてなんですが、SHA2だとハッシュ値も長く、いよいよ「利用者に意識させずにこちら側でハッシュ化」するメカニズムが必要そうなので、SSL/TLSやTwitter認証の件もひっくるめていろいろ試してみています。 どこまで「よくある」感じにするかは検討の余地はありますが、例えば「pukiwiki認証+Twitter認証の併用(利用する側が選べる)」なんてのも考えています。これはまあ、単純にやるとユーザ名衝突とか起きそうなので、登録者を限定できる環境ゆえの話ではありますが。 -- [[Tomose]] &new{2018-04-03 (火) 06:34:33}; #comment
テキスト整形のルールを表示する