Установка прокси-сервера Apache HTTP — Linux
Агенты ESET Management могут подключаться к серверу ESET PROTECT через Apache HTTP Proxy. Ознакомьтесь с дополнительными сведениями о том, как работает прокси-сервер для агентов ESET Management.
Решение Apache HTTP Proxy обычно распространяется в пакетах apache2 или httpd.
Действия по установке прокси-сервера Apache HTTP могут быть разные, в зависимости от того, какой дистрибутив Linux используется на сервере. Если хотите использовать Apache, чтобы кэшировать также результаты из ESET LiveGuard Advanced, см. соответствующую документацию.
Установка 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 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 не поддерживает цепочки прокси-серверов, если прокси-серверы требуют проверки подлинности. Вы можете использовать собственное прозрачное решение веб-прокси, однако может потребоваться дополнительная настройка помимо той, которая описана здесь. Добавьте в конфигурацию прокси-сервера следующее (пароль работает только на дочерних прокси-серверах):
<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.
Настройка кэширования
Для настройки размера кэша Apache HTTP Proxy и очистки кэша можно использовать htcachceclean. Ознакомьтесь с инструкциями по настройке кэша для виртуального устройства ESET PROTECT.
Настройка 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