トラステッド内部ネットワーク・モデルでは、サーバーは、プライベートとして制御されるネットワーク内部にあるホストから発信されるトラフィックを保護します。
このモデルの説明では、以下のステートメント、概念、およびファイルを取り扱います。
図 1 は、セキュリティー・モデル・ネットワークのトラステッド内部ネットワーク部分を示しています。
この例では、内部ネットワーク上のトラフィックを制御するために、以下の要件が満たされていなければならないものとします。
これらの要件を満たし、トラステッド内部ネットワーク・モデルを構成するには、以下のステップを実行します。
この内部ネットワーク全体が 1 つのゾーン内で定義されるので、アドレス 9.1.1.1 を持つインターフェースに対して固有のセキュリティー・クラスを定義することができます。この例では、すべての内部ネットワーク・インターフェースの SECCLASS パラメーターに、任意値 1 が割り当てられます。この値は、トラステッド・ネットワークを意味するものとして解釈できます。IpService ブロック内に SecurityClass パラメーターを指定する場合は、それに関連したインターフェースにも、TCP/IP プロファイル内の LINK または INTERFACE ステートメントの SECCLASS パラメーターで同じ値を割り当てる必要があります。 この例では、SECCLASS パラメーター値が 1 のインターフェース、つまり内部ネットワークに接続されているものと見なされるインターフェースを経由するトラフィックのみが許可されます。
IpService
{
SourcePortRange 80
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
通常の FTP は 2 つのウェルノウン・ポートを使用するので、2 つのサービスが必要です。1 つは制御接続用で、もう 1 つはデータ接続用です。
IpService
{
SourcePortRange 21
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService
{
SourcePortRange 20
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional OutboundConnect
Routing local
SecurityClass 1
}
InboundConnect キーワードは、TCP 接続の開始が許可されないサービスに使用します。OutboundConnect キーワードは、TCP 接続要求の受信が許可されないサービスに使用します。どちらのキーワードも指定されていない場合は、どちらの側からも TCP 接続を開始することができます。
Local Address of secure server: 9.1.1.1
Remote Address of administrative machine: 9.1.1.2
Local Address of secure server: 9.1.1.1
Remote Address of all hosts on internal network: 9.1.1.0/24
IpGenericFilterAction permit-log
{
IpFilterAction permit
IpFilterLogging yes
}
IpGenericFilterAction permit-nolog
{
IpFilterAction permit
IpFilterLogging no
}
この例では、ソース・アドレスは、セキュア・ホスト上のアドレスの 1 つを参照します。宛先アドレスはリモート・ホストを参照します。 IpService ステートメントは、ステップ 2 で定義したものです。IpGenericFilterAction ステートメントでは、既に定義済みのアクションを参照する必要があるという点に注意してください。
IpFilterRule AdminFTP
{
IpSourceAddr 9.1.1.1
IpDestAddr 9.1.1.2
IpService
{
SourcePortRange 21
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService
{
SourcePortRange 20
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional OutboundConnect
Routing local
SecurityClass 1
}
IpGenericFilterActionRef permit-log
}
IpFilterRule InternalNetWeb
{
IpSourceAddr 9.1.1.1
IpDestAddrSet 9.1.1.0/24
IpService
{
SourcePortRange 80
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpGenericFilterActionRef permit-nolog
}
IpGenericFilterAction permit-log
{
IpFilterAction permit
IpFilterLogging yes
}
IpGenericFilterAction permit-nolog
{
IpFilterAction permit
IpFilterLogging no
}
この例では IPSec は不要なので、IKE トラフィックに対するフィルターは必要ありません。
IpFilterPolicy
{
FilterLogging on
IpFilterRule AdminFTP
{
IpSourceAddr 9.1.1.1
IpDestAddr 9.1.1.2
IpService
{
SourcePortRange 21
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService
{
SourcePortRange 20
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional OutboundConnect
Routing local
SecurityClass 1
}
IpGenericFilterActionRef permit-log
}
IpFilterRule InternalNetWeb
{
IpSourceAddr 9.1.1.1
IpDestAddrSet 9.1.1.0/24
IpService WebServer
{
SourcePortRange 80
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpGenericFilterActionRef permit-nolog
}
}
以下に示すのは、2 つのフィルター規則を持つ、内部ネットワーク用の完全なスタック固有 IP セキュリティー構成ファイルです。
# IP Security policy for Secure Server
##########################
# IpFilterPolicy block #
##########################
IpFilterPolicy
{
FilterLogging on
#Allow admin FTP; log traffic
IpFilterRule AdminFTP
{
IpSourceAddr 9.1.1.1
IpDestAddr 9.1.1.2
IpService
{
SourcePortRange 21
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService
{
SourcePortRange 20
DestinationPortRange 1024 65535
Protocol tcp
Routing local
SecurityClass 1
Direction bidirectional OutboundConnect
}
IpGenericFilterActionRef permit-log
}
#Allow LAN Web traffic; don't log
IpFilterRule InternalNetWeb
{
IpSourceAddr 9.1.1.1
IpDestAddrSet 9.1.1.0/24
IpService
{
SourcePortRange 80
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpGenericFilterActionRef permit-nolog
}
############################
# Generic Filter Actions #
############################
IpGenericFilterAction permit-log
{
IpFilterAction permit
IpFilterLogging yes
}
IpGenericFilterAction permit-nolog
{
IpFilterAction permit
IpFilterLogging no
}
IpAddr InternalNetServerAddress
{
Addr 9.1.1.1
{
IpAddr InternalNetAdminAddress
{
Addr 9.1.1.2
}
IpAddrSet InternalNet
{
Prefix 9.1.1.0/24
}
IpService WebServer
{
SourcePortRange 80
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService FTPServer-Control
{
SourcePortRange 21
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService FTPServer-Data
{
SourcePortRange 20
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional OutboundConnect
Routing local
SecurityClass 1
}
IpServiceGroup FTPServer
{
IpServiceRef FTPServer-Control
IpServiceRef FTPServer-Data
}
IpFilterGroup InternalNetZoneA
{
IpFilterRef AdminFTP
IpFilterRef InternalNetWeb
}
注意すべきは、IpFilterPolicy ブロック内で IpFilterRule ステートメント・リストが順序付けされるのと同様に、IpFilterGroup ブロック内の IpFilterRef ステートメント・リストも順序付けされるという点です。InternalNetWeb 規則は、管理マシンも含めて、ネットワーク内のすべての IP アドレスに適用されます。これに対して、AdminFTP 規則はもっと特定的に適用されます。その理由は、この規則はそのネットワーク内の特定アドレスのみに適用されるからです。このリスト内では、より特定して適用される規則を最初に配置します。
これで、すべての再使用可能なステートメントの明確化および個別定義を完了しましたので、その再使用可能なステートメント・タイプを必要とするどのステートメントにも、これらのステートメントを組み込むことができます。以下に、参照を使用する変更済みのスタック固有 IP セキュリティー構成ファイルを示します。名前を追加し、関連ステートメントを集めて編成することで、IpFilterPolicy ステートメントの目的が明確化されるという点に注意してください。
# IP Security policy for Secure Server
##########################
# IpFilterPolicy block #
##########################
IpFilterPolicy
{
FilterLogging on
IpFilterGroupRef InternalNetZoneA
}
##########################
# Security Zones #
##########################
IpFilterGroup InternalNetZoneA
{
IpFilterRuleRef AdminFTP
IpFilterRuleRef InternalNetWeb
}
##########################
# Filter rules #
##########################
#Allow admin FTP; log traffic
IpFilterRule AdminFTP
{
IpSourceAddrRef InternalNetServerAddress
IpDestAddrRef InternalNetAdminAddress
IpServiceGroupRef FTPServer
IpGenericFilterActionRef permit-log
}
#Allow LAN Web traffic; don't log
IpFilterRule InternalNetWeb
{
IpSourceAddrRef InternalNetServerAddress
IpDestAddrSetRef InternalNet
IpServiceRef WebServer
IpGenericFilterActionRef permit-nolog
}
######## All reusable reference statements defined below ########
############################
# Generic Filter Actions #
############################
IpGenericFilterAction permit-log
{
IpFilterAction permit
IpFilterLogging yes
}
IpGenericFilterAction permit-nolog
{
IpFilterAction permit
IpFilterLogging no
}
##########################
# Reusable Services #
##########################
IpService WebServer
{
SourcePortRange 80
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService FTPServer-Control
{
SourcePortRange 21
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional InboundConnect
Routing local
SecurityClass 1
}
IpService FTPServer-Data
{
SourcePortRange 20
DestinationPortRange 1024 65535
Protocol tcp
Direction bidirectional OutboundConnect
Routing local
SecurityClass 1
}
############################
# Reusable Service Groups #
############################
IpServiceGroup FTPServer
{
IpServiceRef FTPServer-Control
IpServiceRef FTPServer-Data
}
############################
# Reusable IP Addresses #
############################
IpAddr InternalNetServerAddress
{
Addr 9.1.1.1
}
IpAddr InternalNetAdminAddress
{
Addr 9.1.1.2
}
IpAddrSet InternalNet
{
Prefix 9.1.1.0/24
}
このスタック固有 IP セキュリティー構成ファイルは、管理者に FTP アクセス権を付与し、内部ネットワーク内のすべてのユーザーに Web アクセス権を付与します。 このポリシーは、要約して参照を使用する方法に大きく依存することにより、見てすぐに分るだけでなく、参照されているどのオブジェクトが変更されても、それを参照しているどのステートメントにも伝搬されます。 したがって、管理マシンまたは内部サブネットワークの IP アドレスが変更されても、IpAddr または IpAddrSet ステートメントに 1 回変更を加えるだけです。複数の規則にある多くのインスタンスを変更する必要はありません。