本文へジャンプします。

ニフクラ 技術仕様

ファイアウォール:ルール

ファイアウォールの通信制御ルールを定義したものです。
ニフクラのファイアウォールは、基本的にはすべての通信を拒否し、ルールに列挙した通信のみ許可する方式です。INルールに設定されたルールは、サーバー・ルーター・VPNゲートウェイが通信を受信する場合のフィルタとして利用されます。OUTルールに設定されたルールは、サーバー・ルーター・VPNゲートウェイが通信を送信する場合のフィルタとして利用されます。

構成の上限

パラメータ名 内容
設定可能ルール数上限 100件/ファイアウォールグループ

ファイアウォール ルールの設定要素

パラメータ名 内容
プロトコル 許可対象のプロトコルです。
ポート 許可対象の宛先ポートの範囲です。プロトコルでTCP、UDPを選択した場合のみ設定が可能です。
接続元種別/接続先種別 許可対象の通信の接続元/接続先の種別です。ルールがINルールに所属する場合「接続元種別」、ルールがOUTルールに所属する場合「接続先種別」となります。
IPアドレス・グループ 接続元種別/接続先種別に対応した形式で記述された対象の情報です。ルールがINルールに所属する場合、接続元のIPアドレス・グループを設定します。ルールがOUTルールに所属する場合、接続先のIPアドレス・グループを設定します。
プロトコル

選択可能なプロトコルは以下となります。

プロトコル名 プロトコル番号 ポート設定の有無
ICMP 1 -
TCP 6
UDP 17
GRE 47 -
ESP 50 -
AH 51 -
VRRP 112 -
L2TP 該当なし(UDP:1701を設定しています) -
「接続元種別/接続先種別」と「IPアドレス・グループ」について

選択可能な接続元種別/接続先種別は以下となります。

接続元/接続先種別名 内容 「IPアドレス・グループ」の設定値
IPアドレス(IPv4) IPv4のIPアドレスです IPv4のIPアドレスを1つ指定します。(例:192.168.0.100)
CIDR(IPv4) CIDR表記のサブネットです CIDR表記のサブネットを1つ指定します。(例:192.168.0.0/24)
IPアドレス(IPv6) IPv6のIPアドレスです IPv6のIPアドレスを1つ指定します。(例:2001:db8:20:3:1000:100:20:2)※jp-east-14のみ
CIDR(IPv6) CIDR表記のサブネットです CIDR表記のサブネットを1つ指定します。(例:2001:0DB8:0:CD30::/60)※jp-east-14のみ
グループ ファイアウォールグループです 同一ゾーンに所属するファイアウォールグループを1つ指定します。

接続元/接続先種別名でグループを指定した場合の動作

接続元/接続先種別名でグループを指定した場合、グループに所属しているサーバーのIPに対しての接続を許可するような動作をします。

フィルタの動作仕様

ニフクラのファイアウォールはLayer4レベルで解析し、ステートフルに動作いたします。INルールを通過した通信の戻りの通信は自動的に許可されます。戻りの通信を許可するためにOUTルールを定義する必要はございません。原則として、TCP(RFC793)またはUDP(RFC768)の仕様に即したフィルタリングを行います。

TCPに対する動作について

ファイアウォールルールで定義されている送信元/送信先、またはプロトコルでもファイアウォールの持つTCPの状態とパケットのTCPフラグの整合性が無い場合は、通信を拒否いたします。TCPの状態は、サーバーのネットワークインターフェースごとに管理しています。

ハーフオープン発生時の挙動について

サーバーの異常による再起動などでコネクションを確立している片側のサーバーのコネクションがリセットされてしまった場合、以下の動作をします。

  • ESTABLISHED状態時にSYNを受信するとTCP状態の不一致で拒否します。ESTABLISHED状態はタイムアウトすることにより、ハーフオープンを復旧することができます。
  • SYNSENT状態時にACKを受信するとTCP状態の不一致で拒否します。SYNSENT状態はタイムアウトすることにより、ハーフオープンを復旧することができます。
  • ESTABLISHED状態時にSYNを送信するとTCP状態の不一致を検知し、ファイアウォールが送信元へACKを返却します。このACKを受信すると、送信元はRSTを送出し、コネクションをリセットすることができます。

ハーフクローズ発生時の挙動について

TCPコネクションの片側がクローズしている状態の場合には、以下の動作をします。NAT配下でポートの再利用が想定よりも早い場合などが該当します。

  • CLOSE_WAIT状態時にSYNを受信すると、TCP状態の不一致で拒否します。CLOSE_WAIT状態はタイムアウトすることにより、ハーフクローズを復旧することができます。

非対称な通信に対する挙動について

ニフクラ上で往路と復路で異なる経路を通過する通信を行った場合、ファイアウォールは正しく状態を更新できません。
以下の構成の場合、動作を保証することはできません。

  • 送信元とは別のサーバーへ折り返すような非対称な通信(例:ニフクラ上のサーバーでのDSR:Direct Server Return)。
  • パケットを受信したインターフェースとは、別のインターフェースで折り返すような通信(例:ニフクラ上のサーバーでのRPF:Reverse Path Forwarding)。

コネクションのタイムアウトについて

コネクションは無通信状態が続くとタイムアウトいたします。 タイムアウト値はファイアウォール上のTCP状態によって、異なります。TCP状態に応じたタイムアウト値は以下となります。

TCP状態 タイムアウト値 内容
first_packet 2分 最初のパケットが送信された後の、接続のタイムアウト値です。
opening 30秒 2番目のパケットが転送された後の、接続のタイムアウト値です。
established 12時間 接続が完全に確立された後の、接続のタイムアウト値です。
closing 15分 最初のFINが送信された後の、接続のタイムアウト値です。
fin_wait 45秒 両方のFINが交換され、接続が閉じられた後の、接続のタイムアウト値です。
ALGとして動作するプロトコルについて

以下のポート/プロトコルを指定した場合、特定のプロトコルであると判断します。その場合、ネットワークプロトコルを解釈し制御を行います。

プロトコル名 ポート/プロトコル
FTP 21/tcp
SUN RPC 111/tcp
SUN RPC 111/udp
MS RPC 135/tcp
MS RPC 135/udp
  • ※例えば、21/tcpを指定することにより、FTPのコントロールコネクション確立後にデータコネクションが自動的に許可されます。

ルールの適用順序について

パケットは、デフォルトルール → お客様に定義いただいたルール → ファイアウォールグループのデフォルトルールの順番で適用されます。

ファイアウォール ルール適用順序

ルールの適用順序について イメージ

推奨画面サイズ 1024×768 以上