ウェブサイト検索

Debian 8 Jessie 上の Cisco ルーターを使用した TACACS+ のインストールと構成


今日のテクノロジーは、ネットワーク機器とそのネットワーク機器の適切な構成に大きく依存しています。管理者は、構成変更が実装前に徹底的にテストされていることを確認するだけでなく、構成変更が変更を許可された個人によって行われていることを確認し、変更がログに記録されていることを確認するという任務を負っています。

このセキュリティ原則はAAA (トリプル A) または認証認可、およびアカウンティングとして知られています。管理者がデバイスおよびデバイスがサービスを提供するネットワークへのアクセスを保護するための AAA 機能を提供する、非常に著名なシステムが 2 つあります。

RADIUS (リモート アクセス ダイヤルイン ユーザー サービス) と TACACS+ (ターミナル アクセス コントローラー アクセス コントロール システム プラス)。

Radius は、伝統的にネットワークにアクセスするユーザーを認証するために使用され、TACACS が伝統的にデバイス管理に使用されるという点で TACACS とは対照的です。これら 2 つのプロトコルの大きな違いの 1 つは、TACACS が AAA 機能を独立した機能に分離できることです。

TACACS による AAA 機能の分離の利点は、特定のコマンドを実行するユーザの能力を制御できることです。これは、ネットワーキング スタッフやその他の IT 管理者に、非常に細かいレベルでさまざまなコマンド権限を提供したい組織にとって、非常に有利です。

この記事では、TACACS+ システムとして機能するように Debian システムをセットアップする方法について説明します。

環境設定

  1. Debian 8 がインストールされ、ネットワーク接続が設定されている。 Debian 8 のインストール方法については、この記事をお読みください。
  2. Cisco ネットワーク スイッチ 2940 (他のほとんどの Cisco デバイスも同様に動作しますが、スイッチ/ルーターのコマンドは異なる場合があります)。

Debian 8 への TACACS+ ソフトウェアのインストール

この新しいTACACS サーバーをセットアップする最初のステップは、リポジトリからソフトウェアを取得することです。これは「apt」 コマンドを使用すると簡単に実現できます。


apt-get install tacacs+

上記のコマンドは、ポート 49 にサーバー サービスをインストールして開始します。これは、いくつかのユーティリティで確認できます。


lsof -i :49
netstat -ltp | grep tac

これら 2 つのコマンドは、TACACS がこのシステムのポート 49 でリッスンしていることを示す行を返すはずです。

この時点でTACACSはこのマシン上の接続をリッスンしています。次に、TACACS サービスとユーザーを設定します。

TACACS サービスとユーザーの設定

サーバーに複数のアドレスがある場合は、一般に、サービスを特定の IP アドレスにバインドすることをお勧めします。このタスクを実行するには、デフォルトのデーモン オプションを変更して IP アドレスを指定します。


nano /etc/default/tacacs+

このファイルは、TACACS システムが起動する必要があるすべてのデーモン設定を指定します。デフォルトのインストールでは、構成ファイルのみが指定されます。このファイルに「-B」 引数を追加すると、TACACS がリッスンするために特定の IP アドレスを使用できます。


DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf " - Original Line
DAEMON_OPTS="-C /etc/tacacs+/tac_plus.conf -B X.X.X.X " - New line, where X.X.X.X is the IP address to listen on

Debian に関する特別な注意: 何らかの理由で、新しいデーモン オプションを読み取るために TACACS+ サービスを再起動しようとすると失敗します (サービス tacacs_plus 経由)再起動します)。

ここでの問題は、TACACSinit スクリプト経由で開始され、PID が静的に “PIDFILE=/var” に設定されることのようです。 /run/tac_plus.pid ” ただし、”-B X.X.X.X ” がデーモン オプションとして指定されている場合、pid ファイルの名前は ”/var/run” に変更されます。 /tac_plus.pid.X.X.X.X 」です。

これがバグなのかどうかは完全にはわかりませんが、一時的にこの状況に対処するには、行を < に変更することで、init スクリプトの PIDFILE を手動で設定できます。“PIDFILE=/var/run/tac_plus.pid.X.X.X.X ” ここで、X.X.X.X は、TACACS がリッスンしてサービスを開始する必要がある IP アドレスです。


service tacacs_plus start

サービスを再起動すると、lsof コマンドを再度使用して、TACACS サービスが正しい IP アドレスでリッスンしていることを確認できます。


lsof -i :49

上で見られるように、TACACS は、上記の TACACS デフォルト ファイルで設定されている特定の IP アドレスの IP アドレスをリッスンしています。この時点で、ユーザーと特定のコマンド セットを作成する必要があります。

この情報は別のファイル「/etc/tacacs+/tac_plus.conf」によって管理されます。このファイルをテキスト エディタで開き、適切な変更を加えます。


nano /etc/tacacs+/tac_plus.conf

このファイルには、すべてのTACACS仕様 (ユーザー権限、アクセス制御リスト、ホストキーなど) が存在します。最初に作成する必要があるのは、 ネットワーク デバイスのキーです。

このステップには多くの柔軟性があります。すべてのネットワーク デバイスに対して単一のキーを設定することも、デバイスごとに複数のキーを設定することもできます。オプションはユーザー次第ですが、このガイドでは簡単にするために 1 つのキーを使用します。


key = "super_secret_TACACS+_key"

キーを構成したら、 後でユーザーに割り当てる権限を決定するグループを構築する必要があります。グループを作成すると、権限の委任がはるかに簡単になります。以下は完全な管理者権限を割り当てる例です。


group = admins {
        default service = permit
        service = exec {
                priv-lvl = 15
        }
}

  1. グループ名は「group=admins 」という行で決定され、 admins がグループ名になります。
  2. default service =permit 」行は、コマンドが明示的に拒否されない場合、暗黙的に許可することを示します。
  3. service=exec { priv-lvl=15 } 」により、Cisco デバイスの実行モードで特権レベル 15 が許可されます(特権レベル 15 は、Cisco デバイスの最高レベルです)シスコの機器)。

次に、ユーザーを管理者グループに割り当てる必要があります。


user = rob {
       member = admins
       login = des mjth124WPZapY
}

  1. 「user=rob 」 スタンザにより、ユーザー名 rob がリソースにアクセスできるようになります。
  2. 「member=admins 」は、TACACS+ に、このユーザーが実行を許可されている内容のリストとして admins という前のグループを参照するように指示します。
  3. 最後の行「login=des mjth124WPZapY 」 は、このユーザーが認証するための暗号化されたパスワードです (この非常に「複雑な」パスワードの例を理解するには、クラッカーを自由に使用してください)。

重要: 通常、このファイルには平文ではなく暗号化されたパスワードを配置することがベスト プラクティスです。これにより、誰かがこのファイルを読んだ場合に若干のセキュリティが強化されます。ファイルにアクセスできる必要はありません。

これに対する適切な予防策は、少なくとも構成ファイルに対するワールド読み取りアクセスも削除することです。これは次のコマンドで実行できます。


chmod o-r /etc/tacacs+/tac_plus.conf
service tacacs_plus reload

この時点で、サーバー側はネットワーク デバイスからの接続の準備が整います。ここでCiscoスイッチに移動し、このDebian TACACS+サーバーと通信するように設定しましょう。