mieki256's diary



2023/08/16(水) [n年前の日記]

#1 [prog][web] GitHubの2FAについて

GitHubから、「45日以内に2FAを有効にしないとお前のアカウントにアクセスできなくしてやるぞ!」というメールが届いた。

2FAってなんやねん。

_Raising the bar for software security: GitHub 2FA begins March 13 - The GitHub Blog

2FAとは、二要素認証、二段階認証の略らしい。two-factor authentication の頭文字を取って、2FA。

とりあえず GitHub で二段階認証を使う際には…。 そういった方法があるらしいのだけど…。

TOTPアプリの、TOTPって何? Time-based One-Time Password の略らしい。ワンタイムパスワードをどうこうしてくれるアプリっぽいな…。

_TOTPとは?仕組みやメリット・デメリット、OTP/HOTPとの違いまでわかりやすく解説 :: トラスト・ログインbyGMO ブログ | シングルサインオン(SSO)や認証に関する話題

Microsoft Authenticatorを試そうとしたけれどダメだった :

TOTPアプリの一つ、Microsoft Authenticator を試用してみようと思ったのだけど…。

_Microsoft Mobile Phone Authenticator App | Microsoft Security

Microsoft Authenticator は、PC版が無くて、Android版かiOS版しか無いらしい。

しかし、手持ちのスマホ、HUAWEI P9 lite で Google Play の該当ページを開こうとしても、「このアプリはお前の持ってる機種をサポートしてねえよ」と言われてページすら表示できない。

別の手持ちのスマホ、iPhone5 に、App Store 経由でインストールしようとしても「iOS 14.0以上が必要だ。お前のiPhoneはダメ」と言ってくる。iPhone5 は iOS 10.3.4 なのだ…。

なんでPC版が無いんや…。Micorosoft は Windows を作って販売してる会社とちゃうんかい…。スマホ向けアプリしかないってどういうことや…。

GitHub Mobileを試そうとしたけどダメだった :

GitHub Mobile なるアプリをインストールできないかと、HUAWEI P9 lite + Google Play で検索してみたけど、これまた「お前の機種はサポートしてねえ」と言われる。

iPhone5 + App Store で検索したけれど、これも iOS 15.0以上が必要らしい。

Authyもダメだった :

Authy というアプリを HUAWEI P9 lite にインストールしたところ、インストールはできたものの、初回起動時に電話番号を要求された。SMSでパスワードを送ってくるので、それを入力しないと使えないらしい。自分は携帯電話サービスを契約してないので、SMSも使えない。つまり、この Authy も使えない。

ここ最近、どいつもこいつも、SMSを使えることを前提にしてサービス提供するのだよなあ…。

1Passwordはよくわからない :

1Passwordとやらについてググってみたところ、PC + Webブラウザ上で拡張機能としてインストールできそうなのだけど…。どうやら有償のサービスっぽい…。

Google Authenticatorでどうにかなったかもしれない :

GitHub上で提示されてるTOTPアプリの一覧には無かったけれど、Google Authenticator というスマホアプリも存在しているらしい。

_GitHubを使おう! ログイン方法や2段階認証設定を徹底解説 | 侍エンジニアブログ
_Google Authenticator - Google Play のアプリ
_Google Authenticator - Wikipedia

どうやら スマホ + Google Authenticator でも GitHub の二段階認証とやらを利用できるらしい。このアプリなら、HUAWEI P9 lite にもインストールすることができた。

GitHubのアカウント管理画面で、何かのQRコードが表示されるので、それを Google Authenticator を使ってスキャンすると、6桁の数字が出てきた。

その数字を GitHubのサイト上で打ち込んだところ、リカバリーコードなるものが16個ほど表示された。何か問題が起きてアクセスできなくなってしまった場合は、このリカバリーコードとやらが役に立つらしい。ダウンロードしてどこかに保存しておく。

「二段階認証が有効になったよ」という画面が出てきたので、一旦 GitHub からサインアウトして、またサインインしてみた。メールアドレスとパスワードの入力後、追加でパスワードを入れろと言ってくる。

スマホ(HUAWEI P9 lite)上で Google Authenticator を起動してみたら、6桁の数字が表示されている。どうやら一定時間でこの数字は次々に変わっていくらしい。

この数字を GitHub上で打ち込んでみたら、自分のアカウントにサインインすることができた。

リポジトリにアップロード :

これ、リポジトリにアップロードする時はどうするんだろう…? ググったら、以下のような感じになるっぽい。

_GitHubで2段階認証設定後にTortoiseGitからレポジトリ操作を行う - MRが楽しい
_TortoiseGitをGithubの二段階認証に対応 - schima.hatenablog.com

Personal access tokens なるものが絡んでくるようだなと…。

PCだけでどうにかならないか :

ふと疑問が湧いた。コレって、スマホ持ってない人はどうするの?

貧乏人は、あるいは宗教上の理由でスマホを持てない人には、GitHubを使わせないぜ、ということだろうか。仮にその人がプログラマーとしてどれだけ優秀でも、スマホを持ってなかったらそれだけで門前払いということか。もしそうだとしたら、スマホを持ってない人、SMSを使えない人は、もはや人間に非ずって感じがして、とても嫌だな…。いやまあ、そもそもインターネットを利用できる環境に無い人達も、既に社会から人間扱いされてないのであろう予感もあるけれど。

スマホが無い場合でもどうにかならんかとググってみたら、WinAuthなるものを使うことで、PCだけでもどうにかなりそうな感じがしてきた。

_WinAuthでGitHubの二段階認証を設定する方法【PCだけでできる】│NAOZUMIBLOG
_二段階認証/WinAuth(ワンタイムパスワード)導入手順
_Windows Authenticator for Google, Blizzard, Guild Wars, Rift
_winauth/winauth: Authenticator on Windows

試してみた。WinAuth-3.5.1.zip を入手。解凍すると WinAuth.exe という実行ファイルがある。実行。
  • Add → Authenticator を選択。
  • Name : github, Secret Code : GitHub のアカウントページで入手した謎の文字列を入力。

GitHubにサインインしてる状態で、Settings → Password and authentication → Two-factor authentication の Authenticator app の右の Edit をクリック。QRコードが表示されるけど、よく見ると setup key というリンクがあるのでクリック。これで謎文字列が表示されるのでコピーする。

WinAuth の Secret Code 入力欄に謎文字列を貼り付けて、Verify Authenticator のボタンをクリックすると、その下に6桁の数字が出てくるので、それを GitHub 上の Verify the code from the app に打ち込んで save。

WinAuth側でOKボタンを押すと、Protection画面が出てくる。パスワードを設定しておくとより安全、ということらしい。設定しない状態にもできるけど、今回は一応設定しておいた。

これで、WinAuth が生成したワンタイムパスワードを使って、GitHub にサインインできるようになった。

スマホが無くてもどうにかなりそうだなと…。Windows機さえあれば、一応人間扱いしてもらえる…。

ただ、セキュリティ的には弱くなってる状態らしい。そのPCさえあればアカウントにサインインできてしまう状態より、PCとは別にスマホが ―― PCとは異なるデバイスが無いとサインインできない状態のほうが安全、ということなのだろう。

Linuxはどうするのだろう :

WinAuth は Windows上でしか動かないので…。SMSを使えないしそもそもスマホも持ってない、PCは持ってるけれど Windows は使ってなくて普段は Linux を使ってます、という人は一体どうしたらいいのか。伝説級の凄腕ハッカーでもスマホかWindowsを持ってないと門前払いなのか。

Linuxの場合、oathtool というCLIコマンドが使えるらしい。

_第508回 Ubuntuでコマンドラインからワンタイムパスワードを扱う | gihyo.jp
_Ubuntu Linux 22.04 LTSで、oathtoolを使ってコマンドラインでTOTPのワンタイムパスワードを生成する - CLOVER
_oathtoolをインストールする(二要素認証のワンタイムパスワードをsecretから生成する) - やってみる
_LinuxのCLI上で二段階認証クライアント(MFA)を実行する - Qiita

良かった。Linuxをバリバリ使う凄腕ハッカーもGitHubから門前払いされずに済みそう。

以上です。

過去ログ表示

Prev - 2023/08 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project