RHEL CentOS 8 SSH2要素認証

2要素認証

二要素認証とは、ユーザーの既知情報(ユーザー名とパスワード)とユーザーの未知情報の2つの要素を事前に組み合わせることにより、二要素ID認証を実現することです。 2因子認証は、時間同期技術を使用するシステムであり、時間、イベント、キーの3つの変数に基づく1回限りのパスワードを使用して、従来の静的パスワードを置き換えます。各動的パスワードカードには一意のキーがあり、サーバー側に同時に保存されます。動的パスワードカードとサーバーは、それぞれ同じキー、同じランダムパラメータ(時間、イベント)、および同じに基づいています。アルゴリズムは、認証用の動的パスワードを計算してパスワードの一貫性を確保し、ユーザーのID認証を実現します。

TOTP

時間ベースのワンタイムパスワードアルゴリズム、時間同期に基づくワンタイムパスワード、動的パスワード。

TOTP認証手順

Authenticator(今回はGoogle Authenticatorを使用)

Google Authenticator

Microsoft Authenticator

TOTP Authenticator

アリユンアイデンティティの宝物

時間同期

CentOS 8では、dnf install ntpは、ntpインストールソフトウェアがないことを要求します。

# wlnmpのyumソースを追加します
rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
# 時間同期ソフトウェアをインストールする
yum install wntp
# 同期イベント
ntpdate  192.168.99.107
# 時間同期スケジュールタスク
crontab   -e
* /10****/usr/sbin/ntpdate 192.168.99.107;/sbin/hwclock -w 
# スケジュールされたタスクを再開します
systemctl   restart crond

google-authenticator

epel倉庫

dnf install  epel-release

google-authenticator


dnf install google-authenticator

google-authenticatorバージョン

rpm -qa |grep google-authenticator
google-authenticator-1.07-1.el8.x86_64

QRコード生成ツール

QRコード生成ツールをインストールしないと、google-authenticatorはQRコードを生成できませんが、生成されたリンクをブラウザーにコピーしてQRコードを生成することはできます。

dnf  install qrencode

**google-authenticator **を実行します

google-authenticatorパラメーターの紹介

番号1:時間ベースのトークンを作成するかどうかを尋ね、最初にyを選択します

番号2:初めて設定するため、Google認証ファイルを更新するかどうか。必ずyを選択してください。

3つ目:パスワードの複数回の使用を禁止するかどうか、仲介者の不正行為を防ぐためにここでyを選択して禁止します。

4番目:デフォルトでは、パスワードの有効期間は30秒です。これは、ホスト時間とパスワードクライアント時間が矛盾しないようにするためです。設定エラーは、厳密さの程度に応じてyまたはnになります。

No. 5:他の人がブルートフォースクラッキングをするのを防ぐために、試行回数の制限を開くかどうか。デフォルトでは、30秒以内に3回以下のログインテスト。

注意:

パラメータ設定は、ユーザーの〜/ .google_authenticatorファイルに保存されます。緊急スクラッチコードの5つのコードは、緊急コードです。覚えておいてください。動的パスワードを使用できない場合は、動的パスワードを使用して無効にすることを忘れないでください。システムにログインして、後で再生成できます。

モバイルGoogleオーセンティケーター

お使いの携帯電話のGoogleAuthenticatorアプリでQRコードをスキャンします

PAM SSH

google_authenticator認証をサポートするようにシステムのPAMモジュールでsshdを構成します


vim /etc/pam.d/sshd
# ファイルの最後に次の行を追加します(パスワード認証、次にgoogle_Authenticator認証):
auth required pam_google_authenticator.so
-----------------------------------------------------------------------
# ファイルの最初の行に次の行を追加します(最初のgoogle_認証者認証、次にパスワード認証):
auth required pam_google_authenticator.so no_increment_hotp

SSHサービス

vim /etc/ssh/sshd_config 
PasswordAuthentication yes
ChallengeResponseAuthentication yes
UsePAM yes

sshサービスを再起動します

systemctl restart sshd

ログイン検証

認証の最適化

Google-authenticator認証は、ローカルエリアネットワーク内の特定のネットワークセグメントにアクセスするホストでは実行されません。他のネットワークセグメントにアクセスするには、google-authenticator認証が必要です。 。 。

PAMSSH構成

# ファイルの先頭に次の行を追加します:vim/etc/pam.d/sshd
auth [success=1default=ignore] pam_access.so accessfile=/etc/security/access-localhost.conf
auth       required pam_google_authenticator.so no_increment_hotp

access-localhost.confファイルを追加

cat /etc/security/access-localhost.conf
+: ALL :192.168.99.0/24+: ALL : LOCAL
- : ALL : ALL

sshサービスを再起動します

systemctl restart sshd

ログイン検証

Recommended Posts

RHEL CentOS 8 SSH2要素認証
CentOSセットsshキーログインオリジナル
CentOS 7はNTP、SSHサービスをセットアップします
rhel7.2yumはCentOSアップデートパッケージを使用します