目次
概要
標準ACLと拡張ACLによるパケットフィルタリングの設定をより深く理解するための演習です。まず、標準ACLでパケットフィルタリングの設定を行います。
標準ACLは送信元IPアドレスしかチェックできません。そのため、「標準ACLでパケットフィルタリングを行うには宛先に近いところで標準ACLを適用」という解説がよくされています。
ただ、通信は双方向です。行きと戻りで当然ながら宛先と送信元は入れ替わることになります。このことをきちんと意識して設定しましょう。
関連記事
ネットワーク構成
パケットフィルタの条件
以下のネットワーク間でのみ通信可能にするように標準ACLでパケットフィルタリングを行います。
- VLAN11(192.168.11.0/24)とVLAN21(192.168.21.0/24)間
- VLAN12(192.168.12.0/24)とVLAN22(192.168.22.0/24)間
初期設定
以下の設定が初期設定として完了していて、各機器が通信できる状態から開始します。
- IPアドレス
- OSPFルーティング
設定と確認
Step1: VLAN11からVLAN21への通信のみを許可するパケットフィルタリングの設定
VLAN11(192.168.11.0/24)からVLAN21への通信を許可するパケットフィルタリングを行います。標準ACLでは、送信元IPアドレスしかチェックできません。送信元IPアドレスがVLAN11の192.168.11.0/24となっているパケットを許可する標準ACLを設定します。
標準ACLは宛先に近いところで適用することからL3SW2で設定します。そして、L3SW2のVLAN21(SVI)のアウトバウンドでACLを適用します。
L3SW2
ip access-list standard From_VLAN11 permit 192.168.11.0 0.0.0.255 ! interface Vlan21 ip access-group From_VLAN11 out
Step2: VLAN11からVLAN21への通信のみを許可するパケットフィルタリングの確認
VLAN11からVLAN21への通信を許可するパケットフィルタリングを確認します。L3SW2で以下のコマンドでACLの条件と適用されているインタフェースを確認します。
- show ip access-lists
- show ip interface vlan21
L3SW2
L3SW2#show ip access-lists Standard IP access list From_VLAN11 10 permit 192.168.11.0, wildcard bits 0.0.0.255 L3SW2#show ip interface vlan 21 Vlan21 is up, line protocol is up Internet address is 192.168.21.254/24 Broadcast address is 255.255.255.255 Address determined by non-volatile memory MTU is 1500 bytes Helper address is not set Directed broadcast forwarding is disabled Multicast reserved groups joined: 224.0.0.5 224.0.0.6 Outgoing access list is From_VLAN11 Inbound access list is not set ~省略~
VLAN11のPC11からVLAN21のPC21へPingを実行すると、正常に応答が返ってきます。
PC11
PC11> ping 192.168.21.100 84 bytes from 192.168.21.100 icmp_seq=1 ttl=62 time=75.087 ms 84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=89.889 ms 84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=60.196 ms 84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=59.860 ms 84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=60.959 ms
一方、PC12やPC22からPC21へPingを実行すると応答は返ってきません。
PC12
PC12> ping 192.168.21.100 *192.168.0.2 icmp_seq=1 ttl=254 time=44.998 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.0.2 icmp_seq=2 ttl=254 time=45.145 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.0.2 icmp_seq=3 ttl=254 time=45.304 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.0.2 icmp_seq=4 ttl=254 time=45.337 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.0.2 icmp_seq=5 ttl=254 time=24.957 ms (ICMP type:3, code:13, Communication administratively prohibited)
PC22
PC22> ping 192.168.21.100 *192.168.22.254 icmp_seq=1 ttl=255 time=15.476 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.22.254 icmp_seq=2 ttl=255 time=15.440 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.22.254 icmp_seq=3 ttl=255 time=15.329 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.22.254 icmp_seq=4 ttl=255 time=15.184 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.22.254 icmp_seq=5 ttl=255 time=15.096 ms (ICMP type:3, code:13, Communication administratively prohibited)
さて、Step1で「VLAN11からVLAN21への通信のみを許可する」ための設定をしているわけです。つまり、VLAN21を「宛先」と考えているACLの設定です。ここできちんと「通信は双方向」ということを意識しておきましょう。
Step1のACL「From_VLAN11」で、VLAN21が「送信元」で「宛先」がVLAN12とVLAN22の通信を拒否することにもなっています。VLAN21からVLAN12およびVLAN22へ通信するときの「戻り」が「From_VLAN11」のACLで破棄されるからです。
たとえば、VLAN21のPC21からVLAN12のPC12へPingを実行します。Pingのリクエストは破棄されることなくPC12まで届きます。そして、PC12からPC21へPingのリプライを返します。このPingリプライが「From_VLAN11」のACLで破棄されます。そのため、PC21からPC12へのPingは失敗です。
PC12
PC21> ping 192.168.12.100 192.168.12.100 icmp_seq=1 timeout 192.168.12.100 icmp_seq=2 timeout 192.168.12.100 icmp_seq=3 timeout 192.168.12.100 icmp_seq=4 timeout 192.168.12.100 icmp_seq=5 timeout
通信は双方向です。パケットフィルタリングを設定するときには、双方向の通信の行きと戻りのどちらを対象にして考えているかをきちんと意識しておきましょう。
Step3: VLAN21からVLAN11への通信のみを許可するパケットフィルタリングの設定
Step1の逆方向のVLAN21からVLAN11への通信のみを許可するパケットフィルタリングの設定を行います。宛先となるVLAN11を接続しているL3SW1で設定します。
L3SW1
ip access-list standard From_VLAN21 permit 192.168.21.0 0.0.0.255 ! interface Vlan11 ip access-group From_VLAN21 out
Step4: VLAN21からVLAN11への通信のみを許可するパケットフィルタリングの確認
Step1とStep3の設定によって、VLAN11とVLAN21間の通信のみ許可するパケットフィルタリングの設定が完了です。PC11からPC21へPingを実行すると、正常に応答が返ってきます。
PC11
PC11> ping 192.168.21.100 84 bytes from 192.168.21.100 icmp_seq=1 ttl=62 time=60.348 ms 84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=60.183 ms 84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=46.232 ms 84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=60.681 ms 84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=60.245 ms
PC11からPC21へのPingリクエストは、L3SW2の「From_VLAN11」のACLで許可されています。そして、そのPingのリプライはL3SW1の「From_VLAN21」のACLで許可されています。
Step5: VLAN12とVLAN22間の通信のみを許可するパケットフィルタリングの設定
VLAN12とVLAN22間の通信のみを許可するパケットフィルタリングを設定します。考え方は、Step4までのVLAN11とVLAN21間の通信と同じです。
L3SW1で、送信元IPアドレスがVLAN22のアドレスとなっているパケットを許可する標準ACLを作成して、VLAN12(SVI)のアウトで適用します。
L3SW1
ip access-list standard From_VLAN22 permit 192.168.22.0 0.0.0.255 ! interface Vlan12 ip access-group From_VLAN22 out
L3SW2で、送信元IPアドレスがVLAN12のアドレスとなっているパケットを許可する標準ACLを作成して、VLAN22(SVI)のアウトで適用します。
L3SW2
ip access-list standard From_VLAN12 permit 192.168.12.0 0.0.0.255 ! interface Vlan22 ip access-group From_VLAN12 out
Step6: パケットフィルタリングの確認
ここまで設定したパケットフィルタリングの動作を確認します。VLAN11のPC11からVLAN21のPC21へPingを実行すると、応答が正常に返ってきます。VLAN12のPC12およびVLAN22のPC22へPingすると、応答は返ってきません。
PC11
PC11> ping 192.168.21.100 84 bytes from 192.168.21.100 icmp_seq=1 ttl=62 time=59.458 ms 84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=59.898 ms 84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=60.580 ms 84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=59.456 ms 84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=59.936 ms PC11> ping 192.168.12.100 *192.168.11.254 icmp_seq=1 ttl=255 time=16.264 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.11.254 icmp_seq=2 ttl=255 time=15.012 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.11.254 icmp_seq=3 ttl=255 time=14.738 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.11.254 icmp_seq=4 ttl=255 time=15.112 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.11.254 icmp_seq=5 ttl=255 time=15.047 ms (ICMP type:3, code:13, Communication administratively prohibited) PC11> ping 192.168.22.100 192.168.22.100 icmp_seq=1 timeout 192.168.22.100 icmp_seq=2 timeout 192.168.22.100 icmp_seq=3 timeout 192.168.22.100 icmp_seq=4 timeout 192.168.22.100 icmp_seq=5 timeout
また、VLAN12のPC12からVLAN22のPC22へPingを実行すると、応答が返ってきます。VLAN11のPC11およびVLAN21のPC21へPingすると、応答は返ってきません。
PC12
PC12> ping 192.168.22.100 84 bytes from 192.168.22.100 icmp_seq=1 ttl=62 time=36.285 ms 84 bytes from 192.168.22.100 icmp_seq=2 ttl=62 time=48.160 ms 84 bytes from 192.168.22.100 icmp_seq=3 ttl=62 time=36.572 ms 84 bytes from 192.168.22.100 icmp_seq=4 ttl=62 time=40.293 ms 84 bytes from 192.168.22.100 icmp_seq=5 ttl=62 time=48.945 ms PC12> ping 192.168.11.100 *192.168.12.254 icmp_seq=1 ttl=255 time=15.060 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.12.254 icmp_seq=2 ttl=255 time=15.194 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.12.254 icmp_seq=3 ttl=255 time=15.156 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.12.254 icmp_seq=4 ttl=255 time=15.172 ms (ICMP type:3, code:13, Communication administratively prohibited) *192.168.12.254 icmp_seq=5 ttl=255 time=15.316 ms (ICMP type:3, code:13, Communication administratively prohibited) PC12> ping 192.168.21.100 192.168.21.100 icmp_seq=1 timeout 192.168.21.100 icmp_seq=2 timeout 192.168.21.100 icmp_seq=3 timeout 192.168.21.100 icmp_seq=4 timeout 192.168.21.100 icmp_seq=5 timeout
今回設定した標準ACLでのパケットフィルタリングでは、無駄なパケットの転送が起こってしまうことに注意してください。たとえば、PC11からPC22宛ての通信を考えます。
PC11からPC22宛てのパケットは、L3SW1では破棄されません。L3SW1からL3SW2へルーティングされて、L3SW2で破棄されることになります。そのため、L3SW1-L3SW2間のネットワークリソースを無駄に使用してしまうことになります。
標準ACLでは、送信元IPアドレスしかチェックできないため、PC11からPC22宛てのパケットをL3SW1では破棄できません。
セキュリティの基礎
- SSLとWi-Fiの暗号化の違い
- セキュリティの目的 ~機密性/完全性/可用性~
- セキュリティの脅威と対策の概要
- マルウェア ~ユーザにとって有害なソフトウェア~
- 認証の基礎 ~正規のユーザ/デバイスですか?~
- 覚えやすくて推測されにくい安全なパスワードの作り方
- 暗号化の概要
- ハッシュ関数とは
- SSLとは? ~アクセス先は本物です!データは盗聴/改ざんされません!~
- ファイアウォールの概要 ~正規の通信のみを転送~
- IDS/IPS ~不正アクセス対策~
- Cisco アクセスコントロールリストの概要
- パケットフィルタ ~不正な通信をブロックするCisco ACLの最も多い用途~
- SPI(Stateful Packet Inspection)の概要
- Cisco ACLによるパケットフィルタの設定と確認
- 名前付きACL(Named ACL)
- タイムベース(Time-based)ACL
- Cisco ACLによるパケットフィルタの設定例
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~標準ACL~
- 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~拡張ACL~
- リフレクシブ(Reflexive)ACL ~戻りの通信を自動的に許可~
- リフレクシブ(Reflexive)ACLの設定例
- Catalystスイッチのパケットフィルタリング RACL/VACL/PACL
- RACL/VACL/PACLの設定と確認コマンド
- uRPFの設定例
- VTYアクセス制御
- DHCPスプーフィング ~DHCPサーバを偽装~
- DHCPスヌーピング
- Cisco DHCPスヌーピングの設定と確認コマンド
- Cisco DHCPスヌーピングの設定例
- ARPスプーフィング
- Dynamic ARP Inspection
- Cisco Dynamic ARP Inspectionの設定と確認コマンド
- TCPインターセプトの設定例
- WAF(Web Application Firewall)の概要
- 電子メールのセキュリティ