\r\n\r\n
Raspberry Piは今やどこにでもあり、だからこそ、脅威の担い手やサイバー犯罪者の目に留まっているのです。二要素認証を使ってPiを保護する方法を紹介します。
Raspberry Piは、シングルボードコンピュータです。2012年に英国で発売され、子どもたちがいじり、創造し、コードを学ぶことを目的としています。当初はクレジットカード大の基板形状で、電源は**充電器でした。
HDMI出力、USBポート、ネットワーク接続を備え、Linuxで動作する。その後、製品への組み込みやヘッドレスシステムとして動作するように設計された小型バージョンもラインナップに加わった。価格は、Minimalist Pi Zeroの$5からPi 4b/8gbの$75までです。
このマイクロコンピュータは、全世界で3,000万台以上売れたというから驚きだ。宇宙空間まで浮かべて気球で戻すなど、趣味の人たちが驚くような感動的なことをやってのけたのです。
しかし、あるコンピュータ・プラットフォームが十分に普及すると、必然的にサイバー犯罪者の注目を浴びることになります。どれだけのPiがデフォルトのユーザーアカウントとパスワードを使っているかと思うと恐ろしいです。もし、Piがパブリックフェーシングで、インターネットからsecureshell(SSH)でアクセスできるのであれば、安全でなければなりません。
Piに貴重なデータやソフトウェアが入っていなくても、Piは本当のターゲットではなく、ネットワークに侵入するための手段に過ぎないので、保護する必要があるのです。脅威の参加者は、一度ネットワークに足がかりを得ると、本当に興味のある他のデバイスに移っていきます。
認証やアクセスには1つ以上の要因が必要であり、その要因は以下のように分類される。
多要素認証(MFA)は、パスワードと1つ以上のカテゴリーが必要です。例えば、パスワードと**を使用します。はGoogle Authenticatorアプリケーションを、PiはGoogle Authenticationモジュールを動作させる予定です。
**アプリケーションはQRコードを読み取ることでPiとリンクします。これにより、Piからあなたの**にいくつかのシード情報が渡され、それらの番号生成アルゴリズムが同時に同じコードを生成することを保証します。これらのコードは、TOTP(Time-based One-time Password)と呼ばれる。
接続要求を受けると、Piはコードを生成する。あなたは**のAuthenticatorアプリケーションを使って現在のコードを表示し、Piはあなたのパスワードと認証コードを要求します。パスワードとTOTPが正しくなければ、接続できません。
普段からSSHでPiに接続しているのであれば、ヘッドレスシステムである可能性が高いので、SSH接続で設定を行うことにします。
SSH接続は、設定やテスト用に1つ、セーフティネットとしてもう1つ、計2つ確立しておくと安心です。こうすることで、もしあなたがPiからロックアウトしても、2番目のアクティブなSSH接続は有効なままです。SSHの設定を変更しても、進行中の接続には影響しませんので、2番目の設定で変更内容を元に戻し、状況を修正することが可能です。
最悪の場合、SSH経由で完全にロックアウトされても、Piをモニター、キーボード、マウスに接続し、通常のセッションでログインすることが可能です。つまり、Piがモニターを駆動できる状態であれば、ログインは可能なのです。ただし、そうでない場合は、2要素認証が機能していることを確認するまで、Secure Web SSH接続を開いたままにしておく必要があります。
もちろん、究極の制裁は、OSをPiのマイクロSDカードに流すことですが、それは避けましょう。
まず、Piとの接続を2つ確立する必要があります。どちらのコマンドも次のような形式です。
ssh [email protected]このPiの名前は「watchdog」ですが、自分の名前を打ち込みます。また、デフォルトのユーザー名を変更した場合にも使用することができます。
セキュリティ上の理由から、このコマンドを別々のターミナルウィンドウで2回入力し、Piに2つの接続を持つようにすることを忘れないでください。そして、そのうちの1つを最小化し、邪魔にならないように、また誤って閉じないようにします。
接続すると、挨拶文が表示されます。プロンプトには、ユーザー名(ここでは "pi")とpiの名前(ここでは "watchdog")が表示されます。
sshdanthusu config」ファイルを編集する必要がありますが、これはnanoテキストエディタで行います。
sudo nano /etc/ssh/sshd_config次の行が表示されるまで、ドキュメントをスクロールしてください。
ChallengeResp***eAuthentication noNo "を "Yes "に置き換える
Ctrl+Oでnanoの変更を保存し、Ctrl+Xでファイルを閉じます。以下のコマンドで、SSHデーモンを再起動します。
sudo systemctl restart sshGoogleauthenticator をインストールする必要があります。これは **able 認証モジュール (PAMs) のライブラリです。アプリケーション (SSH) は Linux PAM インターフェイスを呼び出し、要求された認証タイプを提供する適切な PAM モジュールを見つけます。
と入力する。
sudo apt-get install libpam-google-authenticatorgoogleauthenticatorアプリは、iPhoneとAndroidに対応していますので、お使いの**に合ったバージョンをインストールするだけです。また、このような認証コードに対応したAuthyなどのアプリを利用することも可能です。
SSHでPiに接続する際に使用するアカウントで、以下のコマンドを実行します(sudoの接頭辞は付けないでください)。
google-authenticator認証トークンをタイムベースにするかどうか尋ねられるので、Yを押して、Enterを押してください。
クイックレスポンス(QR)コードが生成されましたが、幅が80列の端末ウィンドウより広いため、スクランブルされました。コードを表示するには、ウィンドウを広くドラッグしてください。
QRコードの下には、いくつかのセキュリティコードも表示されます。これらは「.googleu authenticator」というファイルに書き込まれますが、今すぐコピーしておくとよいでしょう。TOTPを取得できなくなった場合(※2)には、これらのコードで認証することができます。
4つの質問に答える必要があります。
Do you want me to update your "/home/pi/.google_authenticator" file? (y/n)Yキーを押しながら、Enterキーを押します。
次の問題は、30秒の間に同じコードが何度も使われるのを防ぐかどうかです。
Yキーを押しながら、Enterキーを押します。
3つ目の質問は、TOTPトークンの受付窓口を拡大するかどうかということです。
この質問に答えるにはNを押し、Enterを押してください。
最後の質問は、"レートリミッティングを有効にすべきか "です。
Yと入力し、Enterキーを押す。
コマンドプロンプトに戻ります。必要に応じて、端末のウィンドウを広くしたり、端末のウィンドウを上にスクロールしたりして、QRコード全体を見ることができるようにしてください。
**で認証アプリを開き、画面右下のプラス記号(+)を押してください。QRコードを読み取る」を選択し、端末のウィンドウでQRコードを読み取ってください。
認証アプリケーションにPiのホスト名を冠した新しいエントリーが表示され、その下に6桁のTOTPコードが記載されます。読みやすいように3桁の数字が2組で表示されますが、6桁の数字を入力する必要があります。
コードの横にある丸いアニメーションは、そのコードが有効である時間を示しており、丸がいっぱいの場合は30秒、半円の場合は15秒、といった具合になります。
もう一つ編集するファイルがあります。SSHにどのPAM認証モジュールを使うか教える必要があります。
sudo nano /etc/pam.d/sshd文書の先頭付近に次の行を入力します。
#2FA auth required pam_google_authenticator.soTOTPが必要なときにも選択できる。
pam\u google」の「_verifier.so」は、先ほどapt getコマンドでインストールした際に使用したハイフン(-)ではなく、アンダースコアを使っていることに注意してください。
Ctrl+Oでファイルに変更を書き込み、Ctrl+Xでエディターを閉じます。最後にもう一度、SSHを再起動すれば完了です:。
sudo systemctl restart sshこのSSH接続は閉じますが、次のステップを確認するまで、別のSecure Web SSH接続を実行したままにしておきます。
の認証アプリケーションを開き、準備が整っていることを確認してから、以下の場所でPiへの新しいSSH接続を開始します。
ssh [email protected]パスワードの入力を求められるので、入力する。のパスワードを、数字の間にスペースを入れずに入力してください。パスワードと同じように、画面には表示されません。
すべてが計画通りに動いていれば、Piへの接続が許可されるはずです。そうでない場合は、Secure Web SSH接続を使って、前の手順を確認します。
上の "safe "の "r "に気づきましたか?
実際、Raspberry Circumferenceと接続する際には、これまで以上に安全性を高めていますが、100%安全ということはありません。2ファクタ認証を回避する方法があります。これらの技術は、ソーシャルエンジニアリング、中間者攻撃、エンドポイントマン攻撃、SIMカードの交換、その他の高度な技術に依存していますが、当然ながらここでは説明しません。
では、すべてが完璧でないなら、なぜ悩むのでしょうか?まあ、同じ理由で、たとえ誰かが鍵を開けるとしても、出かけるときには玄関の鍵をかけるでしょう。