CiscoのAAA認証

Cisco機器でログインするときに使用する認証としては
lineのところに記載するpassword認証の他に、
login localで使用するローカルデータベース認証がある。

基本的にlogin localでusernameとpasswordを入力させるようにしておけば
ログイン認証としては事足りる気がするが、
最近なぜかAAAをよく使っているので、今後のためにメモしておく。


AAA認証


本来はRadiusやTacacsと連携させて使うのが普通なのだろうが、
自分はローカルデータベースで使うことが多い。
あまり意味をなしていない気もするが、まぁいいだろう・・・。

ユーザ名とパスワードは以下のようにする。
今回はprivilegeも付与してみる。

username admin privilege 15 secret admin
enable secret admin


ここからAAAの設定。
まずはAAAを有効にする。

aaa new-model


次にログイン方式を選択する。
通常はここでradiusとかtacacsを選ぶのだろうが、
今回はローカルデータベースのみとする。

aaa authentication login default local


"default"の箇所は認証リスト名を指定するのだが、
"default"で良ければこの段階でAAA認証はできる。
個別にリスト名を付けたい場合は以下のように該当のリスト名を指定する必要がある。

aaa authentication login [リスト名] local

line con 0
login authentication [リスト名]

line vty 0 4
login authentication [リスト名]


しかし、残念ながらこの段階ではprivilegeが効かない。
オートEnableさせたい場合は以下のように認可設定も追加する必要がある。

aaa authorization exec default local


vtyに関しては以上でAAA認証と認可は完了なのだが、
consoleの認可はデフォルト無効になっているので有効化してあげる必要がある。

aaa authorization console


これでconsoleも完了になる。
意外と簡単。


まとめるとこんな感じ。

enable secret admin
!
aaa new-model
!
!
aaa authentication login default local
aaa authorization console
aaa authorization exec default local
!
!
username admin privilege 15 secret admin



ちなみに以下のように"local"を"local-case"に変更すると
ユーザ名の大文字小文字もちゃんと判断してくれるようになるので
若干セキュリティが上がる。

aaa authentication login default local-case


だが、ちゃんと"local-case"を使っているConfigをほとんど見たことがないので、
あまり一般的ではないのかもしれない。


以上。



RADIUS―ユーザ認証セキュリティプロトコル

人気記事