時間の経過とともに、従来のユーザー名とパスワードの認証は、アプリケーションとシステムに堅牢なセキュリティを提供するには不十分であることが証明されてきました。ユーザー名とパスワードは、多数のハッキングツールを使用して簡単に解読される可能性があり、システムが侵害に対して脆弱なままになります。このため、セキュリティを真剣に受け止めている企業やエンティティは、2要素認証を実装する必要があります。 。
口語的にはMFAとして知られています (多要素認証 )、2要素認証は、ユーザーがコードなどの特定の詳細を提供することを要求する追加のセキュリティレイヤーを提供します 、または OTP (ワンタイムパスワード )通常のユーザー名とパスワードで認証する前または後。
現在、 Googleなどの複数の企業 、 Facebook 、 Twitter 、および AWS 、いくつか言及すると、ユーザーに MFAを設定する選択肢を提供します アカウントをさらに保護するため。
このガイドでは、2要素認証の使用方法を示します。 Ubuntu 。
ステップ1:GoogleのPAMパッケージをインストールする
まず、 Google PAMをインストールします パッケージ。 PAM 、 Pluggable Authentication Moduleの略語 は、Linuxプラットフォームで追加の認証レイヤーを提供するメカニズムです。
パッケージはUbuntuでホストされています リポジトリなので、次のように進めてaptコマンドを使用してインストールします。
$ sudo apt install libpam-google-authenticator
プロンプトが表示されたら、'Y'
を押します ENTERを押します インストールを続行します。

ステップ2:スマートフォンにGoogle認証システムアプリをインストールする
さらに、タブレットにGoogle認証システムアプリケーションをインストールする必要があります またはスマートフォン 。アプリは6桁のOTPを表示します 30ごとに自動更新するコード 秒。

ステップ3:UbuntuでGooglePAMを構成する
Google認証システムを使用 アプリが配置されたら、 UbuntuでGooglePAMパッケージを構成します /etc/pam.d/common-authを変更する 図のようにファイルします。
$ sudo vim /etc/pam.d/common-auth
示されているように、ファイルに以下の行を追加します。
auth required pam_google_authenticator.so

ファイルを保存して終了します。
次に、以下のコマンドを実行して PAMを初期化します。 。
$ google-authenticator
これにより、端末画面にいくつかの質問が表示されます。まず、認証トークンを時間ベースにするかどうかを尋ねられます。
時間ベースの認証 トークンは一定時間後に期限切れになります。デフォルトでは、これは 30以降です。 秒。新しいトークンのセットが生成されます。これらのトークンは、時間ベースではないトークンよりも安全であると見なされるため、'y'
と入力します。 はいの場合は、 ENTERを押します 。

次に、QRコード 以下に示すように端末に表示され、そのすぐ下にいくつかの情報が表示されます。表示される情報は次のとおりです。
- 秘密の鍵
- 確認コード
- 緊急スクラッチコード
後で参照できるように、この情報をボールトに保存する必要があります。 緊急スクラッチコード オーセンティケーターデバイスを紛失した場合に非常に役立ちます。認証デバイスに何かが起こった場合は、コードを使用してください。
Google認証システムを起動します スマートデバイスでアプリを選択し、[QRコードをスキャン]を選択します ’提示されたQRコードをスキャンします。

注 :QRコード全体をスキャンするには、ターミナルウィンドウを最大化する必要があります。 QRコードがスキャンされると、30秒ごとに変化する6桁のOTPがアプリに表示されます。

その後、'y'
を選択します ホームフォルダのGoogle認証システムファイルを更新します。
次のプロンプトで、ログインを 30ごとに1つのログインに制限します 中間者攻撃によって発生する可能性のある攻撃を防ぐための秒数。したがって、'y'
を選択します

次のプロンプトで、'n'
を選択します サーバーとクライアント間のタイムスキューに対処する期間の延長を禁止します。時間の同期が不十分な問題が発生していない限り、これはより安全なオプションです。
そして最後に、レート制限を 3のみに有効にします ログイン試行。

この時点で、2要素認証の実装が完了しました。 特徴。実際、sudoコマンドを実行すると、GoogleAuthenticatorアプリから取得できる確認コードの入力を求められます。 。

再起動することでこれをさらに確認できます。ログイン画面が表示されたら、確認コードを入力するよう求められます。

Google認証システムからコードを提供した後 アプリ、システムにアクセスするためのパスワードを入力するだけです。

ステップ4:SSHをGoogle認証システムと統合する
SSHを使用する場合 Google PAM モジュールでは、2つを統合する必要があります。これを実現するには2つの方法があります。
SSHパスワード認証の場合
SSHを有効にするには 通常のユーザーのパスワード認証では、まず、デフォルトの SSHを開きます 構成ファイル。
$ sudo vim /etc/ssh/sshd_config
そして、次の属性を「はい」に設定します 示されているように

rootユーザーの場合、「 PermitRootLogin」を設定します ‘'yes'
。
PermitRootLogin yes

ファイルを保存して終了します。
次に、 PAMを変更します SSHのルール
$ sudo vim /etc/pam.d/sshd
次に、次の行を追加します
auth required pam_google_authenticator.so

最後に、 SSHを再起動します 変更を有効にするためのサービス。
$ sudo systemctl restart ssh
以下の例では、 Ubuntuにログインしています。 Puttyクライアントからのシステム。

SSH公開鍵認証の場合
公開鍵認証を使用している場合 、上記の手順を繰り返し、 / etc / ssh / sshd_configの下部に表示される行を追加します ファイル。
AuthenticationMethods publickey,keyboard-interactive
もう一度、 PAMを編集します SSHのルール デーモン。
$ sudo vim /etc/pam.d/sshd
次に、次の行を追加します。
auth required pam_google_authenticator.so

ファイルを保存し、前に見たようにSSHサービスを再起動します。
$ sudo systemctl restart ssh
そして、これでこの記事は終わりです。それがどのように進んだかを聞いてうれしく思います。