Roleの設定って面倒、、、ってたまに言われますが、
設定内容をあらかじめ整理できていれば簡単です。
その整理が面倒かもしれませんが、そこはセキュリティに関わるところなのでこれを機に整理してみましょう!
Roleの設定手順はざっくり以下の4ステップです。
- ネットワークリソースをグループ分けする
- リソース毎の通信プロトコルを明確化する
- 1と2を使ってアクセスポリシー(access-list session)を作成する
- Roleにアクセスポリシーを適用する
※以下の設定で出てくる、netdestinationやnetserviceがわからない方は、こちらをご参照下さい。
1. ネットワークリソースをグループ分けする
一番単純なところだと、Intranetかどうか。
GuestユーザにはIntranetはアクセスさせたくないのでこれは重要です。
あとは、業務系サーバ、ファイルサーバ、開発・検証サーバ、AD/LDAP/RADIUSサーバなど、役割で分けておくのもいいと思います。
Captive PortalのWhitelistの設定でRADIUSサーバを設定するケースも多いです。
netdestinationコマンドを使って、ネットワークリソースを整理しておきましょう。
netdestination intranet
network 192.168.10.0 255.255.255.0
network 172.16.0.0 255.255.0.0
netdestination clearpass
host 192.168.10.250
host 172.16.1.250
netdestination S4B-servers
name s4b.local.com
name s4b.local.com
netdestination restrected-network
network 172.16.100.0 255.255.255.0
2. リソース毎の通信プロトコルを明確化する
これは少し手間かもしれません。必須ではないですが、この設定をきちんとしておくことはセキュリティ上とても重要です。 例えば、Webサーバに一般ユーザがsshでアクセスしていれば、それはかなりの確率で悪意のあるユーザか、botです。
全てのリソースに対して通信プロトコルを限定する必要は無いかもしれませんが、特に重要なリソースに対してだけでも制限をかけておきましょう。
3. 1と2を使ってアクセスポリシー(access-list session)を作成する
アクセスポリシーは事前設定されているものもあるので、うまく活用しましょう。
例えば、logon-controlを例にみてみます。
ip access-list session logon-control
user any udp 68 deny
any any svc-icmp permit
any any svc-dns permit
any any svc-dhcp permit
any any svc-natt permit
any network 169.254.0.0 255.255.0.0 any deny
any network 240.0.0.0 240.0.0.0 any deny
このポリシーはlogon Roleに適用されています。
logon Roleは、未認証ユーザに適用されるRoleで、IPアドレスをもらうぐらいまでの最低限のアクセスのみができるポリシーです。
また、169.254.x.x のAPIPAや、240.0.0.0/4 宛てをdenyしていたり、
1行目のuser any udp 68 deny は、端末側がDHCPになりすましているのを防いでいます。
その他、http-acl/https-acl をGuest Roleに使ったり、全てを許可するためのallowallもよく使います。
自分で作成する場合は、特定ネットワークへの接続をDenyする設定をすることが特に多いです。
以下の例では特定ネットワークへのssh通信だけをDenyしています。
ip access-list session restricted-policy
user alias restrected-network svc-ssh deny
また、Skype for Businessや特定アプリを優先させる様なポリシーを作成することもできます。
ip access-list session S4B-CLASSIFY
any alias S4B-servers svc-https permit classify-media
4. Roleにアクセスポリシーを適用する
それではRoleを作成してみましょう。
Roleの作成方法は色々ありますが、最もシンプルな方法は以下の通りです。
user-role
common-policy(ネットワークアクセスに最低限許可すべきポリシー)
allow-policy(voipなど特に許可や優先すべきポリシー)
block-policy(制限付きネットワークなど、ブロックするポリシー)
allowall-policy(全てを許可するポリシー)
実際の設定はこんな感じです。
user-role employee
access-list session global-sacl
access-list session apprf-employee-sacl
access-list session logon-control
access-list session S4B-CLASSIFY
access-list session restrected-policy
access-list session allowall
1行目と2行目のglobal-sacl, apprf-employee-saclは、Role作成時に自動的に作成されるポリシーなので無視していいです。
global-saclは全user-roleに同じポリシーが適用されているので、
全てのユーザに同じポリシーを設定したい場合は、このポリシーを編集します。
apprf-xxxxx-saclは、AppRFの機能で通信制御したい時に編集するポリシーです。
ステップを踏んで設定を理解すれば、Roleの設定も簡単なので、是非活用してセキュアなネットワークを構築する様にしましょう!