GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

Ubuntu16.04で2要素認証を使用してSSHを保護する

このチュートリアルでは、Ubuntu 16.04 VPSでGoogle認証システムを使用して2要素認証(2FA)を構成するために必要な手順について説明します。このアプリケーションには、複数のモバイルプラットフォーム用のワンタイムパスコードジェネレーターの実装が含まれています。この方法では、サーバーにもう1つの保護レイヤーが追加され、基本的なログイン手順に追加の手順が追加されます。

1。 SSH経由でログイン

ユーザーrootとしてSSH経由でサーバーにログインします

ssh root@IP_Address

2。システムパッケージを更新する

インストールされているすべてのパッケージを更新します:

apt-get update && apt-get upgrade

3。 Google認証システムをインストールする

Google認証システムをインストールします パッケージ。

apt-get install libpam-google-authenticator

パッケージがインストールされたら、google-authenticatorプログラムを実行して、ログに記録するユーザーのキーを作成します。プログラムは、2種類の認証トークンを生成できます–時間ベース およびワンタイムトークン 。時間ベースのパスワードは一定の時間でランダムに変更され、ワンタイムパスワードは1回の認証で有効です。

4。 Google認証システムを実行する

この場合、時間ベースのパスワードを使用します。プログラムを実行してキーを作成します

google-authenticator

認証を時間ベースにするかどうかを尋ねられます。

Do you want authentication tokens to be time-based (y/n) y

大きなQRコードが端末で生成されます。 Android / iOS / Windows Phoneまたはタブレットの認証システムアプリケーションでコードをスキャンするか、画面に生成された秘密鍵を入力できます。

緊急スクラッチコードも生成されます。モバイルデバイスを紛失した場合の認証にこれらのコードを使用できます。

Your emergency scratch codes are:
80463533
68335920
89221348
12489672
11144603

次の質問に「はい」と答えて、rootユーザーの認証設定を保存します

Do you want me to update your "/root/.google_authenticator" file (y/n) y

5。ワンタイムパスワードを生成するようにオーセンティケーターを構成します。

次に、ワンタイムパスワードを生成するようにオーセンティケーターを構成できます。 30秒間続くため、生成されたすべてのパスワードを1回使用できます。

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

デバイス間で時間の同期に問題がある場合は、次の設定を使用できるため、このオプションは使用しません

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n

次の設定は、ブルートフォース攻撃を防ぎます。正しいパスワードを入力するチャンスは30秒あたり3回だけです。

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y

これでGoogle認証システムアプリケーションが構成されました。次のステップは、openSSHで認証設定を構成することです。これを行うには、「/ etc / pam.d / sshd」ファイルを開き、ファイルの最後に次の行を追加します。

# vim /etc/pam.d/sshd

auth required pam_google_authenticator.so

変更を保存し、「/ etc / ssh / sshd_config」ファイルを開いて、チャレンジレスポンス認証を有効にします。

# vim /etc/ssh/sshd_config

ChallengeResponseAuthentication yes

6。 SSHサーバーを再起動します

ファイルを保存し、SSHサーバーを再起動して変更を有効にします。

systemctl restart ssh

このチュートリアルに厳密に従った場合、サーバーで2要素認証が有効になり、SSH経由でUbuntu VPSにログインしようとするたびに、ユーザーのパスワードと、モバイルデバイスのGoogle認証アプリケーションによって生成された確認コードを入力する必要があります。 。

もちろん、Ubuntu 16.04で2要素認証を使用してSSHを保護する必要はありません。ただし、Linux VPSホスティングサービスのいずれかを使用している場合は、専門のLinux管理者に2要素認証を使用してSSHを保護するよう依頼できます。 Ubuntu16.04で。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS。 Ubuntu 16.04で2要素認証を使用してSSHを保護する方法に関するこの投稿が気に入った場合は、下のボタンを使用してソーシャルネットワーク上の友達と共有するか、コメントセクションに返信を残してください。ありがとう。

新しいバージョンはこちらから入手できます:Ubuntu20.04でSSHの多要素認証を設定します。


Panels
  1. Centos7のWiKIDからの2要素認証による安全なOpenVPN

  2. CentOS6で2段階認証を使用してSSHを保護する方法

  3. Ubuntu20.04でSSHの多要素認証を設定する

  1. UbuntuとCentOSでpam-radiusを使用して2要素認証用にsudoを構成する方法

  2. Sshアクティビティをログに記録しますか?

  3. Google認証システムを使用して2要素認証を設定する

  1. Ubuntu18.04でSSHを有効にする方法

  2. Ubuntu20.04SSHサーバー

  3. SSH の使用を開始する