概要

標準ACLと拡張ACLによるパケットフィルタリングの設定をより深く理解するための演習です。拡張ACLでパケットフィルタリングの設定を行います。

拡張ACLは送信元IPアドレスだけではなく、宛先IPアドレスやIPヘッダ以外のTCP/UDPヘッダの情報などを条件として設定することができます。そのため、拡張ACLでパケットフィルタリングを行うときには、「送信元に近いところで拡張ACLを適用する」ということがポイントです。破棄すべきパケットはなるべく早目に破棄したほうが余計なネットワークリソースの消費がないからです。

関連記事

ネットワーク構成

図 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~拡張ACL~ ネットワーク構成
図 標準ACLと拡張ACLのパケットフィルタリングをより深く理解するための演習 ~拡張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アドレスも条件として指定できます。パケットを破棄するのであれば、なるべく早目に破棄した方が余計なネットワークリソースの消費がなくなります。そのため、送信元となるVLAN11を接続しているL3SW1で設定します。

L3SW1で、送信元IPアドレスがVLAN11の192.168.11.0/24、宛先IPアドレスがVLAN21の192.168.21.0/24となっているパケットを許可する拡張ACLを作成します。そして、送信元のVLAN11を接続しているVLAN11インタフェース(SVI)のインバウンドで適用します。

なお、L3SW1のVLAN11インタフェース(SVI)のIPアドレスへの通信が必要ならば、宛先IPアドレス192.168.11.254のパケットを許可する条件も設定します。

L3SW1

ip access-list extended From_VLAN11_To_VLAN21
 permit ip 192.168.11.0 0.0.0.255 192.168.21.0 0.0.0.255
 permit ip 192.168.11.0 0.0.0.255 host 192.168.11.254
!
interface vlan11
 ip access-group From_VLAN11_To_VLAN21 in

Step2: VLAN11からVLAN21への通信のみを許可するパケットフィルタリングの確認

VLAN11からVLAN21への通信を許可するパケットフィルタリングを確認します。L3SW1で以下のコマンドでACLの条件と適用されているインタフェースを確認します。

  • show ip access-lists
  • show ip interface vlan21

L3SW1

L3SW1#show access-lists
Standard IP access list From_VLAN21
    10 permit 192.168.21.0, wildcard bits 0.0.0.255
Standard IP access list From_VLAN22
    10 permit 192.168.22.0, wildcard bits 0.0.0.255
Extended IP access list From_VLAN11_To_VLAN21
    10 permit ip 192.168.11.0 0.0.0.255 192.168.21.0 0.0.0.255
    20 permit ip 192.168.11.0 0.0.0.255 host 192.168.11.254
L3SW1#show ip interface vlan11
Vlan11 is up, line protocol is up
  Internet address is 192.168.11.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 not set
  Inbound  access list is From_VLAN11_To_VLAN21
  Proxy ARP is enabled
~省略~

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=59.874 ms
84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=61.442 ms
84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=59.807 ms
84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=59.927 ms
84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=89.910 ms

図 PC11からPC21宛てのPing
図 PC11からPC21宛てのPing

一方、PC11からVLAN12のPC12やVLAN22のPC22へPingを実行すると応答は返ってきません。

PC11

PC11> ping 192.168.12.100
*192.168.11.254 icmp_seq=1 ttl=255 time=15.126 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=2 ttl=255 time=14.978 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=3 ttl=255 time=14.845 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=4 ttl=255 time=15.044 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=5 ttl=255 time=15.062 ms (ICMP type:3, code:13, Communication administratively prohibited)

PC11> ping 192.168.22.100
*192.168.11.254 icmp_seq=1 ttl=255 time=15.664 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=2 ttl=255 time=15.036 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=3 ttl=255 time=15.054 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=4 ttl=255 time=14.849 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=5 ttl=255 time=14.941 ms (ICMP type:3, code:13, Communication administratively prohibited)

図 PC11からPC12宛てのPing
図 PC11からPC12宛てのPing
図 PC11からPC12宛てのPing
図 PC11からPC12宛てのPing

拡張ACLを利用したパケットフィルタリングでは、送信元に近いところに適用することで、上記のように、破棄するべきパケットはさっさと破棄することができます。そのため、余計なネットワークリソースの消費はありません。

また、Step1では、L3SW2については特にパケットフィルタリングの設定をしていないため、送信元がVLAN11でなく、VLAN12やVLAN22からVLAN21宛ての通信は行われます。VLAN12のPC12からVLAN21のPC21宛てにPingを実行すると成功します。

PC12

PC12> ping 192.168.21.100
84 bytes from 192.168.21.100 icmp_seq=1 ttl=62 time=76.154 ms
84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=60.122 ms
84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=60.126 ms
84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=59.814 ms
84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=61.561 ms

図 PC12からPC21宛てのPing
図 PC12からPC21宛てのPing

そして、Step1の拡張ACL「From_VLAN11_To_VLAN21」でVLAN12からVLAN11宛ての通信はできなくなっていることにも注目しましょう。VLAN12のPC12からVLAN11のPC11へPingを実行すると、Pingのリクエストは破棄されません。ですが、その返事であるPingのリプライがACL「From_VLAN11_To_VLAN21」で破棄されるからです。

図 PC12からPC11宛てのPing
図 PC12からPC11宛てのPing

同様にVLAN22からVLAN11宛ての通信もできなくなっています。「通信は双方向」なので、「宛先」と「送信元」は固定されているわけではありません。「宛先」と「送信元」は、通信の行きと戻りで入れ替わる相対的なものです。

Step3: VLAN21からVLAN11への通信のみを許可するパケットフィルタリングの設定

Step1の逆方向のVLAN21からVLAN11への通信のみを許可するパケットフィルタリングの設定を行います。送信元となるVLAN21を接続しているL3SW2で拡張ACLを設定します。そして、VLAN21インタフェース(SVI)のインバウンドで適用します。

L3SW2

ip access-list extended From_VLAN21_To_VLAN11
 permit ip 192.168.21.0 0.0.0.255 192.168.11.0 0.0.0.255
 permit ip 192.168.21.0 0.0.0.255 host 192.168.21.254
!
interface Vlan21
 ip access-group From_VLAN21_To_VLAN11 in

Step4: VLAN11とVLAN21間の通信のみを許可するパケットフィルタリングの確認

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=59.899 ms
84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=60.212 ms
84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=61.521 ms
84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=60.478 ms
84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=60.045 ms

PC11からPC21へのPingリクエストは、L3SW1の「From_VLAN11_To_VLAN21」のACLで許可されています。そして、そのPingのリプライはL3SW2の「From_VLAN21_To_VLAN11」のACLで許可されています。

図 VLAN11とVLAN21間の通信
図 VLAN11とVLAN21間の通信

宛先と送信元を入れ替えて、PC21からPC11へPingを実行したときも同様です。

Step5: VLAN12とVLAN22間の通信のみを許可するパケットフィルタリングの設定

VLAN12とVLAN22間の通信のみを許可するパケットフィルタリングを設定します。考え方は、Step4までのVLAN11とVLAN21間の通信と同じです。

L3SW1で、送信元IPアドレスがVLAN12のアドレスで宛先IPアドレスがVLAN22となっているパケットを許可する拡張ACLを作成して、VLAN12インタフェース(SVI)のインバウンドで適用します。

L3SW1

ip access-list extended From_VLAN12_To_VLAN22
 permit ip 192.168.12.0 0.0.0.255 192.168.22.0 0.0.0.255
 permit ip 192.168.12.0 0.0.0.255 host 192.168.12.254
!
interface Vlan12
 ip access-group From_VLAN12_To_VLAN22 in

L3SW2で、送信元IPアドレスがVLAN22のアドレスで宛先IPアドレスがVLAN12となっているパケットを許可する拡張ACLを作成して、VLAN22インタフェース(SVI)のインバウンドで適用します。

L3SW2

ip access-list extended From_VLAN22_To_VLAN12
 permit ip 192.168.22.0 0.0.0.255 192.168.12.0 0.0.0.255
 permit ip 192.168.22.0 0.0.0.255 host 192.168.22.254
!
interface Vlan22
 ip access-group From_VLAN22_To_VLAN12 in

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=60.168 ms
84 bytes from 192.168.21.100 icmp_seq=2 ttl=62 time=61.295 ms
84 bytes from 192.168.21.100 icmp_seq=3 ttl=62 time=61.125 ms
84 bytes from 192.168.21.100 icmp_seq=4 ttl=62 time=60.705 ms
84 bytes from 192.168.21.100 icmp_seq=5 ttl=62 time=61.386 ms

PC11> ping 192.168.12.100
*192.168.11.254 icmp_seq=1 ttl=255 time=15.516 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=2 ttl=255 time=15.087 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=3 ttl=255 time=15.197 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=4 ttl=255 time=15.031 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=5 ttl=255 time=15.034 ms (ICMP type:3, code:13, Communication administratively prohibited)

PC11> ping 192.168.22.100
*192.168.11.254 icmp_seq=1 ttl=255 time=15.462 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=2 ttl=255 time=15.634 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=3 ttl=255 time=15.027 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=4 ttl=255 time=14.987 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.11.254 icmp_seq=5 ttl=255 time=15.354 ms (ICMP type:3, code:13, Communication administratively prohibited)

また、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=60.165 ms
84 bytes from 192.168.22.100 icmp_seq=2 ttl=62 time=60.511 ms
84 bytes from 192.168.22.100 icmp_seq=3 ttl=62 time=59.880 ms
84 bytes from 192.168.22.100 icmp_seq=4 ttl=62 time=59.953 ms
84 bytes from 192.168.22.100 icmp_seq=5 ttl=62 time=61.000 ms

PC12> ping 192.168.11.100
*192.168.12.254 icmp_seq=1 ttl=255 time=15.146 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=2 ttl=255 time=14.602 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=3 ttl=255 time=14.876 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=4 ttl=255 time=15.391 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=5 ttl=255 time=15.040 ms (ICMP type:3, code:13, Communication administratively prohibited)

PC12> ping 192.168.21.100
*192.168.12.254 icmp_seq=1 ttl=255 time=15.250 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=2 ttl=255 time=15.531 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=3 ttl=255 time=14.860 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=4 ttl=255 time=15.033 ms (ICMP type:3, code:13, Communication administratively prohibited)
*192.168.12.254 icmp_seq=5 ttl=255 time=15.309 ms (ICMP type:3, code:13, Communication administratively prohibited)

破棄するべきパケットは、各通信の送信元のVLANを接続しているL3SWのインタフェースのインバウンドで破棄されています。そのため、標準ACLで設定したときのような余計なネットワークリソースの消費はありません。

セキュリティの基礎