2.5F認証

こんにちは イベシュニク日に関係者全員におめでとう)

リモートユーザーの2.5要素認証を設定した経験を共有したいと思います。 モデルを考慮すれば、なぜ2.5、コンテンツから理解できると思いますか。 私が知っていること。 2.私が持っているもの。 3.誰が「参照。 興味があれば、お願いします!

私がする必要があること、私は図に描いてみました:



つまり、リモートユーザーにはeToken(Alladin)、Active Directoryのアカウント、特定のグループのメンバー、およびGoogle認証システムモバイルアプリケーションからのワンタイムパスワードがあります。 彼はいくつかのサービスに正常に接続する必要があります。

Habré に関する記事には CISCO ASA、AnyConnect、Google Auth、およびFreeradiusのセットアップに関する主要な瞬間が記載されています。 複製する意味はありませんが、以下を除き、すべてが実質的に同じです。

radtestコマンドとradiusd -X debugでテストするために、RADIUSサーバーユーティリティをインストールすることをお勧めします

yum install freeradius freeradius-utils 

表示されたエラーの経験から、次の順序で構成する方が便利です。

  1. RADIUS
  2. グーグル
  3. SSSD
  4. PAM
  5. シスコ

しかし、いつものように、すべてがそれほど単純で順序正しくはありません。 githubでは、必要なGoogleコンポーネントは次のとおりです。“ プラグ可能な認証モジュール(PAM)は別のプロジェクトにあります。 »インストール中に、さまざまな種類のエラーが発生する可能性があります。開発者ツールとライブラリ(gcc、libqrencodeなど)が必要な場合は、ここで読み取り、再インストールする必要があります。

さて、上で引用された記事の著者から、うまくいかなかったもの(たぶんうまくいったが、彼はそれについて書かないことにした)

ADのアカウントを使用するには、SSSDとコンポーネントをインストールする必要があります。

 yum install sssd realmd adcli 

次に、RADIUSサーバーをドメインに追加します。

 realm join _ 

ADの定義済みグループからユーザーへのアクセスを許可します。

 realm permit -g ___AD 

この段階では、ドメイン名(.ru、.net、.testなど)に問題がある可能性があります。レベル1レコードが決定されない可能性があるため、ドメイン名が不完全である可能性があり、これは認証プロセスとRADIUSサーバーの構成に影響します。

私の場合、ドメインはレベル2の名前であるユーザー名@ドメインのように見えました。 それは何をもたらすことができますか? /etc/raddb/policy.d/filterの次の行をコメントアウトしない限り、単に正常に認証できません。

 # if ((&User-Name =~ /@/) && (&User-Name !~ /@(.+)\\.(.+)$/)) { # update reply { #Reply-Message += "Rejected: Realm does not have at least one dot separator" # } # reject # } 

それ以外の場合、入力したデータはエラーとして除外されます。 Google認証システムドメインユーザーを作成するには、次の手順を実行します。

 su – domain_user@domain google-authenticator 

このユーザーは、上でrealm permitコマンドで指定したグループのメンバーである必要があります。

この段階では、問題も発生します。セキュリティメカニズムでは、新しいユーザーのホームディレクトリを作成できません。 このディレクトリは〜google-authenticatorファイルに必要です。このファイルには、確認コードと各ユーザーのキーを含む情報が含まれています。

これを修正するには、SELinuxコンポーネントを許容モードに移行する必要があります。

 setenforce permissive 

次に、/ etc / pam.d / radiusdに移動して、次の構成を書き込みます。

 #%PAM-1.0 auth requisite pam_google_authenticator.so forward_pass auth required pam_sss.so use_first_pass account required pam_nologin.so account include password-auth session include password-auth 

NTPを忘れずに時刻を同期してください。そうしないと、ワンタイムパスワードが機能しなくなり、ファイル/ var / log / secureに 「無効なコード」というメッセージが表示されます

すべての準備ができたら、テストできます:

  1. AnyConnectを起動すると、eToken PKI Clientウィンドウが表示されます。
  2. 証明書を選択します。 コンテナのパスワードを入力します-1つの要素
  3. 次に、ADユーザーの資格情報(ログイン+パスワード)を入力します-2要素
  4. 電話のアプリケーションからのコードをパスワードに追加します(スペースなし)-0.5ファクター

2.5要素認証の準備ができました。 私が何かを忘れて、あなたが始めなかったなら、コメントに書いてください、私は助けようとします)

Source: https://habr.com/ru/post/J316546/


All Articles