以前に CentOS7 に RPM パッケージで TACACS+ をインストールする というメモを書きました。 尚、今回作成するパッケージは CentOS7 などでしか利用出来ません。 後述しますが tcp_wrappers-devel
が存在しない為、CentOS8 や Rocky8 では利用することが出来ません。 どうしても「CentOS8 や Rocky8 で利用したい場合は TACACS+ サーバの動作する Docker コンテナを作成して利用する」などの代替手段を検討する必要があると思われます。
ビルド済みパッケージ
今回の手順では CentOS7 上で TACACS+ サーバの RPM パッケージをビルドします。 ビルド済みパッケージは以下にアップロードしてありますので、ビルドが面倒であればこちらを利用します。
CentOS7 上でパッケージをビルドする
ビルドする前に依存関係のあるソフトウェアをインストールしておきます。
yum -y install \
bison \
flex \
gcc \
m4 \
pam-devel \
redhat-rpm-config \
rpm-build \
tcp_wrappers \
tcp_wrappers-devel
GitHub からクローンし、ビルドします。
cd ~
git clone https://github.com/facebook/tac_plus.git
cd tac_plus/
mkdir -p ~/rpmbuild/SOURCES
tar cvzf ~/rpmbuild/SOURCES/tacacs-F4.0.4.28.tar.gz tacacs-F4.0.4.28
echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros
rpmbuild -ba tacacs.spec
CentOS7 へのインストール
作成された RPM パッケージをインストールします。
cd ~/rpmbuild/RPMS/x86_64/
yum localinstall -y \
tacacs-F4.0.4.28-6fb.x86_64.rpm \
tacacs-debuginfo-F4.0.4.28-6fb.x86_64.rpm
CentOS8 / Rocky8 にはインストール不可
CentOS8 や Rocky8 には tcp_wrappers-devel
のパッケージが存在しません。 その為、tcp_wrappers-devel
に依存している tacacs+ をインストールしようとするとエラーになり、インストールすることが出来ませんでした。
# dnf localinstall -y tacacs-F4.0.4.28-6fb.x86_64.rpm tacacs-debuginfo-F4.0.4.28-6fb.x86_64.rpm
Last metadata expiration check: 2:08:04 ago on Sat Oct 23 15:26:25 2021.
Error:
Problem: conflicting requests
- nothing provides tcp_wrappers-devel needed by tacacs-F4.0.4.28-6fb.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
設定例
TACACS+ サーバの設定ファイルは /etc/tac_plus.conf
です。 例えば Cisco ACI から以下のパラメータで TCACS+ で認証させるとします。
項目 | 値 |
---|---|
共有秘密鍵 (キーフレーズ) | SECRET |
ユーザ名 | USER |
パスワード | PASSWORD |
ユーザに割り当てる Security Domains | all/admin/ |
実際の /etc/tac_plus.conf
設定例は以下の通りです。
key = "SECRET"
accounting file = /var/log/tacacs/tac_plus.acct
user = USER {
default service = permit
pap = cleartext PASSWORD
service = exec {
cisco-av-pair="shell:domains = all/admin/"
}
実際の運用ではグループも設定し、グループ単位で権限制御した方が柔軟性があります。
コメント