Instalace Apache HTTP Proxy na Linuxu

Způsob instalace Apache HTTP Proxy si vyberte v závislosti na vámi používané linuxové distribuci. Pro cachování výsledků získaných analýzou v ESET Dynamic Threat Defense přejděte do příručky k EDTD.

Obecný postup instalace Apache HTTP Proxy na Linuxu

1.Nainstalujte Apache HTTP Server (minimálně ve verzi 2.4.10)

2.Ověřte, že jsou načteny níže uvedené moduly:

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

3.Do konfiguračního souboru přidejte parametry pro aktivaci cache:

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

4.Pokud složka /var/cache/apache2/mod_cache_disk neexistuje, vytvořte ji a přidělte ji oprávnění (r,w,x)

5.Dále přidejte:

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

6.Aktivujte přidanou proxy cache v odpovídající konfiguraci (pokud se nachází v hlavním konfiguračním souboru Apache, můžete tento krok přeskočit).

7.V případě potřeby změňte port, na kterém proxy běží (standardně 3128)

8.Volitelně nastavte základní autentifikaci:

oDo direktivy proxy přidejte tyto řádky:

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

oVytvořte heslo pomocí příkazu htpasswd.exe -c

oRučně vytvořte soubor group.file a vložte do něj usergroup:username

9.Restartujte Apache HTTP Proxy

 

 

Instalace na Ubuntu server 14.10 a distribuce založené na Debianu

1.Nainstalujte nejnovější verzi Apache HTTP Server z repozitáře:

sudo apt-get install apache2

2.Následujícím příkazem načtěte požadované moduly:

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.Otevřete si konfigurační soubor Apache:

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

a do konfiguračního souboru přidejte tyto řádky:

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

4. Následující krok není vyžadován, pokud složka pro cache existuje. V opačném případě ji vytvořte níže uvedenými příkazy:

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.Otevřete si konfigurační soubor Apache Proxy:

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

a do konfiguračního souboru přidejte tyto řádky:

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

6.Nastavte, aby se konfigurační soubory používaly:

sudo a2enconf caching.conf proxy.conf

7.Nastavte Apache HTTP Server tak, aby naslouchal na portu 3128. V souboru /etc/apache2/ports.conf najděte řádek Listen 80 a nahraďte jej řádkemListen 3128.

8.Volitelně nastavte základní autentifikaci:

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

oPřed </Proxy>vložte

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

oNainstalujte apache2-utils a vytvořte soubor s heslem (například uživatel: user, skupina: usergroup):

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

oVytvořte soubor skupiny:

sudo vim /etc/apache2/group.file

a vložte do něj:

usergroup:user

9.Restartujte Apache HTTP Proxy

sudo service apache2 restart

 

Směrování pouze ESET komunikace

 

Pro směrování pouze ESET komunikace odstraňte následující řádky:

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

A přidejte následující:

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

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

Pro směrování veškeré komunikace přidejte:

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

a odstraňte tyto řádky:

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

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

 

 

Proxy chaining (veškerá komunikace)

Mějte na paměti, že ESMC nepodporuje proxy chaining s aktivní autentifikací. Kdykoli můžete použít vlastní transparentní proxy – nicméně v tomto případě bude pravděpodobně nutné upravit její konfiguraci. Do konfigurace přidejte následující řádek (heslo platí pouze pro zděděnou proxy):

ProxyRemote * http://IP_ADDRESS:3128

Při použití proxy chaining na ESMC virtuální appliance je nutné upravit SELinux politiku. Pro provedení potřebných změň přejděte do terminálu a spusťte příkaz:

/usr/sbin/setsebool -P httpd_can_network_connect 1