Instalacja serwera proxy Apache HTTP — system Linux

Agenty ESET Management mogą łączyć się z serwerem ESET PROTECT przy użyciu rozwiązania Apache HTTP Proxy. Zapoznaj się z dodatkowymi informacjami na temat używania serwera proxy z agentami ESET Management.

Apache HTTP Proxy Jest powszechnie dystrybuowany jako pakiet apache2 lub httpd.

Wybierz procedurę instalacji serwera proxy Apache HTTP na podstawie dystrybucji systemu Linux używanej na serwerze: Jeśli serwer Apache ma także buforować wyniki z ESET LiveGuard Advanced, zapoznaj się z odpowiednią dokumentacją.

Instalacja serwera proxy Apache HTTP w systemie Linux (dystrybucja ogólna)

1.Zainstaluj serwer Apache HTTP (co najmniej w wersji 2.4.10).

2.Sprawdź, czy załadowane są następujące moduły:

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

3.Dodaj konfigurację buforowania:

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

4.Jeśli katalog /var/cache/apache2/mod_cache_disk nie istnieje, utwórz go i nadaj mu uprawnienia serwera Apache (r, w, x).

5.Dodaj konfigurację serwera proxy:

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.Do komunikacji z agentem ESET Management jest używany domyślnie port 2222. W przypadku zmiany portu podczas instalacji należy podać zmieniony numer portu. Zmień ciąg 2222 w wierszu AllowCONNECT 443 563 2222 8883 53535 na swój numer portu.

7.Włącz dodaną konfigurację buforowania serwera proxy (jeśli konfiguracja jest zawarta w głównym pliku konfiguracyjnym serwera Apache, można pominąć ten krok).

8.W razie potrzeby zmień port nasłuchu (domyślnie ustawiony jest port 3128).

9.Opcjonalne uwierzytelnianie podstawowe:

oDodaj konfigurację uwierzytelniania do dyrektywy serwera proxy:

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

oUtwórz plik hasła przy użyciu polecenia /etc/httpd/.htpasswd -c

oRęcznie utwórz plik o nazwie group.file z elementem usergroup:username

10. Uruchom ponownie serwer Apache HTTP.

 

Instalacja serwera proxy Apache HTTP w systemie Ubuntu Server oraz w innych dystrybucjach systemu Linux opartych na systemie Debian

1.Zainstaluj najnowszą wersję serwera Apache HTTP z odpowiedniego repozytorium:

sudo apt-get install apache2

2.Wykonaj poniższe polecenie w celu załadowania wymaganych modułów serwera 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.Edytuj plik konfiguracji buforowania serwera Apache:

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

oraz skopiuj i wklej następującą konfigurację:

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

4. Ten krok powinien być opcjonalny, jednak w razie braku katalogu buforowania uruchom następujące polecenia:

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.Edytuj plik konfiguracji serwera proxy Apache:

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

oraz skopiuj i wklej następującą konfigurację:

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.Do komunikacji z agentem ESET Management jest używany domyślnie port 2222. W przypadku zmiany portu podczas instalacji należy podać zmieniony numer portu. Zmień ciąg 2222 w wierszu AllowCONNECT 443 563 2222 8883 53535 na swój numer portu.

7.Włącz pliki konfiguracyjne edytowane w poprzednich krokach:

sudo a2enconf cache_disk.conf proxy.conf

8.Zmień port nasłuchiwania serwera Apache HTTP na port 3128. Edytuj plik /etc/apache2/ports.conf i zastąp element Listen 80 elementem Listen 3128.

9.Opcjonalne uwierzytelnianie podstawowe:

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

oSkopiuj i wklej konfigurację uwierzytelniania przed elementem </Proxy>

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

oZainstaluj element apache2-utils i utwórz nowy plik hasła (na przykład username: user, group: usergroup):

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

oUtwórz plik o nazwie group:

sudo vim /etc/apache2/group.file

Skopiuj i wklej następujący wiersz:

usergroup:user

10. Uruchom ponownie serwer Apache HTTP przy użyciu następującego polecenia:

sudo systemctl restart apache2

 

Przekazywanie jedynie w ramach komunikacji z produktami ESETAby zezwolić tylko na przekazywanie w ramach komunikacji z produktami ESET, usuń następujący wpis:

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

I dodaj następujący wpis:

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

Przekazywanie całej komunikacji

Aby zezwolić na przekazywanie całej komunikacji, dodaj następujący wpis:

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

i usuń następujący wpis:

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

Tworzenie łańcucha na serwerze proxy (cały ruch)

Program ESET PROTECT nie obsługuje łańcuchów serwerów proxy, w których serwery proxy wymagają uwierzytelnienia. Można użyć własnego rozwiązania do obsługi sieci przezroczystych serwerów proxy, jednak może ono wymagać dodatkowej konfiguracji, której nie omówiono w niniejszym dokumencie. Dodaj poniższy wiersz do konfiguracji serwera proxy (hasło działa wyłącznie w przypadku podrzędnego serwera proxy):

<VirtualHost *:3128>

ProxyRequests On

ProxyRemote * http://IP_ADDRESS:3128

</VirtualHost>

W przypadku korzystania z łańcucha na serwerze proxy na urządzeniu wirtualnym ESET PROTECT należy zmodyfikować politykę SELinux. Na urządzeniu wirtualnym ESET PROTECT należy otworzyć terminal i uruchomić następujące polecenie:

/usr/sbin/setsebool -P httpd_can_network_connect 1

Konfigurowanie serwera proxy HTTP dla dużej liczby klientów

Jeśli używasz 64-bitowego serwera proxy Apache HTTP, możesz zwiększyć limit wątków swojego serwera Apache HTTP Proxy. Edytuj plik konfiguracyjny httpd.conf w folderze Apache HTTP Proxy. Znajdź następujące ustawienia w pliku i zaktualizuj wartości, aby dopasować je do liczby klientów.

Zamień przykładową wartość 5000 potrzebną liczbą. Maksymalna wartość to 32000.

ThreadLimit 5000

ThreadsPerChild 5000

 
Nie zmieniaj pozostałej części pliku.

Skonfiguruj serwer proxy Apache HTTP na potrzeby przekazywania połączeń między agentem a serwerem

1.Na komputerze z serwerem proxy otwórz plik

i.Dystrybucje Debian
/etc/apache2/mods-available/proxy.conf

ii.Dystrybucje Red Hat
/etc/httpd/conf/httpd.conf

2.Dodaj następujące wiersze na końcu pliku:
AllowCONNECT 443 563 2222 8883 53535

3.Na komputerze z serwerem proxy otwórz plik

i.Dystrybucje Debian
/etc/apache2/apache2.conf

ii.Dystrybucje Red Hat
/etc/httpd/conf/httpd.conf

4.Znajdź wiersz:
Listen 80
i zmień go na wiersz
Listen 3128

5.Jeśli dodano ograniczenia dotyczące adresów IP w konfiguracji serwera proxy (krok 1), musisz zezwolić na dostęp do serwera ESET PROTECT:

Dodaj oddzielny segment ProxyMatch:

I.Adres używany przez agenty do nawiązywania połączenia z serwerem ESET PROTECT.

II.Wszystkie pozostałe adresy serwera ESET PROTECT (IP, FQDN)
(Dodaj cały poniższy kod — adres IP 10.1.1.10 i nazwa hosta hostname.example to tylko przykłady, które należy zastąpić własnymi adresami. Możesz też wygenerować wyrażenie ProxyMatch zgodnie z tym artykułem w bazie wiedzy).
 

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

Allow from all

</ProxyMatch>

6.Uruchom ponownie usługę Apache HTTP Proxy.

Konfiguruj buforowanie

Za pomocą htcachceclean można skonfigurować rozmiar i czyszczenie pamięci podręcznej Apache HTTP Proxy. Zobacz instrukcje konfiguracji pamięci podręcznej dla urządzenia wirtualnego ESET PROTECT.

Ustawienie SELinux

W przypadku korzystania z serwera proxy na urządzeniu wirtualnym ESET PROTECT należy zmodyfikować politykę SELinux (inne dystrybucje systemu Linux mogą mieć to samo wymaganie). Na urządzeniu wirtualnym ESET PROTECT należy otworzyć terminal i uruchomić następujące polecenie:

/usr/sbin/setsebool -P httpd_can_network_connect 1

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