Інсталяція проксі-сервера Apache HTTP – Linux
Агенти ESET Management Agent можуть підключатися до ESET PROTECT Server через Apache HTTP Proxy. Дізнайтеся більше про те, як проксі-сервер працює для агентів ESET Management.
Зазвичай Apache HTTP Proxy розповсюджується як пакет apache2 або httpd.
Виберіть спосіб інсталяції проксі-сервера Apache HTTP відповідно до дистрибутива Linux на сервері. Якщо ви також хочете використовувати Apache для кешування результатів від ESET LiveGuard Advanced, див. відповідну документацію.
Інсталяція проксі-сервера Apache HTTP на Linux (загальне розповсюдження)
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 на сервер Ubuntu та інших дистрибутивах Linux на базі Debian
1.Інсталюйте останню версію проксі-сервера Apache HTTP з репозиторія APT:
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.Установіть порт 3128 як порт прослуховування проксі-сервера Apache HTTP. Відредагуйте файл /etc/apache2/ports.conf і замініть 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.
Додайте окремий сегмент ProxyMatch.
I.Адреса, яку агенти використовують для підключення до сервера ESET PROTECT.
II.Усі інші адреси сервера ESET PROTECT (IP-адреса, повне доменне ім’я).
(Додайте весь указаний нижче код; 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.
Налаштування кешування
Можна скористатися htcachceclean, щоб налаштувати розмір кешу Apache HTTP Proxy і його очищення. Див. інструкції з налаштування кешу для віртуального пристрою 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