IPsecといえば、データ暗号化を連想する人が多いですが、暗号化を行わずにパケットを破棄したり、通過させたりすることも可能です。これは、送信元および宛先のIPアドレスとポート番号に基づいて行われます。これはまさにファイアウォールの機能そのものであり、したがってVOSのIPsec機能をファイアウォールとして利用することができます。
例えば、*.12345(つまりポート12345)でリスニングし、モジュール上のどのインターフェースからの接続も受け付ける内部文書サービスアプリケーションがあるとします。このモジュールに、サプライヤーのネットワークに接続する新しいインターフェースが追加されたばかりです。 そのネットワークからのユーザーがドキュメントサービスに接続することは許されません。理想的には、モジュールとサプライヤーのネットワークの間に、ポート12345をブロックするファイアウォールが設置されているべきですが、「多層防御」の原則によれば、ネットワークベースのファイアウォールだけでなく、ホストベースのファイアウォールも併用する方が、ネットワークベースのファイアウォールだけを使用するよりも効果的です。
サプライヤーのネットワークからの接続を遮断するようにIPsecを設定するには、いくつかの方法があります。 最も簡単な方法は、新しいインターフェースに対応する宛先IPアドレスを持つポート12345への接続をすべて遮断することです。新しいインターフェースのIPアドレスが172.16.1.1であると仮定すると、IPsecポリシーは次のようになります。
{daddr 172.16.1.1 ulp tcp dport 12345 dir in} drop {}
IPsecポリシーは、ipsec_policy_admin コマンドを使用して追加します。デフォルトの設定ファイルは >system>stcp>ipsec.conf ですが、任意のファイルを指定することができます。これを機能させるには、モジュールがパケットを転送していない必要があります。そうしないと、172.16.1.1 インターフェースで受信された、モジュールの別のインターフェースへの接続要求が転送されてしまいます。 宛先が 172.16.1.1 ではないため、IPsec はこの接続を許可します。実際に転送機能が必要であることが確実でない限り、転送機能を無効にしておくことをお勧めします。転送機能を無効にするには、IP_forwarding コマンドを使用します。なお、IP は大文字で指定する必要があります。
新しいインターフェースが追加されず、社内ユーザーとサプライヤーの両方が同じインターフェースを使用する場合は、ポリシーを宛先アドレスではなく送信元アドレスに基づいて設定する必要があります。 サプライヤーのネットワークが 192.168.1.0/24 であると仮定すると、ポリシーは次のようになります。
{saddr 192.168.1.0/24 ulp tcp dport 12345 dir in} drop {}
もちろん、これでもサプライヤーのネットワーク上のホストが、モジュール上の他のサービスに接続することは可能です。 以下のポリシーを使用することで、サプライヤーを1つのサービス(例えば、ポート24680でリスニングしているサービス)のみに制限することができます。
{saddr 192.168.1.0/24 ulp tcp dport 24680 dir in} bypass {}
{saddr 192.168.1.0/24 ulp tcp dir in} drop {}
ドキュメントサービスが特定の部署のドキュメントのみをホストしている場合、その部署のサブネット(例えば 10.1.1.0/28)からのみポート 12345 への接続を許可するポリシーを設定できます。そのポリシーは以下の通りです。
{saddr 10.1.1.0/28 ulp tcp dport 12345 dir in} bypass {}
{saddr 0.0.0.0/0 ulp tcp dport 12345 dir in} drop {}
ポリシーの順序は重要です。順序を逆にしてしまうと、誰もポート 12345 に接続できなくなります。
CIOも文書にアクセスする必要がある場合は、CIOのワークステーションのアドレス
に対してポリシーを追加できます。
{saddr 10.1.1.0/28 ulp tcp dport 12345 dir in} bypass {}
{saddr 10.7.7.7 ulp tcp dport 12345 dir in} bypass {}
{saddr 0.0.0.0/0 ulp tcp dport 12345 dir in} drop {}
IPsec を試す際は、必ず接続を許可するポリシーが設定されていることを確認してください。IPsec ポリシーは追加されるとすぐに適用されます。再起動やプロセスの再起動は不要ですが、ポリシーの記述に誤りがあると、モジュールとの接続が切断される可能性があります。 例えば、ワークステーションのIPアドレスが10.1.100.50であると仮定した場合、私は常にポリシーファイルの先頭に以下のポリシーを記述します。
{saddr 10.1.100.50 ulp tcp dir in} bypass {}
