Apache mod remoteip

提供: セキュリティ
2014年3月23日 (日) 23:50時点におけるDaemon (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
スポンサーリンク

Apache mod_remoteip(mod_rempteip) とは、Apache HTTP Serverのモジュールです。オリジンのIPアドレスからHTTPリクエストヘッダを通して、プロキシロードバランサによって、ユーザーエージェントIPアドレスのリストからコネクションのアドレスに置き換えます。

読み方

Apache mod_remoteip
あぱっち もっど りもーと あいぴー
mod_remoteip
もっど りもーと あいぴー

概要

Apache mod_remoteipは、ユーザーエージェントは、ロードバランサ、フロントエンドサーバやプロキシサーバーの後ろ側にいることがあり、認証やログインの目的のために httpd によってリクエストを発生させたオリジン(起源)のユーザーエージェントユーザーエージェントとして扱うために使用されます。

RemoteIPHeader ディレクティブの設定に基いて、リクエストヘッダのユーザーエージェントIPアドレスと報告されているアドレスでコネクションのアドレスをクライアントIPアドレスとして上書きします。

置き換えられたユーザーエージェントのIPアドレスは、mod_authz_host の Require ip の機能で利用され、mod_statusにより報告され、mod_log_config %a や core %a フォーマット文字列によって記録されます。コネクションのクライアントIPは、 %{c}a フォーマット文字列として利用できます。

インストール

FreeBSD Apache 2.2の場合

apache24のパッケージに mod_rempteip.so が含まれています。

$ pkg which /usr/local/libexec/apache24/mod_remoteip.so
/usr/local/libexec/apache24/mod_remoteip.so was installed by package apache24-2.4.9
$ sudo pkg install apache24

FreeBSD Apache 2.2用の場合

% pkg install ap22-mod_remoteip

FreeBSD の場合

% cd /usr/ports/www/mod_remoteip
% sudo make install clean

設定

Apache 2.4

LoadModule remoteip_module libexec/apache24/mod_remoteip.so
<IfModule remoteip_module>
	RemoteIPHeader X-Forwarded-For
</IfModule>

使い方

RemoteIPHeader
ヘッダフィールドのユーザーエージェントIPアドレスをパースします。
RemoteIPInternalProxy
RemoteIPHeaderの値を提出できる信頼できるクライアントイントラネットIPアドレスを定義します。
RemoteIPInternalProxyList
RemoteIPHeaderの値を提出できる信頼できるクライアントイントラネットIPアドレスをリストで定義します。
RemoteIPProxiesHeader
すべての中間IPアドレスを記録するヘッダフィールドを指定します。
RemoteIPTrustedProxy
RemoteIPHeaderの値を提出できる信頼できるクライアントイントラネットIPアドレスを定義します。
RemoteIPTrustedProxyList
RemoteIPHeaderの値を提出できる信頼できるクライアントイントラネットIPアドレスをリストで定義します。

RemoteIPHeader

# インターナルのロードバランサの例
RemoteIPHeader X-Client-IP
# Proxyの例
RemoteIPHeader X-Forwarded-For

RemoteIPInternalProxy

RemoteIPHeader X-Client-IP
RemoteIPInternalProxy 10.0.0.0/24
RemoteipInternalProxy gateway.localdomain

RemoteIPInternalProxyList

# Load Balancer
RemoteIPHeader X-Client-IP
RemoteIPInternalProxyList conf/trusted-proxies.lst

conf/trusted-proxies.lst

# Internal Trusted Proxies
10.0.0.0/24
gateway.localdomain

RemoteIPProxiesHeader

RemoteIPHeader X-Forwarded-For
RemoteIPProxiesHeader X-Forwarded-By

RemoteIPTrustedProxy

RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxy 10.0.0.0/28
RemoteIPTrustedProxy proxy.example.com

RemoteIPTrustedProxyList

RemoteIPHeader X-Forwarded-For
RemoteIPTrustedProxyList conf/trusted-external-proxies.lst

conf/trusted-external-proxies.lst

# External Trusted Proxies
10.0.0.0/24
gateway.localdomain

関連項目




スポンサーリンク