当然のことながら、安全は流行しています。 私たちはデータが信じられないほど貴重な通貨であり、常に失うリスクがある世界に住んでいます。 したがって、サーバーとデスクトップに保存するものが安全であることを確認するために、すべてを行う必要があります。 このために、管理者とユーザーは非常に複雑なパスワードを作成し、パスワードマネージャーを使用します。 しかし、Linuxサーバーとデスクトップに1ステップではなく2ステップでログインできると言ったらどうでしょうか? これは、Google認証システムのおかげです。 さらに、セットアップは非常に簡単です。
loginおよびsudoで使用する2要素認証を設定するプロセスを説明します。 これをデスクトップUbuntu 16.04でデモンストレーションしますが、このプロセスはサーバーでも機能します。 物事の2要素の側面に対処するために、 Google Authenticatorを使用します 。
非常に重要な警告が1つあります。これを設定すると、オーセンティケータからの6桁のコードがないと、アカウントにログインできません(またはsudoコマンドを使用できません)。 別のステップが追加されるため、Linuxマシンにログインする(またはsudoを使用する)必要があるたびにスマートフォンを取得する場合、これは問題になります。この方法はあなたには向かないかもしれません。 しかし、覚えておいて、この余分なステップは、そうでない場合にはない追加の保護層をもたらすことを覚えておいてください。
その後、設定に取りかかりましょう。
前提条件のインストール
Google Authenticatorとして一緒にインストールする必要があるこのパズルには2つのピースがあります。 1つ目はスマートフォンアプリです。 Google Playストアからインストールする方法は次のとおりです。
- AndroidデバイスでGoogle Playストアを開きます。
- Google認証システムで検索する
- Google Inc.の名前でタップします
- 「インストール」をタップします
- 「同意する」をタップします
- インストールが完了するのを待ちます
次に、Linuxマシンに認証システムをインストールします。 このように:
- ターミナルウィンドウを開く
- コマンド
sudo apt-get install libpam-google-authenticator
実行します - sudoパスワードを入力してEnterを押します
- プロンプトが表示されたら、yを入力してEnterを押します
- インストールが完了するのを待ちます
ここで、認証プロセスをgoogle-authenticatorと連携するように構成します。
構成
loginとsudoの 2要素認証をすぐに追加するには、1つのファイルを編集するだけです。 これは、ファイル/etc/pam.d/common-authです。 それを開いて行を見つけます:
auth [success=1 default=ignore] pam_unix.so nullok_secure
この行の上に次を追加します。
auth required pam_google_authenticator.so
ファイルを保存して閉じます。
次のステップでは、システム内の各ユーザーにgoogle-authenticatorを構成します(そうしないと、ユーザーはログインできなくなります)。 たとえば、システムにjackとoliviaという 2人のユーザーがいるとします。 最初に、 ジャック用に構成します(これが、これまでずっと作業してきたアカウントであると仮定します)。
ターミナルウィンドウを開き、
google-authenticator
コマンドを実行します。 一連の質問が表示されます(各質問にはyで回答する必要があります)。 質問は次のとおりです。
- 「/home/jack/.google_authenticator」ファイルを更新しますか? (y / n)y
- 同じトークンの複数使用を禁止しますか? これにより、約30秒ごとに1回のログイン試行に制限されますが、中間者攻撃に気付く、または防止する可能性が高まります。 (y / n)y
- デフォルトでは、トークンは30秒間有効です。クライアントとサーバー間で発生する可能性がある時間の歪みを補正するために、現在の時刻の前後に追加のトークンを提供します。 低品質の時間同期で問題が発生した場合は、ウィンドウをデフォルト値の1:30分から約4分に拡大できます。 これをやりますか? (y / n)y
- ログインしているコンピューターが総当たりログインから保護されていない場合、認証モジュールの頻度制限を有効にできます。 デフォルトでは、これにより、攻撃者は30秒ごとにログインを3回までに制限できます。 周波数制限を有効にしたいですか? (y / n)y
これらの質問に答えると、秘密鍵、検証コード、5つの緊急スクラッチコードが提供されます。 スクラッチコードを印刷して、保管してください。 これらのコードは、スマートフォンをお持ちでない場合に使用できます(各コードは1回しか使用できません)。 秘密鍵は、Google Authenticatorアプリケーションでアカウントを設定するために使用するものであり、確認コードは、すぐに(必要に応じて)使用できる1回限りのコードです。
アプリケーションのセットアップ
これで、カスタマイズされたジャックユーザーが作成されました。 oliviaユーザーを構成する前に、Google Authenticatorアプリでjackのアカウントを追加する必要があります。 アプリケーションを開き、メインウィンドウ(右上隅にある3つの垂直ドット)からメニューボタンをタップします。 [アカウントの構成]をタップし、[キーの入力]をタップします。 次のウィンドウ(画像1)で、 google-authenticatorアプリケーションの実行中に提供された16桁の秘密鍵を入力します。 アカウントに名前を付けて(使用するアカウントを覚えておいてください)、「追加」をタップします。
画像1:Google認証システムアプリに新しいアカウントを追加します。
これで、アカウントを追加した後、ログインまたはsudoを使用しようとするたびに必要となる6桁のキーが表示されます。
最後に、システム内の他のアカウントを構成する必要があります。 先ほど言ったように、 oliviaというアカウントを設定します。 このように:
- ターミナルウィンドウを開く
- コマンド
sudo su olivia
実行します - スマートフォンでGoogle認証システムを開きます
- ターミナルウィンドウ(画像2)に6桁の認証コード(アプリケーションによって提供される)を入力し、Enterを押します
- sudoパスワードを入力してEnterを押します
- 新しいユーザーとして、
google-authenticator
コマンドを実行し、質問に答え、提供されたキーとコードを書き留めます
google-authenticatorコマンドを使用してoliviaを正常に構成した後、対応するユーザー情報を使用して、Google Authenticatorアプリに新しいアカウントを追加します(最初のユーザーと同じように)。 これで、Google Authenticatorアプリでjack ユーザーとoliviaユーザーの両方のアカウントが必要になります。
画像2: sudoの 6桁の認証コードを入力します。
以上です。 マシンにログインする(またはsudoを使用する)たびに、ユーザーパスワードを入力する前に6桁の認証コードを提供する必要があります。 Linuxマシンは、2要素認証の前よりもはるかに安全になりました。 このプロセスは一部の人にとっては面倒に思えるかもしれませんが、特に機密データを持つマシンの場合は、セットアップすることを強くお勧めします。