Inštalácia Apache HTTP Proxy – Linux
ESET Management Agenty sa môžu pripájať na ESET PROTECT Server prostredníctvom Apache HTTP Proxy. Bližšie informácie o tom, ako proxy pracuje s ESET Management Agentmi, nájdete v tejto kapitole.
Apache HTTP Proxy sa bežne distribuuje v podobe balíka apache2 alebo httpd.
Postup inštalácie Apache HTTP Proxy zvoľte podľa toho, akú distribúciu systému Linux používate na vašom serveri: Ak chcete, aby Apache ukladalo do vyrovnávacej pamäte aj výsledky z ESET LiveGuard Advanced, prečítajte si súvisiacu dokumentáciu.
Všeobecný postup inštalácie Apache HTTP Proxy na systéme Linux
1.Nainštalujte Apache HTTP Server (aspoň vo verzii 2.4.10).
2.Uistite sa, že sú načítané nasledujúce moduly:
access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk
3.Pridajte konfiguráciu vyrovnávacej pamäte:
CacheEnable disk http:// |
4.Ak adresár /var/cache/apache2/mod_cache_disk neexistuje, vytvorte ho a prideľte mu Apache oprávnenia (r, w, x).
5.Pridajte konfiguráciu Proxy:
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.Podľa predvolených nastavení sa na komunikáciu s ESET Management Agentom používa port 2222. Ak ste zmenili port počas inštalácie, použite zmenené číslo portu. V riadku AllowCONNECT 443 563 2222 8883 53535 zmeňte 2222 na vlastné číslo portu.
7.Povoľte pridané proxy s funkciou ukladania do vyrovnávacej pamäte (proxy cache) a príslušnú konfiguráciu (ak sa táto konfigurácia nachádza v hlavnom konfiguračnom súbore Apache, môžete tento krok vynechať).
8.Ak je to potrebné, zmeňte port pre proxy (predvolený port je 3128).
9.Voliteľné základné overovanie:
oPridajte overovanie pre proxy:
AuthType Basic |
oVytvorte súbor hesla pomocou /etc/httpd/.htpasswd -c
oManuálne vytvorte súbor s názvom group.file a vložte doň usergroup:username
10. Reštartujte službu Apache HTTP Server.
Inštalácia Apache HTTP Proxy na Ubuntu Server a iné Debian distribúcie
1.Nainštalujte najnovšiu verziu Apache HTTP Server z apt repozitára:
sudo apt-get install apache2
2.Spustite nasledujúci príkaz na načítanie potrebných Apache modulov:
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.Upravte konfiguračný súbor proxy cache:
sudo vim /etc/apache2/conf-available/cache_disk.conf
a do súboru vložte nasledujúce riadky:
CacheEnable disk http:// |
4. Tento krok by nemal byť potrebný, no v prípade, že lokalita vyrovnávacej pamäte chýba, spustite nasledujúce príkazy:
sudo mkdir /var/cache/apache2/mod_cache_disk |
5.Upravte konfiguračný súbor Apache proxy:
sudo vim /etc/apache2/conf-available/proxy.conf
a do súboru vložte nasledujúce riadky:
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.Podľa predvolených nastavení sa na komunikáciu s ESET Management Agentom používa port 2222. Ak ste zmenili port počas inštalácie, použite zmenené číslo portu. V riadku AllowCONNECT 443 563 2222 8883 53535 zmeňte 2222 na vlastné číslo portu.
7.Povoľte upravené konfiguračné súbory:
sudo a2enconf cache_disk.conf proxy.conf
8.Zmeňte prijímajúci port pre Apache HTTP Server na port 3128. Upravte súbor /etc/apache2/ports.conf a nahraďte riadok Listen 80 riadkom Listen 3128.
9.Voliteľné základné overovanie:
sudo vim /etc/apache2/mods-enabled/proxy.conf
oSkopírujte nasledujúce nastavenia pred reťazec </Proxy>:
AuthType Basic |
oNainštalujte apache2-utils a vytvorte nový súbor hesla (napr. používateľ: user, skupina: usergroup):
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user
oVytvorte súbor skupiny:
sudo vim /etc/apache2/group.file
a vložte doň nasledujúci riadok:
usergroup:user
10. Reštartujte Apache HTTP Server pomocou nasledujúceho príkazu:
sudo systemctl restart apache2
Preposielanie iba pre ESET komunikáciuPre povolenie preposielania výhradne komunikácie ESET odstráňte nasledujúce riadky:
<Proxy *> |
A pridajte nasledujúce riadky:
<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> |
Preposielanie všetkej komunikácie
Pre povolenie preposielania všetkej komunikácie pridajte nasledujúce riadky:
<Proxy *> |
a odstráňte nasledujúce riadky:
<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 chaining (všetka komunikácia)
Majte na pamäti, že ESET PROTECT nepodporuje proxy chaining v prípade, že proxy vyžadujú autentifikáciu. Môžete použiť vlastný transparentný proxy server – avšak v tomto prípade bude pravdepodobne potrebné upraviť jeho konfiguráciu nad rámec toho, čo spomíname v tejto kapitole. Do konfigurácie proxy pridajte nasledujúci riadok (heslo funguje len pre podradené proxy):
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
Ak sa Proxy chaining používa na virtuálnom zariadení ESET PROTECT, je potrebné upraviť SELinux politiku. Na virtuálnom zariadení ESET PROTECT otvorte terminál a spustite príkaz:
/usr/sbin/setsebool -P httpd_can_network_connect 1
Nastavenie HTTP Proxy pre vysoký počet klientov
Ak používate 64-bitovú verziu Apache HTTP Proxy, môžete zvýšiť limit pre počet vlákien. Upravte konfiguračný súbor httpd.conf vo svojom priečinku Apache HTTP Proxy. V súbore vyhľadajte nasledujúce nastavenia a upravte príslušné hodnoty tak, aby zodpovedali vášmu počtu klientov.
Nahraďte hodnotu 5000 (príklad) vlastným číslom. Najvyššia hodnota je 32000.
ThreadLimit 5000
ThreadsPerChild 5000
Zvyšok súboru nemeňte.
Nakonfigurujte Apache HTTP Proxy na preposielanie komunikácie medzi Agentmi a Serverom.
1.Na zariadení proxy otvorte konfiguračný súbor:
i.Debian distribúcie
/etc/apache2/mods-available/proxy.conf
ii.Red Hat distribúcie
/etc/httpd/conf/httpd.conf
2.Na koniec súboru pridajte nasledujúci riadok:
AllowCONNECT 443 563 2222 8883 53535
3.Na zariadení proxy otvorte konfiguračný súbor:
i.Debian distribúcie
/etc/apache2/apache2.conf
ii.Red Hat distribúcie
/etc/httpd/conf/httpd.conf
4.Nájdite riadok
Listen 80
a zmeňte ho na
Listen 3128
5.Ak ste v rámci nastavení proxy (krok č. 1) pridali obmedzenia pre IP adresy, musíte povoliť prístup na váš ESET PROTECT Server:
Do osobitného segmentu ProxyMatch pridajte:
I.Adresu, ktorú používajú Agenty na pripojenie k ESET PROTECT Serveru.
II.Všetky ďalšie adresy vášho ESET PROTECT Servera (IP, FQDN atď.).
(Pridajte celý kód zobrazený nižšie, pričom IP adresa 10.1.1.10 a názov hostiteľa hostname.example slúžia len ako príklady a je potrebné ich nahradiť vašimi vlastnými údajmi. Výraz ProxyMatch si tiež môžete vygenerovať podľa postupu v tomto článku databázy znalostí.)
<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$> Allow from all </ProxyMatch> |
6.Reštartujte službu Apache HTTP Proxy.
Konfigurácia vyrovnávacej pamäte
Na konfiguráciu veľkosti a údržby vyrovnávacej pamäte Apache HTTP Proxy môžete použiť nástroj htcachceclean. Pozrite si inštrukcie pre konfiguráciu ukladania do vyrovnávacej pamäte na virtuálnom zariadení ESET PROTECT.
Nastavenie SELinux
Ak sa proxy používa na virtuálnom zariadení ESET PROTECT (ostatné distribúcie systému Linux môžu mať rovnakú požiadavku), je potrebné upraviť SELinux politiku. Na virtuálnom zariadení ESET PROTECT otvorte terminál a spustite nasledujúce príkazy:
/usr/sbin/setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 2222