pam_tacplus.soとsshd:ユーザー認証をスキップしますか?

pam_tacplus.soとsshd:ユーザー認証をスキップしますか?

freebsdボックスにクライアントとしてtacacs認証を実装しようとしています。ボックスは実際にはネットワークデバイスであり、この設定はcli / uiに組み込まれている必要がありますが、そうではありません。 freebsdに基づいて構築されたためpam_tacplus.so組み込みライブラリ。

私の問題は、tacacsサーバーに認証したいが、デバイス上でローカルアカウントを設定したくないことです。 pam.conf ファイルは次のとおりです。

su      auth        sufficient  pam_rootok.so
su      auth        sufficient  pam_unix.so

login   auth            required        pam_unix.so
login   account         required        pam_unix.so
login   password        required        pam_permit.so
login   session         required        pam_permit.so

ftpd    auth            required        pam_unix.so

sshd    auth            sufficient      pam_tacplus.so  template_user=testuser      
sshd    auth            required        pam_unix.so
sshd    account         required        pam_unix.so
sshd    password        required        pam_permit.so
sshd    session         required        pam_permit.so

telnetd auth            required        pam_unix.so

passwd  password        required        pam_unix.so     no_warn try_first_pass nullok

other   auth            required        pam_unix.so

tacacs サーバの IP アドレスは /etc/tacplus.conf に保存されていますが、tacacs サーバログに障害が発生したことから通信が成功したと判断されます。また、ポート49でサーバーとのTCPセッションを確立できます。

SSH経由でjimbobとしてログインしようとすると、/var/log/auth.logに次の内容が表示されます。

<auth.info> Lab-2 sshd[4952]: Invalid user jimbob from 10.0.0.1
<auth.info> Lab-2 sshd[4952]: input_userauth_request: invalid user jimbob
<auth.info> Lab-2 sshd[4952]: Failed none for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.info> Lab-2 sshd[4952]: Failed publickey for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.info> Lab-2 sshd[4952]: Postponed keyboard-interactive for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.info> Lab-2 sshd[4952]: Postponed keyboard-interactive/pam for invalid user jimbob from 10.0.0.1 port 52069 ssh2
<auth.err> Lab-2 sshd[4953]: error: ssh_msg_send: write

あちこちを見た後、これ適用されるようです。ただし、ここで説明するNSSは、このシステムには存在しないnsswitch.confによって制御されます。 NSSにはtacacsプラグインがないようです。私の場合、それが重要かどうかはわかりません。

それでは、pam_tacplus.soライブラリにアクセスする前に、ユーザーのローカルパスワードファイルの確認をスキップする方法はありますか?私が1つある場合は、template_user =オプションが開始され、ローカルユーザーとして存在する「testuser」を使用しようとすると思います。

pw user show testuser
testuser:*:1003:1003::0:0:User &:/home/testuser:/usr/bin/bash

ベストアンサー1

私のように簡単に達成することができます。そうですね。 nsswitch.confファイルを使用する必要があります。ただし、All-To-Oneを意味するサードパーティのプログラムlibnss-atoをインストールする必要があります。設定されたtacacs +サーバーに対してローカルでないユーザーを認証し、必要な操作を正確に実行します。

ここでパッケージと詳細を確認できます。 https://github.com/donapieppo/libnss-ato

おすすめ記事