Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ruby 2.6からString#cryptが非推奨 #747

Open
tdtds opened this issue Dec 19, 2018 · 4 comments
Open

ruby 2.6からString#cryptが非推奨 #747

tdtds opened this issue Dec 19, 2018 · 4 comments
Labels

Comments

@tdtds
Copy link
Member

tdtds commented Dec 19, 2018

タイトルのとおりなんですが、tDiaryではString#cryptをBasic認証の認証部分(lib/tdiary/rack/auth/basic.rb)でWEBrickのドキュメントにある例のとおりに使っています。Basic認証そのものがinsecureだから非推奨というスタンスだと思うので、そもそもデフォルトの認証方法から考え直す必要があるかも知れない。

すぐに使えなくなるわけではないけど、いちおう俎上に上げておきます。

@tdtds tdtds added the security label Dec 19, 2018
@tdtds tdtds added this to To do in 5.0.11リリース via automation Dec 19, 2018
@machu
Copy link
Member

machu commented Dec 21, 2018

これ、
・認証方式がBasic認証で良いか
・パスワードの格納方式がcryptで良いか
の2つの問題に分けられますね。

前者は、TLSの使用を前提として、まだアリだとは思っています。
https://developer.mozilla.org/ja/docs/Web/HTTP/Authentication

@tdtds
Copy link
Member Author

tdtds commented Dec 21, 2018

同意します。ただ後者を改善するとなると、.htpasswdの生成/利用も含めて再考が必要なので、認証方式そのものをいっしょに再検討するのはありかなと。

@machu
Copy link
Member

machu commented Dec 21, 2018

後者についてcryptの代わりにshaを使うのが良いと思います。htpasswdコマンドもSHA1使えます。
https://httpd.apache.org/docs/trunk/misc/password_encryptions.html

前者については、OmniAuthでの外部サービス連携を使うのでダメですかねぇ。
https://github.com/tdiary/tdiary-core/blob/master/doc/HOWTO-authenticate-in-rack.md

@tdtds
Copy link
Member Author

tdtds commented Dec 24, 2018

Apacheのhtpasswdにおいては、SHA1はinsecure扱いですね。いまはMD5が標準。

で、問題はWEBrick::HTTPAuth::HtpasswdがMD5もSHA1も未サポートってところで。仮にhtpasswdコマンドをつかってSHA1 or MD5な.htpasswdファイルを生成しても、tdiary/rack/auth/basicでWebrickを使った認証処理を使えなくなってしまうという。

@tdtds tdtds added this to To do in 5.0.12リリース via automation Dec 29, 2018
@tdtds tdtds removed this from To do in 5.0.11リリース Dec 29, 2018
@tdtds tdtds removed this from To do in 5.0.12リリース Dec 29, 2018
@tdtds tdtds added this to To do in 5.0.12リリース via automation Dec 29, 2018
@tdtds tdtds added this to To do in 5.0.14リリース Mar 29, 2019
@tdtds tdtds removed this from To do in 5.0.12リリース Mar 29, 2019
@tdtds tdtds removed this from To do in 5.0.14リリース Jun 27, 2019
@tdtds tdtds added this to To do in 5.1.0リリース Jun 27, 2019
@tdtds tdtds removed this from To do in 5.1.0リリース Nov 29, 2019
@tdtds tdtds added this to To do in 5.1.1リリース via automation Nov 29, 2019
@tdtds tdtds removed this from To do in 5.1.1リリース Feb 29, 2020
@tdtds tdtds added this to To do in 5.1.2リリース via automation Feb 29, 2020
@tdtds tdtds removed this from To do in 5.1.2リリース May 31, 2020
@tdtds tdtds added this to To do in 5.1.3リリース via automation May 31, 2020
@tdtds tdtds removed this from To do in 5.1.3リリース Aug 29, 2020
@tdtds tdtds added this to To do in 5.1.4リリース via automation Aug 29, 2020
@tdtds tdtds removed this from To do in 5.1.4リリース Nov 29, 2020
@tdtds tdtds added this to To do in 5.1.5リリース via automation Nov 29, 2020
@tdtds tdtds removed this from To do in 5.1.5リリース Feb 28, 2021
@tdtds tdtds added this to To do in 5.1.6リリース via automation Feb 28, 2021
@tdtds tdtds removed this from To do in 5.1.6リリース May 29, 2021
@tdtds tdtds added this to To do in 5.1.7リリース via automation May 29, 2021
@tdtds tdtds removed this from To do in 5.1.7リリース Aug 29, 2021
@tdtds tdtds added this to To do in 5.2.0リリース via automation Aug 29, 2021
@tdtds tdtds removed this from To do in 5.2.0リリース Nov 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants