RaspberryPiターミナルを介してMFAセキュリティを追加する方法

Raspberry Piは人気のあるシングルボードコンピューターで、近年流行しています。初心者のコーダーや技術愛好家の間で人気が高まり、一般的に使用されているため、サイバー犯罪者が自分のやりたいこと、つまりサイバー盗難を行う標的になっています。多数のファイアウォールとパスワードで保護する通常のPCデバイスと同様に、同様の多面的な保護でRaspberryPiデバイスを保護することがますます重要になっています。



ラズベリーパイ

多要素認証は、次の2つ以上を組み合わせて、アカウントまたはデバイスへのアクセスを許可することで機能します。アクセス許可情報を提供する3つの大まかなカテゴリは、あなたが知っているもの、あなたが持っているもの、そしてあなたがいるものです。最初のカテゴリは、アカウントまたはデバイスに設定したパスワードまたはPINコードである可能性があります。追加の保護レイヤーとして、スマートフォンに送信される、または所有する別のデバイスで生成されるシステム生成のPINなど、2番目のカテゴリの何かを提供する必要がある場合があります。 3番目の選択肢として、顔認識、拇印、網膜スキャンなどの生体認証などの物理キーで構成される、デバイスのこれらのスキャンを実行する機能に応じて、3番目のカテゴリの何かを組み込むこともできます。



この設定では、設定されたパスワードとスマートフォンから生成されたワンタイムトークンの2つの最も一般的な認証モードを使用します。両方の手順をGoogleと統合し、Googleのオーセンティケーターアプリケーションを介してパスワードを受け取ります(これにより、携帯電話でSMSコードを受信する必要がなくなります)。



ステップ1:Google認証システムアプリケーションを入手する

GooglePlayストアのGoogle認証システムアプリケーション。



デバイスのセットアップを開始する前に、スマートフォンにGoogle認証システムアプリをダウンロードしてインストールしましょう。 Apple App Store、Google Playストア、または操作しているデバイスのそれぞれのストアにアクセスします。 Google認証システムアプリケーションをダウンロードし、インストールが完了するのを待ちます。 Microsoftのオーセンティケーターなどの他の認証アプリケーションも使用できますが、チュートリアルでは、Googleオーセンティケーターアプリケーションを使用します。

ステップ2:SSH接続を設定する

Raspberry Piデバイスは通常SSHで動作し、SSHを介した多要素認証の構成にも取り組みます。これを行うために、次の理由で2つのSSH接続を作成します。デバイスからロックアウトされたくないため、1つのストリームからロックアウトされた場合、2番目のストリームでもう一度アクセスできるようになります。 。これは、デバイスを所有しているユーザーのために用意しているセーフティネットです。セットアップ全体が完了し、多要素認証が正しく機能していることを確認するまで、このセーフティネットの2番目のストリームをセットアッププロセス全体で継続します。次の手順を慎重かつ慎重に実行すれば、認証の設定に問題はありません。

ラズベリーパイインターフェース。



2つのターミナルウィンドウを起動し、それぞれに次のコマンドを入力します。これは、2つのストリームを並行してセットアップするためです。

ssh username@piname.local

ユーザー名の代わりに、デバイスのユーザー名を入力します。 pi名の代わりに、piデバイスの名前を入力します。

Enterキーを押すと、両方のターミナルウィンドウにウェルカムメッセージが表示され、デバイスの名前とユーザー名も表示されます。

次に、sshd_configファイルを編集します。これを行うには、各ウィンドウで次のコマンドを入力します。このセクションのすべての手順を両方のウィンドウで並行して実行することを忘れないでください。

sudo nano / etc / ssh / sshd_config

下にスクロールして、次のように表示されている場所を見つけます。 ChallengeResponseAuthenticationいいえ

代わりにこれを入力して、「いいえ」を「はい」に変更します。 [Ctrl] + [O]を押して変更を保存し、[Ctrl] + [X]を押してウィンドウを終了します。繰り返しますが、両方のウィンドウでこれを行います。

端末を再起動し、それぞれに次のコマンドを入力してSSHデーモンを再起動します。

sudo systemctl restart ssh

最後に。セットアップにGoogle認証システムをインストールして、システムを統合します。これを行うには、次のコマンドを入力します。

sudo apt-get install libpam-google-authenticator

これでストリームがセットアップされ、この時点までにデバイスとスマートフォンの両方でGoogle認証システムが構成されました。

ステップ3:多要素認証をGoogle認証システムと統合する

  1. アカウントを起動し、次のコマンドを入力します。 google-authenticator
  2. 時間ベースのトークンには「Y」を入力します
  3. ウィンドウを伸ばして、生成されたQRコード全体を確認し、スマートフォンデバイスでスキャンします。これにより、RaspberryPiのオーセンティケーターサービスをスマートフォンアプリケーションとペアリングできるようになります。
  4. QRコードの下にいくつかのバックアップコードが表示されます。これらを書き留めるか、写真を撮って、Google認証システムアプリケーションで多要素認証を確認できず、アクセスするためにバックアップコードが必要になった場合に備えて、予約しておいてください。これらを安全に保管し、保管しないでください。それらを失います。
  5. ここで4つの質問が表示されます。ここでは、「はい」の場合は「Y」、いいえの場合は「N」のいずれかを入力して、質問に回答する必要があります。 (注:以下の質問は、Raspberry Piデジタル端末から直接引用されているため、直面する質問とその回答方法を正確に把握できます。)

    iOS上のGoogle認証システムスマートフォンアプリケーション。アカウントはセキュリティ上の理由でブラックアウトされ、セキュリティコードの数字もシャッフルされて変更されました。

    • 「「/home/pi/.google_authenticator」ファイルを更新しますか?」 (y / n): 「Y」を入力してください
    • 「同じ認証トークンの複数の使用を禁止しますか?これにより、約30秒ごとに1回のログインに制限されますが、man-in-the-middle攻撃に気付くか、さらには防止する可能性が高くなります(y / n):」 「Y」を入力してください
    • 「デフォルトでは、モバイルアプリによって30秒ごとに新しいトークンが生成されます。クライアントとサーバーの間で発生する可能性のあるタイムスキューを補正するために、現在の時刻の前後に追加のトークンを許可します。これにより、認証サーバーとクライアントの間で最大30秒のタイムスキューが可能になります。時間同期が不十分で問題が発生した場合は、ウィンドウをデフォルトのサイズである3つの許可されたコード(前のコード1つ、現在のコード1つ、次のコード)から許可された17のコード(前の8つのコード、現在のコード1つ、次の8コード)。これにより、クライアントとサーバー間で最大4分のタイムスキューが可能になります。あなたはそうしたいですか? (y / n):」 「N」を入力してください
    • 「ログインしているコンピューターがブルートフォースログインの試行に対して強化されていない場合は、認証モジュールのレート制限を有効にすることができます。デフォルトでは、これにより、攻撃者は30秒ごとに3回以下のログイン試行に制限されます。レート制限を有効にしますか? (y / n):」 「Y」を入力してください
  6. 次に、スマートフォンでGoogle認証システムアプリケーションを起動し、画面上部のプラスアイコンを押します。 Piデバイスに表示されているQRコードをスキャンして、2つのデバイスをペアリングします。これで、ログインが必要なときはいつでも、24時間認証コードが表示されます。コードを生成する必要はありません。アプリケーションを起動して、その時点で表示されているアプリケーションを入力するだけです。

ステップ4:SSHを使用したPAM認証モジュールの構成

ターミナルを起動し、次のコマンドを入力します。 sudo nano /etc/pam.d/sshd

図のように次のコマンドを入力します。

#2FA認証が必要pam_google_authenticator.so

パスワードを入力する前にGoogle認証システムアプリケーションを介してパスキーの入力を求められる場合は、前に入力したコマンドの前に次のコマンドを入力してください。

@include common-auth

パスワードの入力後にパスキーの入力を求められる場合は、前の#2FAコマンドセットの後に入力することを除いて、これと同じコマンドを入力します。 [Ctrl] + [O]を押して変更を保存し、[Ctrl] + [X]を押してウィンドウを終了します。

ステップ5:並列SSHストリームを閉じる

多要素認証の設定が完了したので、これまで行っていた並列ストリームの1つを閉じることができます。これを行うには、次のコマンドを入力します。

sudo systemctl restart ssh

2番目のバックアップセーフティネットストリームはまだ実行中です。多要素認証が正しく機能していることを確認するまで、これを実行し続けます。これを行うには、次のように入力して新しいSSH接続を起動します。

ssh username@piname.local

ユーザー名の代わりに、デバイスのユーザー名を入力します。 pi名の代わりに、piデバイスの名前を入力します。

ログイン手順が実行されます。パスワードを入力してから、この時点でGoogle認証システムアプリケーションに表示されているコードを入力します。両方のステップを30秒で完了するように注意してください。正常にログインできる場合は、戻って前の手順を繰り返し、実行していた並列セーフティネットストリームを閉じることができます。すべての手順を正しく実行すると、RaspberryPiデバイスで多要素認証を再開できるようになります。

最後の言葉

デバイスやアカウントで実施する認証プロセスと同様に、これらの追加要素により、以前よりも安全になりますが、完全に安全になるわけではありません。デバイスを使用するときは注意してください。デバイスがさらされる可能性のある潜在的な詐欺、フィッシング攻撃、サイバー盗難に注意してください。コード取得プロセスを設定した2番目のデバイスを保護し、安全に保管します。システムに戻るには、毎回このデバイスが必要になります。バックアップスマートフォンデバイスにアクセスできない場所にいる場合に備えて、バックアップコードを既知の安全な場所に保管してください。