「Apache mod remoteip」の版間の差分
提供: セキュリティ
(ページの作成:「Apache mod_remoteip(mod_rempteip) とは、Apache HTTP Serverのモジュールです。オリジンのIPアドレスからHTTPリクエストヘッダ...」) |
|||
行14: | 行14: | ||
== インストール == | == インストール == | ||
− | + | === FreeBSD Apache 2.2の場合 === | |
+ | apache24のパッケージに mod_rempteip.so が含まれています。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ pkg which /usr/local/libexec/apache24/mod_remoteip.so | ||
+ | /usr/local/libexec/apache24/mod_remoteip.so was installed by package apache24-2.4.9 | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | $ sudo pkg install apache24 | ||
+ | </syntaxhighlight> | ||
=== FreeBSD Apache 2.2用の場合 === | === FreeBSD Apache 2.2用の場合 === | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
行24: | 行32: | ||
% sudo make install clean | % sudo make install clean | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | == | + | == 設定 == |
+ | === Apache 2.4 === | ||
+ | <syntaxhighlight lang="apache"> | ||
+ | LoadModule remoteip_module libexec/apache24/mod_remoteip.so | ||
+ | </syntaxhighlight> | ||
+ | <syntaxhighlight lang="apache"> | ||
+ | <IfModule remoteip_module> | ||
+ | RemoteIPHeader X-Forwarded-For | ||
+ | </IfModule> | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == 使い方 == | ||
;RemoteIPHeader:ヘッダフィールドのユーザーエージェントIPアドレスをパースします。 | ;RemoteIPHeader:ヘッダフィールドのユーザーエージェントIPアドレスをパースします。 | ||
;RemoteIPInternalProxy:RemoteIPHeaderの値を提出できる信頼できるクライアントイントラネットIPアドレスを定義します。 | ;RemoteIPInternalProxy:RemoteIPHeaderの値を提出できる信頼できるクライアントイントラネットIPアドレスを定義します。 |
2014年3月23日 (日) 23:50時点における最新版
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
関連項目
- Webサーバ
- Mod モジュール