next up previous contents
Next: 6.1.2 TCP Up: 6.1 プロトコル Previous: 6.1 プロトコル

6.1.1 コネクション

それぞれのプロトコルについて述べる前に、TCP/IPにおけるコネクション概念に ついて理解していなければならないでしょう。トランスポート層における コネクション(概念)は、発信元IP,Port,送信先IP,Portで区別されます。 ここで注意しなければならないのは、異なるコネクションであっても、 送信先IP,Portが同じであるような場合があることです。例えば、mailのMTAへの アクセスは常に mail-server,25 という形で行われますが、そうした送信先 アドレスが同じコネクションであっても発信元が違えば全て違うコネクションを 意味しています。このように、それぞれのコネクションは、発信元IP,Port, 送信先IP,Portの4つの情報によって区別される訳です。逆にこうした性質を 使って、コネクションの横取りというクラック手法も考えられます。勿論、 コネクションの継続性を保証するためのメカニズムもありますが、こうしたものも 完全ではないために、発信元の偽造とこれらのメカニズムを突破することによる クラッキングの可能性があり得ることを知っていることは重要です。 (厳密には、UDPにはコネクション概念はありません。上に述べたような区別は TCPと同様に出来ますが、コネクション概念という時には接続を保持するための メカニズムも含めて指しますので、その部分がUDPにはないからです。)

ポート番号については、1023番よりも下のポート番号は特権ポートと呼ばれ、 Unixではroot以外のユーザが生成する権限はありません(勿論、 このポートにアクセスする権限はありますが)。従って、Unixでサーバを管理 している限りではこの特権ポートからのアクセスは内部的には信頼できますが、 Unix以外でのOSではそうした事は期待出来ません。従って、結論としては このポートからのアクセスであるから信頼できる訳ではないということです。 信頼できるのは、その当該マシンが自分たちによって適切に管理されている という場合のみです。この場合は、例えばFreeBSDやLinuxのNISのセキュリティ 確保に利用されているように、そのコネクションは信頼出来る事になります。 一方、外部からのアクセスについてはこうした信頼は全く何の意味もなしません。 同時に、外部からのこれらの特権ポートへのアクセスも注意深くフィルタリング する必要があります。一方、特権ポートのみがそうした注意の対象かと言えば そうとは限らず、現在では様々なサービスが特権ポート以外で提供されています ので、そうしたサービスの内セキュリティ上問題のあるポートへのアクセスは 制限する必要があります。



Noriyo Kanayama