別のタカックス+

tacacs +その設定、ポリシー、ACLなどについて考えています。十分すぎるほど書かれています。 しかし、tacas +でいつも悩まされたのは、常に何かが欠けているということです。 何らかの不完全または何か...

たとえば、バナーを設定してホストのグループを入力することはできません。分離によってのみ設定できます。 ホストのグループに同一の設定を適用することはできません。個別にのみ実行できます。 そして、さらに5つのこのような小刻みに入力されます。 たぶん、私は何かを知らないかもしれませんが、私にとってはこれが事実です。

前の仕事で、標準とは根本的に異なる珍しいタカックス+を見ました。 そして今、しばらくして、彼を見つけました。 見つかっただけでなく、小さなデスクに実装されました。

プロジェクトについては、 www.pro-bono-publico.de / projects / tac_plus.htmlをご覧ください 。 この記事はやや「How-to」の精神に沿ったものになります。誰かが役に立つと思います。



ソースデータ:

リポジトリからtacacs +とtftpがすでにインストールされているボード上のdebian wheezyを備えたサーバー。



新しいtacacs +のインストールと構成を開始します(もちろん、古いtacacs +を削除します)。

checkinstallを使用して収集します。 いくつかのライブラリとgcc-multilibが必要になります。 私たちは置きます:

apt-get install flex bison libtool gcc-multilib checkinstall





組み立ての準備:

./configure





そして収集する:

checkinstall





コンパイラは欠落しているディレクトリを誓うので、初めてビルドするときは機能しません。 したがって、すぐに作成します。

 mkdir /home/USER/tacacs-sourse/PROJECTS/build/linux-3.2.0-4-amd64-x86_64 mkdir /home/USER/tacacs-sourse/PROJECTS/build/linux-3.2.0-4-amd64-x86_64/mavis mkdir /usr/local/etc/mavis
      
      





tacacs-sourse-ソースを解凍したディレクトリ。





最後に、システムに安全にインストールされるパッケージを受け取り、 子猫は依存関係を損なうことなく生存します。



次に、最も興味深い部分は構成です。

ネットワークでは、 ciscojuniperzelaxqutechに tacacs +を使用しました



しかし、tacacs +自体の構成に取りかかりましょう。

まず、構成ファイルを保存するディレクトリを作成する価値があります。/etc / tacacs + /があります。 次に、構成ファイル自体を作成します。tacacs.confがあります。 フォルダーとファイルに600のアクセス許可を設定して、部外者が構成をスパイできないようにします。



次に、コメント付きの構成ファイルの簡単な例を示します。

 #!/usr/local/sbin/tac_plus id = spawnd { listen = { port = 49 } ## tacacs   49  } id = tac_plus { accounting log = /var/log/tacacs/tac_plus.log ##    (, ,    ),     600   logrotate mavis module = external ## mavis  (    ).  ,       ldap. { exec = /usr/local/lib//mavis/mavis_tacplus_passwd.pl } login backend = mavis ###       host = world { welcome banner = "\nWe are watching you! We know your ip: %%c\n" failed authentication banner ="\nYou are the %%u?\n" motd banner = "\nHello %%u. Today is %A!" key = WeryLongAndSequreKey ##  address = 0.0.0.0/0 } ###     -  ...  #  group = admin { default service = permit service = exec { set priv-lvl = 15 } service = junos-exec { set local-user-name = remote-super-users } #  juniper,   } #     group = noob { default service = deny service = exec { set priv-lvl = 15 } service = junos-exec { set local-user-name = remote-read-only } service = shell { cmd = show { permit .* } cmd = ping { permit .* } cmd = traceroute { permit .* } } } ### ACL     ,     tacacs+.   ,  ACL       192.168.0.5.      bad password. acl = noobilo { nas = 192.168.0.5 } ###   user = prootik { member = admin login = crypt bla-bla-bla service = shell { set priv-lvl = 15 } } user = noob { acl = noobilo member = noob login = crypt la-la-la service = shell { set priv-lvl = 15 } } }
      
      







ユーザーパスワードは暗号化されてmd5またはDESに保存されます。 ドキュメントによると、これは次のように実行できます。

 openssl passwd -1 <clear_text_password> openssl passwd -crypt
      
      







ご覧のとおり、すべてのユーザーにはデフォルトでレベル15の特権(cisco)が付与されています。 ただし、 noobグループのユーザーは、明示的に許可されているコマンドのみを実行できます。 特権モードでは、パスワードを常に入力する必要はありません。



ACL機能は標準のtacacs +よりも幅広いですが、構文も非常に異なります。 より詳細な研究のためには、男性を喫煙する価値があります。 この記事の一部として、ACLについては詳しく説明しません。



そして、非常に有効なタカス+が得られました。 実行してみましょう:



tac_plus /etc/tacacs+/tacacs.conf &







プロセスでは、次のように表示されます。

71745 ? Ss 0:00 tac_plus: 0 connections, accepting up to 480 more

71746 ? Ss 0:00 tac_plus: 0 connections

71747 ? Ss 0:00 tac_plus: 0 connection








現在システムを使用しているユーザーの数を確認するのは便利ですか(特に停止する場合)。



ウェブサイトwww.pro-bono-publico.deで 。 initスクリプトの例がありますが、ニーズに合わせて少し変更しました。



 #!/bin/sh # # Start-stop script for tac_plus # # (C)2001-2010 by Marc Huber <Marc.Huber@web.de> # $Id: etc_init.d_tac_plus,v 1.1 2011/07/22 17:04:03 marc Exp $ # # chkconfig: 2345 99 99 # description: Starts and stops the tac_plus server process. # <code>PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin/ export PATH DEFAULT=/etc/default/tacplus-tac_plus PROG=/usr/local/sbin/tac_plus CONF=/etc/tacacs+/tacacs.conf PIDFILE=/var/run/tac_plus.pid NAME=tac_plus [ -f "$DEFAULT" ] && . "$DEFAULT" for FILE in $PROG $CONF ; do if ! [ -f "$FILE" ] ; then echo $FILE does not exist. DIE=1 fi done if [ "$DIE" != "" ] ; then echo Exiting. exit 1 fi start () { /bin/echo -n "Starting $NAME: " if $PROG -bp $PIDFILE $CONF then echo "done." else echo "failed." fi } restart () { PID=`cat $PIDFILE 2>/dev/null` /bin/echo -n "Restarting $NAME: " if [ "x$PID" = "x" ] then echo "failed (service not running)" else kill -1 $PID 2>/dev/null echo "initiated." fi } stop () { PID=`cat $PIDFILE 2>/dev/null` /bin/echo -n "Stopping $NAME: " if [ "x$PID" = "x" ] then echo "failed ($NAME is not running)" else kill -9 $PID 2>/dev/null rm -f $PIDFILE echo "done." fi } case "$1" in stop) stop ;; status) PID=`cat $PIDFILE 2>/dev/null` if [ "x$PID" = "x" ] then echo "$NAME is not running." exit 1 fi if ps -p $PID 2>/dev/null >&2 then echo "$NAME ($PID) is running." exit 0 fi echo "$NAME ($PID) is not running but pid file exists." ;; start|restart|force-reload|reload) if $PROG -P $CONF ;then if [ "$1" = "start" ] then stop 2>/dev/null >&2 start else restart fi else cat <<EOT ******************************************************************************** * Unable to $1 $NAME ... please fix the configuration problem * indicated above. ******************************************************************************** EOT exit 1 fi ;; *) echo "Usage: $0 {start|stop|restart|force-reload|reload|status}" exit 1 ;; esac exit 0
      
      







スクリプトの実行権限(chmod + x)を付与します。 たとえばtac_plusを呼び出して、/etc/init.dにスローします。 それだけです これで、 サービスtac_plus start / stop / restartを使用してtacas +を停止、開始、再起動できます。



完全な風水のために、tacacs +を自動ロードに追加します。

update-rc.d tac_plus defaults







サーバー側の準備ができました。 アクティブな機器のセットアップに移りましょう。 実際、すべてがシンプルで、ジュニパーのみが得点されます。 シスコの場合、設定を与えることは意味がないと思います(zelaxとqutechの場合はほぼ同じです)が、ジュニパーの場合は設定します。 ちなみに、ドキュメントでは、ジュニパーとtacacs +を友達にする方法について説明しています。 かつて、私はそれをいじるのに素晴らしい時間を過ごしました。



ジュニパーの構成:



 set system authentication-order tacplus set system authentication-order password set system tacplus-server <ip > port 49 set system tacplus-server <ip > secret WeryLongAndSequreKey set system tacplus-server <ip > timeout 10 set system accounting events login set system accounting events change-log set system accounting events interactive-commands set system accounting destination tacplus server <ip > secret WeryLongAndSequreKey #      ,   juniper         / set system login user remote-super-users full-name "User template for remote super-users" uid 2013 class super-user set system login user remote-read-only full-name "User template for remote read-only" uid 2014 class read-only #       , : set system login class remote-getconf permissions [ view-configuration configure ] set system login user remote-getconfig full-name "User template for remote getconf" uid 2015 class remote-getconf
      
      







tacacs +をオンにしても、ルートとしてジュニパーにアクセスできます。 これは、シェルに入るために行われます。 tacacs +アカウントによると、cliに直接入ります。




また、管理サブネットを割り当てて、このサブネットからのみアクセスできるすべてのACLデバイスにハングアップすることを強くお勧めします。



そして今、ここにいくつかのスクリーンショットがあります:



画像



画像



Z.Y. 安定性の問題について。 以前の仕事では、多くの管理者がシステムを使用し、数千のデバイスがありました。 原則として、すべてが良かった。

現在のところ、数十台のデバイスと5人のユーザーがいますが、すべて順調です。



All Articles