Instalación del proxy HTTP Apache - Linux
Los agentes de ESET Management pueden conectarse a ESET PROTECT Server a través del Apache HTTP Proxy. Obtenga más información sobre cómo funciona el proxy con las instancias de ESET Management Agent.
Apache HTTP Proxy se suele distribuir como un paquete apache2 o httpd.
Seleccione los pasos de instalación del proxy HTTP Apache según la distribución Linux que utilice en el servidor: Si quiere usar el Apache para almacenar en caché también los resultados de ESET LiveGuard Advanced, consulte también la documentación relacionada.
Instalación en Linux (genérica para todas las distribuciones) del proxy HTTP Apache
1.Instale el servidor HTTP Apache (como mínimo la versión 2.4.10).
2.Asegúrese de que están cargados los siguientes módulos:
access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk
3.Agregue la configuración de almacenamiento en caché:
CacheEnable disk http:// |
4.Si el directorio /var/cache/apache2/mod_cache_disk no existe, créelo y asigne privilegios a Apache (r,w,x).
5.Agregue la configuración del 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.De forma predeterminada, se utiliza el puerto 2222 para la comunicación con ESET Management Agent. Si ha cambiado el puerto durante la instalación, utilice el número de puerto modificado. Cambie 2222 en la línea AllowCONNECT 443 563 2222 8883 53535 por su número de puerto.
7.Active el proxy y la configuración de almacenamiento en caché agregada (si el archivo de configuración principal de Apache contiene la configuración, este paso puede omitirse).
8.En caso de ser necesario, cambie el puerto de escucha al puerto que desee (está configurado el puerto 3128 de forma predeterminada).
9.Autenticación básica opcional:
oAgregue la configuración de autenticación a la directiva del proxy:
AuthType Basic |
oCree un archivo de contraseña con /etc/httpd/.htpasswd -c
oCree manualmente un archivo denominado group.file con usergroup:username
10. Reinicie el servidor HTTP Apache.
Instalación del proxy HTTP Apache en Ubuntu Server y en otras distribuciones Linux basadas en Debian
1.Instale la versión más reciente del servidor HTTP Apache desde el repositorio apt:
sudo apt-get install apache2
2.Ejecute el siguiente comando para cargar los módulos de Apache necesarios:
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.Edite el archivo de configuración del almacenamiento en caché de Apache:
sudo vim /etc/apache2/conf-available/cache_disk.conf
y copie y pegue la siguiente configuración:
CacheEnable disk http:// |
4. Este paso no debería ser necesario, pero si falta el directorio de almacenamiento en caché, ejecute los siguientes comandos:
sudo mkdir /var/cache/apache2/mod_cache_disk |
5.Edite el archivo de configuración del proxy de Apache:
sudo vim /etc/apache2/conf-available/proxy.conf
y copie y pegue la siguiente configuración:
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.De forma predeterminada, se utiliza el puerto 2222 para la comunicación con ESET Management Agent. Si ha cambiado el puerto durante la instalación, utilice el número de puerto modificado. Cambie 2222 en la línea AllowCONNECT 443 563 2222 8883 53535 por su número de puerto.
7.Active los archivos de configuración que modificó en los pasos anteriores:
sudo a2enconf cache_disk.conf proxy.conf
8.Cambie el puerto de recepción de conexiones del servidor HTTP Apache a 3128. Modifique el archivo /etc/apache2/ports.conf y sustituya Listen 80 por Listen 3128.
9.Autenticación básica opcional:
sudo vim /etc/apache2/mods-enabled/proxy.conf
oCopie y pegue la configuración de autenticación antes de </Proxy>:
AuthType Basic |
oInstale apache2-utils y cree un archivo de contraseña nuevo (por ejemplo, con el nombre de usuario user y el grupo usergroup):
sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user
oCree un archivo llamado group:
sudo vim /etc/apache2/group.file
y copie y pegue la siguiente línea:
usergroup:user
10. Reinicie el servidor HTTP Apache con el siguiente comando:
sudo systemctl restart apache2
Reenvío solo para la comunicación de ESETPara permitir el reenvío de la comunicación de ESET únicamente, quite lo siguiente:
<Proxy *> |
Y añada también lo siguiente:
<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> |
Reenvío para toda la comunicación
Para permitir el reenvío de todas las comunicaciones, añada lo siguiente:
<Proxy *> |
y quite también lo siguiente:
<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> |
Encadenado de proxy (todo el tráfico)
ESET PROTECT no admite el encadenado de proxy cuando estos requieren autenticación. Puede utilizar su propia solución de proxy web transparente, pero podría ser necesario configurar otros elementos además de los mencionados en el presente documento. Añada lo siguiente a la configuración del proxy (la contraseña solo funciona en el proxy secundario):
<VirtualHost *:3128> ProxyRequests On ProxyRemote * http://IP_ADDRESS:3128 </VirtualHost> |
Al usar el encadenado de proxy en el dispositivo virtual de ESET PROTECT se debe modificar la política SELinux. Abra el terminal en el dispositivo virtual de ESET PROTECT y ejecute el siguiente comando:
/usr/sbin/setsebool -P httpd_can_network_connect 1
Configurar el proxy HTTP para un número elevado de clientes
Si utiliza el proxy HTTP Apache de 64 bits, puede aumentar el límite de subprocesos para su Apache HTTP Proxy. Edite el archivo de configuración httpd.conf, incluido en su carpeta Apache HTTP Proxy. Busque los siguientes ajustes en el archivo y actualice los valores para que coincidan con el número de clientes.
Sustituya el valor de ejemplo de 5000 con su número. El valor máximo es 32000.
ThreadLimit 5000
ThreadsPerChild 5000
No cambie el resto del archivo.
Configure el proxy HTTP Apache para que reenvíe las conexiones entre agente y servidor
1.En el equipo proxy, abra el archivo
i.Distribuciones Debian
/etc/apache2/mods-available/proxy.conf
ii.Distribuciones Red Hat
/etc/httpd/conf/httpd.conf
2.Agregue las siguientes líneas al final del archivo:
AllowCONNECT 443 563 2222 8883 53535
3.En el equipo proxy, abra el archivo
i.Distribuciones Debian
/etc/apache2/apache2.conf
ii.Distribuciones Red Hat
/etc/httpd/conf/httpd.conf
4.Busque la línea:
Listen 80
y cámbiela a
Listen 3128
5.Si ha agregado restricciones para direcciones IP en la configuración de su proxy (paso 1), deberá permitir el acceso a ESET PROTECT Server:
Añadir otro segmento ProxyMatch:
I.La dirección que sus agentes utilizan para conectarse a ESET PROTECT Server.
II.El resto de direcciones posibles de su ESET PROTECT Server (IP, FQDN)
(agregue todo el código que aparece a continuación; la dirección IP 10.1.1.10 y el nombre de host hostname.example son simplemente ejemplos que debe sustituir con sus direcciones. También puede generar la expresión ProxyMatch como se explica en este artículo de la Base de conocimiento.)
<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$> Allow from all </ProxyMatch> |
6.Reinicie el servicio Apache HTTP Proxy.
Configurar almacenamiento en caché
Puede utilizar htcachceclean para configurar el tamaño y la desinfección de la caché de Apache HTTP Proxy. Consulte las instrucciones de configuración de la caché para el dispositivo virtual ESET PROTECT.
Configuración de SELinux
Al usar proxy en el dispositivo virtual de ESET PROTECT, se debe modificar la política SELinux (otras distribuciones de Linux podrían tener el mismo requisito). Abra el terminal en el dispositivo virtual de ESET PROTECT y ejecute el siguiente comando:
/usr/sbin/setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 2222