らくがきちょう

なんとなく

CentOS7 に RPM パッケージで TACACS+ をインストールする

CentOS7 で TACACS+ を利用しようにも、標準リポジトリにはパッケージがありません。 しかし、facebook/tac_plus を使うと簡単に RPM パッケージを作れます。

作成した RPM パッケージ

作成済みパッケージは以下からダウンロード出来ます。 IPv4 で TACACS+ を利用するだけであれば、tacacs+-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