Apache HTTP Proxy-Installation – Linux
ESET Management Agenten können sich über den Apache HTTP Proxy mit dem ESET PROTECT Server verbinden. Siehe auch Funktionsweise des Proxy für ESET Management Agenten.
Der Apache HTTP Proxy wird normalerweise als apache2- oder httpd-Paket verteilt.
Wählen Sie die Installationsschritte für Apache HTTP Proxy entsprechend der auf dem Server verwendeten Linux-Distribution aus: Falls Sie Apache verwenden möchten, um die Ergebnisse aus ESET LiveGuard Advanced zwischenzuspeichern, lesen Sie die entsprechende Dokumentation.
Linux-Installation (allgemeine Distribution) für Apache HTTP Proxy
1.Installieren Sie den Apache HTTP-Server (mindestens Version 2.4.10).
2.Stellen Sie sicher, dass die folgenden Module geladen sind:
access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk
3.Fügen Sie die Caching-Konfiguration hinzu:
CacheEnable disk http:// |
4.Falls das Verzeichnis /var/cache/apache2/mod_cache_disk nicht existiert, erstellen Sie es und erteilen Sie Apache die Berechtigungen (r,w,x).
5.Fügen Sie die Proxy-Konfiguration hinzu:
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.Standardmäßig wird Port 2222 für die Kommunikation mit demESET Management Agenten verwendet. Falls Sie den Port bei der Installation geändert haben, verwenden Sie die geänderte Portnummer. Ersetzen Sie den Wert 2222 in der Zeile AllowCONNECT 443 563 2222 8883 53535 durch Ihre Portnummer.
7.Aktivieren Sie den hinzugefügten Caching-Proxy und die Konfiguration hinzu. (Sie können diesen Schritt überspringen, wenn die Konfiguration in der Apache-Hauptkonfigurationsdatei enthalten ist).
8.Ändern Sie bei Bedarf die Überwachung auf den gewünschten Port (standardmäßig ist Port 3128 eingestellt).
9.Optionale Standardauthentifizierung:
oFügen Sie die Authentifizierungskonfiguration zur Proxy-Anweisung hinzu:
AuthType Basic |
oErstellen Sie eine Passwortdatei mit dem Befehl /etc/httpd/.htpasswd -c.
oErstellen Sie manuell eine Datei mit dem Namen „group.file“ mit dem Befehl usergroup:username.
10. Starten Sie den Apache HTTP-Server neu.
Installationen des Apache HTTP Proxy in Ubuntu Server und anderen Debian-basierten Linux-Distributionen
1.Installieren Sie die neueste Version des Apache HTTP-Servers aus dem Repository „apt“:
sudo apt-get install apache2
2.Führen Sie den folgenden Befehl aus, um die erforderlichen Apache-Module zu laden:
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.Bearbeiten Sie die Apache-Caching-Konfigurationsdatei:
sudo vim /etc/apache2/conf-available/cache_disk.conf
Kopieren und fügen Sie die folgenden Konfigurationsangaben ein:
CacheEnable disk http:// |
4. Dieser Schritt wird normalerweise nicht benötigt. Falls jedoch das Caching-Verzeichnis fehlt, führen Sie die folgenden Befehle aus:
sudo mkdir /var/cache/apache2/mod_cache_disk |
5.Bearbeiten Sie die Apache-Proxy-Konfigurationsdatei:
sudo vim /etc/apache2/conf-available/proxy.conf
Kopieren und fügen Sie die folgenden Konfigurationsangaben ein:
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.Standardmäßig wird Port 2222 für die Kommunikation mit demESET Management Agenten verwendet. Falls Sie den Port bei der Installation geändert haben, verwenden Sie die geänderte Portnummer. Ersetzen Sie den Wert 2222 in der Zeile AllowCONNECT 443 563 2222 8883 53535 durch Ihre Portnummer.
7.Aktivieren Sie die in früheren Schritten bearbeiteten Konfigurationsdateien:
sudo a2enconf cache_disk.conf proxy.conf
8.Setzen Sie den überwachten Port des Apache HTTP-Servers auf 3128. Bearbeiten Sie die Datei /etc/apache2/ports.conf und ersetzen Sie Listen 80 durch Listen 3128.
9.Optionale Standardauthentifizierung:
sudo vim /etc/apache2/mods-enabled/proxy.conf
oFügen Sie die Authentifizierungs-Konfiguration vor dem folgenden </Proxy> Block ein:
AuthType Basic |
oInstallieren Sie apache2-utils und erstellen Sie eine neue Passwortdatei (zum Beispiel Benutzername: user, Gruppe: usergroup):
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user
oErstellen Sie eine Datei mit dem Namen „group“:
sudo vim /etc/apache2/group.file
Kopieren und fügen Sie die folgende Zeile ein:
usergroup:user
10. Starten Sie den Apache HTTP-Server mit dem folgenden Befehl neu:
sudo systemctl restart apache2
Weiterleitung nur für ESET-KommunikationEntfernen Sie Folgendes, um nur die ESET-Kommunikation weiterzuleiten:
<Proxy *> |
Fügen Sie außerdem den folgenden Code hinzu:
<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> |
Sämtliche Kommunikation weiterleiten
Fügen Sie den folgenden Code hinzu, um sämtliche Kommunikation weiterzuleiten:
<Proxy *> |
Entfernen Sie außerdem den folgenden Code:
<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-Verkettung (sämtlicher Datenverkehr)
ESET PROTECT unterstützt keine Verkettung von Proxies, wenn die Proxies Authentifizierung erfordern. Wenn Sie eine eigene transparente Webproxy-Lösung verwenden, müssen Sie ggf. weitere Konfigurationsschritte vornehmen, die hier nicht aufgeführt sind. Fügen Sie die folgende Zeile zur Proxy-Konfiguration hinzu (Passwort funktioniert nur für untergeordneten Proxy):
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
Wenn Sie die Proxy-Verkettung auf der virtuellen ESET PROTECT-Appliance verwenden, müssen Sie die SELinux-Policy anpassen. Öffnen Sie das Terminal auf der ESET PROTECT-VA und führen Sie den folgenden Befehl aus:
/usr/sbin/setsebool -P httpd_can_network_connect 1
Konfigurieren Sie den HTTP-Proxy für eine große Anzahl von Clients
Wenn Sie die 64-Bit-Version des Apache HTTP-Proxy verwenden, können Sie das Thread-Limit für Ihren Apache HTTP Proxy erhöhen. Bearbeiten Sie die Konfigurationsdatei httpd.conf in Ihrem Apache HTTP Proxy-Ordner. Suchen Sie die folgenden Einstellungen in der Datei und passen Sie die Werte an die Anzahl Ihrer Clients an.
Ersetzen Sie den Beispielwert 5000 durch den gewünschten Wert. Der Höchstwert ist 32000.
ThreadLimit 5000
ThreadsPerChild 5000
Ändern Sie den Rest der Datei nicht.
Konfigurieren von Apache HTTP Proxy für die Weiterleitung der Verbindungen zwischen Agenten und Server
1.Öffnen Sie auf dem Proxy-Computer die Datei
i.Debian-Distributionen
/etc/apache2/mods-available/proxy.conf
ii.Red Hat-Distributionen
/etc/httpd/conf/httpd.conf
2.Fügen Sie die folgenden Zeilen zum Ende der Datei hinzu:
AllowCONNECT 443 563 2222 8883 53535
3.Öffnen Sie auf dem Proxy-Computer die Datei
i.Debian-Distributionen
/etc/apache2/apache2.conf
ii.Red Hat-Distributionen
/etc/httpd/conf/httpd.conf
4.Suchen Sie die folgende Zeile:
Listen 80
und ändern Sie sie zu
Listen 3128
5.Falls Sie bei Ihrer Proxy-Konfiguration in Schritt 1 Einschränkungen für IP-Adressen hinzugefügt haben, müssen Sie den Zugriff auf Ihren ESET PROTECT Server erlauben:
Fügen Sie in einem separaten ProxyMatch-Segment Folgendes hinzu:
I.Die Adresse, die Ihre Agenten verwenden, um sich mit dem ESET PROTECT Server zu verbinden.
II.Alle weiteren möglichen Adressen Ihres ESET PROTECT Servers (IP, FQDN)
(Fügen Sie den gesamten untenstehenden Code hinzu. Die IP-Adresse 10.1.1.10 und der Hostname hostname.example sind nur Beispiele und müssen durch Ihre tatsächlichen Adressen ersetzt werden. Außerdem können Sie den ProxyMatch-Ausdruck in diesem Knowledgebase-Artikel generieren).
<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$> Allow from all </ProxyMatch> |
6.Starten Sie den Apache HTTP Proxy-Dienst neu.
Caching konfigurieren
Mit htcacheclean können Sie die Cachegröße und die Cache-Bereinigung für Apache HTTP Proxy konfigurieren. Siehe auch Cache-Konfigurationsanweisungen für die ESET PROTECT VA.
SELinux-Einstellung
Wenn Sie den Proxy auf der virtuellen ESET PROTECT-Appliance verwenden, müssen Sie die SELinux-Policy anpassen (gilt möglicherweise auch für andere Linux-Distributionen). Öffnen Sie das Terminal auf der ESET PROTECT-VA und führen Sie den folgenden Befehl aus:
/usr/sbin/setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 2222