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: 124.738 ]

Por: Phillip Vieira em 13/03/2012


Squid.conf



Aqui, eu apenas comentarei os exemplos de ACLs, e as linhas que acho mais convenientes.

Crie um cópia do arquivo original do “squid.conf” para que você possa ter uma sempre a mão, pois este arquivo é rico em comentários e exemplos, portanto, para uma administração mais simples, eu recomendo 'limpar' os comentários e exemplos, deixando o arquivo menor e visualmente mais fácil de trabalhar...

- Deixe de ser preguiçoso e leia os comentários e exemplos!!! ;-)

Conteúdo de “/etc/squid3/squid.conf”:

# Porta em que o squid irá "ouvir"
http_port 3128

# Nome visível do servidor
visible_hostname Proxy

# Programa que será usado na autenticação, no caso msnt_auth
auth_param basic program /usr/lib/squid3/msnt_auth

# Número de processos filhos usados pelo autenticador, caso seja utilizado em uma rede muito grande
# esse número deve ser aumentado.
auth_param basic children 5

# Mensagem que aparecerá na janela de autenticação
auth_param basic realm "Servidor Proxy"


#######
#  ACLS #
#######

# ACLS que não vão passar pela autenticação
# Insira aqui as acls que você não quer que passe pela autenticação
# Nesta artigo não darei exemplos, porém você pode usar para uma atualização de antivírus
# Ou qualquer outra aplicação que não necessite de autenticação

# Insira dentro do arquivo citado abaixo os ips usados pelo seu antivírus
acl antivirus dst "/etc/squid3/acls/antivirus"

# Torna obrigatório o uso de autenticação (O que for feito desta linha para baixo)
acl internal_lan proxy_auth REQUIRED

# GRUPOS #

# Administradores
acl administrators proxy_auth "/etc/squid3/grupos/administradores"

# Diretoria
acl diretoria proxy_auth "/etc/squid3/groups/diretoria"

# Vendas
acl recepcao proxy_auth "/etc/squid3/groups/vendas"

# Recepcao
acl recepcao proxy_auth "/etc/squid3/groups/recepcao"



# Arquivos com bloqueios #

# Acl do tipo url_regex (regex de expressão regular - Regular Expression)
# Isira no arquivo as palavras proibidas como sexo, orkut, etc, conforme visto anteriormente
acl palavras_proibidas url_regex "/etc/squid3/acls/palavras_proibidas"

# Acl do tipo url_regex (regex de expressão regular - Regular Expression)
# Insira aqui os sites que foram bloqueados pela acl palavras proibidas, como por exemplo .sexosaude.com*
acl palavras_permitidas url_regex "/etc/squid3/acls/palavras_permitidas"

# Colocar no arquivo /etc/squid3/acls/sites_restritos
# links de sites que são proibidos
# Exemplo: O site uol.com.br está liberado, porém o usuário não consegue acessar a parte do site sexo.uol.com.br
# Portanto adicione no arquivo as sessões dos sites que você não quer que o usuário acesse.
acl sites_restritos dstdomain "/etc/squid3/acls/sites_restritos"

#Recommended minimum configuration:
acl manager proto cache_object
acl localhost src 127.0.0.1/32
acl to_localhost dst 127.0.0.0/8
acl rede_interna 10.0.0.0/24

# Acls padrões do SQUID (Aqui ele faz liberações de algumas portas)
acl SSL_ports port 443
acl SSL_ports port 2095
acl SSL_ports port 2082
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 Safe_ports port 445
acl CONNECT method CONNECT

# MANAGER ACLS #

# Acls padrões do SQUID
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports


# PERSONAL MANAGER #

# Insira aqui as regras de liberações para o que não vai passar pela autenticação

# Libera os ips contídos na acl antivirus
http_access allow antivirus
##

# Administradores (Acesso total)
http_access allow administradores

# Diretoria (Acesso total)
http_access allow diretoria

# Vendas (Acesso com restrições, o que estiver contido em palavras_proibidas e sites_restritos)
http_access allow vendas palavras_permitidas !palavras_proibidas !sites_restritos

# Recepcao (Acesso apenas ao que estiver listado em sites_recepcao)
http_access deny recepcao !sites_recepcao

# Nega palavras proibidas exceto o que estiver em palavras_permitidas
http_access deny palavras_proibidas !sites_permitidos

# Libera rede interna, Localhost e nega tudo o que não se enquadrou em nenhuma regra
http_access allow localhost
http_access allow internal_lan
http_access deny all


icp_access deny all
htcp_access deny all

hierarchy_stoplist cgi-bin \?

# Overwrite cache
cache_replacement_policy lru
memory_replacement_policy lru

#Default:
# cache_dir ufs /var/spool/squid3 100 16 256

# Arquivo de log
access_log /var/log/squid3/access.log squid

# Arquivo de cache
cache_log /var/log/squid3/cache.log

# Ajustes do cache, não entrarei em maiores detalhes
refresh_pattern ^ftp:		1440	20%	10080
refresh_pattern ^gopher:	1440	0%	1440
refresh_pattern (cgi-bin|\?)	0	0%	0
refresh_pattern .		0	20%	4320

icp_port 3130

# Coloca as páginas de erro em português
error_directory /usr/share/squid3/errors/Portuguese

coredump_dir /var/spool/squid3
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

Recuperando dados do Windows usando um live-CD

Samba - Dançando conforme a música

Instalando o Linux Fedora 8 no Notebook Positivo v53

Iptables - Segurança total para sua rede

Linux e Windows - Prós e Contras

Leitura recomendada

Semantic Forms no MediaWiki

SliTaz GNU/Linux e as ferramentas do sistema

Instalação do XFCE 4.2 no Debian

Apache + SSL + PostgreSQL + Mod_auth_pgsql + PHP

A Evolução dos Sistemas Operacionais

  
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

thiago@ORBITA:~$ su
Senha:
root@ORBITA:/home/thiago# cd /etc/squid/
root@ORBITA:/etc/squid# ls
acls grupos sarg.conf.bak squid.conf squid.conf.bak
root@ORBITA:/etc/squid# vim squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid# cd grupos
root@ORBITA:/etc/squid/grupos# ls
moderado restrito total
root@ORBITA:/etc/squid/grupos# cat moderado
luiz.gonzaga:Mx7QbjJ4GmQp.
joaquim.juliao:aT5SmGf6ie/xY
root@ORBITA:/etc/squid/grupos# cat restrito
armando.reis:ny9XYfx8Jhix2
arthur.reis:EUXdsh0ttW.ac
root@ORBITA:/etc/squid/grupos# cat total
thiago.emannuel:xvLjfWqFsQVxk
amanda.reis:ttlNeoctSsT.c
root@ORBITA:/etc/squid/grupos#
root@ORBITA:/etc/squid/grupos# cd ..
root@ORBITA:/etc/squid# vim squid.conf
root@ORBITA:/etc/squid# ls
acls grupos sarg.conf.bak squid.conf squid.conf.bak
root@ORBITA:/etc/squid# htpasswd -c /etc/squid/grupos/Administradores thiago.emannuel
New password:
Re-type new password:
Adding password for user thiago.emannuel
root@ORBITA:/etc/squid# cd grupos/
root@ORBITA:/etc/squid/grupos# ls
Administradores moderado restrito total
root@ORBITA:/etc/squid/grupos# cat Administradores
thiago.emannuel:2HItEIt3cqFDk
root@ORBITA:/etc/squid/grupos# cd ..
root@ORBITA:/etc/squid# vim squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid# vim squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid# vim squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid#
root@ORBITA:/etc/squid# vim squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid#










root@ORBITA:/etc/squid# ls
acls grupos sarg.conf.bak squid.conf squid.conf.bak
root@ORBITA:/etc/squid# cd acls/
root@ORBITA:/etc/squid/acls# ls
palavras_proibidas sites_restrito
root@ORBITA:/etc/squid/acls# vim palavras_proibidas
root@ORBITA:/etc/squid/acls#
















root@ORBITA:/etc/squid/acls# ls
palavras_proibidas sites_restrito
root@ORBITA:/etc/squid/acls# touch palavras_permitidas
root@ORBITA:/etc/squid/acls# ls
palavras_permitidas palavras_proibidas sites_restrito
root@ORBITA:/etc/squid/acls# cat palavras_proibidas
sexo*
jogo*
jogatina*
facebook*
youtube*
orkut*
messenger*
msn*
playboy*
root@ORBITA:/etc/squid/acls# vim palavras_permitidas
root@ORBITA:/etc/squid/acls# vim sites_restrito
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/etc/squid/acls# ls
palavras_permitidas palavras_proibidas sites_restrito
root@ORBITA:/etc/squid/acls#


root@ORBITA:/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!
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls#


root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/etc/squid/acls#
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls#
root@ORBITA:/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
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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!
root@ORBITA:/etc/squid/acls#
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/etc/squid/acls# vim /etc/squid/squid.conf
root@ORBITA:/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:


root@lorrany:~# /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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts