Apacheの静的、DSOモジュールの確認、インストール方法

Apacheのモジュールには静的(組込み)モジュールとDSOモジュールがあり、それぞれの確認方法、インストール方法についてです。

下記資料を参考にしました。
NSA(National Security Agency)の『Guide to the Secure Configuration of Red Hat Enterprise Linux 5』
 

(1)静的に組み込まれたモジュール


 
1)インストール済みモジュールの確認方法

$ httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c


 
2)静的モジュールのインストールについて
 
①推奨の設定
 
デフォルトのApacheインストールでは、静的に組み込まれているモジュールは、(core、prefork、http_core、mod_so)など最小限になっています。
 
セキュリティのリスクを軽減するため静的モジュールは最小限にします。
 
追加、削除する場合は再インストールする必要があります。
 
②インストール方法
 
ソースからのインストール時にconfigureで下記のように指定する必要があります。
 
# cd /..Apacheのソース../
# ./configure –enable-モジュール名
# make
# make install
 

(2)DSO(動的共有オブジェクト:Dynamic Shared Object)モジュール


 
1)DSOモジュールの概要
 
・DSOモジュールは設定ファイル内の”LoadModule”ディレクティブを削除する事によって無効にする事が出来ます。
 
・DSOは、そのDSOモジュールが提供するディレクティブが設定ファイル内に含まれている場合のみその機能を提供します。
 
・対象DSOモジュールの”LoadModule”ディレクティブを削除してもそのDSOモジュールが提供するディレクティブが設定ファイルに残っているとApache起動時にエラーが発生します。削除するDSOモジュールに関わるディレクティブも削除する必要があります。
 
DSOモジュールを設定ファイルから削除した場合は、下記コマンドで設定ファイルのテストをしてエラーが発生しないか確認するようにします。
 
# service httpd configtest
 
2)ロードされるモジュールを確認する方法

$ httpd -M
 
Loaded Modules:
 core_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 auth_basic_module (shared)
 auth_digest_module (shared)
  :


“(static)”となっているのが静的モジュール、”(shared)”となっているのがDSOモジュールです。
 
3)DSOモジュールのインストールについて
 
必要なモジュールがインストールされていない場合は、apxs(APache eXtenSion tool)を使ってモジュールを追加インストールします。
 
apxsは”httpd-devel”に含まれているので、”httpd-devel”パッケージがインストールされていない場合はyumでインストールする必要があります。
 
●インストール方法
 
モジュールのソースを入手し、下記のようにインストールします。
 
# cd “モジュールソースのあるディレクトリ”
# apxs -i -a -c モジュール名.c
 
※セキュリティ上のリスクを考慮し、実行時に動的にロードされるDSOモジュールは必要最小限にします。

関連記事の目次

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です