セキュリティ |
このページでは XMail のセキュリティ機構やその設定方法について説明しています。
なお、専用管理ツールを使用すれば高度なアンチ・スパム機能やアンチ・ウイルス機能などをグラフィカルにセットアップできる可能性があります。たとえば XMailCFG はキーワードによるスパムのフィルタリングやサードパーティ製ソフトウェアと組み合わせたウイルススキャンシステムをセットアップすることができます。
ここで言う "システム管理" とは、XMail のコントロールサーバにコントロールコマンドを使用して行う保守管理を指します。XMail を保守管理する方法には、それがインストールされたホストに対話的にログオンしテキストエディタなどを使用してその環境設定ファイル群(MailRoot/*.tab)を直接に編集する方法と、XMail に搭載されたコントロールシステムを利用する方法とがありますが、ここでは後者に関するセキュリティを "システム管理のセキュリティ" と呼んでいます。
コントロールシステムの詳細については "コントロールコマンド" セクションを参照してください。
■システム管理者を登録
コントロールコマンド ctrlclnt(ctrlclnt.exe)は ctrlclnt -s (server) -n (port) -u (name) -p (pass) ...... と必ず管理者名(name)とパスワード(pass)を指定して実行しますが、この名前とパスワードは XMail の設定ファイル MailRoot/ctrlaccounts.tab に登録されていなければなりません。
登録の実際については "環境設定" セクションの [システム管理者の登録] を見てください。
■アクセスコントロール
コントロールコマンドは便利なコマンドですが、どこからでもそれが実行できるようでは危険です。たとえば、悪意を持つ人がメールサービスを妨害しようとしてコントロールコマンドを使い、さまざまに試行錯誤するかもしれません。
そこで、XMail ではアクセス元のコンピュータを設定ファイル MailRoot/ctrl.ipmap.tab で制限することができるようになっています。詳細は "環境設定" セクションの [システムセキュリティの設定] を見てください。
■SSL/TLS の利用
バージョン 1.24 から XMail は SSL/TLS にネイティブ対応となり、コントロールコマンドも暗号化通信路での使用が可能になりました。SSL/TLS では暗号化通信だけでなく、クライアント認証も可能なので、もし可能なら SSL/TLS を利用したシステム管理を行うことをすすめます。
SSL/TLS 関連の詳細は "SSLセットアップ" のページを見てください。
XMail は FINGER サービスに対応しています。適当な FINGER クライアントソフトウェアを使って XMail にアクセスすれば、その FINGER サーバモジュールは問い合わせのあったユーザの設定ファイル(user.tab)の内容をクライアントに送り返します。
user.tab には、そのユーザの実名や住所、電話番号などを登録することができます。詳細は "その他の情報" セクションの [user.tab 中の変数] を見てください。
XMail ではデフォルトで FINGER サーバへのアクセスは制限されていません。また、1.24 未満のバージョンではサービスを停止することもできないので、運用環境によってはセキュリティ上の弱点が生まれる可能性があります。そこで、FINGER サーバへのアクセスコントロールをしっかりと行うことをすすめます。
FINGER サーバへのアクセスコントロールは設定ファイル MailRoot/finger.ipmap.tab で行います。finger.ipmap.tab への登録フォーマットは以下の通りです。
"(IP アドレス)" (tab) "(ネットマスク)" (tab) "(ALLOW または DENY)" (tab) (優先順位) (改行) |
finger.ipmap.tab のデフォルトでは以下の一つの定義があり、すべてのコンピュータからのアクセスを許可しています。
"0.0.0.0" "0.0.0.0" "ALLOW" 1 |
セキュリティ向上のためにデフォルトの定義を変更する場合の一般的なやり方は、(1) まずすべてのアクセスを拒否し、(2) その後にアクセスを許可するコンピュータを登録する、ということになります。すなわち、この場合の finger.ipmap.tab の最初の登録行は以下のようになります。
"0.0.0.0" "0.0.0.0" "DENY" 1 |
FINGER サーバへのアクセスを完全に遮断する場合はこれだけにします。一方、特定のコンピュータにアクセスを許可する場合、たとえば、ローカルコンピュータと 192.168.0.0/24 という LAN からのアクセスを許可する場合は以下のようにします。
"0.0.0.0" "0.0.0.0" "DENY" 1 "127.0.0.0" "255.0.0.0" "ALLOW" 2 "192.168.0.0" "255.255.255.0" "ALLOW" 3 |
XMail は、バージョン 1.24 から FINGER サーバを起動しないオプション(-F-)を利用できるようになりました。起動しない場合、上記の対策は不要です。"環境設定" ページの "OS(オペレーティングシステム)固有の作業" と "その他の参考情報" ページの "XMail 起動オプション" に参考情報があります。
POP サービスではアクセスコントロールと APOP 認証(暗号化パスワードによる認証)によってセキュリティ対策を行うことができます。バージョン 1.24 以降であれば SSL/TLS による暗号化通信も利用できます。
■アクセスコントロール
XMail の POP サーバへのアクセスを許すコンピュータを制限したければ、設定ファイル MailRoot/pop3.ipmap.tab で適切な設定を行います。また、特定の POP アカウントに対するアクセスコントロールを行う場合は該当アカウントのディレクトリ MailRoot/domains/(該当ドメイン名)/(該当ユーザ名)/ に pop3.ipmap.tab ファイルを作成します。
pop3.ipmap.tab の登録フォーマットや登録例については [FINGER サービスのセキュリティ] を参考にしてください。
■APOP パスワードの利用
XMail は APOP 認証に対応していますが、実際にそれが行われるかどうかはサーバ側の設定ではなくクライアントがサーバにどうアクセスするかによります。クライアントアプリケーション(メーラ)に APOP を利用するためのオプションがある場合はそれをオンにしてもらってください。それですべてです。
■SSL/TLS の利用
バージョン 1.24 から XMail は SSL/TLS にネイティブ対応となり、POP サービスも暗号化通信路での使用が可能になりました。SSL/TLS では暗号化通信だけでなく、クライアント認証も可能なので、もし高度なセキュリティが必要であれば SSL/TLS を利用したサービスを行うことをすすめます。
SSL/TLS 関連の詳細は "SSLセットアップ" のページを見てください。
XMail では以下の設定ファイルで SMTP 関連のアクセスコントロールを行います。
■smtp.ipmap.tab によるアクセスコントロール
SMTP サービスへのアクセスをコントロールする場合、設定ファイル MailRoot/smtp.ipmap.tab を利用します。ただし、smtp.ipprot.tab と smtp.hnprot.tab で登録するホストは smtp.ipmap.tab による制限から除外されます。
SMTP サーバへのアクセスを制限することはインターネットに公開するメールサーバでは一般的ではありません。メールはインターネットのあらゆる場所から来る可能性があるからです。しかし、特別な理由があって特定のメンバーグループだけで SMTP サービスを利用することもあります。その場合に smtp.ipmap.tab を設定することになります。
smtp.ipmap.tab の登録フォーマットや登録例については [FINGER サービスのセキュリティ] を参考にしてください。
なお、smtp.ipmap.tab でアクセスコントロールを行う場合、XMail の主環境設定ファイル server.tab の SMTP-IpMapDropCode 変数の値により実際の処理が以下のように変化します。
SMTP-IpMapDropCode 変数の値が 0 である場合、smtp.ipmap.tab でアクセスを拒否されたホストであっても SMTP 認証に成功する場合はアクセスが許可されます。
SMTP-IpMapDropCode 変数の値が 1 である場合、他の設定にかかわらずクライアントからの接続は即時に切断されます。
SMTP-IpMapDropCode 変数の値が -4 のように負数である場合、指定数の絶対値の秒数の遅延を挿入したうえでサービスの利用が許可されます。
■smtp.ipprop.tab によるアクセスコントロール
設定ファイル MailRoot/smtp.ipprop.tab は IP アドレスベースの制限をまったく行わないホストを IP アドレスで登録します。クライアントホストの IP アドレスがここで設定したものに一致する場合、その他の設定ファイルによる種々のアクセス制限をそのクライアントはすべてバイパスできます。
■smtp.hnprop.tab によるアクセスコントロール
設定ファイル MailRoot/smtp.hnprop.tab は IP アドレスベースの制限をまったく行わないホストをドメイン名で登録します。クライアントホストの IP アドレスを DNS 逆引きを行い、そこで得られた結果がここで登録したドメイン名に一致する場合、その他の設定ファイルによる種々のアクセス制限をそのクライアントはすべてバイパスできます。
smtp.hnprop.tab ファイルによるアクセスコントロールでは DNS サーバへの問い合わせが発生するため、処理に遅延が発生することがあります。
SMTP リレー(SMTP 中継)とは、ある SMTP サーバを利用して他の SMTP サーバにメッセージを送信することです。メッセージが SMTP サーバから SMTP サーバへとリレーされるので SMTP リレーと呼ばれます。たとえば、ある XMail のあるローカルユーザがその XMail を利用して他の場所の人物にメッセージを送信すると、そこでは SMTP リレーが行われます。
SMTP リレーはインターネットのメールサービスではごく普通に行われていることですが、SMTP サーバ側でアクセスコントロールを行わないでいると、それをスパムの中継サーバとして利用しようとする人や他の SMTP サーバに対する攻撃拠点として利用する人びとが必ず現れます。そこで、それを許可するコンピュータを具体的に登録しておかなければなりません。
XMail では MailRoot/smtprelay.tab で SMTP リレーの設定を行います。デフォルトでは以下のようになっているはずです。
"10.0.0.0" "255.0.0.0" "172.16.0.0" "255.255.0.0" "192.168.0.0" "255.255.0.0" |
ただし、XMail の古いバージョンでは以下のようになっている場合があり、その場合は "0.0.0.0" "0.0.0.0" を必ず削除してください。
"0.0.0.0" "0.0.0.0" |
最初のフィールドは IP アドレスの指定で、それにネットマスクの指定が続きます。たとえば、ローカルコンピュータと 192.168.0.0/24 という LAN からの利用の場合のみ SMTP リレーを許可するとすると、smtprelay.tab ファイルの内容は以下のようになります。
"127.0.0.0" "255.0.0.0." "192.168.0.0" "255.255.255.0" |
必要に応じ、任意の登録を行ってください。特定の 1 台のコンピュータを登録する場合のネットマスクは "255.255.255.255" になります。
なお、MailRoot/smtp.ipmap.tab でアクセスコントロールが行われている場合、XMail の主環境設定ファイル server.tab の SMTP-IpMapDropCode 変数の値により実際のリレー処理は以下のように変化します。
SMTP-IpMapDropCode 変数の値が 0 である場合、smtp.ipmap.tab でアクセスを拒否されていても SMTP 認証に成功するならリレーが許可されます。
SMTP-IpMapDropCode 変数の値が 1 である場合、アクセスは即時に切断されます。
SMTP-IpMapDropCode 変数の値が -4 のように負数である場合、指定数の絶対値の秒数の遅延を挿入したうえでリレーが許可されます。
■SMTP リレー制限のバイパス
smtprelay.tab によるリレー制限は以下の 2 つの方法でバイパスすることができます。IP アドレスの動的割り当てを受けてインターネットを利用しているユーザ、たとえばダイヤルアップでインターネットに接続するユーザは以下の方法で SMTP リレーを利用することができます。
XMail の個々のユーザについての環境設定ファイル user.tab 中の SMTP 認証オプション SmtpPerms の値として R オプションが指定されていると、smtprelay.tab の設定にかかわらずそのユーザは SMTP リレーが許可されます。通常、ユーザ登録時に R オプションは指定されるので、XMail のローカルユーザは自分のメーラで SMTP 認証機能をオンにして XMail を利用するのであれば通常は SMTP リレーが許可されます。
これに関連し、もしも smtprelay.tab に 1 つの登録もない場合は SMTP 認証を利用する場合のみ XMail を利用することができます。
なお、user.tab に SmtpPerms オプションの指定がない場合は MailRoot/server.tab 中の変数 SmtpPerms の値が参照されます。server.tab については "環境設定" セクションを参照してください。
MailRoot/server.tab 中の変数 EnableAuthSMTP-POP3 の値が 1 になっている場合、XMail のローカルユーザは自分のメーラで SMTP after POP オプションまたは POP before SMTP オプションをオンにすることで smtprelay.tab における設定をバイパスすることができます。
SMTP after POP あるいは POP before SMTP とは、送信動作の前に受信動作を自動的に行うもので、受信動作では必ず認証が行われることを利用し、もしもそのユーザが正当なユーザであった場合、そのユーザがそのとき使用していた IP アドレスに対しては決められた時間(XMail のデフォルトでは 900 秒)だけ SMTP リレーを許可するというものです。
SMTP after POP オプションも POP before SMTP オプションもないメーラの場合は、送信の前に手動で通常の受信操作を行うことで同様の機能を利用することができます。
■不正中継テスト(第三者中継の調査)
あなたの XMail で正しい SMTP リレーの設定が行われているかどうか、つまり不正中継を行えない設定になっているかどうかは以下のサイトで調べることができます。
RBL.JP によるサービス (http://www.rbl.jp/svcheck.php)
abuse.net によるサービス (http://www.abuse.net/relay.html)
■不正中継サーバのデータベース
インターネットには、不正中継可能な SMTP サーバを随時にデータベースに登録し、その情報を公開しているサイトがあります。そして、SMTP サーバの中には、自分にアクセスしてきた SMTP クライアントのドメイン名や IP アドレスをこのデータベースに照会し、そのドメイン名などがデータベースに登録されている場合は接続を拒否するように構成されているものが少なくありません。XMail もそのように構成することが可能です("環境設定" セクションを参照)。
不正中継データベースを運営しているサイト
MAPS (http://www.mail-abuse.com/)
RBL.JP (http://www.rbl.jp/svcheck.php)
これらのデータベースへの SMTP サーバの登録はその所有者に無断で行われることがほとんどなので、SMTP リレーの設定に無関心でいるといつのまにかデータベースに登録されてしまい、他の SMTP サーバの管理者から思いもかけず抗議のメールを受け取るという不名誉な事態が訪れることになります。
そのようなデータベースにあなたの XMail が登録されているかどうかはそれぞれのサイトで確認できるようになっているはずです。もし登録されていた場合、SMTP リレーの設定を見直し、不正中継テストで動作を確認したうえでデータベースからの削除をそれぞれのサイトに申し込んでください。
XMail は SMTP 認証に対応しています。SMTP 認証とは、SMTP サーバへの接続時に認証を行うものです。SMTP サーバの不正利用を防ぐ方法にはいくつかありますが、不特定の場所からのアクセスに対して有効な方法としては POP before SMTP(SMTP after POP) と SMTP 認証とがあり、SMTP 認証がセキュリティ面ですぐれています。
■システム既定の SMTP 認証
XMail はデフォルトでローカルユーザの SMTP 認証に対応しており、XMail 側でそのための特別な作業を行う必要はありません。SMTP 認証を実際に利用するためには SMTP クライアントアプリケーション(メーラ)の側でそのためのオプションをオンにするだけです。
たとえば、Outlook Express 6 の場合、[サーバーの設定] で [このサーバーは認証が必要] にチェックをつけることになります。その他のメーラの場合はたいてい "SMTP 認証" というキーワードで該当項目が見つかるはずです。
なお、メーラ側で SMTP 認証オプションとして CRAM-MD5 を選択できるようであればそれをオンにすることをすすすめます。この場合、認証時にパスワードそのものをサーバとクライアントとでやり取りすることはなく、しかもデータの一部が暗号化されるからです。
■MailRoot/smtpauth.tab による SMTP 認証
MailRoot/smtpauth.tab は SMTP 認証によって XMail の SMTP サービスを利用できるアカウントを定義します。ただし、XMail のローカルユーザはデフォルトで SMTP 認証が利用できるので、この smtpauth.tab を利用するのはローカルユーザ以外に SMTP サーバの利用を許可する場合になります。smtpauth.tab の設定については "全 .TAB ファイル" ページを参照してください。
■MailRoot/smtpextauth.tab による外部 SMTP 認証
MailRoot/smtpextauth.tab は、XMail 標準の認証システムをユーザ定義の認証システムで代替できるようにするためにあります。たとえば外部プログラムを利用して Windows のドメインコントローラによる認証を行ったり、RSA-AUTH などによる Base64 チャレンジアンドレスポンス方式の認証を行うことができます。ただし、クライアント側でもそのための準備が必要です。smtpextpauth.tab の設定については "全 .TAB ファイル" ページを参照してください。
スパム問題が深刻になりつつあります。ある調査では、 2003 年初頭で全世界で送受信される電子メールの半数以上がスパムだということです。
■スパマーを IP アドレスで排除
XMail には SMTP クライアントの IP アドレスによって SMTP サーバへの接続を拒否する機能があります。 SMTP クライアントの IP アドレスは通常、メッセージヘッダの Received: タグの中に現れます。
設定は MailRoot/spammers.tab で行います。登録フォーマットは以下の通りです。
"(IPアドレス)" (tab) "(ネットマスク)" (改行) |
たとえば、192.168.0.0/24 と10.0.0.1/32 からスパムが送られてくるとするなら、以下のように登録します。
"192.168.0.0." "255.255.255.0" "10.0.0.1" "255.255.255.255" |
spammers.tab による設定では SMTP 認証済みのユーザを制限から除外したり時間を指定して遅延処理を行うことも可能です。詳細は "全.TAB ファイル" を見てください。
■スパムをメールアドレスで排除
XMail には SMTP セッションの冒頭で SMTP クライアントが名乗る Sender アドレス(MAIL FROM:の値)によって SMTP サーバへの接続を拒否する機能があります。
設定は MailRoot/spam-address.tab で行います。登録フォーマットは以下の通りです。
"(メールアドレスの一部または全部)" (改行) |
たとえば、以下のように登録します。
"sales@shop.com" "*@rude.net" |
サンプルのようにメールアドレスにはワイルドカードを使用できます。ただし、必ず @ 文字を含む必要があります。
■スパムをメッセージ内容で排除
メッセージのヘッダや本文まで見てスパムを排除する機能(コンテンツフィルタリング機能)は現在の XMail にはありません。 しかし、XMail のフィルタ機能を利用すればそれを可能にすることはできます。
XMail の関連ツールである XMailCFG はメッセージのヘッダやボディのフィルタリングを可能にしており、たとえば "未承諾広告" というような語句が Subject: タグ中にあるメッセージを排除することができます。
フィルタ機能の利用については "コマンド実行機能" セクションまたは "フィルタ機能" セクションを参考にしてください。
■スパムを専用ツールで排除
スパマーとスパム排除技術との戦いはおそらくこの先ずっと続くでしょう。スパマーも経験を積み、いよいよ巧妙な技術を利用するようになって、今では単純なキーワード検索ではスパムを排除することはできなくなっています。当然、スパム排除技術も進化しなければなりません。
XMail の作者が公開している GLST は Greylisting という技術を利用した強力なスパム対策ソフトウェアで、セットアップも容易です。SpamAssassin はメッセージ内容を判定し、スパムと判定したメッセージにフラグを付けることのできるソフトウェアで、日本語対応も進められていますが、セットアップはやや難しいかもしれません。
現在の XMail はそれ自身ではアンチ・ウイルス機能を持っていません。将来もそうなる見込みはありません。 しかし、XMail のフィルタ機能やコマンド実行機能とサードパーティのウイルススキャンソフトウェアとを併用すればそれは可能です。
たとえば、XMailCFG や K4、kml ではスキャンエンジンとして以下のソフトウェアを使用することでアンチ・ウイルス機能を実現できるようにしていすま。
製品名 | プログラム名 | 備考 |
AVG Anti-Virus | avgscan.exe avgscanx.exe(V8) | 有償、個人使用はフリー Windows のサーバ版にはインストール不可 |
a-squared Command Line Scanner | a2cmd.exe | 無償 |
ClamWin ClamAV for Windows | clamscan.exe | 無償 |
ESET NOD32 Antivirus V2 | nod32.exe | 有償 |
ESET NOD32 Antivirus V3 ESET Smart Security | ecls.exe | 有償 |
F-Prot Antivirus for DOS | f-prot.exe | 開発終了 |
F-Prot Antivirus for Windows | fpcmd.exe | 有償 |
F-Secure アンチウイルス クライアントセキュリティ | fsav.exe | 有償、Windows のサーバ版にはインストール不可 |
F-Secure アンチウイルス Windows サーバ版 | fsav.exe | 有償 |
SOFTWIN BitDefender Free Edition | bdc.exe | 有償、Windows のサーバ版にはインストール不可 |
トレンドマイクロ Client/Server Security | vscanwin32.com | 有償 |
トレンドマイクロ ウイルスバスター2008 | tvscan32.com | 有償、Windows のサーバ版にはインストール不可 |
マカフィー VirusScan | scan.exe | 有償、Windows のサーバ版にはインストール不可 |
詳細は XMailCFG 関連ページまたは K4 関連ページを見てください。なお、上記ソフトウェアの中には Windows 2000/2003/2008 のサーバ版にインストールできないものがあります。
フィルタ機能などについては "コマンド実行機能" セクションまたは "フィルタ機能" セクションを参考にしてください。
XMail はバージョン 1.24 からネイティブで SSL/TLS に対応しました。 XMail の実装は大組織での本格運用にも耐えるものですが、一方で私的運用にも簡易に利用できるものになっています。
SSL(Secure Socket Layer) は Netscape 社が開発したセキュリティプロトコルで、ネットワーク間通信を暗号化するための仕組みです。そのバージョン 3(SSL v3) をもとに IETF(The Internet Engineering Task Force) がインターネット標準の規格(RFC 3207)としてまとめたものが TLS(Transport Layer Security) です。
SSL は通信路を暗号化するための仕組みですが、それに証明書ベースの認証などを追加したものが TLS です。今日、実際に利用される運用技術は TLS ですが、一般には SSL と呼び習わされるので XMailCFG では SSL/TLS と表記しています。
XMail における SSL/TLS のセットアップについては "SSLセットアップ" ページを見てください。
|