RADER
(usa Ubuntu)
Enviado em 21/03/2018 - 18:26h
Muito obrigado pela explicação......entendi muito bem....A config do squid que mostrei, são as formas que já tinha configurado, mais um exemplo do que tinha feito na verdade, mas entendi suas mudanças, eu utilizei a porta como intercept, mas não deu nada no momento, e sim eu iria configurar o squid com autenticação mas por hora não tenho esta necessidade.
E quanto ao Iptables tentei cada uma das regras separadas, também foi um apanhado das regras utilizadas, as configurações do bloqueio Https já havia implementado no iptables e estão ok.
Estas duas regras retirei do site do Squid, dei uma estudada la nestes capitulos.....Linux traffic Interception using DNAT,
Linux traffic Interception with Squid and the Browser on the same box
As outras foi tentativa e erro mesmo......
-A PREROUTING -i enp1s0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.100.10:3128
O sistema é um centOS 7, squid 3.5
realmente não é necessário:
"
#Dependendo da versão isto não é mais necessario
acl all src all
acl manager proto cache_object
acl localhost src 127.0.0.1/32
"
Dei uma organizada no Squid
Fiz como vc havia falado, porém não teve efeito algum, somente os bloqueios feitos pelo iptables, face, twiter etc....estão efetivos.....
dei mais uma estudada lá no site do squid......
https://wiki.squid-cache.org/ConfigExamples/Intercept/IptablesPolicyRoute
Não sei se tem haver.
Segue a saída do iptables, por que o squid esta conforme vc colocou:
squid.conf
# Mensagens de erro em Portugues
error_directory /usr/share/squid/errors/pt-br
#Portas de Escuta
http_port 3128 intercept
visible_hostname FIREWALL
#-----------------------------------------------------------------------------
#Endereços do Cache
#hierarchy_stoplist cgi-bin?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 1024 MB
maximum_object_size_in_memory 300 KB
maximum_object_size 90 MB
minimum_object_size 2 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
#-----------------------------------------------------------------------------
cache_replacement_policy heap LFUDA
memory_replacement_policy heap LFUDA
#cache_replacement_policy lru
#memory_replacement_policy lru
logformat squid %ts.%03tu %6tr %>a %Ss/%03Hs %<st %rm %ru %un %Sh/%<A %mt
access_log /var/log/squid/access.log squid
cache_swap_low 90
cache_swap_high 95
cache_dir aufs /var/spool/squid 5000 16 256
cache_access_log /var/log/squid/access.log
cache_store_log /var/log/squid/store.log
cache_log /var/log/squid/cache.log
cache_swap_log /var/spool/squid/swap.log
#-----------------------------------------------------------------------------
pid_filename /var/log/squid/squid.pid
#mime_table /usr/share/squid/mime.conf
access_log /var/log/squid/access.log squid
cache_mgr ti@entercomercial.com.br
#-----------------------------------------------------------------------------
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 15 20% 2280
refresh_pattern ^gopher: 15 0% 2280
refresh_pattern . 15 20% 2280
#-----------------------------------------------------------------------------
#REGRAS ACL ALL SRC ALL
#acl all src all
#acl all src 192.168.100.0/255.255.255.0
acl manager proto cache_object
#acl localhost src 127.0.0.1/32
#acl to_localhost dst 127.0.0.1/24
acl SSL_ports port 443 563 # https, snews
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
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 Safe_ports port 407 1863 5190 # msn
acl Safe_ports port 25 # smtp
acl Safe_ports port 110 # pop
acl purge method PURGE
acl CONNECT method CONNECT
#LIBERA OU BLOQUEIA POR MAC
#acl user1 arp XX:XX:XX:XX:XX
#acl user2 arp 11:12:13:14:15:16
#http_access allow user1
#http_access deny user2
#http_access deny all
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# ACLs PARA LIBERACAO TOTAL POR MAC
acl liberados_mac arp "/etc/squid/bloqueios/liberados_mac"
#-----------------------------------------------------------------------------
# Bloqueios geral
acl Proibido url_regex "/etc/squid/bloqueios/proibido"
acl DownloadsLiberados url_regex -i "/etc/squid/bloqueios/downloads.allow"
acl DownloadsBloqueados url_regex -i "/etc/squid/bloqueios/downloads.deny"
acl PalavrasBloqueadas dstdom_regex -i "/etc/squid/bloqueios/palavras.deny"
acl SitesBloqueados url_regex -i "/etc/squid/bloqueios/sites.deny"
#-----------------------------------------------------------------------------
acl Diretoria src "/etc/squid/bloqueios/ip.diretoria"
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
http_access allow localhost
http_access allow liberados_mac
http_access allow Diretoria
http_access allow DownloadsLiberados
http_access deny DownloadsBloqueados
http_access deny PalavrasBloqueadas
http_access deny SitesBloqueados
http_access deny Proibido
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
#http_access allow to_localhost
#http_access deny to_localhost
#-----------------------------------------------------------------------------
iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i enp3s0 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 137 -j ACCEPT
-A INPUT -p udp -m udp --dport 138 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 139 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 445 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -p tcp -m tcp --dport 443 -m string --string "facebook" --algo bm --to 65535 -j DROP
-A FORWARD -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -d 192.168.1.0/24 -i enp1s0 -m string --string "facebook.com" --algo bm --to 65535 -j DROP
-A FORWARD -d 192.168.1.0/24 -i enp1s0 -m string --string "twitter.com" --algo bm --to 65535 -j DROP
-A FORWARD -i enp3s0 -p tcp -m tcp --dport 443 -m string --string "facebook.com" --algo bm --to 65535 -m limit --limit 6/min --limit-burst 1
-A FORWARD -i enp3s0 -p tcp -m tcp --dport 443 -m string --string "facebook.com" --algo bm --to 65535 -j DROP
-A FORWARD -s 192.168.1.0/24 -p tcp -m tcp --dport 443 -m string --string "facebook.com" --algo bm --to 65535 -j DROP
-A FORWARD -d 192.168.1.0/24 -p tcp -m tcp --dport 443 -m string --string "facebook.com" --algo bm --to 65535 -j DROP
-A FORWARD -d 192.168.1.0/24 -i enp3s0 -p tcp -m multiport --dports 80,443 -m string --string "facebook.com" --algo bm --to 65535 -j DROP
-A FORWARD -p tcp -m multiport --dports 25,110,587,995 -j ACCEPT
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o enp3s0 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p udp -m udp --sport 137 -j ACCEPT
-A OUTPUT -p udp -m udp --sport 138 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -p tcp -m tcp --sport 10000 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
[root@entercomercial ti]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:bootps
ACCEPT tcp -- anywhere anywhere tcp dpt:bootps
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp spt:domain
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- 192.168.100.0/24 anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:netbios-ns
ACCEPT udp -- anywhere anywhere udp dpt:netbios-dgm
ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-ssn
ACCEPT tcp -- anywhere anywhere tcp dpt:microsoft-ds
ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:ndmp
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere 192.168.122.0/24 ctstate RELATED,ESTABLISHED
ACCEPT all -- 192.168.122.0/24 anywhere
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
DROP tcp -- anywhere anywhere tcp dpt:https STRING match "facebook" ALGO name bm TO 65535
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
DROP all -- anywhere 192.168.1.0/24 STRING match "facebook.com" ALGO name bm TO 65535
DROP all -- anywhere 192.168.1.0/24 STRING match "twitter.com" ALGO name bm TO 65535
tcp -- anywhere anywhere tcp dpt:https STRING match "facebook.com" ALGO name bm TO 65535 limit: avg 6/min burst 1
DROP tcp -- anywhere anywhere tcp dpt:https STRING match "facebook.com" ALGO name bm TO 65535
DROP tcp -- 192.168.1.0/24 anywhere tcp dpt:https STRING match "facebook.com" ALGO name bm TO 65535
DROP tcp -- anywhere 192.168.1.0/24 tcp dpt:https STRING match "facebook.com" ALGO name bm TO 65535
DROP tcp -- anywhere 192.168.1.0/24 multiport dports http,https STRING match "facebook.com" ALGO name bm TO 65535
ACCEPT tcp -- anywhere anywhere multiport dports smtp,pop3,submission,pop3s
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere udp dpt:bootpc
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT all -- anywhere anywhere state NEW,RELATED,ESTABLISHED
ACCEPT udp -- anywhere anywhere udp spt:netbios-ns
ACCEPT udp -- anywhere anywhere udp spt:netbios-dgm
ACCEPT tcp -- anywhere anywhere tcp spt:ssh
ACCEPT tcp -- anywhere anywhere tcp spt:ndmp
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT udp -- anywhere anywhere udp dpt:domain