Instalação de proxy Apache HTTP - Linux

Os Agentes ESET Management podem conectar ao Servidor ESET PROTECT via Apache HTTP Proxy. Leia mais sobre como o proxy para os Agentes ESET Management funciona.

Normalmente o Apache HTTP Proxy é distribuído como um pacote apache2 ou httpd.

Escolha as etapas de instalação para o Proxy Apache HTTP de acordo com a distribuição Linux usada no servidor: Se você quiser usar o Apache para armazenar em cache também os resultados do ESET LiveGuard Advanced, consulte a documentação relacionada.

Instalação Linux (distribuição genérica) para o Proxy Apache HTTP

1.Instale o Servidor Apache HTTP (no mínimo versão 2.4.10).

2.Verifique se os módulos a seguir estão carregados:

access_compat, auth_basic, authn_core, authn_file, authz_core, authz_groupfile,
authz_host, proxy, proxy_http, proxy_connect, cache, cache_disk

3.Adicionar a configuração de cache:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4.Se o diretório /var/cache/apache2/mod_cache_disk não existe, crie-o e atribua privilégios Apache (r,w,x).

5.Adicionar configuração de 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.Por padrão, a porta 2222 é usada para comunicação com o Agente ESET Management. Se a porta tiver sido alterada durante a instalação, use o número de porta alterado. Altere o 2222 na linha: AllowCONNECT 443 563 2222 8883 53535 pelo número da sua porta.

7.Ative o proxy de adicionar cache e configuração (se a configuração estiver no arquivo de configuração Apache principal, você pode ignorar esta etapa).

8.Se necessário, altere a escuta para sua porta desejada (a porta 3128 está definida por padrão).

9.Autenticação básica opcional:

oAdicionar configuração de autenticação para a diretriz de proxy:

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

oCrie um arquivo de senha usando o /etc/httpd/.htpasswd -c

oCrie manualmente um arquivo chamado group.file com usergroup:username

10. Reinicie o serviço do Servidor Apache HTTP.

 

Instalação do Proxy Apache HTTP no Servidor Ubuntu e outras distribuições Linux baseadas no Debian

1.A versão mais recente do Servidor Apache HTTP do repositório apt:

sudo apt-get install apache2

2.Execute o seguinte comando para carregar os módulos Apache necessários:

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 o arquivo de configuração de cache Apache:

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

e copie/cole a configuração a seguir:

CacheEnable disk http://
CacheDirLevels 4
CacheDirLength 2
CacheDefaultExpire 3600
CacheMaxFileSize 500000000
CacheMaxExpire 604800
CacheQuickHandler Off
CacheRoot /var/cache/apache2/mod_cache_disk

4. Esta etapa não deve ser necessária, mas se o diretório de cache estiver faltando, execute os comandos a seguir:

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 o arquivo de configuração de proxy Apache:

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

e copie/cole a configuração a seguir:

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.Por padrão, a porta 2222 é usada para comunicação com o Agente ESET Management. Se a porta tiver sido alterada durante a instalação, use o número de porta alterado. Altere o 2222 na linha: AllowCONNECT 443 563 2222 8883 53535 pelo número da sua porta.

7.Ativar os arquivos de configuração editados nas etapas anteriores:

sudo a2enconf cache_disk.conf proxy.conf

8.Troque a porta de escuta do Servidor Apache HTTP para 3128. Edite o arquivo /etc/apache2/ports.conf e substitua Listen 80 por Listen 3128.

9.Autenticação básica opcional:

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

oCopiar/colar configuração de autenticação antes de </Proxy>:

AuthType Basic
AuthName "Password Required"
AuthUserFile /etc/apache2/password.file
AuthGroupFile /etc/apache2/group.file
Require group usergroup

oInstale apache2-utils e crie um novo arquivo de senha (por exemplo nome de usuário: user, grupo: usergroup):

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

oCriar um arquivo chamado de grupo:

sudo vim /etc/apache2/group.file

e copie/cole a linha a seguir:

usergroup:user

10. Reinicie o serviço de Servidor Apache HTTP usando o comando a seguir:

sudo systemctl restart apache2

 

Encaminhamento apenas para comunicação ESETPara permitir o encaminhamento apenas para comunicação ESET, remova o seguinte:

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

E adicione o seguinte:

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

Encaminhamento para toda a comunicação

Para permitir o encaminhamento de todas as comunicações, adicione o seguinte:

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

e remova o seguinte:

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

Encadeamento de Proxy (todo o tráfego)

O ESET PROTECT não é compatível com encadeamento de proxy quando os proxies exigem autenticação. Você pode usar sua própria solução de proxy da web transparente, mas podem ser necessárias configurações adicionais além das mencionadas aqui. Adicionar o seguinte na configuração de proxy (a senha está funcionando apenas no proxy filho):

<VirtualHost *:3128>

ProxyRequests On

ProxyRemote * http://IP_ADDRESS:3128

</VirtualHost>

Ao usar o encadeamento de Proxy no Equipamento Virtual ESET PROTECT, a política SELInux deve ser modificada. Abra o terminal no ESET PROTECT VA e execute o comando a seguir:

/usr/sbin/setsebool -P httpd_can_network_connect 1

Configure o Proxy HTTP para um grande número de clientes

Se você usa o Proxy Apache HTTP de 64 bits, é possível aumentar o limite de encadeamento para seu Apache HTTP Proxy. Edite o arquivo de configuração httpd.conf, dentro da pasta Apache HTTP Proxy. Encontre as configurações a seguir no arquivo e atualize os valores para combinar com o número de clientes.

Substitua o valor de exemplo 5000 pelo seu número. O valor máximo é 32000.

ThreadLimit 5000

ThreadsPerChild 5000

 
Não altere o restante do arquivo.

Configure o Proxy Apache HTTP para encaminhar as conexões do Agente-Servidor

1.Na máquina de proxy abra o arquivo

i.Distribuições Debian
/etc/apache2/mods-available/proxy.conf

ii.Distribuições Red Hat
/etc/httpd/conf/httpd.conf

2.Adicione as linhas a seguir ao final do arquivo:
AllowCONNECT 443 563 2222 8883 53535

3.Na máquina de proxy abra o arquivo

i.Distribuições Debian
/etc/apache2/apache2.conf

ii.Distribuições Red Hat
/etc/httpd/conf/httpd.conf

4.Encontre a linha:
Listen 80
e altere para
Listen 3128

5.Se você adicionou restrições para endereços IP na sua configuração de proxy (etapa 1), é preciso permitir o acesso ao seu Servidor ESET PROTECT:

Adicione um segmento ProxyMatch separado:

I.O endereço que seus Agentes usam para conectar ao Servidor ESET PROTECT.

II.Todos os outros possíveis endereços do seu Servidor ESET PROTECT (IP, FQDN)
(adicione todo o código abaixo, o endereço IP 10.1.1.10 e o nome de host hostname.example são apenas exemplos a serem substituídos pelos seus endereços. Você também pode gerar a expressão ProxyMatch neste artigo da Base de conhecimento.)
 

<ProxyMatch ^(hostname\.example(:[0-9]+)?(\/.*)?|10\.1\.1\.10(:[0-9]+)?(\/.*)?)$>

Allow from all

</ProxyMatch>

6.Reinicie o serviço Apache HTTP Proxy.

Configurar armazenamento em cache

Você pode usar htcachceclean para configurar o tamanho do cache Apache HTTP Proxy e a limpeza de cache. Veja as instruções de configuração de cache para máquina virtual ESET PROTECT.

Configuração SELinux

Ao usar o Proxy na Máquina virtual ESET PROTECT, a política SELinux deve ser modificada (algumas outras distribuições Linux podem ter o mesmo requisito). Abra o terminal no ESET PROTECT VA e execute o comando a seguir:

/usr/sbin/setsebool -P httpd_can_network_connect 1

sudo semanage port -a -t http_port_t -p tcp 2222