質問: 最近railsの勉強しだした者です。 railsで作ったアプリをgithubなどにあげる際、そのままだとセキュリティ的に問題があるので二段階認証などしないといけないとだいぶ前に聞いたことがあったのでそこのところ質問させていただきたいと思います。 調べたところによると、二段階認証のgemを入れるパターンとgoogleで設定するパターンを見つけまして、現在はとりあえずGoogleで二段階認証の設定してgoogleで新たに生成したパスワードをrails アプリのコード内、development.rbのconfig.action_mailer.smtp_settingsの:passwordに書き換えました。メール機能自体はこれで問題なく動いているのですが、これだけでセキュリティ上問題ありませんか? ちなみにrailsアプリはecサイトを想定して作ったもので、商品の注文確定や発送の際の確認メールと、ユーザー登録、変更の際にメールを使います。 以上です。現状でまだ問題があるということや、他にも設定しなくてはいけないところなどありましたら教えていただけたら幸いです。宜しくお願いします。
回答: github はソースコードを管理するための場所で、ソースコードを動かすための場所ではありません。2段階認証は、今回の場合、次の二つのどちらかを想定なさっていると思っています。 1. ウェブアプリケーションのソースコードが知られてしまうと、アプリケーションの脆弱性がばれてしまうため、ソースコードは秘匿しなければならない。なので、 github には2段階認証をいれるべきだ。 2. ウェブアプリケーションを使うユーザーの PC に対して、どのようなウイルスなどなどがあるか分からない。ユーザーはパスワードを使いまわしているかもしれない。パスワードだけでユーザーを認証するのは、ちょっと怖すぎる。だからウェブアプリケーションは2段階認証をいれるべきだ。 「github に 2段階認証をいれる」話は 1. になります。一方、 gem を使ってどうこうは 2. の話になります。 質問者様は、どちらの想定で2段階認証をするべきだと考えていますでしょうか?