GNU/Linux >> Linux の 問題 >  >> Linux

RHELおよびCentOS7でApacheHTTPServer2.2を2.4にアップグレードします

最近コンプライアンスセキュリティスキャンを実行した場合、結果は次の例のようになります。

Apache HTTP Server Zero-Length Directory Name in LD_LIBRARY_PATH Vulnerability, CVE-2012-0883
Apache HTTP Server mod_rewrite Terminal Escape Sequence Vulnerability, CVE-2013-1862
Apache HTTP Server XSS Vulnerabilities via Hostnames, CVE-2012-3499 CVE-2012-4558

コードベースによっては、Apache®HTTPサーバーがこれらのセキュリティ問題をすでに軽減している場合があります。スキャンはサーバーのApacheバージョンをチェックして、インストールされているバージョンがセキュリティの問題を解決するかどうかを判断します。ただし、一部のコンプライアンスセキュリティスキャンでは、サーバーが脆弱性を直接検出するのではなく、Apacheのバージョンのみを使用してCommon Vulnerabilities and Exposures(CVE)に対して脆弱かどうかを判断します。

このようなスキャンは、ほとんどの場合、誤検知を生成します。自動更新を有効にすると、別のリリースで脆弱性にパッチが適用されても、バージョンが同じままになる可能性があります。したがって、スキャンによって脆弱性がポジティブとしてマークされる可能性があります。この結果は、以前のスキャンで脆弱性が特定された場合でも、プロバイダーのスキャンでサーバーの脆弱性がなくなったことが示された場合にも発生する可能性があります。

セキュリティ監査で、コンプライアンスセキュリティスキャンがApache2サーバーの脆弱性を特定するためにApacheのバージョンのみを使用していることが判明した場合は、次の手順を使用します。HypertextTransfer Protocolデーモン(HTTPd)の構成ファイルを編集します。

  1. /etc/apache2/conf.d/httpd.confを開きます エディターで。

  2. 次の行を追加し、バージョン情報を削除します。

    ServerSignature Off
    ServerTokens Prod
    

    :サーバーはバージョン署名を提供するべきではなく、侵入テスト会社はバージョンを無効にすることを推奨する必要があります。

Apache2.2からApache2.4へのアップデート

次の手順を使用して、Apache2.2をApache2.4に更新します。

  1. 次のコマンドを実行して、HTTPdを停止します およびNimbusなどの監視プロセス アラートを回避するには:

    service httpd stop
    
  2. 次のコマンドを実行して仮想ホスト構成をバックアップし、vhostなどの追加のディレクトリが含まれていることを確認します。 :

    cd /etc/httpd
    tar -cvf /tmp/apache_vhostconfig.tar conf conf.d vhosts
    
  3. 次のコマンドを実行して、yum-plugin-replaceをインストールします パッケージ、パッケージ交換中のパッケージの競合を解決します:

     yum install yum-plugin-replace
    
  4. 続行する前に、次のコマンドを実行して、インストールされているバージョンとインストールするバージョンを確認してください。

     apachectl -V
     yum search httpd
     yum info httpd
    

    出力は、コマンドyum info httpd24u.x86_64を使用する次の例のように表示されます。 :

    Loaded plugins: replace, rhnplugin, security
    This system is receiving updates from RHN Classic or RHN Satellite.
     Available Packages
    Name        : httpd24u
    Arch        : x86_64
    Version     : 2.4.23
    Release     : 4.ius.el6
    Size        : 1.2 M
    Repo        : rackspace-rhel-x86_64-server-6-ius
    Summary     : Apache HTTP Server
    License     : ASL 2.0
    Description : The Apache HTTP Server is a powerful, efficient, and extensible
            : web server.
    
  5. 次のコマンドを実行して、HTTPd2.4をインストールします。

    yum replace httpd --replace-with=httpd24u
    
  6. 次のコマンドを実行して、ライトウェイトディレクトリアクセスプロトコル(LDAP)もインストールする必要があります。

    yum install mod_ldap
    
  7. Apache 2.4では、Requireを使用する必要があります Orderの代わりにインターネットプロトコル(IP)アクセス制限のディレクティブ 、Deny 、およびAllow 。その結果、Orderを変更する必要があります 、Deny 、およびAllow /etc/httpd/conf.d/server-status.confのステートメント Requireを使用するファイル ステートメント。これらは.htaccessにある可能性があるためです 他のWebサイトのファイルの場合は、RequireがないためにWebサイトが破損しないように、documentrootsを注意深く確認してください。 ディレクティブ。

    既存の/etc/httpd/conf.d/server-status.conf ファイルは次の例のように表示されます。

    <Location /server-status>
        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
    

    Orderを置き換えます 、Deny 、およびAllow 次の例の構成のステートメント。

    <Location /server-status>
        SetHandler server-status
        Require all granted
        Require host 127.0.0.1
    </Location>
    

    :この構文の変更は、 conf.dの仮想ホストにも適用されます およびhttpd.conf vhost構成。

  8. Orderを変更します 、Deny 、およびAllow conf.dのステートメント toRequire ステートメント。

    #    Order deny,allow
    #    Deny from all
    Require all denied
    
    #    Order deny,allow
    #    Allow from all
    Require all granted
    
  9. 同じファイルで、Options -Indexes FollowSymLinksを変更します to Options -Indexes +FollowSymLinks

  10. /etc/httpd/conf/httpd.conf Orderを変更します 、Deny 、およびAllow Requireへのステートメント 手順8に示すように、ステートメント。

  11. /etc/httpd/conf/httpd.conf 、コメントとしてLoadModuleを設定します 使用されなくなったモジュールのディレクティブ。

    #2.4 upgrade LoadModule authn_alias_module modules/mod_authn_alias.so
    #2.4 upgrade LoadModule authn_default_module modules/mod_authn_default.so
    #2.4 upgrade LoadModule authz_default_module modules/mod_authz_default.so
    #2.4 upgrade LoadModule disk_cache_module modules/mod_disk_cache.so
    
  12. /etc/httpd/conf/httpd.confを編集します 次の行を他のauthzに追加します モジュール。

    LoadModule authz_core_module modules/mod_authz_core.so
    
  13. LoadModuleのブロックの下部に次の行を追加します ステートメント。

    LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
    LoadModule unixd_module modules/mod_unixd.so
    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    LoadModule ssl_module modules/mod_ssl.so
    LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
    

(オプション) 互換性のあるバージョンのAdobeExperienceManager(AEM)ディスパッチャーモジュールをダウンロードする

HTTPdインストールでAdobe®ExperienceManager(AEM)Dispatcherモジュールを使用する場合は、次の手順を使用して、Apache HTTPServer2.4と互換性のあるファイルをダウンロードする必要があります。

  1. 次のコマンドを実行して、 dispatcher-apache2.4-4.1.11.soを抽出します Tape ARchive(TAR)ファイルから / etc / httpd / modules /へのファイル 。この目的には、このファイルのみを使用してください。

     cd /etc/httpd/modules
     rm mod_dispatcher.so
     ln -s /etc/httpd/modules/dispatcher-apache2.4-4.1.11.so mod_dispatcher.so
    
  2. SSL Mutexは非推奨であるため、 /etc/httpd/conf.d/ssl.confを編集する必要があります。 SSLMutex defaultを変更するには to Mutex default

詳細については、MutexDirectiveに関するApacheのドキュメントを参照してください。

重要: HTTPdを再起動します

この記事の手順を完了したら、次の手順を使用してHTTPdを再起動し、HTTPdが有効で実行されていることを確認する必要があります。

  1. 次のコマンドを実行してHTTPdを再起動します。

     service httpd start
    
  2. サービスが有効で実行されていることを確認し、以前に有効にした監視を再度有効にします。

    • CentOS®7またはRedHat®EnterpriseLinux®(RHEL)7では、次のコマンドを実行します。

      systemctl enable httpd
      
      systemctl status httpd
      

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


Linux
  1. ApacheWebサーバーCentOS6/RHEL6をインストールします

  2. CentOS / RHEL 4 :FTP サーバー (vsftpd) をインストールして構成する方法

  3. CentOS / RHEL 5 :vsftpd サーバーをインストールして構成する方法

  1. CentOS 7 / RHEL 7にFTPサーバーをインストールして構成する–(vsftpfd)

  2. CentOS7にApacheとPHPをインストールする

  3. CentOS / RHEL 7 :NFS サーバーと NFS クライアントの構成

  1. RHEL 8 / CentOS8LinuxにHAProxyをインストールして構成する

  2. CentOS8にApacheをインストールする

  3. CentOS / RHEL 7 で NTP サーバーとクライアントを構成する方法