Instalación de Proxy HTTP Apache: Linux

Los agentes ESET Management pueden conectarse con el Servidor ESET PROTECT mediante Apache HTTP Proxy. Obtenga más información sobre cómo funciona el proxy para Agentes ESET Management.

Normalmente Apache HTTP Proxy se distribuye como un paquete apache2 o httpd.

Elija los pasos de instalación del Proxy Apache HTTP según la distribución de Linux que use en su servidor: Si desea usar Apache para almacenar en caché los resultados de ESET Dynamic Threat Defense, consulte también la documentación relacionada.

Instalación en Linux (distribución genérica) del Proxy Apache HTTP

1.Instalar servidor HTTP Apache (al menos la versión 2.4.10).

2.Verifique que se carguen 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.Agregar la configuración de 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 es directorio /var/cache/apache2/mod_cache_disk no existe, créelo y asígnele privilegios de Apache (r,w,x).

5.Agregar configuración 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.En forma predeterminada, el puerto 2222 se usa para la comunicación con el Agente ESET Management. Si cambió el puerto durante la instalación, use el número de puerto modificado. Cambie 2222 en la línea: AllowCONNECT 443 563 2222 8883 53535 para su número de puerto.

7.Habilite el proxy de caché añadido y la configuración (si la configuración se encuentra en el archivo de configuración principal de Apache, podrá omitir este paso).

8.De ser necesario, cambie al puerto que desee (el predeterminado es el puerto 3128).

9.Autenticación básica opcional:

oAgregar configuración de autenticación al directorio 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 un archivo de forma manual denominado group.file con usergroup:username

10. Reinicie el Servidor Apache HTTP.

 

Ubuntu Server y otra instalación de distribuciones Linux basada en Debian del Servidor Apache HTTP

1.Instale la versión más reciente del Servidor Apache HTTP desde el repositorio apt:

sudo apt-get install apache2

2.Ejecute el siguiente comando para cargar los módulos de Apache que necesite:

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 de almacenamiento de caché de Apache:

sudo vim /etc/apache2/conf-available/cache_disk.conf

y copie / 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. Ese paso no debería ser necesario, pero si no existe un directorio de 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 de proxy de Apache:

sudo vim /etc/apache2/conf-available/proxy.conf

y copie / 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.En forma predeterminada, el puerto 2222 se usa para la comunicación con el Agente ESET Management. Si cambió el puerto durante la instalación, use el número de puerto modificado. Cambie 2222 en la línea: AllowCONNECT 443 563 2222 8883 53535 para su número de puerto.

7.Habilite los archivos de configuración que editó en los pasos anteriores:

sudo a2enconf cache_disk.conf proxy.conf

8.Cambie el puerto de escucha del Servidor Apache HTTP a 3128. Edite el archivo /etc/apache2/ports.conf y reemplace Listen 80 por Listen 3128.

9.Autenticación básica opcional:

sudo vim /etc/apache2/mods-enabled/proxy.conf

oCopiar/pegar 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 nuevo archivo de contraseñas (por ejemplo, nombre de usuario: user, grupo: usergroup):

sudo apt-get install apache2-utils
sudo htpasswd -c /etc/apache2/password.file user

oCree un archivo llamado grupo:

sudo vim /etc/apache2/group.file

y copie / pegue la siguiente línea:

usergroup:user

10. Reinicie el Servidor Apache HTTP con el siguiente comando:

sudo service apache2 restart

 

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

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

Y agregue 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>

Reenviando para todas las comunicaciones

Para permitir el reenvío de todas las comunicaciones, agregue lo siguiente:

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

y elimine 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>

Encadenamiento proxy (todo el tráfico)

ESET PROTECT no admite el encadenamiento de proxy cuando estos requieren autenticación. Puede usar su propia solución proxy de red transparente; sin embargo, es posible que se requieran configuraciones adicionales además de las mencionadas aquí. Agregue lo siguiente a la configuración proxy (la contraseña funciona solamente en proxy secundario):

<VirtualHost *:3128>

ProxyRequests On

ProxyRemote * http://IP_ADDRESS:3128

</VirtualHost>

Cuando se use el encadenamiento proxy en el aparto virtual ESET PROTECT , debe especificar la política SELinux. Abra el terminal en el AV ESET PROTECT y ejecute el siguiente comando:

/usr/sbin/setsebool -P httpd_can_network_connect 1

Configurar el proxy HTTP para una gran cantidad de clientes

Si usa un Apache HTTP Proxy de 64 bits, puede aumentar el límite de subprocesos para su Apache HTTP Proxy. Edite el archivo de configuración de httpd.conf, dentro de la carpeta Apache HTTP Proxy. Encuentre los siguientes ajustes en el archivo y actualice los valores para que coincidan con la cantidad de clientes.

Substituya el valor de ejemplo de 5000 con su cantidad. El valor máximo es 32000.

ThreadLimit 5000

ThreadsPerChild 5000

 
No cambie el resto del archivo.

Configure el proxy Apache HTTP para enviar las conexiones entre agentes y servidores

1.Abra el archivo en el equipo del proxy

i.Distribuciones Debian
/etc/apache2/mods-available/proxy.conf

ii.Distribuciones de Red Hat
/etc/httpd/conf/httpd.conf

2.Agregue las siguientes líneas al final del archivo:
AllowCONNECT 443 563 2222 8883 53535

3.Abra el archivo en el equipo del proxy

i.Distribuciones Debian
/etc/apache2/apache2.conf

ii.Distribuciones de Red Hat
/etc/httpd/conf/httpd.conf

4.Busque la línea:
Listen 80
y cámbiela a
Listen 3128

5.Si agregó restricciones para las direcciones en la configuración de proxy (paso 1), debe permitir el acceso al Servidor ESET PROTECT:

Agregue un segmento ProxyMatch aparte:

I.La dirección usada por sus Agentes para conectarse con el Servidor de ESET PROTECT.

II.Todas las direcciones posibles del Servidor ESET PROTECT(IP, FQDN)
(agregue el siguiente código completo; la dirección IP 10.1.1.10 y el nombre de host hostname.example son solo ejemplos que debe sustituir por sus direcciones. También puede generar la expresión ProxyMatch 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 servicioApache HTTP Proxy.

Configuración de SELinux

Cuando usa Proxy en el Aparato virtual ESET PROTECT, debe modificar la política SELinux (otras distribuciones de Linux pueden tener el mismo requisito). Abra el terminal en el AV 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