Instalacija HTTP proxyja Apache – Linux

ESET Management agenti se mogu povezati s ESET PROTECT serverom putem sustava Apache HTTP Proxy. Pročitajte više o tome kako radi proxy za ESET Management agente.

Apache HTTP Proxy obično se distribuira kao paket apache2 ili httpd.

Odaberite korake za instalaciju za Apache HTTP proxy ovisno o tome kojom se distribucijom sustava Linux koristite na serveru. Ako želite upotrijebiti Apache za predmemoriranje rezultata i iz sustava ESET LiveGuard Advanced, pogledajte i povezanu dokumentaciju.

Instalacija sustava Linux (generički distribucijski paket) za Apache HTTP proxy

1.Instalirajte Apache HTTP Server (barem verziju 2.4.10).

2.Provjerite jesu li učitani sljedeći moduli:

access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk

3.Dodajte konfiguraciju za predmemoriranje:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4.Ako direktorij /var/cache/apache2/mod_cache_disk ne postoji, stvorite ga i dodijelite ovlasti za Apache (r,w,x).

5.Dodajte konfiguraciju proxyja:

AllowCONNECT 443 563 2222 8883 53535

 

ProxyRequests On
ProxyVia 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>

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

6.Prema standardnim postavkama port 2222 upotrebljava se za komunikaciju s ESET Management agentom. Ako ste promijenili port tijekom instalacije, upotrijebite promijenjeni broj porta. Zamijenite broj 2222 u sljedećem retku: AllowCONNECT 443 563 2222 8883 53535 svojim brojem porta.

7.Aktivirajte dodani proxy za predmemoriranje i konfiguraciju (ako je konfiguracija u glavnoj Apache konfiguracijskoj datoteci, možete preskočiti ovaj korak).

8.Ako je potrebno, prebacite osluškivanje na željeni port (prema standardnoj postavci odabran je port 3128).

9.Dodatna osnovna autorizacija:

oDodajte konfiguraciju autorizacije na proxy direktivu:

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

oStvorite datoteku lozinke s pomoću naredbe /etc/httpd/.htpasswd -c

oRučno stvorite datoteku pod nazivom group.file naredbom usergroup:username

10. Ponovno pokrenite Apache HTTP Server.

 

Instalacija Apache HTTP proxy servera na Ubuntu Server i ostali distribucijski paket sustava Linux na temelju Debiana

1.Instalirajte najnoviju verziju Apache HTTP Servera s apt repozitorija:

sudo apt-get install apache2

2.Pokrenite sljedeću naredbu kako biste učitali potrebne Apache module:

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.Uredite Apache konfiguracijsku datoteku za predmemoriranje:

sudo vim /etc/apache2/conf-available/cache_disk.conf

i kopirajte/zalijepite sljedeću konfiguraciju:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4. Ovaj korak ne bi trebao biti potreban, ali ako nedostaje mapa za predmemoriranje, izvršite sljedeće naredbe:

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.Uredite konfiguracijsku datoteku Apache proxy servera:

sudo vim /etc/apache2/conf-available/proxy.conf

i kopirajte/zalijepite sljedeću konfiguraciju:

AllowCONNECT 443 563 2222 8883 53535

 

ProxyRequests On
ProxyVia 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>

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

6.Prema standardnim postavkama port 2222 upotrebljava se za komunikaciju s ESET Management agentom. Ako ste promijenili port tijekom instalacije, upotrijebite promijenjeni broj porta. Zamijenite broj 2222 u sljedećem retku: AllowCONNECT 443 563 2222 8883 53535 svojim brojem porta.

7.Aktivirajte konfiguracijske datoteke koje ste uredili u prethodnim koracima:

sudo a2enconf cache_disk.conf proxy.conf

8.Prebacite port za osluškivanje Apache HTTP Servera na 3128. Uredite datoteku /etc/apache2/ports.conf i zamijenite Listen 80 s Listen 3128.

9.Dodatna osnovna autorizacija:

sudo vim /etc/apache2/mods-enabled/proxy.conf

oKopirajte/zalijepite konfiguraciju za autorizaciju ispred </Proxy>:

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

oInstalirajte apache2-utils i stvorite novu datoteku lozinke (na primjer, korisničko ime: korisnik, grupa: korisničkagrupa):

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

oStvorite datoteku pod nazivom grupa:

sudo vim /etc/apache2/group.file

i kopirajte/zalijepite sljedeći redak:

usergroup:user

10. Ponovno pokrenite Apache HTTP Server pomoću sljedeće naredbe:

sudo systemctl restart apache2

 

Prosljeđivanje samo za komunikaciju s ESET-omDa biste omogućili prosljeđivanje samo komunikacije s ESET-om, uklonite sljedeće:

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

I dodajte sljedeće:

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

Prosljeđivanje za svu komunikaciju

Da biste omogućili prosljeđivanje sve komunikacije, dodajte sljedeće:

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

i uklonite sljedeće:

<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 lanac (sav promet)

ESET PROTECT ne podržava proxy lanac kada je za proxyje potrebna provjera autentičnosti. Možete upotrijebiti svoje rješenje transparentnog web-proxyja, međutim, možda će biti potrebne dodatne konfiguracije osim onih koje su ovdje spomenute. Dodajte sljedeće u proxy konfiguraciju (lozinka radi samo na podređenom proxyju):

<VirtualHost *:3128>

ProxyRequests On

ProxyRemote * http://IP_ADDRESS:3128

</VirtualHost>

Prilikom upotrebe proxy lanca na uređaju ESET PROTECT VA pravilo SELinux mora se izmijeniti. Otvorite terminal na uređaju ESET PROTECT VA i pokrenite naredbu:

/usr/sbin/setsebool -P httpd_can_network_connect 1

Konfiguriranje HTTP proxyja za velik broj klijenata

Ako upotrebljavate 64-bitni Apache HTTP Proxy, povećajte ograničenje niti za Apache HTTP Proxy. Uredite konfiguracijske datoteke httpd.conf u mapi za Apache HTTP Proxy. Pronađite sljedeće postavke u datoteci i nadogradite vrijednosti koje odgovaraju vašem broju klijenata.

Zamijenite oglednu vrijednost 5000 svojim brojem. Maksimalna vrijednost iznosi 32000.

ThreadLimit 5000

ThreadsPerChild 5000

 
Nemojte mijenjati ostatak datoteke.

Konfiguriranje Apache HTTP proxyja za prosljeđivanje veza agenata-servera

1.Na proxy uređaju otvorite datoteku

i.Distribucijski paketi sustava Debian
/etc/apache2/mods-available/proxy.conf

ii.Distribucijski paketi sustava Red Hat
/etc/httpd/conf/httpd.conf

2.Dodajte sljedeće retke na kraj datoteke:
AllowCONNECT 443 563 2222 8883 53535

3.Na proxy uređaju otvorite datoteku

i.Distribucijski paketi sustava Debian
/etc/apache2/apache2.conf

ii.Distribucijski paketi sustava Red Hat
/etc/httpd/conf/httpd.conf

4.Pronađite redak:
Listen 80
i promijenite ga u
Listen 3128

5.Ako ste dodali ograničenja za IP adrese u konfiguraciji proxyja (1. korak), morate dopustiti pristup ESET PROTECT serveru:

Dodajte zaseban segment ProxyMatch:

I.Adresu kojom se vaši agenti koriste za povezivanje s ESET PROTECT serverom.

II.Sve druge moguće adrese vašeg ESET PROTECT servera (IP, FQDN)
(dodajte cijeli kod u nastavku; IP adresa 10.1.1.10 i naziv servera hostname.example samo su primjeri koji se trebaju zamijeniti vašim adresama. Možete stvoriti i izraz ProxyMatch u ovom članku u bazi znanja.)
 

<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$>

Allow from all

</ProxyMatch>

6.Ponovno pokrenite Apache HTTP Proxy servis.

Konfiguriraj predmemoriranje

Za konfiguriranje veličine predmemorije za Apache HTTP Proxy i čišćenje predmemorije možete upotrijebiti htcachceclean. Pogledajte upute za konfiguraciju predmemorije za ESET PROTECT virtualni uređaj.

Podešavanje pravila SELinux

Prilikom upotrebe proxyja na ESET PROTECT virtualnom uređaju pravilo SELinux mora se izmijeniti (drugi distribucijski paketi sustava Linux mogu imati isti preduvjet). Otvorite terminal na uređaju ESET PROTECT VA i pokrenite naredbu:

/usr/sbin/setsebool -P httpd_can_network_connect 1

sudo semanage port -a -t http_port_t -p tcp 2222