Установка прокси-сервера Apache HTTP — Linux

Действия по установке прокси-сервера Apache HTTP могут быть разные, в зависимости от того, какой дистрибутив Linux используется на сервере. Если хотите использовать Apache, чтобы кэшировать также результаты из ESET Dynamic Threat Defense, см. соответствующую документацию.

Установка Linux (общий дистрибутив) для прокси-сервера Apache HTTP

1.Установите сервер Apache HTTP (как минимум версию 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 200000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4.Если каталог /var/cache/apache2/mod_cache_disk не существует, создайте его и назначьте права Apache (r,w,x).

5.Add Proxy configuration:

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

6.Включите добавленные прокси-сервер с функцией кэширования и конфигурацию (если она находится в основной конфигурации Apache, этот этап можно пропустить).

7.Если нужно, укажите другой порт прослушивания (по умолчанию задан порт 3128).

8.Необязательная базовая проверка подлинности:

oДобавьте конфигурацию проверки подлинности в директиву прокси-сервера:

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

oСоздайте файл пароля с помощью /etc/httpd/.htpasswd -c

oВручную создайте файл с именем group.file с помощью usergroup:username

9.Перезапустите сервер Apache HTTP.

 

 

Информация по установке Apache HTTP Proxy в Ubuntu Server и других дистрибутивах Linux, основанных на Debian

1.Установите последнюю версию сервера Apache HTTP с подходящего репозитория:

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 200000000
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

и скопируйте и вставьте следующую конфигурацию:

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

6.Включите файлы конфигурации, которые вы редактировали на предыдущих этапах:

sudo a2enconf cache_disk.conf proxy.conf

7.В качестве прослушивающего порта сервера Apache HTTP выберите порт 3128. Измените файл /etc/apache2/ports.conf and replace Listen 80 с набором инструкций Listen 3128.

8.Необязательная базовая проверка подлинности:

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

oУстановите apache2-utils и создайте новый файл пароля (например, имя пользователя: user, группа: usergroup):

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user

oСоздайте файл group:

sudo vim /etc/apache2/group.file

и скопируйте и вставьте следующую строку:

usergroup:user

9.Перезапустите сервер Apache HTTP с помощью следующей команды:

sudo service apache2 restart

 

Перенаправление только для подключения 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>

#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>

Перенаправление для всех подключений

Чтобы разрешить перенаправление для всех подключений, добавьте эти параметры:

<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>

#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>

 

Цепочка прокси-серверов (весь трафик)

ESMC не поддерживает цепочки прокси-серверов, если прокси-серверы требуют проверки подлинности. Вы можете использовать собственное прозрачное решение веб-прокси, однако может потребоваться дополнительная настройка помимо той, которая описана здесь. Добавьте в конфигурацию прокси-сервера следующее (пароль работает только на дочерних прокси-серверах):

ProxyRemote * http://IP_ADDRESS:3128

При использовании цепочки прокси-серверов в виртуальных устройствах ESMC необходимо изменить политику SELinux. Откройте терминал на виртуальных устройствах ESMC и запустите команду:

/usr/sbin/setsebool -P httpd_can_network_connect 1

Настройка прокси-сервера HTTP для большого количества клиентов

Если используется 64-разрядная версия прокси-сервера Apache HTTP, можно увеличить лимит потоков для Apache HTTP Proxy. Измените файл конфигурации httpd.conf в папке Apache HTTP Proxy. Найдите в файле следующие параметры и измените значения, чтобы они соответствовали количеству клиентов.

Замените используемое как пример значение 5000 на свое число. Максимальное значение — 32000.

ThreadLimit 5000

ThreadsPerChild 5000

 
Не изменяйте остальные файлы.