Solaris のシステム管理 (IP サービス)

Web サーバーの保護方法

セキュリティ保護された Web サーバーでは、Web クライアント要求でないすべての入力トラフィックが、セキュリティ検査を通ることが要求されます。 この手順では、Web サーバーで処理する Web トラフィックと、この Web サーバーからの DNS クライアント要求の省略 (bypass) について説明します。他のすべてのトラフィックには、3DES アルゴリズムと SHA-1 アルゴリズムでは ESP を要求し、出力トラフィックに共有 SA を使用します。また、SA の共有により、セキュリティアソシエーションが多くなり過ぎないようにします。

  1. システムコンソールからスーパーユーザーになります。


    注 –

    リモートログインすると、セキュリティ上重要なトラフィックが盗聴される恐れがあります。何らかの方法でリモートログインを保護していても、システム全体のセキュリティがリモートログインセッションレベルに低下します。


  2. セキュリティポリシー検査を省略するサービスを指定します。

    Web サーバーの場合、TCP ポート 80 (HTTP) と 443 (保護 HTTP) が該当します。Web サーバーが DNS 名検査をするときは、TCP と UDP の両方にポート 53 も組み込む必要がある場合もあります。

  3. たとえば、IPsecWebInitFile のように、選択したファイル名で読み取り専用ファイルを作成し、このファイルに次の行を入力します。


    # Web traffic that Web server should bypass.
    	{sport 80 ulp tcp} bypass {dir out}
    	{dport 80 ulp tcp} bypass {dir in}
    	{sport 443 ulp tcp} bypass {dir out}
    	{dport 443 ulp tcp} bypass {dir in}
    
    	# Outbound DNS lookups should also be bypassed.
    	{dport 53} bypass {dir out}
    	{sport 53} bypass {dir in}
    
    	# Require all other traffic to use ESP with 3DES and SHA-1.
    	# Use a shared SA for outbound traffic, in order to avoid a
    	# large supply of security associations.
    	{} permit {encr_algs 3des encr_auth_algs sha}
    	{} apply {encr_algs 3des encr_auth_algs sha sa shared}

    これで、保護トラフィックだけがシステムにアクセスできるようになります。ただし、先の手順で説明した、検査を省略するトラフィックは例外です。

  4. 先の手順で作成したファイルを /etc/inet/ipsecinit.conf に読み込みます。


    # vi  /etc/inet/ipsecinit.conf 
     :r IPsecWebInitFile
     :wq!
  5. リブートします。

    ipsecconf コマンドを呼び出しても、すでに確立した TCP 接続には影響せず、そのポリシーはラッチされます。システムをリブートすると、IPsec ポリシーがすべての TCP 接続に適用されます。リブート時に、 IPsec ポリシーのファイルで指定したように TCP 接続でポリシーがラッチされます。


    # reboot
    

    こうして、Web サーバーでは、Web サーバートラフィックと出力 DNS 要求と応答だけを処理します。他のサービスは、IPsec をリモートシステムで有効にしないと機能しません。キー情報を自動的に処理する場合には、IKE デーモンにより、IPv4 アドレスを持つリモートシステムで IPsec を有効にします。 IPv6 アドレスを持つリモートシステムでは、ipseckey(1M) コマンドを使用してリモートシステムで IPsec を有効にします。