Apache HTTP Proxy yüklemesi - Linux

ESET Management Agent'lar ESET PROTECT Server'a Apache HTTP Proxy üzerinden bağlanabilir. ESET Management Agent'lar için proxy'nin nasıl çalıştığı hakkında daha fazla bilgi edinin.

Apache HTTP Proxy genellikle apache2 veya httpd paketi olarak dağıtılır.

Sunucunuzda kullandığınız Linux dağıtımına uygun olarak Apache HTTP Proxy için yükleme adımlarını seçin. ESET Dynamic Threat Defense aracındaki sonuçları önbelleğe eklemek için de Apache'yi kullanmak istiyorsanız, ilgili dokümanlara bakın.

Apache HTTP Proxy için Linux yüklemesi (genel dağıtım)

1.Apache HTTP Server'ı yükleyin (en az sürüm 2.4.10).

2.Şu modüllerin yüklü olduğundan emin olun:

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

3.Önbelleğe alma yapılandırmasını ekleyin:

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

4.Dizin /var/cache/apache2/mod_cache_disk mevcut değilse oluşturun ve Apache haklarını atayın (r,w,x).

5.Proxy yapılandırmasını ekleyin:

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.Varsayılan olarak, bağlantı noktası 2222 ESET Management Agent ile iletişim kullanılır. Yükleme sırasında bağlantı noktasını değiştirdiyseniz değiştirilen bağlantı noktasını kullanın. Şu satırda 2222'yi değiştirin: Bağlantı noktası numaranız için AllowCONNECT 443 563 2222 8883 53535.

7.Eklenen önbellek proxy'sini ve yapılandırmasını etkinleştirin (yapılandırma ana Apache yapılandırma dosyasında ise bu adımı atlayabilirsiniz).

8.Gerekirse dinlemeyi, istediğiniz bağlantı noktası olarak değiştirin (bağlantı noktası 3128 varsayılan olarak ayarlanmıştır).

9.İsteğe bağlı temel kimlik doğrulaması:

oKimlik doğrulama yapılandırmasını proxy dizinine ekleyin:

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

o/etc/httpd/.htpasswd -c kullanarak parola dosyası oluşturun

ousergroup:username ile group.file adlı bir dosyayı manuel olarak oluşturun

10. Apache HTTP Server'ı yeniden başlatın.

 

Ubuntu Server ve Apache HTTP Proxy'nin diğer Debian tabanlı Linux dağıtımı yüklemesi

1.Apache HTTP Server'ın en son sürümünü apt deposundan yükleyin:

sudo apt-get install apache2

2.Gerekli Apache modüllerini yüklemek için şu komutu yürütün:

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.Apache önbellek yapılandırma dosyasını düzenleyin:

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

ve şu yapılandırmayı kopyalayıp yapıştırın:

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

4. Bu adım, gerekli değildir, ancak önbellek dizini eksikse aşağıdaki komutları çalıştırın:

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.Apache proxy yapılandırma dosyasını düzenleyin:

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

ve şu yapılandırmayı kopyalayıp yapıştırı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.Varsayılan olarak, bağlantı noktası 2222 ESET Management Agent ile iletişim kullanılır. Yükleme sırasında bağlantı noktasını değiştirdiyseniz değiştirilen bağlantı noktasını kullanın. Şu satırda 2222'yi değiştirin: Bağlantı noktası numaranız için AllowCONNECT 443 563 2222 8883 53535.

7.Önceki adımlarda düzenlediğiniz yapılandırma dosyalarını etkinleştirin:

sudo a2enconf cache_disk.conf proxy.conf

8.Apache HTTP Sunucusunun dinleme bağlantı noktasını 3128 /etc/apache2/ports.conf dosyasını düzenleyin ve Listen 80 yerine Listen 3128 yazın.

9.İsteğe bağlı temel kimlik doğrulaması:

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

oKimlik doğrulama yapılandırmasını şunun önüne kopyalayıp yapıştırın </Proxy>:

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

oApache2-utils'i yükleyin ve yeni bir parola dosyası oluşturun (örneğin kullanıcı adı: kullanıcı, grup: kullanıcı grubu):

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

oGrup adı verilen bir dosya oluşturun:

sudo vim /etc/apache2/group.file

ve şu satırı kopyalayıp yapıştırın:

usergroup:user

10. Şu bağlantıyı kullanarak Apache HTTP Server'ı yeniden başlatın:

sudo service apache2 restart

 

Yalnızca ESET iletişimi için yönlendirmeYalnızca ESET iletişiminin yönlendirilmesine izin vermek için şunları kaldırın:

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

Ve şunları ekleyin:

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

Tüm iletişimi yönlendirme

Tüm iletişimi yönlendirmeye izin vermek için şunları ekleyin:

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

ve şunları kaldırın:

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

Proxy zincirlemesi (tüm trafik)

Proxy'lerin kimlik doğrulaması gerektirmesi durumunda ESET PROTECT proxy zincirlemesini desteklemez. Kendi saydam web proxy çözümünüzü kullanabilirsiniz, ancak burada belirtilenden daha fazla ilave yapılandırma gerekebilir. Şunları proxy yapılandırmasına ekleyin (parola yalnızca alt proxy üzerinde çalışıyor):

<VirtualHost *:3128>

ProxyRequests On

ProxyRemote * http://IP_ADDRESS:3128

</VirtualHost>

ESET PROTECT Virtual Appliance üzerinde Proxy zinciri kullanırken SELinux ilkesi değiştirilmelidir. ESET PROTECT VA'daki terminali açıp şu komutu çalıştırın:

/usr/sbin/setsebool -P httpd_can_network_connect 1

Yüksek sayıda istemci için HTTP proxy yapılandırın

64 bit Apache HTTP Proxy kullanıyorsanız Apache HTTP Proxy aracınız için dizi sınırını artırabilirsiniz. httpd.conf yapılandırma dosyasını Apache HTTP Proxy klasörünüzde düzenleyin. Dosyada aşağıdaki ayarları bulun ve istemcilerinizin sayısına uygun olacak şekilde değerleri güncelleyin.

Örnek 5000 değerinin yeriniz kendi sayınızı yazın. Maksimum değer 32000'tir.

ThreadLimit 5000

ThreadsPerChild 5000

 
Dosyanın kalanını değiştirmeyin.

Agent-Server bağlantılarını iletmek için Apache HTTP Proxy'i yapılandırın

1.Proxy makinesinde şu dosyayı açın:

i.Debian dağıtımları
/etc/apache2/mods-available/proxy.conf

ii.Red Hat dağıtımları
/etc/httpd/conf/httpd.conf

2.Aşağıdaki satırları dosyanın sonuna ekleyin:
AllowCONNECT 443 563 2222 8883 53535

3.Proxy makinesinde şu dosyayı açın:

i.Debian dağıtımları
/etc/apache2/apache2.conf

ii.Red Hat dağıtımları
/etc/httpd/conf/httpd.conf

4.Satırı bulun:
Listen 80
ve şu şekilde değiştirin:
Listen 3128

5.Proxy yapılandırmanızdaki IP adresleri için kısıtlamalar eklediyseniz (1. adım) ESET PROTECT Server'ınıza erişime izin vermeniz gerekir:

Ayrı bir ProxyMatch segmenti ekleyin:

I.ESET PROTECT Server'a bağlanmak için Agent'larınızın kullandığı adres.

II.ESET PROTECT Server'ınızın olası tüm diğer adresleri (IP, FQDN)
(aşağıdaki kodun tamamını ekleyin, 10.1.1.10 IP adresi ve hostname.example ana bilgisayar adı yalnızca sizin adreslerinizle değiştirilecek olan bir örnektir). Ayrıca ProxyMatch ifadesini oluşturmak için bu Bilgi Bankası makalesini inceleyebilirsiniz.
 

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

Allow from all

</ProxyMatch>

6.Apache HTTP Proxy Hizmetini yeniden başlatın.

SELinux ayarı

ESET PROTECT Virtual Appliance üzerinde Proxy kullanırken SELinux ilkesi değiştirilmelidir (diğer Linux dağıtımları aynı gereksinime sahip olabilir). ESET PROTECT VA'daki terminali açıp şu komutu çalıştırın:

/usr/sbin/setsebool -P httpd_can_network_connect 1

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