web-dev-qa-db-ja.com

TACACS +設定:priv-lvl値を受け取る方法は?

指定されたユーザーが認証されているかどうか*、および彼のpriv-lvlが何であるかを知るために、TACACS +サーバーを構成する必要があります。クライアントとして、tactest(tacacs.net)とTACACS +クライアントJavaライブラリ(AXL))を使用しています。

私はこれで試しました:

user = admin {
    name = “Admin User”
    login = cleartext admin
    service = exec {
      priv-lvl = 10
  }
}

管理者として認証できますが、彼のpriv-lvlを取得できません。

Tactestからの出力は次のとおりです。

C:\Program Files (x86)\TACACS.net>tactest -s x.x.x.x -k testing123 -u admin -p admin -author -service exec
Trying to open connection to x.x.x.x:49

Sending:
 MajorVersion=12
MinorVersion=0
Type=Authorization
SeqNum=1
IsEncrypted=True
IsSingleConnect=True
SessionID=494431516
DataLength=37
 Authorization Method=Debug
Priv lvl=1
Auth Type=Ascii
Service=None
User=admin
Port=
Rem Addr=
Args: service=exec


Received Header:
 MajorVersion=12
MinorVersion=0
Type=Authorization
SeqNum=2
IsEncrypted=True
IsSingleConnect=False
SessionID=494431516
DataLength=6

Received Body:
 Authorization Status=PassAdd
User=
Port=
Args:

Command Pass status = True, Message=,

------------------

SUMMARY STATISTICS

------------------

Total Commands  .....................  1
Successes  ..........................  1
Failures  ...........................  0
No Results  .........................  0
Time Taken for commands  ............  0,066 secs
Avg Possible Transactions/Second  ...  15
Network Time per command  ...........  0,017 secs
Total Network time  .................  0,017 secs
Sent Transactions/Second  ...........  11,1

その属性値を取得する方法はありますか?

※認証だけでなく、認証の一種でもあることは承知しております。

1
tomekceszke

私はついに解決策を見つけました。サービス名を他の名前に変更する必要がありました。

user = admin {
    name = “Admin User”
    login = cleartext admin
    service = myservice {
      priv-lvl = 10
  }
}

次に、クライアント側でAVペアを取得できました。

Received Header:
MajorVersion=12
MinorVersion=0
Type=Authorization
SeqNum=2
IsEncrypted=True
IsSingleConnect=False
SessionID=952769599
DataLength=18

Received Body:
 Authorization Status=PassAdd
User=
Port=
Args: priv-lvl=10
1
tomekceszke