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 Dynamic Threat Defense, 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://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

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
ProxyVia 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>

 
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

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
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

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://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

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
sudo chown www-data /var/cache/apache2/mod_cache_disk
sudo chgrp www-data /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
ProxyVia 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>

 
<Proxy *>
Order deny,allow
Deny from all
Allow from all
</Proxy>

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
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

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 service apache2 restart

 

Reenvío solo para la comunicación de ESETPara permitir el reenvío de la comunicación de ESET únicamente, quite lo siguiente:

<Proxy *>
Order deny,allow
Deny from all
Allow from all
</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 *>
Order deny,allow
Deny from all
Allow from all
</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.

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