Installation du mandataire HTTP Apache - Linux
Les agents ESET Management peuvent se connecter au serveur ESET PROTECT par Apache HTTP Proxy. Découvrez davantage comment le mandataire fonctionne pour les agents ESET Management.
Le Apache HTTP Proxy est généralement distribué sous la forme d’un progiciel apache2 ou httpd.
Sélectionnez les étapes d'installation du mandataire HTTP Apache en fonction de la distribution Linux que vous utilisez sur votre serveur : Si vous souhaitez utiliser Apache pour mettre également en cache les résultats d'ESET LiveGuard Advanced, consultez aussi la documentation correspondante.
Installation de Linux (distribution générique) pour mandataire HTTP Apache
1.Installez Apache HTTP Server (version 2.4.10 ou plus récente)
2.Vérifiez que les modules suivants ont été chargés :
access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk
3.Ajoutez la configuration de mise en cache :
CacheEnable disk http:// |
4.Si le répertoire /var/cache/apache2/mod_cache_disk est inexistant, créez-le et attribuez-lui les privilèges Apache (r,w,x).
5.Ajouter la configuration du mandataire :
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.Par défaut, le port 2222 est utilisé pour les communications avec ESET Management l'agent. Si vous avez modifié le port lors de l'installation, servez-vous du nouveau numéro de port. Dans la ligne AllowCONNECT 443 563 2222 8883 53535, remplacez 2222 par votre numéro de port.
7.Activez la configuration de mise en cache du mandataire que vous venez d'ajouter (si la configuration se trouve dans le fichier principal de configuration Apache, vous pouvez passer cette étape).
8.Au besoin, modifiez le mode de réception vers le port désiré (le port par défaut est 3128).
9.Authentification de base optionnelle :
oAjoutez une configuration d'authentification à la directive du mandataire :
AuthType Basic |
oCréez un fichier de mot de passe en utilisant /etc/httpd/.htpasswd -c
oCréez manuellement un fichier nommé group.file avec usergroup:username
10. Redémarrez le Serveur HTTP Apache.
Serveur Ubuntu et autres distributions d'installation du mandataire HTTP Apache architecturés autour de Debian sous Linux
1.Installez la plus récente version de Serveur HTTP Apache à partir du référentiel apt :
sudo apt-get install apache2
2.Exécutez la commande suivante pour charger les modules Apache nécessaires :
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.Modifiez le fichier de configuration de cache Apache :
sudo vim /etc/apache2/conf-available/cache_disk.conf
et copiez-collez la configuration suivante :
CacheEnable disk http:// |
4. Cette étape ne devrait pas être nécessaire, mais si le répertoire de mise en cache est manquant, exécutez les commandes suivantes :
sudo mkdir /var/cache/apache2/mod_cache_disk |
5.Modifiez le fichier de configuration du mandataire Apache :
sudo vim /etc/apache2/conf-available/proxy.conf
et copiez-collez la configuration suivante :
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.Par défaut, le port 2222 est utilisé pour les communications avec ESET Management l'agent. Si vous avez modifié le port lors de l'installation, servez-vous du nouveau numéro de port. Dans la ligne AllowCONNECT 443 563 2222 8883 53535, remplacez 2222 par votre numéro de port.
7.Activez les fichiers de configuration que vous avez modifiés lors des étapes précédentes :
sudo a2enconf cache_disk.conf proxy.conf
8.Changez le port d'écoute du serveur HTTP Apache en 3128. Modifiez le fichier /etc/apache2/ports.conf et remplacez Listen 80 parListen 3128.
9.Authentification de base optionnelle :
sudo vim /etc/apache2/mods-enabled/proxy.conf
oCopiez-collez la configuration d'authentification avant </Proxy> :
AuthType Basic |
oInstallez apache2-utils et créez un nouveau fichier mot de passe (par exemple, nom d'utilisateur utilisateur, groupe : groupe de l'utilisateur) :
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user
oCréez un fichier appelé groupe :
sudo vim /etc/apache2/group.file
et copiez-collez la ligne suivante :
usergroup:user
10. Redémarrez le Mandataire HTTP Apache à l'aide de la commande :
sudo systemctl restart apache2
Transfert pour les communications ESET seulementPour autorisez seulement le transfert des communications ESET, supprimez les éléments suivants :
<Proxy *> |
Ajoutez également les éléments suivants :
<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> |
Transmission pour toute communication
Pour autoriser le transfert de toutes les communications, ajoutez ce qui suit :
<Proxy *> |
supprimez également ce qui suit :
<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> |
Chaînage du serveur mandataire (tout le trafic)
ESET PROTECT ne prend pas en charge le chaînage des mandataires lorsque ceux-ci requièrent une authentification. Vous pouvez utiliser votre propre solution de mandataire Web transparente, mais sachez qu'une configuration supplémentaire peut être nécessaire en plus de ce qui est mentionné ici. Ajoutez la configuration du mandataire suivante (le mot de passe fonctionne seulement sur le mandataire enfant) :
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
Lorsque vous utilisez le chaînage de mandataire sur l'AV ESET PROTECT, la politique de SELinux doit être modifiée. Ouvrez le terminal sur l'AV ESET PROTECT et exécutez la commande suivante :
/usr/sbin/setsebool -P httpd_can_network_connect 1
Configurez votre mandataire HTTP pour un nombre élevé de clients
Si vous utilisez un mandataire HTTP Apache de 64 bits, vous pouvez augmenter la limite de fils pour votre Apache HTTP Proxy. Modifiez le fichier de configuration de httpd.conf, dans votre dossier Apache HTTP Proxy. Trouvez les paramètres suivants dans le fichier et mettez les valeurs à jour pour qu'elles correspondent à votre nombre de clients.
Remplacez le nombre 5000 de l'exemple par votre nombre. La valeur maximale est de 32000.
ThreadLimit 5000
ThreadsPerChild 5000
Ne changez pas le reste de fichier.
Configurer le mandataire HTTP Apache pour transférer les connexions du serveur de l’agent
1.Sur l'ordinateur mandataire, ouvrez le fichier
i.(Distributions Debian)
/etc/apache2/mods-available/proxy.conf
ii.Distributions Red Hat
/etc/httpd/conf/httpd.conf
2.Ajoutez les lignes suivantes à la fin du fichier :
AllowCONNECT 443 563 2222 8883 53535
3.Sur l'ordinateur mandataire, ouvrez le fichier
i.(Distributions Debian)
/etc/apache2/apache2.conf
ii.Distributions Red Hat
/etc/httpd/conf/httpd.conf
4.Trouvez la ligne :
Listen 80
et modifiez la en
Listen 3128
5.Si vous avez ajouté des restrictions pour les adresses IP dans votre configuration de mandataire (étape 1), vous devez autoriser l'accès à votre serveur ESET PROTECT :
Ajoutez un segment ProxyMatch séparé :
I.L'adresse que vos agents utilisent pour se connecter au serveur ESET PROTECT.
II.Toutes les autres adresses possibles de votre serveur ESET PROTECT (IP, FQDN)
(ajoutez le code ci-dessous en entier ; l'adresse IP 10.1.1.10 et le nom d'hôte hostname.example sont présentés à titre d'exemples seulement; vous devez les remplacer par vos adresses. Vous pouvez également générer l'expression ProxyMatch à l'aide de cet article de la base de connaissances.)
<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$> Allow from all </ProxyMatch> |
6.Redémarrez le service Apache HTTP Proxy.
Configurer la mise en cache
Vous pouvez utiliser htcachceclean pour configurer la taille du cache et le nettoyage du cache de Apache HTTP Proxy. Consulter les instructions de configuration de cache du périphérique virtuel ESET PROTECT.
Paramètre SELinux
Lorsque vous utilisez un mandataire sur le périphérique virtuel ESET PROTECT, la politique de SELinux doit être modifiée (d'autres distributions de Linux peuvent avoir les mêmes exigences). Ouvrez le terminal sur l'AV ESET PROTECT et exécutez la commande suivante :
/usr/sbin/setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 2222