Installation du proxy HTTP Apache - Linux
Les ESET Management Agents peuvent se connecter à ESET PROTECT Server via Apache HTTP Proxy. En savoir plus sur le fonctionnement du proxy pour les ESET Management Agents.
Apache HTTP Proxy est couramment distribué sous la forme d'un package apache2 ou httpd.
Sélectionnez la procédure d'installation du proxy HTTP Apache en fonction de la distribution Linux utilisée sur votre serveur. Si vous souhaitez utiliser Apache pour mettre aussi en cache les résultats de ESET LiveGuard Advanced, consultez la documentation connexe.
Installation sur Linux (générique Distribution) pour le proxy HTTP Apache
1.Installez Apache HTTP Server (version 2.4.10 ou ultérieure).
2.Vérifiez que les modules suivants sont 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 n'existe pas, créez-le et attribuez-lui des privilèges Apache (r,w,x).
5.Ajoutez une configuration de 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.Par défaut, le port 2222 est utilisé pour les communications avec ESET Management Agent. Si vous avez modifié le port lors de l'installation, utilisez le numéro de port modifié. Remplacez 2222 dans la ligne AllowCONNECT 443 563 2222 8883 53535 par votre numéro de port.
7.Activez le proxy de mise en cache et la configuration ajoutés (si la configuration figure dans le fichier de configuration Apache principal, vous pouvez ignorer cette étape).
8.Si nécessaire, modifiez l'écoute sur le port de votre choix (le port 3128 est défini par défaut).
9.Authentification de base facultative :
oAjoutez une configuration d'authentification à la directive du proxy :
AuthType Basic |
oCréez un fichier de mot de passe à l'aide de la commande /etc/httpd/.htpasswd -c.
oCréez manuellement un fichier appelé group.file avec usergroup:username.
10. Redémarrez Apache HTTP Server.
Ubuntu Server et installation d'autres distributions Linux basées sur Debian du proxy HTTP Apache
1.Installez la version la plus récente d'Apache HTTP Server à partir du référentiel apt :
sudo apt-get install apache2
2.Exécutez la commande suivante pour charger les modules Apache requis :
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 mise en cache Apache :
sudo vim /etc/apache2/conf-available/cache_disk.conf
et copiez/collez la configuration suivante :
CacheEnable disk http:// |
4. Cette étape n'est pas obligatoire. Toutefois, si le répertoire de mise en cache est absent, exécutez les commandes suivantes :
sudo mkdir /var/cache/apache2/mod_cache_disk |
5.Modifiez le fichier de configuration du proxy 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 Agent. Si vous avez modifié le port lors de l'installation, utilisez le numéro de port modifié. Remplacez 2222 dans la ligne AllowCONNECT 443 563 2222 8883 53535 par votre numéro de port.
7.Activez les fichiers de configuration que vous avez modifiés lors des précédentes étapes :
sudo a2enconf cache_disk.conf proxy.conf
8.Définissez le port d'écoute du serveur HTTP Apache HTTP sur 3128. Modifiez le fichier /etc/apache2/ports.conf et remplacez Listen 80 par Listen 3128.
9.Authentification de base facultative :
sudo vim /etc/apache2/mods-enabled/proxy.conf
oCopiez/collez la configuration de l'authentification avant </Proxy> :
AuthType Basic |
oInstallez apache2-utils et créez un fichier de mot de passe (nom d'utilisateur : user, groupe : usergroup) :
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user
oCréez un fichier appelé group :
sudo vim /etc/apache2/group.file
et copiez/collez la ligne suivante :
usergroup:user
10. Redémarrez Apache HTTP Server à l'aide de la commande suivante :
sudo systemctl restart apache2
Transfert pour les communications ESET uniquementPour autoriser le transfert des communications ESET uniquement, supprimez les informations suivantes :
<Proxy *> |
Et ajoutez les commandes suivantes :
<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> |
Transfert de toutes les communications
Pour autoriser le transfert de toutes les communications, ajoutez les informations suivantes :
<Proxy *> |
et supprimez les commandes suivantes :
<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 proxy (ensemble du trafic)
ESET PROTECT ne prend pas en charge le chaînage de proxy lorsque les proxy requièrent une authentification. Vous pouvez employer votre propre solution de proxy web transparente (qui peut toutefois nécessiter une configuration supplémentaire que celle décrite ici). Ajoutez les éléments suivants à la configuration du proxy (le mot de passe fonctionne uniquement avec le proxy enfant) :
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
Lors de l'utilisation du chaînage du proxy sur l'appliance virtuelle ESET PROTECT, la politique SELinux doit être modifiée. Ouvrez le terminal sur l'appliance virtuelle ESET PROTECT et exécutez la commande suivante :
/usr/sbin/setsebool -P httpd_can_network_connect 1
Configuration du proxy HTTP pour un nombre élevé de clients
Si vous utilisez la version 64 bits du proxy HTTP Apache, vous pouvez augmenter la limite de threads pour Apache HTTP Proxy. Modifiez le fichier de configuration httpd.conf situé dans le dossier Apache HTTP Proxy. Recherchez les paramètres ci-dessous dans le fichier et mettez à jour les valeurs en fonction du nombre de clients.
Remplacez l'exemple de valeur 5000 par votre nombre de clients. La valeur maximale est de 32000.
ThreadLimit 5000
ThreadsPerChild 5000
Ne changez pas le reste du fichier.
Configuration du proxy HTTP Apache pour transférer les connexions agent-serveur
1.Sur l'ordinateur proxy, 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 proxy, ouvrez le fichier
i.(distributions Debian)
/etc/apache2/apache2.conf
ii.Distributions Red Hat
/etc/httpd/conf/httpd.conf
4.Recherchez la ligne suivante :
Listen 80
et remplacez-la par
Listen 3128
5.Si vous avez ajouté des restrictions pour les adresses IP dans la configuration du proxy (étape 1), vous devez autoriser l'accès à ESET PROTECT Server :
Ajoutez un segment ProxyMatch distinct :
I.L'adresse utilisée par les Agents pour se connecter à ESET PROTECT Server.
II.Toutes les autres adresses possibles d'ESET PROTECT Server (adresse IP, FQDN)
(Ajoutez l'intégralité du code ci-dessous ; l'adresse IP 10.1.1.10 et le nom d'hôte hostname.example ne sont que des exemples à remplacer par vos adresses. Vous pouvez également générer l'expression ProxyMatch dans 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.
Configuration de la mise en cache
Vous pouvez utiliser htcachceclean pour configurer la taille du cache Apache HTTP Proxy et le nettoyage du cache. Consultez les instructions de configuration du cache pour l'appliance virtuelle ESET PROTECT.
Configuration SELinux
Lors de l'utilisation du proxy sur l'appliance virtuelle ESET PROTECT, la politique SELinux doit être modifiée (d'autres distributions Linux peuvent avoir la même exigence). Ouvrez le terminal sur l'appliance virtuelle 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