CentOS7 で TACACS+ を利用しようにも、標準リポジトリにはパッケージがありません。 しかし、facebook/tac_plus を使うと簡単に RPM パッケージを作れます。
作成した RPM パッケージ
作成済みパッケージは以下からダウンロード出来ます。 IPv4 で TACACS+ を利用するだけであれば、tacacs+-FB4.0.4.19.1-17fb.x86_64.rpm
で十分です。
- tacacs+-FB4.0.4.19.1-17fb.x86_64.rpm
- tacacs+-debuginfo-FB4.0.4.19.1-17fb.x86_64.rpm
- tacacs+6-FB4.0.4.19.1-17fb.x86_64.rpm
- tacacs+6-debuginfo-FB4.0.4.19.1-17fb.x86_64.rpm
Linux 上から curl
でダウンロードする場合は以下のように指定します。
curl -L -o tacacs+-FB4.0.4.19.1-17fb.x86_64.rpm "https://drive.google.com/uc?export=download&id=0Bx2Xw61I79T9MXFOWXVNZW9iT0k" curl -L -o tacacs+-debuginfo-FB4.0.4.19.1-17fb.x86_64.rpm "https://drive.google.com/uc?export=download&id=0Bx2Xw61I79T9T2gxdGlRT1lGZ2c" curl -L -o tacacs+6-FB4.0.4.19.1-17fb.x86_64.rpm "https://drive.google.com/uc?export=download&id=0Bx2Xw61I79T9dFB5bFhsSnR5RWc" curl -L -o tacacs+6-debuginfo-FB4.0.4.19.1-17fb.x86_64.rpm "https://drive.google.com/uc?export=download&id=0Bx2Xw61I79T9dU5QTWFpcVRCeWc"
パッケージの作り方
作成済みパッケージを利用すれば不要ですが、念の為、パッケージの作成方法をメモしておきます。 手順は facebook/tac_plus に記載されています。
git clone https://github.com/facebook/tac_plus.git cd tac_plus/ mkdir -p ~/rpmbuild/SOURCES tar cvzf ~/rpmbuild/SOURCES/tacacs+-FB4.0.4.19.1.tar.gz tacacs+-FB4.0.4.19.1 echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros sudo yum -y install rpm-build redhat-rpm-config gcc bison flex m4 pam-devel tcp_wrappers tcp_wrappers-devel rpmbuild -ba tacacs+.spec rpmbuild -ba tacacs+6.spec
インストール
ダウンロードした RPM パッケージをインストールします。 yum localinstall
を使えば依存関係も自動的に解決してくれます。
yum -y localinstall tacacs+-FB4.0.4.19.1-17fb.x86_64.rpm
パスワードを生成する
後述の設定ファイルで利用するパスワードを tac_pwd
で生成しておきます。
# tac_pwd
Password to be encrypted: PASSWORD
E.YNIqHK7MJ8w
設定ファイルを用意する (/etc/tac_plus.conf)
設定ファイルは /etc/tac_plus.conf
ですが、RPM パッケージをインストールしただけでは作成されません。 以下の内容で新規作成します。 下記では認証に Linux のユーザ情報 (/etc/passwd
) を参照させています。
key = "KEY-STRING" accounting file = /var/log/tacacs/tac_plus.acct default authentication = file /etc/passwd user = $enable$ { login = des E.YNIqHK7MJ8w name = "enable" }
起動する
起動 & 自動起動の設定をしておきます。 先の手順で /etc/tac_plus.conf
を作成しておかないとデーモンを起動しようとしてもエラーになるので要注意です。
systemctl start tac_plus.service systemctl enable tac_plus.service
Cisco IOS ルータの設定例
Cisco IOS 15.6(2)T ルータで TACACS+ を使った認証設定例は以下の通りです。
aaa new-model ! aaa authentication login default group tacacs+ line aaa authentication login default group tacacs+ enable ! tacacs server TACACS-SERVER address ipv4 192.168.1.1 key KEY-STRING single-connection