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://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4./var/cache/apache2/mod_cache_diskディレクトリが存在しない場合は、ディレクトリを作成し、Apache権限(r,w,x)を割り当てます。

5.プロキシ構成を追加します。

AllowCONNECT 443 563 2222 8883 53535

 

ProxyRequests On
ProxyVia 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>

 
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

6.既定では、ESET Managementエージェントとの通信で、ポート2222が使用されます。インストール中にポートを変更した場合は、変更されたポート番号を使用します。AllowCONNECT 443 563 2222 8883 53535という行で、2222をご使用のポート番号に変更します。

7.追加されたキャッシュプロキシと構成を有効にします(構成がメインApache構成ファイルにある場合、この手順をスキップできます)。

8.必要に応じて、任意のポートへのリスニングを変更します(既定で設定されているのはポート3128です)。

9.任意の基本認証:

oプロキシ命令に認証構成を追加します。

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

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://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4. この手順は必須ではありませんが、キャッシュディレクトリがない場合は、次のコマンドを実行します。

sudo mkdir /var/cache/apache2/mod_cache_disk
sudo chown www-data /var/cache/apache2/mod_cache_disk
sudo chgrp www-data /var/cache/apache2/mod_cache_disk

5.Apacheプロキシ構成ファイルを編集します。

sudo vim /etc/apache2/conf-available/proxy.conf

次の構成をコピーして貼り付けます。

AllowCONNECT 443 563 2222 8883 53535

 

ProxyRequests On
ProxyVia 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>

 
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

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 80Listen 3128で置換します。

9.任意の基本認証:

sudo vim /etc/apache2/mods-enabled/proxy.conf

o</Proxy>の前に認証構成をコピーして貼り付けます。

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

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 *>
Order deny,allow
Deny from all
Allow from all
</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 *>
Order deny,allow
Deny from all
Allow from all
</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