object-groupは、ACL設定でホストやポートをグループ管理できる機能です。Cisco IOSでの使用頻度は低いですが、一般的なFirewall製品ではよく見られる機能です。
コマンド一覧
このシナリオで重要なコマンド一覧は以下の通りです。
Router(config)# object-group network <network_name> Router(config-network-group)# [{ <addr> <mask> | host <addr> }] Router(config)# object-group service <service_name> Router(config-service-group)# <protocol> Router(config)# ip access-list extended <acl> Router(config-ext-nacl)# <seq> [{ permit | deny }] [{ object-group <network_name> | <src_addr> <src_mask>}] [{ object-group <network_name> | <dst_addr> <dst_mask>}] Router(config-ext-nacl)# <seq> [{ permit | deny }] [{ object-group <service_name> | <prot> }] <src> <dst>
構成図
Internet Expert Rackを用いて動作確認を行います。Vol I Securityの初期設定を読み込ます。
構成図や初期設定全文については、internet expertを参照下さい。
仕様説明
host 一括指定
以下のようにobject groupを用いてhostを一括定義できます。
Router(config)# object-group network <network_name> Router(config-network-group)# [{ <addr> <mask> | host <addr> }]
object groupをACLに適用します。
Router(config)# ip access-list extended <acl> Router(config-ext-nacl)# <seq> [{ permit | deny }] <prot> [{ object-group <network_name> | <src_addr> <src_mask> }] [{ object-group <network_name> | <dst_addr> <dst_mask> }]
service 一括指定
以下のようにobject groupを用いてプロトコルやポート番号を一括定義できます。
Router(config)# object-group service <service_name> Router(config-service-group)# <protocol>
object groupをACLに適用します。
Router(config)# ip access-list extended <acl> Router(config-ext-nacl)# <seq> [{ permit | deny }] [{ object-group <service_name> | <prot> }] <src> <dst>
host 一括指定
設定投入
R5宛てのtelnetログインを禁止するACLを作成します。object-groupを用いてR5のIPアドレスを一括設定します。
[R5] object-group network LOCAL host 155.15.5.5 host 155.15.58.5 host 155.15.0.5 host 155.15.45.5 150.15.5.0 255.255.255.0 ! ip access-list extended ACL_FROM_SW2 10 permit udp any any eq rip 20 deny tcp any object-group LOCAL eq telnet 99 permit ip any any ! interface FastEthernet0/0 ip access-group ACL_FROM_SW2 in
動作確認
SW2からR5へpingは到達するものの、telnetログインができなくなっている事を確認します。
[SW2] Rack15SW2#ping 150.15.5.5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 150.15.5.5, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/9 ms Rack15SW2# Rack15SW2#telnet 150.15.5.5 Trying 150.15.5.5 ... % Destination unreachable; gateway or host down Rack15SW2#telnet 155.15.45.5 Trying 155.15.45.5 ... % Destination unreachable; gateway or host down Rack15SW2#
service 一括指定
設定投入
CPU上昇を引き起こしやすいトラフィックがインターネットから流入しないようR6を設定します。object-groupを用いてトラフィックの種類を一括設定します。
[R6] object-group service SENSITIVE icmp tcp telnet tcp 22 tcp bgp tcp www ! ip access-list extended ACL_FROM_BB1 10 deny object-group SENSITIVE any any 99 permit ip any any ! interface Serial0/0/0 ip access-group ACL_FROM_BB1 in
動作確認
BB1からR6へのping, telnetが禁止された事を確認します。(tracerouteはudpを使用するため、禁止の対象とはなりません。)
[BB1] RS.15.15.BB1>ping 54.15.1.6 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 54.15.1.6, timeout is 2 seconds: U.U.U Success rate is 0 percent (0/5) RS.15.15.BB1> RS.15.15.BB1>telnet 54.15.1.6 Trying 54.15.1.6 ... % Destination unreachable; gateway or host down RS.15.15.BB1> RS.15.15.BB1>traceroute 54.15.1.6 Type escape sequence to abort. Tracing the route to 54.15.1.6 1 54.15.1.6 136 msec * 16 msec RS.15.15.BB1>
RIPなどの必要なトラフィックが誤って拒否されていない事を確認します。
[R6] Rack15R6#show ip protocols Routing Protocol is "rip" <omitted> Routing Information Sources: Gateway Distance Last Update 155.15.146.4 120 00:00:07 155.15.146.1 120 00:00:01 54.15.1.254 120 00:00:05 155.15.67.7 120 00:00:07 Distance: (default is 120) Rack15R6#