Apache HTTPプロキシインストール - Linux
ESET Managementエージェントは、Apache HTTP Proxy経由でESET PROTECTサーバーに接続できます。ESET Managementエージェントのプロキシの仕組みの詳細をお読みください。
一般的に、Apache HTTP Proxyは、apache2またはhttpdパッケージとして配布されます。
サーバーで使用するLinuxディストリビューションに応じて、Apache HTTP Proxyのインストール手順を選択します。Apacheを使用して、ESET LiveGuard Advancedからの結果をキャッシュに保存する場合は、関連するドキュメントも参照してください。
Apache HTTP ProxyのLinuxディストリビューション(ディストリビューション汎用)
1.Apache HTTP Server (バージョン2.4.10以上)をインストールします。
2.次のモジュールが読み込まれることを確認します。
access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk
3.キャッシュ構成を追加します。
CacheEnable disk http:// |
4./var/cache/apache2/mod_cache_diskディレクトリが存在しない場合は、ディレクトリを作成し、Apache権限(r,w,x)を割り当てます。
5.プロキシ構成を追加します。
AllowCONNECT 443 563 2222 8883 53535
ProxyRequests On
CacheLock on CacheLockMaxAge 10 ProxyTimeOut 900
SetEnv proxy-initial-not-pooled 1
<VirtualHost *:3128> ProxyRequests On </VirtualHost>
<VirtualHost *:3128> ServerName r.edtd.eset.com
<If "%{REQUEST_METHOD} == 'CONNECT'"> Require all denied </If>
ProxyRequests Off CacheEnable disk / SSLProxyEngine On
RequestHeader set Front-End-Https "On" ProxyPass / https://r.edtd.eset.com/ timeout=300 keepalive=On ttl=100 max=100 smax=10 ProxyPassReverse / http://r.edtd.eset.com/ keepalive=On </VirtualHost> |
6.既定では、ESET Managementエージェントとの通信で、ポート2222が使用されます。インストール中にポートを変更した場合は、変更されたポート番号を使用します。AllowCONNECT 443 563 2222 8883 53535という行で、2222をご使用のポート番号に変更します。
7.追加されたキャッシュプロキシと構成を有効にします(構成がメインApache構成ファイルにある場合、この手順をスキップできます)。
8.必要に応じて、任意のポートへのリスニングを変更します(既定で設定されているのはポート3128です)。
9.任意の基本認証:
oプロキシ命令に認証構成を追加します。
AuthType Basic |
o/etc/httpd/.htpasswd -cを使用してパスワードファイルを作成します。
ousergroup:usernameでgroup.fileファイルを手動で作成します。
10. Apache HTTP Serverを再起動します。
Apache HTTP ProxyのUbuntu Server およびその他のDebian Linuxディストリビューションのインストール
1.aptリポジトリから最新バージョンのApache HTTP Serverをインストールします。
sudo apt-get install apache2
2.次のコマンドを実行して、必要なApacheモジュールを読み込みます。
sudo a2enmod access_compat auth_basic authn_core authn_file authz_core\
authz_groupfile authz_host proxy proxy_http proxy_connect cache cache_disk
3.Apacheキャッシュ構成ファイルを編集します。
sudo vim /etc/apache2/conf-available/cache_disk.conf
次の構成をコピーして貼り付けます。
CacheEnable disk http:// |
4. この手順は必須ではありませんが、キャッシュディレクトリがない場合は、次のコマンドを実行します。
sudo mkdir /var/cache/apache2/mod_cache_disk |
5.Apacheプロキシ構成ファイルを編集します。
sudo vim /etc/apache2/conf-available/proxy.conf
次の構成をコピーして貼り付けます。
AllowCONNECT 443 563 2222 8883 53535
ProxyRequests On
CacheLock on CacheLockMaxAge 10 ProxyTimeOut 900
SetEnv proxy-initial-not-pooled 1
<VirtualHost *:3128> ProxyRequests On </VirtualHost>
<VirtualHost *:3128> ServerName r.edtd.eset.com
<If "%{REQUEST_METHOD} == 'CONNECT'"> Require all denied </If>
ProxyRequests Off CacheEnable disk / SSLProxyEngine On
RequestHeader set Front-End-Https "On" ProxyPass / https://r.edtd.eset.com/ timeout=300 keepalive=On ttl=100 max=100 smax=10 ProxyPassReverse / http://r.edtd.eset.com/ keepalive=On </VirtualHost> |
6.既定では、ESET Managementエージェントとの通信で、ポート2222が使用されます。インストール中にポートを変更した場合は、変更されたポート番号を使用します。AllowCONNECT 443 563 2222 8883 53535という行で、2222をご使用のポート番号に変更します。
7.前の手順で編集した設定ファイルを有効にします。
sudo a2enconf cache_disk.conf proxy.conf
8.Apache HTTP Serverのリスニングポートを3128に切り替えます。ファイル/etc/apache2/ports.confを編集し、Listen 80をListen 3128で置換します。
9.任意の基本認証:
sudo vim /etc/apache2/mods-enabled/proxy.conf
o</Proxy>の前に認証構成をコピーして貼り付けます。
AuthType Basic |
oapache2-utilsをインストールして、新しいパスワードファイルを作成します(例: ユーザー名:user、グループ: usergroup)。
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user
oグループファイルを作成します。
sudo vim /etc/apache2/group.file
次の行をコピーして貼り付けます。
usergroup:user
10. 次のコマンドを使用して、Apache HTTP Serverを再起動します。
sudo systemctl restart apache2
ESET通信の転送のみESET通信の転送のみを許可するには、次の項目を削除します。
<Proxy *> |
次の項目を追加します。
<Proxy *> Deny from all </Proxy>
#*.eset.com: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#*.eset.eu: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[e,E][u,U](:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#*.eset.systems: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[s,S][y,Y][s,S][t,T][e,E][m,M][s,S](:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#Antispam module (ESET Mail Security only): <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#Services (activation) <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#ESET servers accessed directly via IP address: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)([0-9]+)(:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#AV Cloud over port 53535 <ProxyMatch ^.*e5.sk.*$> Allow from all </ProxyMatch> |
すべての通信の転送
すべての通信の転送を許可するには、次の項目を追加します。
<Proxy *> |
次の項目を削除します。
<Proxy *> Deny from all </Proxy>
#*.eset.com: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[c,C][o,O][m,M](:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#*.eset.eu: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[e,E][u,U](:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#*.eset.systems: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?([a-zA-Z0-9-]{0,63}\.)?[a-zA-Z0-9-]{0,63}\.[e,E][s,S][e,E][t,T]\.[s,S][y,Y][s,S][t,T][e,E][m,M][s,S](:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#Antispam module (ESET Mail Security only): <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(ds1-uk-rules-1.mailshell.net|ds1-uk-rules-2.mailshell.net|ds1-uk-rules-3.mailshell.net|fh-uk11.mailshell.net)(:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#Services (activation) <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(edf-pcs.cloudapp.net|edf-pcs2.cloudapp.net|edfpcs.trafficmanager.net)(:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#ESET servers accessed directly via IP address: <ProxyMatch ^([h,H][t,T][t,T][p,P][s,S]?://)?([^@/]*@)?(91.228.165.|91.228.166.|91.228.167.|38.90.226.)([0-9]+)(:[0-9]+)?(/.*)?$> Allow from all </ProxyMatch>
#AV Cloud over port 53535 <ProxyMatch ^.*e5.sk.*$> Allow from all </ProxyMatch> |
プロキシチェーン(すべてのトラフィック)
プロキシで認証が必要な場合は、ESET PROTECTはプロキシチェーンをサポートしません。独自の透過Webプロキシソリューションを使用できますが、本書で説明する以外の追加構成が必要になる場合があります。プロキシ構成に次の項目を追加します(パスワードは子プロキシでのみ動作します)。
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
ESET PROTECT仮想アプライアンスでプロキシチェーンを使用するときには、ポリシーを修正する必要があります。ESET PROTECT VAでターミナルを開き、コマンドを実行します。
/usr/sbin/setsebool -P httpd_can_network_connect 1
クライアント数が多い場合は、HTTPプロキシを設定します。
64ビットのApache HTTPプロキシを使用する場合は、Apache HTTP Proxyのスレッド上限を増やすことができます。Apache HTTP Proxyフォルダー内のhttpd.conf設定ファイルを編集します。ファイル内で次の設定を見つけて、クライアントの数に合わせて値を更新します。
例の5000の値を任意の数で置き換えます。最大値は32000です。
ThreadLimit 5000
ThreadsPerChild 5000
ファイルの他の部分は変更しないでください。
エージェントとサーバーの接続を転送するようにApache HTTPプロキシを設定する
1.プロキシコンピューターでファイルを開きます
i.Debianディストリビューション
/etc/apache2/mods-available/proxy.conf
ii.Red Hatディストリビューション
/etc/httpd/conf/httpd.conf
2.ファイルの最後に次の行を追加します。
AllowCONNECT 443 563 2222 8883 53535
3.プロキシコンピューターでファイルを開きます
i.Debianディストリビューション
/etc/apache2/apache2.conf
ii.Red Hatディストリビューション
/etc/httpd/conf/httpd.conf
4.次の行を見つけます。
Listen 80
を
Listen 3128
5.プロキシ設定(ステップ1)でIPアドレスの制限を追加した場合は、ESET PROTECTサーバーにアクセスできます。
別のProxyMatchセグメントを追加します。
I.ESET PROTECTサーバーに接続するためのアドレス。
II.ESET PROTECTサーバーの他のすべてのポート(IP、FQDN)
(以下のコード全体を追加します。IPアドレス10.1.1.10およびホスト名hostname.exampleは一例であり、実際のアドレスに置き換えてください)。また、このナレッジベース記事のProxyMatch式を生成することもできます。)
<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$> Allow from all </ProxyMatch> |
6.Apache HTTP Proxyサービスを再起動します。
キャッシュの設定
Apache HTTP Proxyのキャッシュのサイズとキャッシュの消去を設定するには、htcachcecleanを使用できます。ESET PROTECT VAのキャッシュ設定手順を参照してください。
SELinux設定
ESET PROTECT仮想アプライアンスでプロキシを使用するときには、SELinuxポリシーを修正する必要があります(他のLinuxディストリビューションでも同じ要件の場合があります)。ESET PROTECT VAでターミナルを開き、コマンドを実行します:
/usr/sbin/setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 2222