Установка прокси-сервера Apache HTTP — Linux
Агенты ESET Management могут подключаться к серверу ESET PROTECT через Apache HTTP Proxy. Ознакомьтесь с дополнительными сведениями о том, как работает прокси-сервер для агентов ESET Management.
Решение Apache HTTP Proxy обычно распространяется в пакетах apache2 или httpd.
Действия по установке прокси-сервера 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:// |
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. Если вы изменили значение порта во время установки, используйте тот номер порта, который вы указали. Замените значение 2222 в строке AllowCONNECT 443 563 2222 8883 53535 номером нужного порта.
7.Включите добавленные прокси-сервер с функцией кэширования и конфигурацию (если она находится в основной конфигурации Apache, этот этап можно пропустить).
8.Если нужно, укажите другой порт прослушивания (по умолчанию задан порт 3128).
9.Необязательная базовая проверка подлинности:
oДобавьте конфигурацию проверки подлинности в директиву прокси-сервера:
AuthType Basic |
oСоздайте файл пароля с помощью /etc/httpd/.htpasswd -c
oВручную создайте файл с именем group.file с помощью usergroup:username
10. Перезапустите сервер 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:// |
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. Если вы изменили значение порта во время установки, используйте тот номер порта, который вы указали. Замените значение 2222 в строке AllowCONNECT 443 563 2222 8883 53535 номером нужного порта.
7.Включите файлы конфигурации, которые вы редактировали на предыдущих этапах:
sudo a2enconf cache_disk.conf proxy.conf
8.В качестве прослушивающего порта сервера Apache HTTP выберите порт 3128. Измените файл /etc/apache2/ports.conf and replace Listen 80 с набором инструкций Listen 3128.
9.Необязательная базовая проверка подлинности:
sudo vim /etc/apache2/mods-enabled/proxy.conf
oСкопируйте и вставьте конфигурацию проверки подлинности перед </Proxy>:
AuthType Basic |
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
10. Перезапустите сервер Apache HTTP с помощью следующей команды:
sudo service apache2 restart
Перенаправление только для подключения 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 не поддерживает цепочки прокси-серверов, если прокси-серверы требуют проверки подлинности. Вы можете использовать собственное прозрачное решение веб-прокси, однако может потребоваться дополнительная настройка помимо той, которая описана здесь. Добавьте в конфигурацию прокси-сервера следующее (пароль работает только на дочерних прокси-серверах):
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
При использовании цепочки прокси-серверов в виртуальных устройствах ESET PROTECT необходимо изменить политику SELinux. Откройте терминал на виртуальных устройствах ESET PROTECT и запустите команду:
/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
Не изменяйте остальные файлы.
Настройка прокси-сервера 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.Если вы добавили ограничения для IP-адресов в конфигурации своего прокси-серверсервера (этап 1), необходимо также дать разрешение на доступ к своему серверу ESET PROTECT Server:
Добавьте отдельный сегмент ProxyMatch:
I.Адрес для подключения агентов к серверу ESET PROTECT Server.
II.Все возможные адреса своей службы ESET PROTECT Server (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.
Настройка SELinux
При использовании прокси-сервера на виртуальных устройствах ESET PROTECT необходимо изменить политику SELinux (у других дистрибутивов Linux могут быть те же требования). Откройте терминал на виртуальных устройствах ESET PROTECT и запустите команды:
/usr/sbin/setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 2222