npm で起きた下記のインシデントを見て RubyGems.org ではどうなっているのか確認してみたところ、Web UI 側の 2FA 機能が最近マージされていたのでメモしておく。
2018/07/12 に発生したセキュリティ インシデント (eslint-scope@3.7.2) について
注意
- 投稿時点 (2018/07/13) の開発途中の情報であること
- アカウントの MFA が有効でも、
mfa_feature=true
の Cookie を持っていないと 2FA なしでログインできるため 今のところ効果はない こと-
gem cert
コマンドで署名する手はある Security - RubyGems Guides
-
手順
rubygems.org の Cookie を変更する
現時点では全ての開発は完了していないので隠されているらしい。
使うには Cookie でオンにする必要がある。
コンソールから document.cookie='mfa_feature=true;path=/'
など。
デバイスを設定する
上記の Cookie を持った状態でログインして、edit profile 画面を開く。
下の方に Multifactor authentication の設定項目ができているので、Google Authenticator や Authy などで設定する。
Recovery Token を忘れずに保管する。
ログインする
Cookie を持った状態でログインする。
次の画面で OTP を聞かれる。
無効にするには
mfa_feature=true
の Cookie を持った状態で edit profile を開いて、OTP か Recovery Code を入力することで無効化する。
source
RFC: Add 2FA auth to RubyGems.org · Issue #1252 · rubygems/rubygems.org
[RFC][GSoC] Two factor authentication of RubyGems · Issue #1725 · rubygems/rubygems.org