Squid + Iptables - Combinação Infalível

Neste artigo, veremos como criar um Firewall e Proxy com autenticação para uma rede pequena, e também,
veremos como debugar alguns erros que podem acontecer no dia a dia.

[ Hits: 140.199 ]

Por: Phillip Vieira em 13/03/2012


Squid



O Squid, como todos sabem, é um serviço de Proxy, onde o mesmo realiza o controle de acesso à sites da Internet, faz cache de páginas, etc.

Neste artigo, veremos como realizar bloqueios e liberações, utilizando grupos que poderão ou não acessar determinados sites, para isto, usaremos a autenticação baseada no utilitário do Apache, o 'ncsa_auth'.

Ao instalar o Squid, versão 3, pelo APT-GET, seus arquivos de configurações ficam dentro de “/etc/squid3”, sendo assim, vamos organizar um pouco melhor este diretório.

Vamos criar dois novos diretórios, um onde conterão os grupos e o outro com uma lista que precisaremos para criar ACLs:

# mkdir /etc/squid3/acls
# mkdir /etc/squid3/grupos


Vamos trabalhar com 3 grupos de exemplo:
  • DIRETORIA: Acesso total a internet
  • Vendas: Acesso com algumas restrições
  • Recepção: Acesso somente a sites específicos

Então, vamos criar e popular os grupos:

# htpasswd -c /etc/squid3/grupos/diretoria humberto.chagas

O comando acima utiliza o HTPASSWD (que também é um utilitário do Apache), que é o programa responsável por criar as senhas.

O parâmetro '-c' cria um novo arquivo, posteriormente indicamos o caminho do novo arquivo, e por último, colocamos o nome do usuário a ser inserido no arquivo.

Após digitar o comando acima, ele pedirá uma senha para o novo usuário, insira a senha e depois confirme-a.

Para adicionar um novo usuário, digitamos o mesmo comando, porém sem o parâmetro '-c', vejamos:

# htpasswd /etc/squid3/grupos/diretoria carlos.augusto
# htpasswd /etc/squid3/grupos/diretoria geraldo.magela


Mesma coisa, digite a senha para os novos usuários e confirme-as.

Vamos popular os dois grupos restantes:

# htpasswd -c /etc/squid3/grupos/vendas carlos.augusto
# htpasswd /etc/squid3/grupos/vendas jose.bonifacio

# htpasswd -c /etc/squid3/grupos/recepcao tania.maria


Vamos agora realizar uma pré-bloqueio, com ele, podemos ver algumas palavras que não queremos que usuários acessem:

# touch /etc/squid3/acls/palavras_proibidas

Dentro do arquivo acima, vamos inserir algumas palavras:

sexo*
jogo*
jogatina*
facebook*
youtube*
orkut*


Não se esqueçam do ' * ' (Asterisco) ao final de cada palavra, pois como vamos usar a ACL do tipo 'url_regex', o asterisco entra como expressão regular.

Vamos criar uma lista com sites permitidos para o grupo recepção:

# touch /etc/squid3/acls/sites_recepcao

Insira os seguintes sites ao grupo:

.vivaolinux.com.br*
.siteempresa.com.br*
.cotacoes.com.br*


Novamente, repare no ' . ' (Ponto) antes do site e no ' * ' (Asterisco) ao final. Eles também são expressões regulares, que indicam que devem liberar todo os subdiretórios do site e tudo o que tiver antes do ponto.

Por exemplo, vamos supor que o site 'meusite.com' tenha as seguintes páginas:

- www2.meusite.com

- www.meusite.com/sexosaude

Se colocássemos somente 'www.meusite.com' em nossa lista, ele não liberaria o 'www2.meusite.com', pois não consta na lista, e também não liberaria o 'www.meusite.com/sexosaude', pois no nosso bloqueio conteria a palavra sexo. Mas estes conceitos, entenderemos mais tarde.
Página anterior     Próxima página

Páginas do artigo
   1. O que veremos neste artigo?
   2. IPtables
   3. Squid
   4. Squid.conf
   5. Sarg
   6. Debugando possíveis erros
Outros artigos deste autor

Iptables - Segurança total para sua rede

Instalando o Linux Fedora 8 no Notebook Positivo v53

Recuperando dados do Windows usando um live-CD

Samba - Dançando conforme a música

Linux e Windows - Prós e Contras

Leitura recomendada

Conseguindo o reembolso da licença do Microsoft Windows

Como usar o Bugzilla do Sabayon

VIM avançado (parte 2)

Cube 2 - Sauerbraten: Jogo de tiro em primeira pessoa

Clonando HDs pela rede com UDPCAST

  
Comentários
[1] Comentário enviado por blaiser em 13/03/2012 - 22:43h

Mandou bem garoto..



me fala ai. meu sarg com o passar dos dias ele gera uma zica no browse do tipo DIARIO MENSAL E ANUAL. que lance é esse?

[2] Comentário enviado por phrich em 13/03/2012 - 22:57h

Obrigado blaiser!

Bom no exemplo eu utilizei o parâmetro daily do sarg, que gera os relatórios separados por dia, se vc der o comando sarg sem nenhum argumento, ele salva o relatório do que estiver no arquivo de log do squid até o momento e não mostra mais as opções de diário, semanal,etc.

Para você ver um pouco mais dos parâmetro disponíveis no sarg, consulte o manual com:

# man sarg

[3] Comentário enviado por cirinho em 16/04/2012 - 19:52h

Está "bugadão" os scripts e .conf

Eu não conseguir visualizar nada, está tudo junto. Não teve espaços nem quebra de linha. Assim fica difícil de entender, ficou bagunçado.

Não sei se o problema foi quando vc enviou se já veio assim, ou se foram os moderadores ao postar. Bom há também a possibilidade do problema ser cmgo.

[4] Comentário enviado por phrich em 16/04/2012 - 19:59h

Aqui aparece normal...

Talvez tenha dado erro no script do site na hora em que vc abriu... recarregue a página.

[5] Comentário enviado por Thiago Emannuel em 19/04/2012 - 09:43h

Na minha configuracao ta dando erro na linha

acl rede_interna 10.0.0.0/24

segue meu interfaces

[email protected]:~$ su
Senha:
[email protected]:/home/thiago# cd /etc/squid/
[email protected]:/etc/squid# ls
acls grupos sarg.conf.bak squid.conf squid.conf.bak
[email protected]:/etc/squid# vim squid.conf
[email protected]:/etc/squid# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 08:43:19| Parsing Config File: Unknown authentication scheme 'bacis'.
2012/04/19 08:43:19| Invalid Proxy Auth ACL 'acl internal_lan proxy_auth REQUIRED' because no authentication schemes are fully configured.
FATAL: Bungled squid.conf line 28: acl internal_lan proxy_auth REQUIRED
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid# cd grupos
[email protected]:/etc/squid/grupos# ls
moderado restrito total
[email protected]:/etc/squid/grupos# cat moderado
luiz.gonzaga:Mx7QbjJ4GmQp.
joaquim.juliao:aT5SmGf6ie/xY
[email protected]:/etc/squid/grupos# cat restrito
armando.reis:ny9XYfx8Jhix2
arthur.reis:EUXdsh0ttW.ac
[email protected]:/etc/squid/grupos# cat total
thiago.emannuel:xvLjfWqFsQVxk
amanda.reis:ttlNeoctSsT.c
[email protected]:/etc/squid/grupos#
[email protected]:/etc/squid/grupos# cd ..
[email protected]:/etc/squid# vim squid.conf
[email protected]:/etc/squid# ls
acls grupos sarg.conf.bak squid.conf squid.conf.bak
[email protected]:/etc/squid# htpasswd -c /etc/squid/grupos/Administradores thiago.emannuel
New password:
Re-type new password:
Adding password for user thiago.emannuel
[email protected]:/etc/squid# cd grupos/
[email protected]:/etc/squid/grupos# ls
Administradores moderado restrito total
[email protected]:/etc/squid/grupos# cat Administradores
thiago.emannuel:2HItEIt3cqFDk
[email protected]:/etc/squid/grupos# cd ..
[email protected]:/etc/squid# vim squid.conf
[email protected]:/etc/squid# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 08:52:13| Parsing Config File: Unknown authentication scheme 'bacis'.
2012/04/19 08:52:13| Invalid Proxy Auth ACL 'acl internal_lan proxy_auth REQUIRED' because no authentication schemes are fully configured.
FATAL: Bungled squid.conf line 28: acl internal_lan proxy_auth REQUIRED
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid# vim squid.conf
[email protected]:/etc/squid# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 08:52:56| Parsing Config File: Unknown authentication scheme 'bacis'.
2012/04/19 08:52:56| Invalid Proxy Auth ACL 'acl Administradores proxy_auth "/etc/squid/grupos/Administradores"' because no authentication schemes are fully configured.
FATAL: Bungled squid.conf line 33: acl Administradores proxy_auth "/etc/squid/grupos/Administradores"
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid# vim squid.conf
[email protected]:/etc/squid# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 08:54:17| Parsing Config File: Unknown authentication scheme 'bacis'.
2012/04/19 08:54:17| Invalid Proxy Auth ACL 'acl total proxy_auth "/etc/squid/grupos/total"' because no authentication schemes are fully configured.
FATAL: Bungled squid.conf line 36: acl total proxy_auth "/etc/squid/grupos/total"
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid#
[email protected]:/etc/squid# vim squid.conf
[email protected]:/etc/squid# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:02:40| strtokFile: /etc/squid/acls/palavras_permitidas not found
2012/04/19 09:02:40| aclParseAclLine: WARNING: empty ACL: acl palavras_permitidas url_regex "/etc/squid/acls/palavras_permitidas"
2012/04/19 09:02:40| strtokFile: /etc/squid/acls/sites_restritos not found
2012/04/19 09:02:40| aclParseAclLine: WARNING: empty ACL: acl sites_restritos dstdomain "/etc/squid/acls/sites_restritos"
2012/04/19 09:02:40| aclParseAclLine: Invalid ACL type 'localhost'
FATAL: Bungled squid.conf line 63: acl to localhost dst 127.0.0.0/8
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid#










[email protected]:/etc/squid# ls
acls grupos sarg.conf.bak squid.conf squid.conf.bak
[email protected]:/etc/squid# cd acls/
[email protected]:/etc/squid/acls# ls
palavras_proibidas sites_restrito
[email protected]:/etc/squid/acls# vim palavras_proibidas
[email protected]:/etc/squid/acls#
















[email protected]:/etc/squid/acls# ls
palavras_proibidas sites_restrito
[email protected]:/etc/squid/acls# touch palavras_permitidas
[email protected]:/etc/squid/acls# ls
palavras_permitidas palavras_proibidas sites_restrito
[email protected]:/etc/squid/acls# cat palavras_proibidas
sexo*
jogo*
jogatina*
facebook*
youtube*
orkut*
messenger*
msn*
playboy*
[email protected]:/etc/squid/acls# vim palavras_permitidas
[email protected]:/etc/squid/acls# vim sites_restrito
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# ls
palavras_permitidas palavras_proibidas sites_restrito
[email protected]:/etc/squid/acls#


[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:24:42| aclParseAclLine: Invalid ACL type 'localhost'
FATAL: Bungled squid.conf line 63: acl to localhost dst 127.0.0.0/8
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:25:57| aclParseAclLine: Invalid ACL type 'interna'
FATAL: Bungled squid.conf line 64: acl rede interna 10.0.0.0/24
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:26:41| aclParseAclLine: Invalid ACL type '10.0.0.0/24'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.0.0/24
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls#


[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 10.0.1.1
netmask 255.255.255.0
network 10.0.1.0
broadcast 10.0.1.255

auto eth1:rede2
iface eth1:rede2 inet static
address 10.0.2.1
netmask 255.255.255.0
network 10.0.2.0
broadcast 10.0.2.255
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls#
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:29:28| aclParseAclLine: Invalid ACL type '10.0.0.0/24'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.0.0/24
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:29:58| aclParseAclLine: Invalid ACL type '10.0.2.0/24'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.2.0/24
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:30:51| aclParseAclLine: Invalid ACL type '10.0.1.0/24'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.1.0/24
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:31:25| aclParseAclLine: Invalid ACL type '10.0.2.12.1'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.2.12.1
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:31:55| aclParseAclLine: Invalid ACL type '10.0.2.1/24'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.2.1/24
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls#
[email protected]:/etc/squid/acls# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 10.0.1.1
netmask 255.255.255.0
network 10.0.1.0
broadcast 10.0.1.255

auto eth1:rede2
iface eth1:rede2 inet static
address 10.0.2.1
netmask 255.255.255.0
network 10.0.2.0
broadcast 10.0.2.255
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]TA:/etc/squid/acls# /etc/init.d/squid restart
Restarting Squid HTTP proxy: squid2012/04/19 09:38:21| aclParseAclLine: Invalid ACL type '10.0.0.0/8'
FATAL: Bungled squid.conf line 64: acl rede_interna 10.0.0.0/8
Squid Cache (Version 2.7.STABLE9): Terminated abnormally.
failed!
[email protected]:/etc/squid/acls#
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# vim /etc/squid/squid.conf
[email protected]:/etc/squid/acls# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
address 10.0.1.1
netmask 255.255.255.0
network 10.0.1.0
broadcast 10.0.1.255

auto eth1:rede2
iface eth1:rede2 inet static
address 10.0.2.1
netmask 255.255.255.0
network 10.0.2.0
broadcast 10.0.2.255

Agradeceria quem pudesse me ajudar

[6] Comentário enviado por phrich em 19/04/2012 - 10:35h

Bom dia Thiago Emanuel!

Eu sugiro que vc abra um tópico na comunidade http://www.vivaolinux.com.br/comunidade/Squid-Iptables

Assim poderemos te ajudar, já explique o que vc disse aqui e poste o seu squid.conf lá, assim será melhor para responder ok?

[7] Comentário enviado por Thiago Emannuel em 19/04/2012 - 11:47h

ok.... estarei postando la

[8] Comentário enviado por kakashi963 em 17/05/2012 - 20:32h

Meu squid bloqueia o acesso a todos os sites. A politica de segurança aqui deve ser:
Alguns ips com acesso total a internet: ipsLiberados
Alguns ips com acesso total mas com filtro de palavras: ipsLiberadosRestritos
Palavras que não podem conter nos acessos: palavras bloqueadas
Sites permitidos a todos os usuários da rede: sitesLiberados
Download é bloqueado: download
Acesso a site de antivirus é liberado: antivirus

Para o caso dos ipsLiberadosRestritos, da certo, se o usuário tem seu ip nessa listagem, ele acessa tudo menos o conteudo das palavras, ta ok.

Entretando, para o restante dos usuários da rede que deveriam poder acessar pelo menos os sitesLiberados, tudo fica como bloqueado.

Minhas acls:

acl antivirus dstdomain "/etc/squid3/acls/antivirus"

acl ipsLiberados src "/etc/squid3/acls/ipsLiberados"

acl ipsLiberadosRestritos src "/etc/squid3/acls/ipsLiberadosRestritos"

acl palavrasBloqueadas url_regex -i "/etc/squid3/acls/palavrasBloqueadas"

acl sitesLiberados dstdomain "/etc/squid3/acls/sitesLiberados"

acl download url_regex -i "/etc/squid3/acls/download"

acl localnet src 192.168.0.0/24
acl localhost src 127.0.0.1/32



E meus http_access:


http_access allow antivirus
http_access allow ipsLiberados
http_access deny download
http_access allow ipsLiberadosRestritos !palavrasBloqueadas
http_access allow localhost

http_access deny all !sitesLiberados

[9] Comentário enviado por phrich em 17/05/2012 - 21:15h

Prezado kakashi963 eu recomendo que vc abra um tópico na comunidade sobre squid / iptables pois lá além de ser o local correto para dúvidas, vc terá mais pessoas para ajudar.

Abraços.

[10] Comentário enviado por afdominguez em 23/05/2012 - 23:42h

Amigo, esta dando o seguinte erro:


[email protected]:~# /etc/rc.local
iptables v1.4.10: REDIRECT: Bad value for "--to-ports" option: "10.15.84.20:3389"
Try `iptables -h' or 'iptables --help' for more information.


[11] Comentário enviado por phrich em 23/05/2012 - 23:46h

Cara, depende de como vc colocou a regra...

Seria mais interessante vc utilizar o fórum para postar suas dúvidas, além de ser o mais correto, vc estaria sendo ajudado por outras pessoas e ajudaria também.

http://www.vivaolinux.com.br/comunidade/Squid-Iptables

[12] Comentário enviado por johnnyb em 13/07/2012 - 14:27h

amigo não intendi essa parte e habilitar ou desabilitar ?

# REMOVE ARQUIVOS TEMPORÁRIOS, SE VOCÊ HABILITAR ESTA OPÇÃO CORRE O RISCO DE ENCHER O DISCO
remove_temp_files yes

[13] Comentário enviado por phrich em 13/07/2012 - 15:45h

Caro johnnyb, se vc habilitar vc irá remover os arquivos temporários gerados pelo SARG, na hora da escrita eu errei, mas habilite para esvaziar o disco ok?

[14] Comentário enviado por ronymoliveira em 11/09/2012 - 11:50h

Bom dia, como faço para implementar o IPTables + squid tendo a seguinte situação:
Internet da GVT: 192.168.25.1
Rede Interna: 192.168.1.1 a 192.168.1.254
Sou novato aqui, estou usando o Debian, se tiver como me ajudar, agradeço.

Atenciosamente,

Rony

[15] Comentário enviado por phrich em 12/09/2012 - 12:11h

A situação é a mesma, basta vc adaptar para sua necessidade.

Qqr coisa, vá até http://www.vivaolinux.com.br/comunidade/Squid-Iptables e abra um tópico lá, mas com este artigo vai ser tranquilo vc fazer, basta adaptar, além é claro das demais configurações de rede.

[16] Comentário enviado por nene_guitar em 25/10/2012 - 20:47h

seguindo os passos
cheguei a esse erro.
ja instalei via yast
o apache2 e também o pacote apache2-utils

linux-62cn:~ # htpasswd -c /etc/squid/grupos/sala1
Could not open passwd file -c for reading.
Use -c option to create new one.

linux-62cn:/ # zypper se htpasswd
Loading repository data...
Reading installed packages...
No packages found.

linux-62cn:/ # find / -name htpasswd
find: `/var/lib/ntp/proc/3517/net': Invalid argument
find: `/var/lib/ntp/proc/3519/net': Invalid argument
find: `/var/lib/ntp/proc/3755/net': Invalid argument
^[[/usr/bin/htpasswd
find: `/proc/3517/net': Invalid argument
find: `/proc/3519/net': Invalid argument
find: `/proc/3755/net': Invalid argument
find: `/run/user/jesse/gvfs': Permission denied
linux-62cn:/ # find / -name apache2
/etc/apache2
/etc/init.d/apache2
/etc/sysconfig/apache2
/etc/sysconfig/SuSEfirewall2.d/services/apache2
/etc/logrotate.d/apache2
/var/cache/apache2
/var/lib/apache2
/var/lib/systemd/migrated/apache2
find: `/var/lib/ntp/proc/3517/net': Invalid argument
find: `/var/lib/ntp/proc/3519/net': Invalid argument
find: `/var/lib/ntp/proc/3755/net': Invalid argument
/var/log/apache2
/usr/lib64/apache2
/usr/share/apache2
/usr/share/doc/packages/apache2
find: `/proc/3517/net': Invalid argument
find: `/proc/3519/net': Invalid argument
find: `/proc/3755/net': Invalid argument
find: `/run/user/jesse/gvfs': Permission denied




[17] Comentário enviado por phrich em 26/10/2012 - 10:52h

Cara vc está com vários erros de permissões aí...

Faz o seguinte, abre um tópico na comunidade www.vivaolinux.com.br/comunidade/Squid-Iptables lá terão vários usuários para ajudar além de ser o local adequado para isto ok?

[18] Comentário enviado por xirux em 11/07/2014 - 12:19h

Cara, muito bom o artigo, realmente show. Foi pros favoritos e será de valia nos meus arquivos com certeza!
Se posso opinar, no squid.conf eu impediria o uso do proxy por rede externa limitando com a adição do ip do FW, antes da porta na linha:

http_port 10.0.0.254:3128

E adicionaria em sarg.conf um limite de logs para o squid, impedindo problemas com espaço:

lastlog 10

Parabéns!

[19] Comentário enviado por phrich em 11/07/2014 - 16:14h

Obrigado xiux, essa opção do SARG é ótima!
Com relação ao proxy, bloqueamos isso no iptables, visto que a porta 3128 está liberada apenas para a rede interna.
abs!

[20] Comentário enviado por jnt.santos em 14/10/2014 - 11:40h

Obrigado pelo Tutorial
Mais quando tento logar nao pede usuário nem senha.
Estou fazendo em teste então mantive o seu mesmo script no meu squid3(so alterando os erros), a UNICA DIFERENÇA FOI NO IPTABLES só possuo uma placa de rede então configurei assim o IPtables:
# Carrega os modulos
#modprobe iptables
modprobe iptable_nat
# Limpa a tabela filter
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Compartilha a conexao
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# Proxy Transparente
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128

iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 110 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 25 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 587 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 137 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 139 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 88 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 53 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 445 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 111 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 901 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 548 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2049 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3000 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3389 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 4900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 23 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2323 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 9100 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1723 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 47 -j ACCEPT

# Abre para a rede local
iptables -A INPUT -p tcp --syn -s 192.168.10.0/255.255.255.0 -j ACCEPT

Depois na estação configuro para o IP so server e para a porta 3128, o que pode estar errado?

[21] Comentário enviado por phrich em 14/10/2014 - 11:54h

Caro jnt.santos,

Autenticação com proxy transparent e 1 placa de rede?

Só com mágica mesmo rsrsrs.

Remova as linhas de redirecionamento que vai funcionar.

[22] Comentário enviado por jnt.santos em 14/10/2014 - 12:06h

Opa Princh Tbm, Valeu pela ajuda, MAIS ainda não pede nada =/, cara esta assim agora
# Carrega os modulos
#modprobe iptables
modprobe iptable_nat
# Limpa a tabela filter
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Compartilha a conexao
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# Proxy Transparente
#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
#ptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 3128

iptables -A INPUT -p tcp --destination-port 22 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 110 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 25 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 587 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3128 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 80 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 137 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 139 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 88 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 53 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 445 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 443 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 111 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 901 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 548 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2049 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3000 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3389 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 4900 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 23 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 2323 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 3306 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 9100 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 1723 -j ACCEPT
iptables -A INPUT -p tcp --destination-port 47 -j ACCEPT

# Abre para a rede local
iptables -A INPUT -p tcp --syn -s 192.168.10.0/255.255.255.0 -j ACCEPT

[23] Comentário enviado por phrich em 14/10/2014 - 12:09h

Veja as suas regras novamente, estão faltando algumas coisas nelas, compare novamente com o artigo e imagine como seu script deve ser adaptado.

O correto mesmo para as dúvidas é no fórum, onde poderemos compartilhar com outras pessoas tbém ;-)

[24] Comentário enviado por ronivonjunio em 21/10/2015 - 18:43h



[25] Comentário enviado por ronivonjunio em 21/10/2015 - 18:46h

BOA TARDE ! OTIMO ARTIGO , GOSTEI MUITO, SOU INICIANTE E USO O OPEN SUSE TERIA UM TUTORIAL DO OPEN SUSE? COM ESSE MSMO ARTIGO?


Contribuir com comentário