CentOS

具体的な手順については、下記から CentOS のバージョンを選択してください。

CentOS 8
Foxpass を利用した LDAP との Linux 統合を設定する方法は次のとおりです。

まず、Foxpass にログインし、次の手順に従ってLDAP バインダーを作成します。

  1. ダッシュボード ページでベース DN をメモします。コピーしてどこかに貼り付けます。
  2. API キー ページで「sshd」という名前の API キーを作成します。コピーしてどこかに貼り付けます。
  3. LDAP バインダー ページで「linux」という名前の LDAP バインダー アカウントを作成します。生成されたパスワードをコピーして貼り付けます。一度だけ表示されます。
  4. LDAP グループ ページで「foxpass-sudo」という名前の LDAP グループを作成します。それを「posix」グループに設定し、自分自身をグループに追加します。
 
 
全自動

Foxpass のスクリプトの設定、インストール、および実行には、CentOS によって付与されたベース スコープを超えるアクセス許可が必要です。したがって、これらのコマンドは root ユーザーとして実行することをお勧めします。さらに、デフォルトの selinux 権限により、Foxpass が SSH キーを正しくチェックできない場合があります。Foxpass を適切にホワイトリストに登録する方法、または selinux を完全に無効にする方法を以下に示します。

root ユーザーとしてログインします。これにより、前進するコマンドが簡素化されます。Amazon EC2 インスタンスを使用している場合、デフォルトのコマンドは次のとおりです。また、wget および python3 パッケージをインストールして、インストール スクリプトをより簡単にダウンロードして実行することもできます。

Shell
sudo su
yum install wget python3
pip3 install requests

 

次に、このスクリプトをダウンロードして実行します。

Shell
wget https://raw.githubusercontent.com/foxpass/foxpass-setup/master/linux/centos/8/foxpass_setup.py
python3 foxpass_setup.py --base-dn <base dn> --bind-user <binder name> --bind-pw <binder password> --api-key <api key

 

例:

Shell
python3 foxpass_setup.py --base-dn dc=example,dc=com --bind-user linux --bind-pw efGHbD3aFq --api-key 5GC3NRI5goRBAGkrlsxzYedg0r8HPAO7

 

(上級者向けのヒント: 新しい CentOS イメージでスクリプトを実行してから、会社の新しいベース AMI を作成してください。)

これで、ホストは Foxpass LDAP と通信し、Foxpass から SSH キーを要求するように構成されました!

注:SELinux が有効になっている場合、sshd は「curl」を呼び出してユーザーのキーをフェッチできない可能性があります。この場合、「getent passwd」や「getent groups」などの通常の LDAP コマンドは機能しますが、SSH キーを介したログインや SSH キー スクリプトの実行は失敗します。

SELinux の制限を回避するには、2 つのオプションがあります。SELinux を完全に無効にするか、Foxpass パーミッションを選択的に付与するかのいずれかです。まず、SSH キー リクエストの後に監査ログをチェックして、SELinux が実際にそれをブロックしていることを確認する必要があります。次に、以下の grep コマンドを実行して、出力を確認します。

Shell
grep "denied" /var/log/audit/audit.log

 

SELinux が Foxpass をブロックしている場合、comm="curl" または comm="foxpass_ssh_key" を含む行が表示されます。

 
 
SELinux を完全に無効にする

これは、物事を迅速に機能させるのに役立ちますが、セキュリティを長期的に管理するための最良の方法ではない場合があります.SELIinux を無効にするには、 /etc/selinux/config を開き、SELINUX=disabledを設定します。次に、ホストを再起動して設定を有効にします。

Shell
shutdown -r now

 

ホストの再起動後、ログインしてsestatusを実行し、SELinux のステータスを確認します。「無効」と表示されます。これで、Foxpass SSH キー スクリプトと SSH ベースのログインが正常に機能するはずです。

 
 
Foxpass に最小限のアクセス許可を付与する

SELinux には、アプリケーションのブロックを解除するために必要なアクセス許可を自動的にコンパイルできるツールがあります。ただし、これらのツールは、最新の要求から欠落しているアクセス許可しか確認できないため、より深いレベルのアクセス許可を付与するには、ツールを複数回実行する必要がある場合があります。通常、SELinux は「curl」および「foxpass_ssh_key」コマンドをブロックします。

Foxpass に適切なアクセス許可を付与するには、必要に応じてこのプロセスを繰り返す必要があります。

  1. SSH キー要求を生成します。これは、SSH キーを使用してホストへのログインを試行するか、コマンド/usr/local/bin/foxpass_ssh_keys.shを使用して get SSH key スクリプトを実行することで実行できます。
  2. 監査ログを確認します。上記の grep コマンドを実行します。タイムスタンプをチェックして、拒否が最新のリクエストと一致していることを確認してください。SELinux がブロックしているコマンド (comm=" " 内の変数) をメモします。
  3. コマンドに SELinux パーミッションを付与します。コマンドごとに、必要に応じて以下の 2 行を実行します。1 行目で SELinux が解析するファイルを作成し、2 行目でそのファイルを SELinux にロードします。curl または foxpass_ssh_key 権限を付与するためのサンプルと、一般的なコマンドのサンプルが提供されています。後続の実行ごとに、.pp ファイルの末尾の番号を増やします。
curl
ausearch -c 'curl' --raw | audit2allow -M my-curl-1
semodule -i my-curl-1.pp

 

foxpass_ssh_key
ausearch -c 'foxpass_ssh_key' --raw | audit2allow -M foxpass-ssh-1
semodule -i foxpass-ssh-1.pp

 

generic
ausearch -c '<command>' --raw | audit2allow -M my-<command>-1
semodule -i my-<command>-1.pp


SSH ログインが成功するか、SSH キー スクリプトが正常に実行されるまで、必要に応じてこれらの手順を繰り返します。

 
 
2FA タイムアウトを増やす

LDAP 接続のホストでタイムアウトを増やす必要がある場合があります。これにより、ユーザーが (ログインまたは sudo コマンドの) パスワードの入力を求められたときに、クライアントがすぐにログインを再試行したり、2FA をスパムしたりすることがなくなります。ldap_opt_timeoutを 60 秒などの管理しやすい値に増やしてみてください。詳細については、
https ://linux.die.net/man/5/sssd-ldap を参照してください。

さらに問題がありますか?こちらのトラブルシューティング ガイドを参照してください
Foxpass Linux デバッグ

 
CentOS 7
Foxpass を利用した LDAP との Linux 統合を設定する方法は次のとおりです。

まず、Foxpass にログインし、次の手順に従ってLDAP バインダーを作成します。

  1. ダッシュボード ページでベース DN をメモします。コピーしてどこかに貼り付けます。
  2. API キー ページで「sshd」という名前の API キーを作成します。コピーしてどこかに貼り付けます。
  3. LDAP バインダー ページで「linux」という名前の LDAP バインダー アカウントを作成します。生成されたパスワードをコピーして貼り付けます。一度だけ表示されます。
  4. LDAP グループ ページで「foxpass-sudo」という名前の LDAP グループを作成します。それを「posix」グループに設定し、自分自身をグループに追加します。
 
 
全自動

Foxpass のスクリプトの設定、インストール、および実行には、CentOS によって付与されたベース スコープを超えるアクセス許可が必要です。したがって、これらのコマンドは root ユーザーとして実行することをお勧めします。さらに、デフォルトの selinux 権限により、Foxpass が SSH キーを正しくチェックできない場合があります。Foxpass を適切にホワイトリストに登録する方法、または selinux を完全に無効にする方法を以下に示します。

root ユーザーとしてログインします。これにより、前進するコマンドが簡素化されます。Amazon EC2 インスタンスを使用している場合、デフォルトのコマンドは次のとおりです。また、wget パッケージをインストールして、インストール スクリプトをより簡単にダウンロードすることもできます。

Shell
sudo su
yum install wget

 

次に、このスクリプトをダウンロードして実行します。

Shell
wget https://raw.githubusercontent.com/foxpass/foxpass-setup/master/linux/centos/7/foxpass_setup.py
python foxpass_setup.py --base-dn <base dn> --bind-user <binder name> --bind-pw <binder password> --api-key <api key>

 

例:

Shell
python foxpass_setup.py --base-dn dc=example,dc=com --bind-user linux --bind-pw efGHbD3aFq --api-key 5GC3NRI5goRBAGkrlsxzYedg0r8HPAO7

 

(上級者向けのヒント: 新しい CentOS イメージでスクリプトを実行してから、会社の新しいベース AMI を作成してください。)

これで、ホストは Foxpass LDAP と通信し、Foxpass から SSH キーを要求するように構成されました!

注:SELinux が有効になっている場合、sshd は「curl」を呼び出してユーザーのキーをフェッチできない可能性があります。この場合、「getent passwd」や「getent groups」などの通常の LDAP コマンドは機能しますが、SSH キーを介したログインや SSH キー スクリプトの実行は失敗します。

SELinux の制限を回避するには、2 つのオプションがあります。SELinux を完全に無効にするか、Foxpass パーミッションを選択的に付与するかのいずれかです。まず、SSH キー リクエストの後に監査ログをチェックして、SELinux が実際にそれをブロックしていることを確認する必要があります。次に、以下の grep コマンドを実行して、出力を確認します。

Shell
grep "denied" /var/log/audit/audit.log

 

SELinux が Foxpass をブロックしている場合、comm="curl" または comm="foxpass_ssh_key" を含む行が表示されます。

 
 
SELinux を完全に無効にする

これは、物事を迅速に機能させるのに役立ちますが、セキュリティを長期的に管理するための最良の方法ではない場合があります.SELIinux を無効にするには、 /etc/selinux/config を開き、SELINUX=disabledを設定します。次に、ホストを再起動して設定を有効にします。

Shell
shutdown -r now

 

ホストの再起動後、ログインしてsestatusを実行し、SELinux のステータスを確認します。「無効」と表示されます。これで、Foxpass SSH キー スクリプトと SSH ベースのログインが正常に機能するはずです。

 
 
Foxpass に最小限のアクセス許可を付与する

SELinux には、アプリケーションのブロックを解除するために必要なアクセス許可を自動的にコンパイルできるツールがあります。ただし、これらのツールは、最新の要求から欠落しているアクセス許可しか確認できないため、より深いレベルのアクセス許可を付与するには、ツールを複数回実行する必要がある場合があります。通常、SELinux は「curl」および「foxpass_ssh_key」コマンドをブロックします。

Foxpass に適切なアクセス許可を付与するには、必要に応じてこのプロセスを繰り返す必要があります。

  1. SSH キー要求を生成します。これは、SSH キーを使用してホストへのログインを試行するか、コマンド/usr/local/bin/foxpass_ssh_keys.shを使用して get SSH key スクリプトを実行することで実行できます。
  2. 監査ログを確認します。上記の grep コマンドを実行します。タイムスタンプをチェックして、拒否が最新のリクエストと一致していることを確認してください。SELinux がブロックしているコマンド (comm=" " 内の変数) をメモします。
  3. コマンドに SELinux パーミッションを付与します。コマンドごとに、必要に応じて以下の 2 行を実行します。1 行目で SELinux が解析するファイルを作成し、2 行目でそのファイルを SELinux にロードします。curl または foxpass_ssh_key 権限を付与するためのサンプルと、一般的なコマンドのサンプルが提供されています。後続の実行ごとに、.pp ファイルの末尾の番号を増やします。
cur
ausearch -c 'curl' --raw | audit2allow -M my-curl-1
semodule -i my-curl-1.pp

 

foxpass_ssh_key
ausearch -c 'foxpass_ssh_key' --raw | audit2allow -M foxpass-ssh-1
semodule -i foxpass-ssh-1.pp

 

generic
ausearch -c '<command>' --raw | audit2allow -M my-<command>-1
semodule -i my-<command>-1.pp


SSH ログインが成功するか、SSH キー スクリプトが正常に実行されるまで、必要に応じてこれらの手順を繰り返します。

 
 
2FA タイムアウトを増やす

LDAP 接続のホストでタイムアウトを増やす必要がある場合があります。これにより、ユーザーが (ログインまたは sudo コマンドの) パスワードの入力を求められたときに、クライアントがすぐにログインを再試行したり、2FA をスパムしたりすることがなくなります。ldap_opt_timeoutを 60 秒などの管理しやすい値に増やしてみてください。詳細については、
https ://linux.die.net/man/5/sssd-ldap を参照してください。

さらに問題がありますか?こちらのトラブルシューティング ガイドを参照してください
Foxpass Linux デバッグ

  
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています