CommuniGate Pro
Version 5.1
ネットワーク
 
 
 
リスナー

リスナー

CommuniGate Pro サーバーでは、SMTP、IMAP、POP、LDAP、その他のTCP/IP 接続をサポートして おり、TCP/IP 接続はいずれもCommuniGate Pro のリスナーを使って処理されます。リスナーでは、単 一もしくは複数のリスナーソケットを作成でき、各ソケットについてTCP ポートを指定し、そのポー トでTCP/IP 接続が処理されるように設定できます。また、ローカルIP アドレスを指定し、そのアド レスでTCP/IP 接続が処理されるように設定することも可能です。

リスナーの設定ページを使って、リスナーで処理する接続のタイプ( クリアテキスト接続またはセ キュア接続) を指定できます。また、リモートのアドレスに制限を設定することもできます。

CommuniGate Pro のリスナーとしてはTCP リスナーとUDP リスナーがあります。TCP リスナーでは、 同一のIP アドレスから実行される接続の数を制限できます。この機能により、サービス拒否攻撃(DoS) に対応できます。

また、CommuniGate Pro サーバーでは、SNMP、RADIUS、SIP、その他のUDP (接続不要) 接続もサ ポートしており、各UDP 接続の要求は、UDP リスナーによって処理されます。UDP リスナーの場 合、作成できるソケット(UDP リスナーソケット) は一つで、このソケットを使って、指定した ポートでUDP パケットが受信されるように設定できます。また、ローカルIP アドレスを指定し、そ のアドレスでUDP パケットが受信されるようにすることもできます。なお、UDP リスナーの場合、 TCP リスナーとは異なり、同一のIP アドレスから実行される接続の数を制限することはできません。

マルチソケットリスニング

上記のように、TCP/IP サービスでは、リスナー(TCP リスナー) を使って接続の受信処理が行われ ます。TCP リスナーの場合、リスナーソケットを複数作成できます。ソケットは、それぞれ、TCP ポートを指定し、そのポートで受信TCP 接続が処理されるように設定(マルチソケットリスニング) できます。また、ソケットについてそれぞれ、サーバーコンピュータ上の全IP アドレスで接続が受け 付けられるようにするか、または、単一のIP アドレスで受け付けられるようにするかを設定すること も可能です。

例えば、単一のローカルIP アドレスですべての接続が受け付けられるようなソケットを作成できま す。一方、別の単一のローカルIP アドレス、しかも指定したネットワークからの接続だけが、そのIP アドレスで受け付けられるようなソケットの作成も可能です。

TCP/IP ソケットの場合、その性質上、ポート番号とローカルIP アドレスの両方が同じソケットは一 つしか作成できません。例えば、ポート番号がN で、サーバーコンピュータ上の全IP アドレスで接 続が受け付けられる(下記のページの[Local Address] フィールドで[all addresses] を選択) よう なソケットが既にある場合、ポートN のソケットをさらに作成することはできません(全IP アドレ スで接続が受け付けられるため、どのIP アドレスも使用できません)。一方、ポートがN で、いず れかのローカルアドレス(xx.yy.zz.tt) で接続が受け付けられるソケットがある場合、ポートが同じ くN でも、別のローカルアドレスで接続が受け付けられるソケットは作成が可能です。

CommuniGate Pro サーバーがインストールされているコンピュータに別のサーバーソフトウェア(例 えば、サードパーティのWeb サーバー) が動作している場合、そのサーバーのローカルIP アドレス とCommuniGate Pro サーバーのローカルIP アドレスが別々になるように設定します。ただし、ポー トは同じであってもかまいません。

例えば、どちらのポートも80 で、サードパーティのWeb サーバーのドメイン名が www.company.com、CommuniGate Pro サーバーのドメイン名がmail.company.com とします。こ の場合、www.company.com はWeb サーバーのIP アドレスにリゾルブされ、mail.company.com はCommuniGate Pro サーバーのIP アドレスにリゾルブされます。つまり、ユーザーがブラウザ上で http://www.company.com とタイプしたときにはサードパーティのWeb サーバーのホームページ が、http://mail.company.com とタイプしたときにはCommuniGate Pro サーバーのログイン ページが開きます。

ポート ローカルIPアドレス SSL/TLS初期化 リモートIPアドレス制限

新規のリスナーソケットは、上記のページで作成できます。作成する場合、ポート番号(Port) とし て0 と表示されている行を見つけ、0 を削除し、使用したいTCP ポートの番号を入力します。その後、 [Update] ボタンをクリックします。

既存のリスナーソケットを削除する場合、そのポート番号を0 に戻し、[Update] ボタンをクリックし ます。

CommuniGate Pro サーバーのIP アドレスが一つの場合でも、ほとんどのサービスでリスナーソケッ トを2 つ作成できます。この場合、一つは通常のクリアテキスト接続用のソケット、もう一つはセ キュア接続用のソケット(ポート番号は別でなければなりません) です(詳しくは、下記を参照)。


制限

必要であれば、リスナーソケットで受け付ける接続を制限することもできます。例えば、いずれかの ソケットでは、特定のリモートネットワーク(IP) アドレスからの接続だけが受信されるように設定 できます。

ソケットで受け付ける接続を制限したい場合、まず、制限を設定するソケットを決めます(または、 ポート番号を入力して作成します)。次に、そのソケットの[Remote Address Restrictions] オプション のドロップダウンメニューで[Grant] を選択します。続いて、右側のテキストフィールドにIP アド レスを入力します。これで、入力したIP アドレスからの接続だけが、そのソケットで受け付けられる ようになります。

または、ドロップダウンメニューで[Deny] を選択し、テキストフィールドにIP アドレスを入力し ます。この場合、入力したIP アドレスからクライアントに対して実行される接続はすべて拒否され ます(つまり、そのIP アドレスはブラックリストに登録されたのと同じです)。

IP アドレスは、複数行フォーマットで指定します。詳しくは、システム管理のセクションを参照し てください。

上記の[Remote Address Restrictions] オプションは、リスナーソケットレベルの制限であり、この制 限はSMTP モジュールの制限とは異なります。つまり、リモートサイトからサーバーのSMTP ポート に接続が実行され、[Remote Address Restrictions] オプションで、そのIP アドレスをリスナーソケッ トで拒否するように設定してあるときには、接続はただちに閉じられます。この場合、リモートサイ トでは、サーバーの別の各IP アドレスに対して再度、接続を試行し、その後、バックアップサー バーに対してメールのリレーを試行するという処理が可能になります。

一方、SMTP モジュールについて制限を設定している場合、つまり、サーバーの 保護機能(ブラッ クリスト) を使ってリモートサイトのアドレスに制限を設定している場合には、SMTP セッションが 直ちに閉じることはありません。このケースでは、必要なSMTP セッションが開始され、リモート サーバー(ブラックリストに登録されているリモートサイト) から通常どおり、メッセージの受信者 (宛先) のアドレスが送られます。ただし、こういったアドレスはすべて、SMTP モジュールによっ て拒否され、同時に「致命的エラー」コードが出力されます。その結果、リモートサーバーでは、そ の後、バックアップサーバーを介してメッセージをリレーするという処理は不可能になります。

同様に、[Remote Address Restrictions] オプションによる制限は、[Grant Access to the Clients Only ] オプションによる制限と異なります。つまり、リモートサイトからサーバーのPOP、IMAP、 WebUser などのアクセスタイプのポートに対して接続が実行され、そのIP アドレスをリスナーソ ケットで拒否するように設定してあるときには、接続はただちに閉じられます。この場合、リモート サイトでは、サーバーの別の各IP アドレスに対して再度、接続を試行するという処理が可能です( こうした別のIP アドレスについては、リスナーソケットを使ってアクセスを制限できます)。

一方、リモートサイトのアドレスがCommuniGate Pro サーバーの[ Client IP Addresses] リストにな かった場合、セッションがただちに閉じられることはありません。代わりに、アクセスタイプのセッ ションが開始され、ここで[Grant Access to Clients Only] オプションが有効だったときには、その リモートサイトにエラーメッセージが送信され、その後、接続が閉じられます。


セキュアソケット

上記のソケットの作成ページで[Init SSL/TLS] オプションを有効にしておいた場合、リモートサイ トからの接続が受信されると、リスナーによってSSL/TLS ネゴシエーションが開始されます。この 後、セキュア接続が確立されると、通信モジュールにより、その通信モジュールのプロトコル (IMAP、HTTP など) を使って必要な処理が実行されます。このプロトコルは、セキュアSSL/TLS プ ロトコルの上位層で動作します。

注意: セキュアソケット(セキュア接続が実行されるソケット) については、詳しく「セキュリティ」 のセクションのSSL/TLS セキュア接続の説明を参照してください。また、セキュアソケットを使用 する場合、ドメイン証明書が必要です。 

注意: リスナーで、セキュアソケットを介して接続要求が受信されると、リスナーにより、クライア ントの接続先のドメインの検出が試みられます。ただし、この時点では、クライアントからサーバー に対しては一切、情報は送信されていません。つまり、この段階では、CommuniGate Pro で認識され ているのはクライアントの接続先のローカルIP アドレスだけです。したがって、リスナーによるクラ イアントの接続先のドメインの検出は、この情報だけをもとに行われます。また、ドメインのセキュ リティ証明書( ドメイン証明書) を使ってセキュアソケット接続を実行する場合、そのドメインにIP アドレスが割り当てられていなければなりません。

ドメインの検出に成功すると、リスナーによって、そのドメインのドメイン証明書が取り出された 後、セキュリティ(SSL/TLS) 接続が開始されます。そのドメインにドメイン証明書がなかった場 合、接続は切断され、エラーメッセージがCommuniGate Pro のログに記録されます。

注意: 最近のバージョンのインターネットプロトコルでは、STARTTLS/STLS コマンド、または同等 のコマンドがサポートされています。上記のようなセキュア通信を行う場合、セキュアソケット(ま た、そのポート) を作成しなければなりませんが、この種のコマンドを使うことで、セキュアソケッ トとポートを作成せずにセキュア通信を実行できます。処理の手順は、まず、通常のポートと通常の 非セキュア接続を確立させます。続いて、クライアントからSTARTTLS コマンド(または同等のコ マンド) を送信します。これで、クライアントとサーバーでSSL/TLS セッションが開始されます。 このようにソフトウェアでSTARTTLS コマンドを使うことで(最近では、ほとんどのSMTP ソフト ウェアパッケージでSTARTTLS コマンドを使用できます)、とくにセキュアソケットを作成しなくて もセキュア(SSL/TLS) 通信の実行が可能です。

[Init SSL/TLS] オプションを[Ext] に設定しておいた場合、リスナーでは、そのソケット (ポート) で受信される接続はすべてセキュアSSL/TLS であり、かつ、SSL/TLS 暗号化/ 復号化処理 はすべて外部デバイスによって実行されると解釈されるようになります。
[Ext] に設定した場合、そのポートによる接続はクリアテキスト接続ですが、その接続はいずれも CommuniGate Pro のコンポーネント/ プロトコルによって暗号化接続として処理されます。つまり、 クリアテキストログインはセキュア接続として認識され、一方、STARTTLS 処理は拒否されます。


同一のアドレスからの接続の最大数の制限

同一のIP アドレスから複数の接続が実行されることもありますが、下記のオプションを使って、リ スナー(その全ソケット) で受け付ける接続の最大数を指定することができます。この方法で、サー ビス拒否(DoS) アタックを防御できます。

同一アドレスからの接続制限: クライアント用リザーブ接続数:
このオプションを使用する場合、次の点に注意が必要です。

注意: クラスタ環境の場合、このオプションで接続数を制限しておくと、クラスタ内のサーバー間通 信で問題が起こることがあります。そのため、同一の クラスタ内の各サーバーでは、このオプション は機能しないように設計されています。


クライアントアドレスからの接続の優先

[Reserve Connections for Clients] オプションでは、[ Client IP Addresses] リストに登録されているア ドレスからの接続をどの程度、優先して接続を許可するかを設定できます。この設定により、サービ ス拒否(DoS) 攻撃を回避できます。

接続の最大許可数とアクティブの接続数の差が、このオプションに指定した値以下の間は、非クライ アントアドレス([Client IP Addresses] リストにないアドレス) からの接続が拒否されます。つま り、[Client IP Addresses] リストのアドレスからの接続が優先して許可されます。


CommuniGate® Pro Guide. Copyright © 1998-2007, Stalker Software, Inc.