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:// |
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
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.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 |
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:// |
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 |
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
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.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 |
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 *> |
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 *> |
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