ホームサポート技術情報WallEdgehttpdの制限事項

httpdの制限事項

本ページはWallEdge 1.0に関するもので、内容が古くなっています。
WallEdge 1.5をお使いの方は こちら をご欄ください。

WallEdge Mail Serverに使用するhttpd(Apache)、httpsd(SSL対応Apache)の制限事項について説明します。

  1. CD-ROMの収録内容について
    WallEdgeのCD-ROMに収録されている、以下のpackages並びにバイナリは、このドキュメントに記載されている条件に対応したものです。
    ${CDROM}/packages/www/apache-1.2.6we.tgz
    ${CDROM}/packages/www/apacheSSL-1.2.6we.tgz
    ${CDROM}/WallEdge/sbin/httpd
    ${CDROM}/WallEdge/sbin/httpsd
    
    これらのソースコードおよびパッチファイルは、同CD-ROMのPorts Collection(ports/ports.tgz)に収録されています。
    FreeBSDの/stand/sysinstallによりPorts Collectionをインストールすることにより以下のディレクトリにインストールされます。
    /usr/ports/distfiles/apache_1.2.6.tar.gz
    /usr/ports/distfiles/apache_1.2.6+ssl_1.17.tar.gz
    (/usr/ports/distfiles/SSLeay-0.8.1b.tar.gz)
    /usr/ports/www/apache12we
    /usr/ports/www/apache-ssl117we
    (/usr/ports/security/SSLeay)
    
    以上のpackagesもしくはPorts Collectionsに頼らず、ApacheのオリジナルソースコードもしくはFreeBSDのPorts Collectionからインストールされる場合は、以下を参考にソースコード等に適切な修正を加えて下さい。

  2. Apacheに関する条件
    1. バージョン
      • apache-1.2.x で動作します。
      • apache-1.3.x につきましては動作の保障をいたしません。

    2. root権限での起動 バージョン1.2.1以降のApacheは、セキュリティの強化を目的として、root権限ではhttpdを立ち上げられないようになっていますが、WallEdgeは、httpdサーバをrootの権限で実行するため、一般的なFreeBSDのディストリビューションに含まれているpackages(apache12.tgz、apacheSSL.tgz)やPorts Collectionを用い普通にmake; make installでインストールされたhttpdではWallEdgeを起動することができません。

      ここで、rootの権限とは、httpdの設定ファイル(/usr/local/WallEdge/conf/httpd.confまたはhttpsd.conf)において、'User root'と設定することを意味します。

      バージョン1.2.1以降のApacheをrootの権限で実行するためには、コンパイル時にsrc/Configurationファイルに-DBIG_SECURITY_HOLEを設定する必要があります。

      なお、WallEdgeがhttpdサーバをroot権限で実行することから、万が一のトラブルに備え、既に運用しているホストとは別途、WallEdge専用のホストを用意することをお勧めします。


    3. デフォルト・パス
      packagesやPorts Collectionsでは、オリジナルのapacheに対しデフォルト・パス名が次表のように変更されています。WallEdgeの設定ファイル(/usr/local/WallEdge/confにインストールされるファイル)群のデフォルト値は、オリジナルのパス名に基づいた設定となっているため、コンパイル時にsrc/Configurationファイルにデフォルト・パス名を設定するか、あるいはhttpd.confを適切に設定する必要があります。

      表中Plat Home's Originalの列は、WallEdge CD-ROMに収録されている、packages(apache-1.2.6we.tgz、apacheSSL-1.2.6we.tgz)、 バイナリ(httpd、httpsd)およびそのPorts Collection(www/apache12we、www/apache-ssl117we)のデフォルト値を示します。

        Apache Original FreeBSD Packages/Ports Plat Home's Original
      HTTPD_ROOT /usr/local/etc/httpd/ /usr/local/etc/apache/ /usr/local/etc/apache/
      DOCUMENT_LOCATION ${HTTPD_ROOT}/htdocs/ /usr/local/www/data/ /usr/local/www/data/
      SERVER_CONFIG_FILE ${HTTPD_ROOT}/conf/httpd.conf ${HTTPD_ROOT}/httpd.conf ${HTTPD_ROOT}/conf/httpd.conf
      RESOURCE_CONFIG_FILE ${HTTPD_ROOT}/conf/srm.conf ${HTTPD_ROOT}/srm.conf ${HTTPD_ROOT}/conf/srm.conf
      TYPES_CONFIG_FILE ${HTTPD_ROOT}/conf/mime.types ${HTTPD_ROOT}/mime.types ${HTTPD_ROOT}/conf/mime.types
      ACCESS_CONFIG_FILE ${HTTPD_ROOT}/conf/access.conf ${HTTPD_ROOT}/access.conf ${HTTPD_ROOT}/conf/access.conf
      DEFAULT_XFERLOG ${HTTPD_ROOT}/logs/access.log /var/log/httpd-access.log ${HTTPD_ROOT}/logs/access.log
      DEFAULT_ERRORLOG ${HTTPD_ROOT}/logs/error.log /var/log/httpd-error.log ${HTTPD_ROOT}/logs/error.log
      DDEFAULT_PIDLOG ${HTTPD_ROOT}/logs/httpd.pid /var/run/httpd.pid /var/run/httpd.pid
      DEFAULT_SCOREBOARD ${HTTPD_ROOT}/logs/apache_runtime_status /var/run/apache_runtime_status /var/run/apache_runtime_status
      DEFAULT_LOCKFILE ${HTTPD_ROOT}/logs/accept.lock /var/spool/lock/accept.lock /var/spool/lock/accept.lock

  3. Apache-SSLに関する条件
    1. バージョン
      動作が確認されているバージョンは、次の通りです。
      • apache_1.2.0+ssl_1.8
      • apache_1.2.4+ssl_1.11
      • apache_1.2.5+ssl_1.13
      • apache_1.2.5+ssl_1.14
      • apache_1.2.6+ssl_1.15
      • apache_1.2.6+ssl_1.16
      • apache_1.2.6+ssl_1.17

    2. Session Caching
      apache_1.2.5+ssl_1.4以降とSSLeay-0.8.xを組み合わせでは、Global Cache Server の利用が可能ですが、Apache-SSLのドキュメント(httpd.conf)に次のようなコメントが見受けられたため、WallEdgeでは、この機能を使用しないことを前提に、デフォルトの設定ファイル(httpds.conf)を用意しています。
      # Set the path for the global cache server executable.
      # If this facility gives you trouble, you can disable it by setting
      # CACHE_SESSIONS to FALSE in apache_ssl.c
      
      WallEdgeのCD-ROMに収録されている、packages(${CDROM}/packages/www/apacheSSL-1.2.6we.tgz)とバイナリ(${CDROM}/WallEdge/sbin/httpsd)は、src/apache_ssl.cにおいて
      #define CACHE_SESSIONS   FALSE
      
      を設定しコンパイルされたものです。
      Session Cachingを使用する場合は、src/apache_ssl.cにおいて
      #define CACHE_SESSIONS   TRUE
      
      を設定(又は確認)し、コンパイルを行い、WallEdgeをpkg_addコマンドにインストールした後、/usr/local/WallEdge/conf/httpsd.confに次の設定を行って下さい。
      SSLCacheServerPath /usr/local/sin/gcache
      SSLCacheServerPort logs/gcache_port
      SSLSessionCacheTimeout 15
      
  4. SSLeayに関する条件
    1. バージョン
      動作が確認されているバージョンは、次の通りです。

      • SSLeay-0.6.6
      • SSLeay-0.6.6b
      • SSLeay-0.8.1
      • SSLeay-0.8.1b

      SSLeay-0.6.6、SSLeay-0.8.1はCERT Advisories CA-98.07.PKCSによりセキュリティ上の問題が指摘されています。SSLeay-0.6.6bまたはSSLeay-0.8.1bの使用をお勧めします。
ページの先頭へ戻る