Paloaltoシリーズファイアウォールで、サービスを新しく作成する際に、サービスタイムアウト設定をカスタマイズすることがある。
この記事にアクセスした方はおそらく、今まさにセッションタイムアウトの設定変更に迫られている理由があるのではないだろうか。
この記事ではセッションタイムアウト設定の中の「TCPタイムアウト」とは何かを解説する。
設定変更についてはこの記事を参考にしてほしい。
TCPタイムアウトとは
TCP/IPの世界は、3ウェイハンドシェイクで成立している。
その3ウェイハンドシェイクは、Webサービスを提供しているサーバとクライアントPC(ブラウザ)の間で交わされるプロトコルだ。
3ウェイハンドシェイクのステップはシンプルだ
①クライアントがサーバへリクエストを投げる(Syn)
②サーバがクライアントへ応答を返す(Syn,Ack)
③クライアントがサーバへAckを返す
この3ウェイハンドシェイクを基本としてクライアントーサーバ間で通信が成立しているのだ。
Paloaltoファイアウォールのサービス設定におけるTCPタイムアウトとは、①~③のやり取りにおいて、クライアントから応答が返って来ない場合に、ファイアウォールがTCPのセッションを強制終了することを指す。
例えばTCPタイムアウト値が60秒であれば、60秒間クライアントから応答がなければでそのTCPセッションをタイムアウトするということだ。
なぜTCPタイムアウトが必要なのか
仮にPaloaltoファイアウォールが、クライアントからの戻りの通信を永遠に待っているとする。
言い換えるとセッションを永遠に持ち続けている状態だ。
TCPセッションが1つだけなら大丈夫だろう。
しかし数万~数億と、あらゆるクライアントからのTCPセッションを持ち続けてたらどうなる。
当然、リソースは有限であるから、Paloaltoファイアウォールはダウンしてしまうだろう。
TCPセッションタイムアウトにより、無駄にセッションを保持し続けないことが、この問題を解消してくれるのだ。
TCPセッションタイムアウトの副作用
しかしセッションタイムアウトには副作用がある。
それは、アプリケーションの種類によっては、途中でセッションタイムアウトされると困るようなケースだ。
例えばクライアントが応答を返すのに5分ぐらいかかるようなケースがあったとしよう。
この時にPaloaltoファイアウォールでセッションタイムアウト値を60秒に設定したら、当然そのアプリケーションは不正終了してしまうわけだ。
セッションタイムアウトの秒数の設定はアプリケーションに応じて適切な値を設定することが肝要だ。
ネットワークアドミニストレータ必携 オススメ最新コンソールケーブル
Paloalto PAシリーズを極める最短ルート
自宅で学習している場合は、ヤフオク!などで中古のPaloaltoファイアウォールを自己学習用に購入しておくことをオススメする。
何故ならセキュリティにおいて、概念としては理解できても、ではそれをどうすれば実装できるのかも同時に習得しておかねれば現場で活躍することはできないだろう。
しかし重要インフラに位置する機会がおおいPaloaltoファイアウォールを安易に操作するのは困難だ。
自宅環境に1台テスト用があればそれらの問題を解決できるだろう。
予算に余裕がある場合はPA220を持っておくことをおススメする。
PA200とPA220では、機能こそ同じだがハードウェア性能が全く異なるのだ。
PA200はとにかく遅いと感じるだろう。この待ち時間が学習意欲をそいでしまうならばPA220だ。
しかしPA200でもできることは同じなので、それで十分ならば安価な方がよいだろう。
PAシリーズを安価にGETする
PA-200は2018年10月31日に販売終了(EOL)になったため正規では購入できない。
しかし中古市場には安価に存在しており、入手可能だ。
コメント