TACACS.net で TACACS+ サーバを構築する
TACACS+ をサービス出来る製品と言えば、真っ先に思いつくのが Cisco Secure ACS ですが、その他にも以下のソフトウェアで TACACS+ をサービス出来るようです。
今回は TACACS.net をインストールし、最小限の設定をしてみます。TACACS+ と RADIUS の比較については TACACS+ と RADIUS の比較に記載があります。
TACACS.net のインストール¶
TACACS.net は .NET Framework 2.0 で書かれているようですが、インストーラにランタイム環境も含まれている為、インストーラの指示に従っていれば簡単にインストール出来ます。インストール中、下記の画面で TACACS+ で利用する秘密鍵の設定を促されます。今回は「SECRET-KEY」という文字列にしておきました。
デフォルトで TACACS.net 関連のファイルは以下にインストールされました。
種別 | パス |
---|---|
プログラム | C:\Program Files (x86)\TACACS.net |
設定ファイル | C:\ProgramData\TACACS.net\config |
ログファイル | C:\ProgramData\TACACS.net\Logs |
念のため、コマンドプロンプトから引数を付けない "net start" コマンドでサービスの一覧を表示させ、TACACS.net が起動していることを確認しておきます。
1 2 |
|
「セキュリティが強化された Windows ファイアウォール」の穴あけ¶
TACACS.net はデフォルトで TCP/49 を Listen します。Windows ファイアウォールを有効化している場合は、該当ポートを開けておきます。コマンドプロンプトから TCP/49 を許可するルールを追加するには、以下のコマンドを実行します。
1 |
|
Listen するアドレスの修正¶
TACACS.net はデフォルトで 127.0.0.1 のみ、Listen します。"C:\ProgramData\TACACS.net\config\tacplus.xml" を修正し、全てのアドレスを Listen するように変更します。tacplus.xml の 15 行目は以下のようになっています。
1 |
|
これを↓のように修正します。
1 |
|
tacplus.xml の修正後は TACACS.net を再起動します。
1 2 3 4 5 6 7 8 |
|
認証(Authentication)の設定¶
認証関連の設定ファイルは "C:\ProgramData\TACACS.net\config\authentication.xml" です。43 行目と 60 行目で XML がコメントアウトされていますので、43 行目と 60 行目を削除します。authentication.xml への変更は随時、反映されるので TACACS.net を再起動する必要はありません。
1 2 3 4 5 6 7 8 9 10 11 |
|
Cisco 側での認証設定¶
TELNET でのログイン時に認証を TACACS.net で行わせるには、Cisco ルータ側へ以下の設定を行います。今回、設定するパラメータは以下の通りです。当然ですが、秘密鍵の値は TACACS.net と Cisco ルータで合わせておきます。
項目 | 値 |
---|---|
TACACS サーバのアドレス | 192.168.253.66 |
秘密鍵 | SECRET-KEY |
以下の設定を Cisco ルータに行います。
1 2 3 4 5 6 7 8 9 10 |
|
認証の設定が反映されたことを確認する為、ユーザ名「user1」、パスワード「somepassword」でログインし直します(authentication.xml にデフォルトで定義されているユーザです)。正常にログイン出来れば OK です。
認可(Authorization )の設定¶
認証関連の設定ファイルは "C:\ProgramData\TACACS.net\config\authorization.xml" です。今回は最低限の機能テストを行うだけなので、とりあえずデフォルトのままにしておきます。
Cisco 側での認可設定¶
認可の設定により、サービスの制限を行います。今回はコマンドに対する制限を設け、権限レベル 1 と 15 のコマンドの実行許可を TACACS.net へ問い合わせるように設定します。以下の設定を Cisco ルータに行います。
1 2 3 4 |
|
認可の設定が反映されたことを確認する為、ユーザ名「user1」、パスワード「somepassword」でログインし直します。show 系のコマンドは許可されているので、問題無く実行できます。
1 2 |
|
しかし、show 系以外のコマンドは禁止されている為、例えば ping を実行するとエラーになります。
1 2 3 4 |
|