Xây dựng một Transparent Proxy để Filter HTTP và HTTPS với Squid trên Centos7
This post hasn't been updated for 3 years
Tutorial này là những kinh nghiệm của bản thân mình trong lúc tìm hiểu về Squid proxy, do đó các config này nọ chỉ ở mức cơ bản vừa đủ dùng chứ cũng không tối ưu lắm. Nên kính mong các tiền bối nào có lỡ đi qua thì góp ý giúp mình để hoàn thiện hơn (bow)
Squid là một caching và forwarding HTTP web proxy
,phiên bản đầu tiên của Squid được ra đời tháng 7 năm 1996. Nó có nhiều cách sử dụng cho nhiều mục đích khác nhau. Trong khuông khổ bài viết này, mình sẽ chỉ đề cập đến chế độ hoạt động gọi là Interception mode
của Squid. Để có thể tìm hiểu thêm về Squid, các bạn có thể google với từ khóa Squid proxy
Transparent Proxy (proxy trong suốt) , đối với Squid thì Transparent Proxy là tên gọi của một Squid proxy khi nó hoạt động ở chế độ Interception Mode. Sở dĩ nó có tên gọi là Proxy trong suốt
vì khi ở chế độ này, thì các request từ client đến các web server sẽ phải "đi xuyên" qua thằng Proxy này mà client không hề hay biết .
Nghe thì có vẻ rỗi hơi, vì tự dưng tốn công cài cắm, setup các thứ các thứ chỉ để client đi xuyên qua mà không làm gì cả thì vô dụng kinh ! Mục đích của các Transparent Proxy nói chung để đáp ứng các nguyện vọng sau của nhà quản trị :
- Tăng tốc độ kết nối và giảm lưu lượng xử lý cho router bằng cách cache các nội dung tĩnh, ít thay đổi. Lúc này thay vì user phải lặn lội lên server load lại từ đầu thì chỉ cần request là Proxy trả về nội dung luôn.
- Tracking, monitor các kết nối http, https của user. Tất nhiên là vì mục đích an ninh chứ ko phải ghét ông nào thì mò IP của ông đó và ... block :v
Mô hình logic :
Nhìn vào mô hình trên, ta sẽ liệt kê các bước cần phải làm để triển khai một transparent proxy :
- Forward các request http, https từ user về Squid proxy server. ( trong các trường hợp squid proxy đồng thời cũng là một router mềm đóng vai trò routing traffic thì bỏ qua bước này luôn, vì traffic mặc định nó đi vào squid rồi )
- Nat traffic từ các port 80, 443 thành các port dịch vụ của squid để squid tiến hành xử lý. ( phần này đi vào config mình sẽ giải thích vì sao phải thực hiện)
- Xử lý xong trả về router.
Ok, bây giờ chúng ta bắt tay vào thực hiện thôi, dựa trên mô hình logic như trên, mình sẽ triển khai lab như sau :
Config router forward traffic http và https từ user về squid
Trong bài này mình sử dụng router mikrotik, đối với các router khác thì cách làm có thể khác nhưng nguyên tắc chung thì vẫn thế nhé
Truy cập vào router mikrotik bằng Winbox
Trong bài lab này, các interface mình sử dụng trên mikrotik là :
- ether3 :
172.18.18.1
kết nối với client test - ether5 - dmz :
10.10.1.1
kết nối với Squid proxy - pppoe client port :
WAN-FPT
Đánh dấu packets :
- Chọn mục IP/Firewall
- Tab Mangle
- Add a new mangle rule
- chain : prerouting
- protocol : TCP
- DST port : 80,443
- In interface :
Chọn interface gắn với client
Ở ví dụ này thì client của mình gắn vào ether3 của mikrotik nên mình sẽ chọnIn interface=ether3
.Ngoài ra nếu các bạn không muốn chỉ định interface mà muốn chỉ định 1 segment mạng nào đó thì không khai ở đâu mà khai báo ở phầnSrc. Address
. Một lưu ý khác ở phần này nữa là không được khai báo IP, segment mạng hoặc interfacecó chứa Squid proxy
của các bạn nhé. Nếu không sẽ xảy ra loop vì traffic nó sẽ đẩy qua đẩy lại giữa router và Squid.
-
Sang tab Action
-
Trong list Action, chọn Mark routing
-
Đặt tên cho Routing mark ở phần New routing mark. Ở đây mình đặt là
squid-https-centos7-new
-
Nhấn apply là xong. Ngoài ra cho nhanh thì các bạn cũng có thể dùng code bên dưới để chạy trong terminal của mikrotik.
ip firewall mangle add chain=prerouting action=mark-routing new-routing-mark=squid-https-centos7-new passthrough=no protocol=tcp in-interface=ether3 dst-port=80,443 log=no log-prefix=""
Ý nghĩa của mangle rule này là đánh dấu các packet http và https từ ether3
với protocol TCP
và port là 80,443
. Các packet này sẽ có routing mark
là squid-https-centos7-new
Masquerade rule :
Mở chế độ NAT Masquerade
- Chọn tab NAT
- Add new rule
- Tab General , mục Chain chọn srcnat / mục Out. Interface chọn interface PPPoE client của bạn ( ở đây của mình là
WAN-FPT
) - Tab Action , mục Action , chọn masquerade
- Nhấn Apply
Code
ip firewall nat add chain=srcnat action=masquerade out-interface=WAN-FPT log=no log-prefix=""
Forward packets
Tạo routing để đẩy các packets đã được đánh dấu đi về Squid proxy
- Phần IP/routes
- Create a new route
- Dst Address : 0.0.0.0/0
- Gateway :
IP của Squid proxy
trong bài này thì Squid proxy của mình có ip là10.10.1.107
- Routing Mark : chọn cái routing mark đã đặt tên ở bước đánh dấu packet ( ở đây của mình là
squid-https-centos7-new
) - Nhấp apply
Code
ip route add check-gateway=ping distance=1 dst-address=0.0.0.0/0 gateway=10.10.1.107 routing-mark=squid-https-centos7-new scope=30 target-scope=10 disabled=no
Vậy là xong các bước chuẩn bị trên router, bây giờ mỗi request đi ra từ client qua interface ether3
trên port 80 và 443
sẽ được đẩy về Squid proxy.
Cài đặt và config Squid proxy trên Centos7
Lưu ý các bạn là các phiên bản khác nhau của Squid thì sẽ có một số tính năng cũng như cú pháp các câu lệnh khác nhau nhé. Ở trong bài này thì mình sử dụng Squid version 3.5 trở lên. Các bạn xài các phiên bản khác thì nên check xem phần ssl_crtd có hỗ trợ không nhé
Update centos7 và disable SElinux
[root@localhost ~]# yum update
Để disable SElinux
bạn tiến hành edit file /etc/selinux/config
sửa lại dòng SELINUX= gì gì đó
thành SELINUX=disabled
. Sau khi chỉnh sửa thì thoát ra và lưu lại, sau đó reboot nhé.
Enable ip forwarding
- Cách 1 :
Để enable ip forwarding, các bạn có thể tiến hành chỉnh sửa file
/etc/sysctl.conf
mở lên và thêm dòng này vào cuối filenet.ipv4.ip_forward = 1
Sau khi thêm vào thì lưu lại và thoát ra. Chạy dòng lệnh sau để thực thi config mới thêm vàosysctl -p /etc/sysctl.conf
- cách 2 : Hoặc bạn có thể chạy một lệnh như sau :
[root@localhost ~]# sysctl -w net.ipv4.ip_forward=1
Dù làm bằng cách nào thì cũng phải reboot máy nhé.
Install Squid
[root@localhost ~]# yum install squid
Kiểm tra phiên bản đã cài
[root@localhost ~]# squid -v
Squid Cache: Version 3.5.20
Service Name: squid
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-strict-error-checking' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-eui' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,SMB_LM,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos' '--enable-external-acl-helpers=file_userip,LDAP_group,time_quota,session,unix_group,wbinfo_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl-crtd' '--enable-storeio=aufs,diskd,ufs' '--enable-wccpv2' '--enable-esi' '--enable-ecap' '--with-aio' '--with-default-user=squid' '--with-dl' '--with-openssl' '--with-pthreads' '--disable-arch-native' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'LDFLAGS=-Wl,-z,relro -pie -Wl,-z,relro -Wl,-z,now' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
để ý version là 3.5.20 và đã kèm theo ghi chú là '--enable-ssl-crtd
Đã cài xong Squid, tạm thời để đó, chúng ta tiến hành chỉnh sửa firewall, enable các port dịch vụ của Squid và forward port 80,443.
Config Firewalld
Ở phiên bản CentOS7 thì IPtables
đã được loại bỏ và thay vào đó là Firewalld
, chức năng thì giống nhau cả, nhưng mà cấu hình hơi khác tý. Cũng chả hiểu sao CentOS lại bày ra trò này làm khó người dùng nữa. Nhưng mà thôi kệ vậy. Nếu không muốn dùng firewalld
thì các bạn có thể disable nó đi và cài IPtables
vào. Cách thức như thế nào thì google nhé. Còn không thì mình sẽ bổ sung sau vậy.
Đầu tiên là enable firewalld để start service mỗi khi boot server. Xong nhớ start nó lên luôn nhá
[root@localhost ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/basic.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@localhost ~]# systemctl start firewalld
Xem config mặc định xem nó có gì
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh
ports:
protocols:
masquerade: no
sourceports:
icmp-blocks:
rich rules:
Ở firewalld thì nó làm việc dựa trên các zone, mình có thể add nhiều interface vào cùng 1 zone. Khi mình set rule trên zone thì nó sẽ ảnh hưởng đến interface thuộc zone đó. Nói chung cái này các bạn phải chịu khó tìm hiểu thêm, chứ nó cũng dài dòng rắc rối lắm @@
Trong status ở trên mình vừa show, thì dòng đầu tiên tức là tên zone , ở đây CentOS7 luôn mặc định có sẵn zone public
và được set default là active
. Mình cũng chẳng muốn đổi tên làm gì cho rắc rối, với cả chỉ dùng có mỗi 1 interface và 1 zone này thôi nên cứ kệ nó vậy.
Tiếp theo chúng ta chú ý phần port
hiện tại chưa khai gì nên nó trống trơn, cả masquerade
vẫn chưa mở nên status là no
. Việc bây giờ cần làm là nhìn lên cái mô hình logic ở trên đầu bài viết. Đầu tiên chúng ta sẽ nhận traffic được đẩy về từ router , các traffic là port 80
và 443
ứng với 2 dịch vụ http
và https
. Vì vậy chúng ta sẽ forward 2 port đó về 2 port khác để Squid có thể listen và xử lý. Ở đây cụ thể mình sẽ cho port 3128
ứng với http
và 3129
cho https
.
Và mình sẽ mở 2 port này trên firewalld, tất nhiên phải là TCP
nhé !
Lần lượt chạy các lệnh sau :
- Enable nat masquerade :
[root@localhost ~]# firewall-cmd --zone=public --add-masquerade --permanent
- Mở 2 port
3128 và 3129
dành cho squid trên firewalld
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3128/tcp
success
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=3129/tcp
success
- Config port forward
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=80:proto=tcp:toport=3128:toaddr=10.10.1.107
success
[root@localhost ~]# firewall-cmd --permanent --zone=public --add-forward-port=port=443:proto=tcp:toport=3129:toaddr=10.10.1.107
success
Sau khi xong thì reload lại firewalld để các thay đổi trên có tác dụng
[root@localhost ~]# firewall-cmd --reload
Ở các câu lệnh trên thì lệnh --permanent
là để các config đó được lưu vào file config của firewalld
Check lại status firewalld sau khi config
[root@localhost ~]# firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client squid ssh
ports: 3128/tcp 3129/tcp
protocols:
masquerade: yes
forward-ports: port=80:proto=tcp:toport=3128:toaddr=10.10.1.107
port=443:proto=tcp:toport=3129:toaddr=10.10.1.107
sourceports:
icmp-blocks:
rich rules:
Ngoài ra các bạn có thể xem và edit trực tiếp vào file config của firewalld được lưu ở /etc/firewalld/zones/public.xml
. Cái public.xml
là tên zone mặc định. Mỗi file sẽ ứng với config của 1 zone nhé. Nhưng thao tác trong này nhớ là phải đúng cú pháp, không thì nó ko chạy đâu đấy.
Xong config firewalld thì đến nhân vật chính Squid.
Config Squid proxy.
Trước khi bắt đầu config Squid, chúng ta phải chuẩn bị database và cert cho các truy cập SSL. Vì mặc nhiên các giao thức SSL sẽ từ chối các kết nối đến những chỗ không thân thiện với người dùng
. Nên nếu không có bước này thì các request HTTPS
của client sẽ báo lỗi. Vì vậy chúng ta cần tạo một cert SSL và gắn nó vào port dùng nhận các traffic https của Squid. Cụ thể ở đây theo bài lab của mình là port 3129
. Mình sẽ tạo 1 cái cert SSL và gắn vào nó.
Tạo cert và ssl_db :
- Đầu tiên là tạo chỗ chứa cert đã.
Tạo folder
ssl_cert
và cấp quyền cho thằng squid đọc vào đây
[root@localhost ~]# mkdir /etc/squid/ssl_cert
[root@localhost ~]# chown -R squid.squid /etc/squid/ssl_cert
- Mở thư mục đó ra và gen 1 cái cert trong đó :
[root@localhost ~]# cd /etc/squid/ssl_cert/
[root@localhost ssl_cert]# openssl req -new -newkey rsa:2048 -sha256 -days 365 -nodes -x509 -extensions v3_ca -keyout squid35.pem -out squid35.pem
- Tiếp tục tạo
ssl_db
cho squid và cấp quyền Read cho squid vàossl_db
này:
[root@localhost ~]# /usr/lib64/squid/ssl_crtd -c -s /var/lib/ssl_db
[root@localhost ~]# chown -R squid.squid /var/lib/ssl_db
Các bước chuẩn bị cho kết nối SSL đã xong, giờ đến config Squid
Config Squid
Squid có sẵn file config mặc định. Nhưng mình sẽ không dùng và sẽ lưu lại để dành tham khảo, vì nó khá là dài dòng với nhiều comment nhìn rối mắt =)) Ai thích dùng thì dùng luôn cũng được, tùy cá nhân mỗi ng thôi =))
[root@localhost ~]# mv /etc/squid/squid.conf /etc/squid/squid.conf-backup
Sau khi lưu xong thì tạo file mới, điền nội dung vào như sau :
[root@localhost ~]# vi /etc/squid/squid.conf
#Allow LAN Network
acl our_network src 172.18.18.0/24
acl CONNECT method CONNECT
http_access allow all
# Transparent Proxy Parameters
http_port 3130 #port dịch vụ của Squid, bắt buộc phải khai cái này, nếu không sẽ bị báo lỗi
http_port 3128 intercept # khai báo port 3128 , port 80 sẽ được firewalld forward về port này của squid và squid sẽ mở mode intercept trên port này.
https_port 3129 intercept ssl-bump generate-host-certificates=on dynamic_cert_mem_cache_size=4MB cert=/etc/squid/ssl_cert/squid35.pem # tương tự ở trên nhưng kèm theo cert cho các kết nối SSL
sslcrtd_program /usr/lib64/squid/ssl_crtd -s /var/lib/ssl_db -M 8MB #các tập lệnh sslcrtd dùng để tạo ssl_db
sslcrtd_children 16 startup=5 idle=1
ssl_bump peek all # tập lệnh ssl_bump của Squid, phần này khá rắc rối, có thể có các khai báo riêng giống như access list ở đây, nhưng để đơn giản thì cứ peek all và splice all thôi.
ssl_bump splice all #
Sau khi làm xong thì các bạn save lại và nhớ systemctl restart squid
nhé. Sau khi restart thì các bạn có thể vào máy client để test connect.
Test
Trước khi thực hiện test trên client, để chắc chắn có traffic http và https từ client đi xuyên qua squid, các bạn check log access.log
của squid trước và sau khi client thực hiện các request để so sánh nhé.
Trước khi client request, access.log sẽ trống trơn vì mới config đã có thằng nào connect đâu mà =))
[root@localhost ~]# cat /var/log/squid/access.log
Sau khi client vào 2 trang https://facebook.com và http://dantri.com.vn
[root@localhost ~]# cat /var/log/squid/access.log
1501772419.045 213235 172.18.18.20 TCP_TUNNEL/200 304483 CONNECT 111.65.248.206:443 - ORIGINAL_DST/111.65.248.206 -
1501772423.394 217707 172.18.18.20 TCP_TUNNEL/200 4682 CONNECT 172.217.24.106:443 - ORIGINAL_DST/172.217.24.106 -
1501772423.396 223273 172.18.18.20 TCP_TUNNEL/200 142995 CONNECT 172.217.27.3:443 - ORIGINAL_DST/172.217.27.3 -
1501772423.431 217733 172.18.18.20 TCP_TUNNEL/200 1128 CONNECT 104.244.42.200:443 - ORIGINAL_DST/104.244.42.200 -
1501772423.434 212161 172.18.18.20 TCP_TUNNEL/200 464 CONNECT 74.125.130.155:443 - ORIGINAL_DST/74.125.130.155 -
1501772423.434 233053 172.18.18.20 TCP_TUNNEL/200 58208 CONNECT 74.125.200.94:443 - ORIGINAL_DST/74.125.200.94 -
1501772423.434 232938 172.18.18.20 TCP_TUNNEL/200 887 CONNECT 172.217.26.68:443 - ORIGINAL_DST/172.217.26.68 -
1501772423.434 218606 172.18.18.20 TCP_TUNNEL/200 424 CONNECT 172.217.27.110:443 - ORIGINAL_DST/172.217.27.110 -
1501772423.456 232073 172.18.18.20 TCP_TUNNEL/200 662 CONNECT 172.217.24.99:443 - ORIGINAL_DST/172.217.24.99 -
1501772423.457 232063 172.18.18.20 TCP_TUNNEL/200 2076 CONNECT 74.125.200.95:443 - ORIGINAL_DST/74.125.200.95 -
1501772426.998 760 172.18.18.20 TCP_TUNNEL/200 420 CONNECT 74.125.200.94:443 - ORIGINAL_DST/74.125.200.94 -
1501772446.112 20391 172.18.18.20 TCP_TUNNEL/200 418 CONNECT 172.217.27.110:443 - ORIGINAL_DST/172.217.27.110 -
1501772446.114 19791 172.18.18.20 TCP_TUNNEL/200 418 CONNECT 172.217.24.99:443 - ORIGINAL_DST/172.217.24.99 -
1501772446.114 19804 172.18.18.20 TCP_TUNNEL/200 418 CONNECT 172.217.24.99:443 - ORIGINAL_DST/172.217.24.99 -
1501772446.114 19852 172.18.18.20 TCP_TUNNEL/200 420 CONNECT 74.125.200.94:443 - ORIGINAL_DST/74.125.200.94 -
1501772446.114 19865 172.18.18.20 TCP_TUNNEL/200 420 CONNECT 74.125.200.94:443 - ORIGINAL_DST/74.125.200.94 -
1501772446.122 14873 172.18.18.20 TAG_NONE/200 0 CONNECT 74.125.130.113:443 - HIER_NONE/- -
1501772446.122 19849 172.18.18.20 TCP_TUNNEL/200 420 CONNECT 74.125.200.94:443 - ORIGINAL_DST/74.125.200.94 -
1501772446.122 19899 172.18.18.20 TCP_TUNNEL/200 418 CONNECT 216.58.203.227:443 - ORIGINAL_DST/216.58.203.227 -
1501772452.756 26470 172.18.18.20 TCP_TUNNEL/200 9 CONNECT 74.125.200.94:443 - ORIGINAL_DST/74.125.200.94 -
1501772453.007 90 172.18.18.20 TCP_MISS/302 303 GET http://www.dantri.com.vn/ - ORIGINAL_DST/222.255.27.51 -
1501772453.667 155 172.18.18.20 TCP_MISS/200 37002 GET http://dantri.com.vn/ - ORIGINAL_DST/123.30.215.27 text/html
1501772453.901 133 172.18.18.20 TCP_MISS/200 6626 GET http://media1.admicro.vn/core/adm_tracking.js? - ORIGINAL_DST/222.255.27.87 application/x-javascript
1501772454.305 98 172.18.18.20 TCP_MISS/200 51055 GET http://media1.admicro.vn/core/admcore.js - ORIGINAL_DST/222.255.27.87 application/x-javascript
1501772454.585 267 172.18.18.20 TCP_MISS/200 4888 GET http://video-thumbs.mediacdn.vn/zoom/100_70/dantri/85b8ad95ea/2017/08/03/op-lung-iphone-chua-dung-dich-la-gay-bong-4-1501748414395.jpg - ORIGINAL_DST/42.112.37.34 image/jpeg
1501772454.585 268 172.18.18.20 TCP_MISS/200 4300 GET http://video-thumbs.mediacdn.vn/zoom/100_70/dantri/c05a76d21c/2017/08/03/man-mauled-by-bear-in-front-of-screaming-pals-after-teasing-it-by-dangling-food-in-its-jaws-1501754875151.jpg - ORIGINAL_DST/42.112.37.34 image/jpeg
1501772454.586 270 172.18.18.20 TCP_MISS/200 4358 GET http://video-thumbs.mediacdn.vn/zoom/100_70/dantri/q9iw9pbngtbxmccfwx7pjac6ktof3w/2017/08/03/video-1501744644-1501744822098-8ee71.jpg - ORIGINAL_DST/42.112.37.34 image/jpeg
1501772455.131 840 172.18.18.20 TCP_MISS/200 2874 GET http://dantricdn.com/web_images/khcn.jpg - ORIGINAL_DST/42.112.37.34 image/jpeg
1501772455.137 196 172.18.18.20 TCP_MISS/200 1934 GET http://cafebiz.cafebizcdn.vn/web_images/icon_fica_new2.png - ORIGINAL_DST/42.112.37.34 image/png
1501772455.196 1334 172.18.18.20 TCP_MISS/200 98990 GET http://dantricdn.com/web_js/js-default-new.1.3.js - ORIGINAL_DST/42.112.37.34 text/javascript
1501772455.208 86 172.18.18.20 TCP_MISS/200 700 GET http://lg1.logging.admicro.vn/_tracking1.gif? - ORIGINAL_DST/222.255.27.120 image/gif
1501772455.249 102 172.18.18.20 TCP_MISS/204 391 GET http://b.scorecardresearch.com/b? - ORIGINAL_DST/96.7.54.128 -
1501772455.361 51 172.18.18.20 TCP_MISS/200 10211 GET http://media1.admicro.vn/cpc/ssvzone_default.js - ORIGINAL_DST/222.255.27.87 application/x-javascript
1501772455.373 24 172.18.18.20 TCP_MISS/200 319 GET http://lg1.logging.admicro.vn/_cpm4k.js? - ORIGINAL_DST/222.255.27.120 text/plain
1501772455.411 49 172.18.18.20 TCP_MISS/200 3102 GET http://media1.admicro.vn/core/admcoreext.js - ORIGINAL_DST/222.255.27.87 application/x-javascript
1501772455.413 50 172.18.18.20 TCP_MISS/200 8527 GET http://media1.admicro.vn/ads_codes/ads_code_221.ads - ORIGINAL_DST/222.255.27.87 application/x-javascript
1501772455.433 85 172.18.18.20 TCP_MISS/200 326 GET http://pson.logging.admicro.vn/comscore? - ORIGINAL_DST/222.255.27.85 text/plain
1501772455.440 80 172.18.18.20 TCP_MISS/200 507 GET http://pson.logging.admicro.vn/dmtb? - ORIGINAL_DST/222.255.27.85 text/javascript
1501772455.499 49 172.18.18.20 TCP_MISS/200 6626 GET http://media1.admicro.vn/core/adm_tracking.js? - ORIGINAL_DST/222.255.27.87 application/x-javascript
Ok, vậy là đã filter thành công. Sau khi đã filter thành công traffic qua Squid thì các bạn có thể tha hồ làm gì với traffic đó cũng được. Ví dụ như block hay gì gì đấy
Ở trên đây chỉ là config cơ bản nhất của Squid, do đó việc monitor có thể không đảm bảo vì các connect đến https
chỉ hiện destination IP chứ ko hiện rõ domain name như http.
Con Squid proxy này mình cũng chỉ mới tìm hiểu thôi nên cũng chưa rành lắm, mình sẽ ráng mò thêm các tính năng của nó và giới thiệu thêm cho các bạn ở các bài viết sau nhé
Giờ thì chuẩn bị đồ đạc đón SumUP ở Đà Nẵng thôi nào =))
All Rights Reserved