Next: Document View, Previous: Host Security, Up: Top [Contents][Index]
Emacsがネットワーク接続を確立するときは、常にその確立された接続をNSM(Network Security Manager)に渡します。NSMは、あなたのコントロールのもとにセットワークセキュリティーを実施する責任があります。
変数network-security-level
は、NSMが実施するセキュリティーレベルを決定します。変数の値がlow
の場合、セキュリティーのチェックは行なわれません。
この変数がmedium
(デフォルト)の場合、いくつかのチェックが行なわれます。チェックの結果、NSMがそのネットワーク接続を信頼できないと判断した場合は、それを知らせて、そのネットワーク接続にたいして何を行なうか尋ねます。
証明されていない接続(unverified connection)にたいして、永続的なセキュリティー例外(security exception)を登録したり、一時的な例外(temporary exception)とするか、接続を完全に拒絶することができます。
以下はmedium
で行なわれるチェックのリストです。
その接続がTLS、SSL、STARTTLS接続の場合、NSMは接続しようとしているサーバーの同一性(identity)を証明するために使用される認証が、検証できるかどうかチェックします。
無効な認証が懸念される場合(Man-in-the-Middleによりネットワーク接続がハイジャックて、あなたのパスワードが盗まれるかもしれません)や、とにかく接続を行なう正当な理由があるかもしれません。たとえばサーバーが自己署名された認証(self-signed certificate)を使用していたり、認証の期限が切れている場合もあるでしょう。接続の継続を容認するかどうかの決定は、あなたに任されています。
以前自己署名された認証を許容したが、今回はそれが変更されていて、それはそのサーバーが単に認証を変更しただけかもしれませんが、ネットワーク接続がハイジャックされている可能性もあります。
接続が暗号化されていないが、以前のセッションでは暗号化されていた場合、あなたとそのサーバーの間にSTARTTLSアナウンス(STARTTLS announcements)を剥奪して、接続を非暗号化するプロキシーがあることを意味するかもしれません。これは通常とても疑わしいです。
IMAPやPOP3のサーバーに接続するとき、ネットワーク越しにパスワードを送信するのが一般的なので、接続は通常暗号化されています。同様に、パスワードを要求するSMTPを通じてemailを送信する場合は通常、その接続が暗号化されていることを望むでしょう。その接続が暗号化されていない場合、NSMは警告します。
network-security-level
がhigh
の場合、上記に加えて以下のチェックが行なわれます:
サーバーはキーを変更するときがあり、通常それは心配することはありません。しかし、サードパーティーのサービスにたいして新しい認証を発行する、偽装しやすい証明期間(pliable Certificate Authorities)へのアクセスをもつエージェントにより、ネットワーク接続がハイジャックされているか心配なときは、これらの変更を追跡したいと思うかもしれません。
パグリックキーの交換を行なう際、そのチャンネルが第三者により盗聴できないことを確実にするために、プライムビット(prime bits)の数は高くあるべきです。この数があまりに低い(low)場合は、警告されるでしょう。
RC4ストリーム暗号は低品質とされており、第三者による盗聴を許すかもしれません。
TLS1.0より古いプロトコルは、様々な攻撃にたいして脆弱とされており、あなたが行なうことがより高いセキュリティーを要する場合は、使用を避けたいと思うかもしれません。
最後に、network-security-level
がparanoid
の場合は、最初にNSMが新たな認証に遭遇したときに、それが通知されます。これによりEmacsによるすべての接続のすべての認証を検証することができるでしょう。
以下の追加の変数は、NSM操作の詳細を制御するために使用できます。
nsm-settings-file
これはNSMが接続の詳細を保存するファイルです。デフォルトは~/.emacs.d/network-security.dataです。
nsm-save-host-names
デフォルトでは、非STARTTLS
接続ではホスト名は保存されません。接続の識別には、かわりにホストとポートによるハッシュ値(host/port
hash)が使用されます。ユーザーがどのサーバーに接続しているか確認するために、誰かが気軽に設定ファイルを読めないことを意味します。この変数がt
の場合、NSMはnsm-settings-fileにもホスト名を保存します。