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
@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を使った認証処理を使えなくなってしまうという。

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