正規のユーザ Alice が外出先で利用している任意の端末αを用いて前節のルールを生成 する方式について述べる。
端末αには事前の設定や特別なソフトウェアはインストールされていない。一方、表 4-3 に示すような LAN 内の機器リストと表 4-4 に示すユーザと許可される機器の関連付 けがSGWには事前に設定されている。表 4-3の機器No.は表内でサービスをユニークに 特定するための値を示している。ここでサービスとは、WEBやSSHのサービス一つずつ を指し、一つのサーバで複数のサーバ機能を動かしている際には、それぞれのサーバ機能 が独立したサービスとして管理される。表内のサービス名は、サービス(たとえば WEB やSSHなど)をユーザのブラウザにどのように表示するかという文字列である。IPアド レスとポート番号はサービスを提供しているLAN内にあるサーバのIPアドレスと、その サーバが提供しているサービスが用いているポート番号を示している。表 4-3のNo.1と No.4を比較すると同一IPアドレスで異なるポート番号について、別のルールとして識別 され、サービス名も個別について管理されていることがわかる。
表 4-4は登録されたユーザがどのサービスにインターネットからアクセス可能かを示し た表である。表ではAliceはNo.1からNo.5までの機器にアクセスできるが、BobはNo.1 とNo.2のサービスのみにアクセスできることを示している。
表 4-3 機器リスト
サービス No.
サービス名(表示名) IP アドレス ポート番号
No.1 WEBサーバ A 192.168.1.2 TCP 80 No.2 WEBサーバB 192.168.1.3 TCP 80 No.3 WEB カメラ 192.168.1.4 TCP 80 No.4 リモートデスクトップ A 192.168.1.2 TCP 3389 No.5 リモートデスクトップ B 192.168.1.3 TCP 3389
表 4-4 アクセス許可リスト
ユーザカウント 許可するサービスNo.
Alice No.1 Alice No.2
Alice No.3 Alice No.4 Alice No.5
Bob No.1 Bob No.2 Dave No.4
Dave No.5
このような設定がなされているSGWに事前に登録された正規のユーザAliceが端末αを用 いて、LAN内のリモートデスクトップAにアクセスしようとするケースについて述べる。
1. 正規のユーザAliceはSGWにWebブラウザを用いてアクセスする。SGWはユーザに 対してパスワードなどの方法で認証を行う。認証が成功した際に、その WEB ブラウ ザの終点アドレスをユーザAliceのIPアドレスとして取得する。
2. SGWはユーザAliceのブラウザにユーザAliceの権限でアクセス可能な機器のリスト を送信する(表 4-4)。端末αのWEBブラウザは機器の一覧を表示する。
3. ユーザ Alice はアクセスしたい機器(リモートデスクトップ A)を選択してクリック する。
4. SGWは指定されたデバイスを利用するルールを生成するために表 4-3のIPアドレス
端IPアドレスを用いる。
5. ユーザAliceは利用したいアプリケーション(リモートデスクトップのクライアント)
を立ち上げる。
6. ユーザ Alice が利用を終了する際には、ユーザはファイアウォールを閉じるために選 択された機器を再度クリックする。WEBブラウザはSGWにユーザが利用停止を求め ていることを通知し、生成したファイアウォールとNATルールを削除する。またブラ ウザを閉じたり PC を停止させたりすればファイアウォールルールは自動的に削除さ れる。
表 4-5 手順4で生成したファイアウォールルール
ルール番号 ソースIPアドレス ソースポート番号 宛先ポート番号 動作 No.1 2.2.2.2 any TCP TCP 3389 通過
No.2 any any any 廃棄
表 4-6 手順4で生成したNATルール
ルール番号 ソース IPアドレス
ソース ポート番号
宛先 ポート番号
転送先 IPアドレス
転送先 ポート番号 No.1 2.2.2.2 Any TCP 3389 192.168.1.2 TCP 3389
手順6でファイアウォールルールとNATルールを自動的に解除する方式について述べる。
認証後にSGWが端末αに表示するWEB画面にはjava scriptによるポーリング機能を埋め 込んであり、ブラウザは定められた間隔で SGW に画面の要求を行う。ブラウザや PC が 閉じると、このポーリングがSGWに到達しなくなる。SGWはポーリングが来なくなった ことを検出すると、そのセッションで生成したファイアウォールと NAT のルールを自動 的に削除する。
WEBブラウザからSGWへのアクセスはhttpsセッションを用いて行われるが、通常https のログファイルには、認証したユーザと IP アドレスの情報が含めることができるため、
SGW は複数のユーザが同時にアクセスしている際にも、ユーザ毎の認証済みセッション を区別して制御することができる。たとえば、ユーザが同じアカウントを共有して使って いる場合(たとえばゲストアカウントを用いた場合)であっても、セッションは、ユーザ カウントとIPアドレスのペアで管理される。そのため、生成したファイアウォールルール と NAT ルールは、同じゲストアカウントを用いるユーザが同時にアクセスしているよう なケースであっても、それぞれのユーザによるファイアウォールと NAT の制御は独立し て行うことができる。