Posisi:

Squid-Cache sebagai Proxy untuk ESET

Pada jaringan yang besar (banyak kantor cabang atau lintas departemen dengan lokasi berbeda), Anda dapat menggunakan Squid untuk memusatkan jalur update dan mengatur akses bila diperlukan.  Squid dapat diaplikasikan sebagai Child dari server update/sandbox lokal Indonesia (Lihat konfigurasi A) atau langsung ke internet (Lihat konfigurasi B)

Manual berikut berbasis Server Ubuntu ( distribusi Linux berbasis Debian serupa), ikuti langkah-langkah di bawah ini:

A. Konfigurasi sebagai Child Proxy ke Server Indonesia.
B. Konfigurasi sebagai Proxy biasa.

A. Konfigurasi sebagai Child Proxy ke Server Indonesia
 

Konfigurasi ini membutuhkan akses Username dan Password yang dapat dilihat pada Purchase Note

Informasi server yang digunakan:
Khusus pengguna EDTD: sandbox.eset.co.id
port 1881

Pengguna produk ESET versi bisnis lainnya: update.eset.co.id
port 1881

1. Install Squid package:
sudo apt-get update
sudo apt-get install squid

2. Pindahkan squid.conf  /etc/squid/squid.conf menjadi squid.conf.bak :
mv /etc/squid/squid.conf /etc/squid/squid.conf.bak

3. Buat file squid.conf
nano /etc/squid/squid.conf copy paste script di bawah ini

######## Squid sebagai Child Proxy ########
acl localnet src 0.0.0.1-0.255.255.255  # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8             # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10          # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16         # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12          # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16         # RFC 1918 local private network (LAN)
acl localnet src fc00::/7               # RFC 4193 local private network range
acl localnet src fe80::/10              # RFC 4291 link-local (directly plugged) machines
# acl localnet src x.x.x.x/mask          # Diisi disesuaikan dengan IP pada jaringan
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http

acl CONNECT method CONNECT
cache_peer ALAMAT_SERVER parent 1881 0 no-query default login=USERNAME:PASSWORD
prefer_direct off
never_direct allow all
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet
http_access deny all
http_port 3128
cache_dir ufs /var/spool/squid 5000 16 256
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
# example pattern for deb packages
#refresh_pattern (\.deb|\.udeb)$   129600 100% 129600
refresh_pattern .               0       20%     4320
########## SELESAI #################

Catatan:

cache_peer ALAMAT_SERVER parent 1881 0 no-query default login=USERNAME:PASSWORD
ubah ALAMAT_SERVER, USERNAME dan PASSWORD sesuai pada purchase note



6. Silakan test proxy tersebut dengan perintah sbb :

wget www.google.com -e use_proxy=yes -e http_proxy=localhost:3128
muncul seperti di bawah proxy berjalan dengan benar

http://www.google.com/
Resolving localhost (localhost)… ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:3128… connected.
Proxy request sent, awaiting response… 403 Forbidden
2020-03-12 03:13:44 ERROR 403: Forbidden.

7. Konfigurasi update sisi ESET Protect dan Endpoint

Dengan asumsi alamat server adalah 192.168.1.1

A. ESET Protect
Konfigurasi ini akan mengarahkan update repository melalui server lokal. Dengan mengaktifkan menu ini, semua file untuk kebutuhan membuat reporsitory installasi akan disediakan oleh server child proxy.

1. Masuk Server Setting -> Advance Setting -> Enable Use Proxy Server -> Isi Host & Port 
note : Host di isi Ip server Child Proxy

Child_Proxy_eset_protect


B. ESET Endpoint

Konfigurasi ini memiliki dua keunggulan:
1. Client mendapatkan update melalui server Child Proxy. 
2. Khusus untuk pemilik lisensi EDTD, dapat mengiriman file EDTD untuk diproses pada Cloud Sandbox melalui server lokal Indonesia

Cara implementasi:
1. Login Management Console ( ESMC/EP )
2. Setting Policy yang sudah ada atau bisa buatkan Policy baru.
3. Pilih fitur Update -> Profiles -> Updates -> Connections option -> Ubah Proxy Mode menjadi Connection through a proxy server -> Isi Proxy server, Port.

ep_proxy_child

4. Masuk konfigurasi Tools -> Proxy server -> Enable Use Proxy Server -> Isi Proxy server, Port.
ep_proxy_child_tools

B. Konfigurasi sebagai Proxy biasa

1. Install Squid package:
sudo apt-get update
sudo apt-get install squid

2. Pindahkan squid.conf  /etc/squid/squid.conf menjadi squid.conf.bak :
mv /etc/squid/squid.conf /etc/squid/squid.conf.bak

3. Buat file squid.conf
nano /etc/squid/squid.conf  lalu copy paste script di bawah ini

######## Squid Direct Access ########
acl localnet src 0.0.0.1-0.255.255.255  # RFC 1122 "this" network (LAN)
acl localnet src 10.0.0.0/8             # RFC 1918 local private network (LAN)
acl localnet src 100.64.0.0/10          # RFC 6598 shared address space (CGN)
acl localnet src 169.254.0.0/16         # RFC 3927 link-local (directly plugged) machines
acl localnet src 172.16.0.0/12          # RFC 1918 local private network (LAN)
acl localnet src 192.168.0.0/16         # RFC 1918 local private network (LAN)
acl localnet src fc00::/7               # RFC 4193 local private network range
acl localnet src fe80::/10              # RFC 4291 link-local (directly plugged) machines
# acl localnet src x.x.x.x/mask         # Diisi disesuaikan dengan IP pada jaringan
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
########## UPDATE #############
#UPDATE: ke eset indonesia
acl update_domain dstdomain .eset.id .eset.co.id .awanpintar.id .prosperita.co.id
#UPDATE: akses ke eset dunia, informasi ada di https://support.eset.com/en/kb332-ports-and-addresses-required-to-use-your-eset-product-with-a-third-party-firewall
acl update_domain dstdomain .eset.com .eset.sk .eset.eu .eset.systems .esetsoftware.com
#UPDATE: non domain eset
acl update_domain dstdomain .e5.sk eset-870273198.eu-west-1.elb.amazonaws.com esetpwmdata-1.s3.amazonaws.com s3-3-w.amazonaws.com .mailshell.net
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost manager
http_access deny manager
http_access allow localnet update_domain
http_access deny all
http_port 3128
cache_dir ufs /var/spool/squid 5000 16 256
coredump_dir /var/spool/squid
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern \/(Packages|Sources)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
refresh_pattern \/Release(|\.gpg)$ 0 0% 0 refresh-ims
refresh_pattern \/InRelease$ 0 0% 0 refresh-ims
refresh_pattern \/(Translation-.*)(|\.bz2|\.gz|\.xz)$ 0 0% 0 refresh-ims
# example pattern for deb packages
#refresh_pattern (\.deb|\.udeb)$   129600 100% 129600
refresh_pattern .               0       20%     4320
########### SELESAI #################
 

Silakan ikuti Konfigurasi sebagai Child Proxy ke Server Indonesia dari point 6 untuk melanjutkan konfigurasi.