パケットの宛先ポート番号を条件にするパケットフィルタリング設定

動作確認バージョン:vSRX Version20.4R2, vSRX Version22.4R1
ファイアウォール(vSRX) では、パケットフィルタリングの設定が可能です。宛先ポート番号を条件にしたフィルタ設定の紹介をします。

特定の宛先ポート番号への通信を拒否する設定

特定のポート番号の通信(パケット)のみファイアウォールのインターフェイスで遮断し、その他の通信に関しては転送する設定を行います。

サンプル設定のシナリオ

  • ポート番号22(SSH)宛ての通信を遮断したい
  • ポート番号22以外の通信はすべて許可して転送したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
vsrx_dstport_fig1

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を SSH として設定
2.ポート番号22を宛先ポート番号とするパケットを拒否するポリシーを TERM1 として設定
3.ポート番号22以外を宛先とするパケットについて許可するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter SSH term TERM1 from protocol tcp
user01@vSRX-02# set firewall filter SSH term TERM1 from destination-port 22
user01@vSRX-02# set firewall filter SSH term TERM1 then discard
user01@vSRX-02# set firewall filter SSH term TERM2 then accept
user01@vSRX-02# set interfaces ge-0/0/1 unit 0 family inet filter input SSH

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input SSH;
                }
                address 192.168.2.102/24;
            }
        }
    }
 }
firewall {
    filter SSH {
        term TERM1 {
            from {
                protocol tcp;
                destination-port 22;
            }
            then {
                discard;
            }
        }
        term TERM2 {
            then accept;
        }
    }
}

動作確認結果

以下の検証結果ログから、サーバーインスタンス(192.168.2.12)からポート番号22宛ての通信(SSH)が失敗していますが、サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)宛ての通信(Ping)は成功することが確認できましたのでパケットフィルタリング機能が動作していることが確認できました。

サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)あてのSSHは失敗

[user01@centsv-02 ~]$ ssh user01@192.168.3.203
^C
[user01@centsv-02 ~]$

サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)へPINGは可能

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.
64 bytes from 192.168.3.203: icmp_seq=1 ttl=63 time=2.37 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=0.997 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=0.873 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=0.739 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.14 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4002ms
rtt min/avg/max/mdev = 0.739/1.225/2.373/0.590 ms

特定の宛先ポート番号への通信のみ許可する設定

特定のポート番号の通信(パケット)のみ許可して、その他の通信に関してはファイアウォールのインターフェイスで遮断する設定を行います。

サンプル設定のシナリオ

  • ポート番号22(SSH)宛ての通信だけ許可して転送したい
  • ポート22番以外の通信(パケット)は、すべて拒否して遮断したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
vsrx_dstport_fig2

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を SSH として設定
2.ポート番号22を宛先ポート番号とするパケットを許可するポリシーを TERM1 として設定
3.ポート番号22以外を宛先とするパケットについて拒否するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter SSH term TERM1 from protocol tcp
user01@vSRX-02# set firewall filter SSH term TERM1 from destination-port 22
user01@vSRX-02# set firewall filter SSH term TERM1 then accept
user01@vSRX-02# set firewall filter SSH term TERM2 then discard
user01@vSRX-02# set interfaces ge-0/0/1 unit 0 family inet filter input SSH

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input SSH;
                }
                address 192.168.2.102/24;
            }
        }
    }
}
firewall {
    filter SSH {
        term TERM1 {
            from {
                protocol tcp;
                destination-port 22;
            }
            then accept;
        }
        term TERM2 {
            then {
                discard;
            }
        }
    }
}

動作確認結果

以下の検証結果ログから、サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)ポート番号22あての通信(SSH)が成功しており、サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)宛ての通信(Ping)が失敗していることからパケットフィルタリング機能が動作していることが確認できました。

サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)あてのSSHは成功

[user01@centsv-02 ~]$ ssh user01@192.168.3.203
Welcome to Brocade Vyatta Network OS

user01@192.168.3.203's password:
Welcome to Brocade Vyatta Network OS
Version:      5.2R4
Description:  Brocade Vyatta Network OS 5600 5.2R4 Standard
Last login: Mon Sep 25 06:28:16 2017 from 192.168.2.202
user01@vRouter-03:~$
user01@vRouter-03:~$ show user
NAME     LINE         TIME             COMMENT
user01 pts/1        2017-09-25 07:38 (192.168.2.12)
user01@vRouter-03:~$

サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)あてのPNIGは失敗

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms

宛先ポート番号(ポート番号範囲指定)を利用した拒否設定

宛先ポート番号の範囲を指定して該当する通信のみファイアウォールのインターフェイスで遮断し、その他の通信に関しては転送する設定を行います。

サンプル設定のシナリオ

  • ポート番号(22から23)宛ての通信だけ遮断したい
  • ポート番号(22から23)以外の通信はすべて転送したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
vsrx_dstport_fig3

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を SSH_TELNET_DENY として設定
2.ポート番号(22から23)を宛先ポート番号とするパケットを拒否するポリシーを term 1 として設定
3.ポート番号(22から23)以外を宛先とするパケットについて許可するポリシーを term 2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter SSH_TELNET_DENY term 1 from protocol tcp
user01@vSRX-02# set firewall filter SSH_TELNET_DENY term 1 from destination-port 22-23
user01@vSRX-02# set firewall filter SSH_TELNET_DENY term 1 then discard
user01@vSRX-02# set firewall filter SSH_TELNET_DENY term 2 then accept
user01@vSRX-02# set interfaces ge-0/0/1 unit 0 family inet filter input SSH_TELNET_DENY

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input SSH_TELNET_DENY;
                }
                address 192.168.2.102/24;
            }
        }
    }
}
firewall {
    filter SSH_TELNET_DENY {
           term 1 {
               from {
                   protocol tcp;
                   destination-port 22-23;
               }
               then {
                   discard;
               }
           }
           term 2 {
               then accept;
           }
       }
   }
}

動作確認結果

以下の検証結果ログから、サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)宛てのSSHが失敗しており、また仮想ルーター(192.168.2.202)から仮想ルーター(192.168.3.203)宛てのTELNETが失敗していますが、 仮想ルーター(192.168.3.203)宛てのPINGは成功していますのでパケットフィルタリング機能が動作していることが確認できました。

サーバーインスタンス(192.168.2.12)から仮想ルーター宛てのPINGとSSHアクセスの結果

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 3
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.
64 bytes from 192.168.3.203: icmp_seq=1 ttl=63 time=2.17 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=0.927 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=0.915 ms

--- 192.168.3.203 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.915/1.338/2.174/0.592 ms

[user01@centsv-02 ~]$ ssh user01@192.168.3.203
^C
[user01@centsv-02 ~]$

仮想ルーター(192.168.2.202)から仮想ルーター宛てのPINGとTELNETアクセスの結果

user01@vRouter-02:~$ ping 192.168.3.203 count 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.
64 bytes from 192.168.3.203: icmp_seq=1 ttl=63 time=1.90 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=1.41 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=1.64 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=1.44 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.19 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 1.194/1.518/1.901/0.241 ms

user01@vRouter-02:~$
user01@vRouter-02:~$
user01@vRouter-02:~$ telnet 192.168.3.203
Trying 192.168.3.203...
^C
user01@vRouter-02:~$

宛先ポート番号(ポート番号範囲指定)を利用した許可設定

特定の宛先ポート番号(範囲指定)を利用する通信のみ許可して、その他の通信に関しては ファイアウォールのインターフェイスで遮断する設定を行います。

サンプル設定のシナリオ

  • ポート番号(22から23)宛ての通信だけ転送したい
  • ポート番号(22から23)以外の通信はすべて遮断したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
vsrx_dstport_fig4

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を SSH_TELNET_PERMIT として設定
2.ポート番号(22から23)を宛先ポート番号とするパケットを許可するポリシーをterm 1 として設定
3.ポート番号(22から23)以外を宛先とするパケットについて拒否するポリシーをterm 2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter SSH_TELNET_PERMIT term 1 from protocol tcp
user01@vSRX-02# set firewall filter SSH_TELNET_PERMIT term 1 from destination-port 22-23
user01@vSRX-02# set firewall filter SSH_TELNET_PERMIT term 1 then accept
user01@vSRX-02# set firewall filter SSH_TELNET_PERMIT term 2 then discard
user01@vSRX-02# set interface ge-0/0/1 unit 0 family inet filter input SSH_TELNET_PERMIT

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                   input SSH_TELNET_PERMIT;
                }
                address 192.168.2.102/24;
            }
        }
    }
}
firewall {
    filter SSH_TELNET_PERMIT {
        term 1 {
            from {
                protocol tcp;
                destination-port 22-23;
            }
            then accept;
        }
        term 2 {
            then {
                discard;
            }
        }
    }
}

動作確認結果

以下の検証結果ログから、サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)宛てのPINGが失敗していますが、SSH通信は成功しています。また、仮想ルーター(192.168.2.202)から仮想ルーター(192.168.3.203)宛てのPINGは失敗していますが、TELNETは成功していることが確認できましたので、パケットフィルタリング機能が動作していることが確認できました。

サーバーインスタンス(192.168.2.12)から仮想ルーター(192.168.3.203)宛てのPINGとSSHアクセスの結果

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 3
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.

--- 192.168.3.203 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 1999ms

[user01@centsv-02 ~]$
[user01@centsv-02 ~]$ ssh user01@192.168.3.203
Welcome to Brocade Vyatta Network OS

user01@192.168.3.203's password:
Welcome to Brocade Vyatta Network OS
Version:      5.2R4
Description:  Brocade Vyatta Network OS 5600 5.2R4 Standard
Last login: Thu Sep 28 00:58:38 2017 from 10.0.0.254
user01@vRouter-03:~$

仮想ルーター(192.168.2.202)から仮想ルーター(192.168.3.203)宛てのPINGとTELNETアクセスの結果

user01@vRouter-02:~$ ping 192.168.3.203 count 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 4008ms

user01@vRouter-02:~$
user01@vRouter-02:~$ telnet 192.168.3.203
Trying 192.168.3.203...
Connected to 192.168.3.203.
Escape character is '^]'.

Welcome to Brocade Vyatta Network OS

vRouter-03 login: user01
Password:
Welcome to Brocade Vyatta Network OS
Version:      5.2R4
Description:  Brocade Vyatta Network OS 5600 5.2R4 Standard
user01@vRouter-03:~$