Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

1. Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/04/2013 - 22:38h

Ola companheiros, estou querendo implementar um Proxy em parte de uma rede, onde existe dois blocos; A e B, ambos conectados na mesma rede, utilizamos apenas um roteador para dar acesso as maquinas à internet e está tudo liberado. (rede bem insegura e basica). Ate bloqueei pelo algumas paginas pelo router mas tem uns engraçadinhos que arranjam uma jeito de acessar site pornografico etc. Já instalei o Debian Squeezy para tal serviço e estou a procura de livros que trate minuciosamente o Squid e o Iptables, ja li os livros do Carlos Morimoto mas eu quero algo mais completo!!



Existem ,no maximo 60 micros, e eu gostaria de utilizar o Squid para negar algumas paginas, achei uma imagem muito parecida com a rede em questao
(meramente ilustrativa).

Alguém poderia me dar algumas sugestões de como eu melhoraria o desempenho e segurança desta rede!!!



http://img213.imageshack.us/img213/4012/linuxsquid.png

Abraço pessoal!!!


  


2. MELHOR RESPOSTA

Buckminster
Buckminster

(usa Debian)

Enviado em 24/04/2013 - 12:06h

Sk5 escreveu:

Buckminster escreveu:

Se você não tiver pressa, pode esperar pelo Wheezy. O lançamento dele, dizem, está previsto para o mês que vem (dia 4 ou 5 de maio), mas não é certo, as vezes dá um atraso. No site oficial do Debian não está prevista nenhuma data para o lançamento.
Mas você pode instalar o Squeeze e ir testando, estudando. Os scripts do IPtables e do Squid você pode aproveitar depois no Wheezy.

Essa configuração de hardware segura, com folga, essa rede de 60 máquinas e você pode instalar um sistema de 64 bits.
No site do Debian, os sistemas de 64 bits são amd64. Baixe somente o CD 1.
http://cdimage.debian.org/debian-cd/6.0.7/amd64/iso-cd/

Como o Diretor quer o servidor somente para o bloco B, fica mais fácil para você. É só colocar ele antes do switch do bloco B. As outras máquinas 'pegarão' IP do DHCP do roteador e as máquinas do bloco B ficarão em uma subrede configurada no servidor.

Nesse link você encontra como instalar e configurar o sistema e o DHCP:
http://www.vivaolinux.com.br/artigo/Configuracao-do-sistema-DHCP-compartilhamento-e-DNS-no-Debian-Sq...

Teu servidor está, então, com 3 placas de rede?



Obrigado mesmo Buckminster, o server esta duas placas de rede.
Uma das minhas duvidas seria a subrede, O gateway e mask 192.168.0.1/24 ou seja eu so tenho uma rede!
Eu teria que criar uma sub rede no proprio server? Ou eu so preciso configurar o Iptables e Squid ?


Você terá que criar uma subrede. Assim fica melhor organizado e você terá um controle maior.
192.168.0.0/24 << endereço da subrede
255.255.255.0 << máscara da subrede
192.168.0.255 << endereço de broadcast
192.168.0.1 << gateway
A subrede você cria no DHCP.
Mas veja bem: crie uma subrede em uma faixa de IPs diferente da rede que vem do roteador. Se a rede que vem do roteador for 192.168.0.0 você coloca na subrede 192.168.1.0.
Você tem duas placas de rede no servidor. Uma será a placa de entrada da internet (onde será conectado o cabo por onde vem a internet), a outra será a placa de saída para a subrede (esta você conecta no switch). A placa de entrada você pode deixar com IP automático (ela 'pegará' o IP do DHCP do roteador da rede). Na placa de saída você fixa o IP 192.168.0.1, que será o gateway da subrede. O IPtables fará o NAT (compartilhamento). O NAT é o serviço que interliga duas redes diferentes.
Veja o link que te enviei antes.
O DNS interno você não precisa configurar, a não ser que você tenha disponibilidade de mais uma máquina. Daí você pode colocar o DNS nesta outra máquina e conectá-la ao switch da subrede. Um DNS interno melhora a navegação da subrede. Mas é opcional.
Resumindo: você terá na mesma máquina os serviços de DHCP, IPtables e Squid e fará todos os controles (liberações e bloqueios) por ela.
Primeiro configure o sistema e o DHCP. No IPtables faça primeiro somente o compartilhamento e teste a navegação na rede. Depois implementamos mais algumas regras de segurança nele. Deixe para instalar e configurar o Squid por último.
Qualquer dúvida, posta aqui.

3. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Leandro do Nascimento Redivo
lnredivo

(usa Debian)

Enviado em 23/04/2013 - 22:54h

Mano,

Aqui no fórum com um pouco de paciência, e disponibilidade para leitura você encontrará dezenas de artigos completos sobre Iptables e Squid, acho interessante você pesquisar, colocar a mão na massa e à medida que as duvidas forem surgindo você vai postando aqui...

O livro do Morimoto: "Servidores Linux" é um dos melhores que já li para quem está começando, acho que vale a pena começar por ele, existem alguns específicos de Iptables e outros de Squid, mas, cuidado com livros muito antigos, onde apesar da base ser a mesma, caminhos de arquivos e comandos de instalação evoluíram junto com as versões das distros.

Boa sorte...


4. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Leandro do Nascimento Redivo
lnredivo

(usa Debian)

Enviado em 23/04/2013 - 22:58h

Vai a minha sugestão de um artigo simples sobre iptables:

http://vivaolinux.com.br/artigo/firewall-seguro-com-o-iptables

e um artigo de squid:

http://www.vivaolinux.com.br/artigo/Configurar-servidor-proxy-Squid-(Ubuntu)?pagina=1





5. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/04/2013 - 23:39h

lnredivo escreveu:

Mano,

Aqui no fórum com um pouco de paciência, e disponibilidade para leitura você encontrará dezenas de artigos completos sobre Iptables e Squid, acho interessante você pesquisar, colocar a mão na massa e à medida que as duvidas forem surgindo você vai postando aqui...

O livro do Morimoto: "Servidores Linux" é um dos melhores que já li para quem está começando, acho que vale a pena começar por ele, existem alguns específicos de Iptables e outros de Squid, mas, cuidado com livros muito antigos, onde apesar da base ser a mesma, caminhos de arquivos e comandos de instalação evoluíram junto com as versões das distros.

Boa sorte...


Sim, eu procurei pelo VOL mas encontrei muitas dicas prontas, li os topicos relacionados ao Squid no livro do Morimoto e me ajudou bastante mas eu queria algo mais completo.
Inredivo, valeu pela dica vou continuar procurando pelo site! Obrigadao!




6. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 24/04/2013 - 00:04h

SK5 escreveu:

Ola companheiros, estou querendo implementar um Proxy em parte de uma rede, onde existe dois blocos; A e B, ambos conectados na mesma rede, utilizamos apenas um roteador para dar acesso as maquinas à internet e está tudo liberado. (rede bem insegura e basica). Ate bloqueei pelo algumas paginas pelo router mas tem uns engraçadinhos que arranjam uma jeito de acessar site pornografico etc. Já instalei o Debian Squeezy para tal serviço e estou a procura de livros que trate minuciosamente o Squid e o Iptables, ja li os livros do Carlos Morimoto mas eu quero algo mais completo!!



Existem ,no maximo 60 micros, e eu gostaria de utilizar o Squid para negar algumas paginas, achei uma imagem muito parecida com a rede em questao
(meramente ilustrativa).

Alguém poderia me dar algumas sugestões de como eu melhoraria o desempenho e segurança desta rede!!!



http://img213.imageshack.us/img213/4012/linuxsquid.png

Abraço pessoal!!!


Bom, pelo esquema que você postou (apesar de ser meramente ilustrativo), deve colocar o servidor entre o roteador e o primeiro switch, na entrada de toda a rede, lógico.
O servidor deve ter, no mínimo, duas placas de rede.
Quais são as configurações de hardware do servidor?
Aconselho a fazer um servidor com DHCP, compartilhamento (IPtables) e Squid.
Talvez você já saiba de tudo isso, mas vamos partir daí.
Um bom servidor começa no particionamento e na configuração do sistema operacional.
Primeiro configure o sistema, depois o DHCP e o compartilhamento no IPtables, depois aprimore o IPtables acrescentando regras e somente depois instale e configure o Squid.

As dificuldades que você tiver vai postando aqui que vamos te auxiliando.

Segue link para o manual do IPtables traduzido:
http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras/

Quanto ao Squid, todas as informações necessárias estão no squid.conf original que, apesar de ser um tanto confuso, traz as informações necessárias.

Aqui nesse link você encontra os manuais:
http://wiki.squid-cache.org/ConfigExamples#Online_Manuals

Como você instalou o Squeeze, com apt-get install squid3 virá a versão 3.1.6.
Nessa versão, se você configurar proxy transparente coloque 'intercept', pois 'transparent' é só até a versão 3.0.


7. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/04/2013 - 00:28h

Buckminster escreveu:

SK5 escreveu:

Ola companheiros, estou querendo implementar um Proxy em parte de uma rede, onde existe dois blocos; A e B, ambos conectados na mesma rede, utilizamos apenas um roteador para dar acesso as maquinas à internet e está tudo liberado. (rede bem insegura e basica). Ate bloqueei pelo algumas paginas pelo router mas tem uns engraçadinhos que arranjam uma jeito de acessar site pornografico etc. Já instalei o Debian Squeezy para tal serviço e estou a procura de livros que trate minuciosamente o Squid e o Iptables, ja li os livros do Carlos Morimoto mas eu quero algo mais completo!!



Existem ,no maximo 60 micros, e eu gostaria de utilizar o Squid para negar algumas paginas, achei uma imagem muito parecida com a rede em questao
(meramente ilustrativa).

Alguém poderia me dar algumas sugestões de como eu melhoraria o desempenho e segurança desta rede!!!



http://img213.imageshack.us/img213/4012/linuxsquid.png

Abraço pessoal!!!


Bom, pelo esquema que você postou (apesar de ser meramente ilustrativo), deve colocar o servidor entre o roteador e o primeiro switch, na entrada de toda a rede, lógico.
O servidor deve ter, no mínimo, duas placas de rede.
Quais são as configurações de hardware do servidor?
Aconselho a fazer um servidor com DHCP, compartilhamento (IPtables) e Squid.
Talvez você já saiba de tudo isso, mas vamos partir daí.
Um bom servidor começa no particionamento e na configuração do sistema operacional.
Primeiro configure o sistema, depois o DHCP e o compartilhamento no IPtables, depois aprimore o IPtables acrescentando regras e somente depois instale e configure o Squid.

As dificuldades que você tiver vai postando aqui que vamos te auxiliando.

Segue link para o manual do IPtables traduzido:
http://www.vivaolinux.com.br/artigo/Manual-do-IPtables-Comentarios-e-sugestoes-de-regras/

Quanto ao Squid, todas as informações necessárias estão no squid.conf original que, apesar de ser um tanto confuso, traz as informações necessárias.

Aqui nesse link você encontra os manuais:
http://wiki.squid-cache.org/ConfigExamples#Online_Manuals

Como você instalou o Squeeze, com apt-get install squid3 virá a versão 3.1.6.
Nessa versão, se você configurar proxy transparente coloque 'intercept', pois 'transparent' é só até a versão 3.0.


Sim , eu estive pensando em colocar antes switch mas o diretor da escola onde trabalho so quer o server no Bloco B então eu começei a configurar o Squeezy ate baixei o Wheezy (estou usando em casa e no Notebook) estive pensando em instala-lo.
Quanto ao Hardware do server nao solicitei ao diretor uma maquina mais robusta, peguei uma no estoque para teste seuge config: Proc: I3 3ª 6GB Ram 1 Tb Hard disk , duas placas de rede (maquina que seria utilizada na sala de pesquisa) so acrescentei mais uma Placa de rede.
No bloco B tem uns 20 maquinas e passarão pelo Proxy, seria valido eu instalar o Wheezy ja que o mesmo vai se tornar ''stable''?

Sou novato na empresa, a escola tem em media 60 maquinas (escola pequena ainda).
Obrigadao Pela ajuda !!!





8. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 24/04/2013 - 01:07h

Se você não tiver pressa, pode esperar pelo Wheezy. O lançamento dele, dizem, está previsto para o mês que vem (dia 4 ou 5 de maio), mas não é certo, as vezes dá um atraso. No site oficial do Debian não está prevista nenhuma data para o lançamento.
Mas você pode instalar o Squeeze e ir testando, estudando. Os scripts do IPtables e do Squid você pode aproveitar depois no Wheezy.

Essa configuração de hardware segura, com folga, essa rede de 60 máquinas e você pode instalar um sistema de 64 bits.
No site do Debian, os sistemas de 64 bits são amd64. Baixe somente o CD 1.
http://cdimage.debian.org/debian-cd/6.0.7/amd64/iso-cd/

Como o Diretor quer o servidor somente para o bloco B, fica mais fácil para você. É só colocar ele antes do switch do bloco B. As outras máquinas 'pegarão' IP do DHCP do roteador e as máquinas do bloco B ficarão em uma subrede configurada no servidor.

Nesse link você encontra como instalar e configurar o sistema e o DHCP:
http://www.vivaolinux.com.br/artigo/Configuracao-do-sistema-DHCP-compartilhamento-e-DNS-no-Debian-Sq...

Teu servidor está, então, com 3 placas de rede?


9. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/04/2013 - 09:19h

Buckminster escreveu:

Se você não tiver pressa, pode esperar pelo Wheezy. O lançamento dele, dizem, está previsto para o mês que vem (dia 4 ou 5 de maio), mas não é certo, as vezes dá um atraso. No site oficial do Debian não está prevista nenhuma data para o lançamento.
Mas você pode instalar o Squeeze e ir testando, estudando. Os scripts do IPtables e do Squid você pode aproveitar depois no Wheezy.

Essa configuração de hardware segura, com folga, essa rede de 60 máquinas e você pode instalar um sistema de 64 bits.
No site do Debian, os sistemas de 64 bits são amd64. Baixe somente o CD 1.
http://cdimage.debian.org/debian-cd/6.0.7/amd64/iso-cd/

Como o Diretor quer o servidor somente para o bloco B, fica mais fácil para você. É só colocar ele antes do switch do bloco B. As outras máquinas 'pegarão' IP do DHCP do roteador e as máquinas do bloco B ficarão em uma subrede configurada no servidor.

Nesse link você encontra como instalar e configurar o sistema e o DHCP:
http://www.vivaolinux.com.br/artigo/Configuracao-do-sistema-DHCP-compartilhamento-e-DNS-no-Debian-Sq...

Teu servidor está, então, com 3 placas de rede?



Obrigado mesmo Buckminster, o server esta duas placas de rede.
Uma das minhas duvidas seria a subrede, O gateway e mask 192.168.0.1/24 ou seja eu so tenho uma rede!
Eu teria que criar uma sub rede no proprio server? Ou eu so preciso configurar o Iptables e Squid ?



10. config

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/04/2013 - 14:24h

Ficou assim a config eu ainda nao testei pois to sem tempo. Vou testar hoje a tarde sera que existe alguma erro?
A config do roteador 192.168.0.1/24


DHCP

/etc/network/interfaces

The loopback network interface

auto lo

iface lo inet loopback

#primeira placa de rede

allow-hotplug eth0


#segunda placa de rede

allow-hotplug eth1

iface eth1 inet static

address 192.168.0.1

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255


DHCPD.CONF

ddns-update-style none;

default-lease-time 95400;

max-lease-time 704800;

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192..168.1.2 192.168.1.100

option domain-name-servers 192.168.0.1;

option domain-name "canadense.com";

option routers 192.168.0.1;

option broadcast-address 192.168.1.255;

}





IPTABLES

#! /bin/bash

iptables -F INPUT

iptables -F OUTPUT

iptables -F FORWARD

iptables -t nat -F

iptables -t mangle -F

modprobe ip_tables

modprobe iptable_nat


echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 443 -j REDIRECT --to-port 3128

squid.conf

http_port 3128 intercept

cache_dir ufs /var/spool/squid3 5000 16 256

cache_mem 2000 MB

visible_hostname SK5

acl NETWORK src 192.168.1.0/24

acl permitido url_regex "/etc/squid3/permitido.txt"

acl restrito url_regex "/etc/squid3/restrito.txt"

acl coord src 192.168.1.5

http_access allow all coord

http_access allow all NETWORK permitido

http_access deny all NETWORK restrito

acl localnet src 192.168.1.0/24

http_access allow localnet


11. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Buckminster
Buckminster

(usa Debian)

Enviado em 29/04/2013 - 14:52h

#primeira placa de rede
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

#segunda placa de rede
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

No DHCP:
Coloque a linha option routers 192.168.0.1;
logo abaixo da linha do range.

option domain-name "canadense.com"; << Esse é teu domínio? Você tem um domínio configurado na escola?

No Squid deixe essas regras abaixo assim:

acl NETWORK src 192.168.1.0/24 << apague essa linha, você tem uma igual embaixo, a localnet.

acl permitido url_regex -i "/etc/squid3/permitido.txt"
acl restrito url_regex -i "/etc/squid3/restrito.txt"

A expressão -i deixa a consulta case insensitive, ou seja, não faz diferenciação entre maiúsculas e minúsculas nas palavras dentro dos arquivos. Veja se você quer assim, senão pode deixar sem o -i.

Somente modifique as regras abaixo sem mudá-las de lugar:
http_access allow coord
http_access allow permitido
http_access deny restrito

E acrescente por último, abaixo de hppt_access allow localnet essa regra:
http_access deny all << ela bloqueará tudo o que não foi bloqueado ou permitido antes.

Veja aqui as configurações mínimas recomendadas para o Squid:
http://www.vivaolinux.com.br/artigo/Squid-Entendendo-um-pouco-as-configuracoes/?pagina=4

Mas primeiro teste somente com o iptables e veja se o compartilhamento está funcionando. Depois instale e configure o Squid.


12. Re: Ajuda de como implantar o Squid/Iptables [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/04/2013 - 21:19h

Buckminster escreveu:

#primeira placa de rede
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

#segunda placa de rede
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

No DHCP:
Coloque a linha option routers 192.168.0.1;
logo abaixo da linha do range.

option domain-name "canadense.com"; << Esse é teu domínio? Você tem um domínio configurado na escola?

No Squid deixe essas regras abaixo assim:

acl NETWORK src 192.168.1.0/24 << apague essa linha, você tem uma igual embaixo, a localnet.

acl permitido url_regex -i "/etc/squid3/permitido.txt"
acl restrito url_regex -i "/etc/squid3/restrito.txt"

A expressão -i deixa a consulta case insensitive, ou seja, não faz diferenciação entre maiúsculas e minúsculas nas palavras dentro dos arquivos. Veja se você quer assim, senão pode deixar sem o -i.

Somente modifique as regras abaixo sem mudá-las de lugar:
http_access allow coord
http_access allow permitido
http_access deny restrito

E acrescente por último, abaixo de hppt_access allow localnet essa regra:
http_access deny all << ela bloqueará tudo o que não foi bloqueado ou permitido antes.

Veja aqui as configurações mínimas recomendadas para o Squid:
http://www.vivaolinux.com.br/artigo/Squid-Entendendo-um-pouco-as-configuracoes/?pagina=4

Mas primeiro teste somente com o iptables e veja se o compartilhamento está funcionando. Depois instale e configure o Squid.


É ta dificil rsrsrs so assim mesmo para aprender,
jogo esta config no server e algumas maquinas nao conseguem navegar dar um conflito, a recepcionista toda fica me ligando, nesta escola somos 3 que trabalha com Ti o cara que trata da redes ta encostado nen tenho contato com ele eu to pegando rede agora na facul e meu prof nen me ajuda, ele sempre que nao tem tempo e tal!!!
Fiz o mesmo e casa e minha rede cai,nao consigo nen acessar o roteador quando conecto o cabo na eth0 penso que Iptables esteja errado, e O Dhcp nao sobe com esta config. Po Buckminster tuas dicas são otimas li quase todas Vou aproveitar que to em casa hoje e amanha para continuar testando. Obrigadao pela força!!

DHCP

/etc/network/interfaces
The loopback network interface
auto lo

iface lo inet loopback

#primeira placa de rede
auto eth0
allow-hotplug eth0
allow eth0 inet dhcp

#segunda placa de rede
auto eth1
auto eth1
allow-hotplug eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255


DHCPD.CONF

ddns-update-style none;
default-lease-time 95400;
max-lease-time 704800;
authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.2 192.168.1.100
option routers 192.168.0.1;
option domain-name-servers 192.168.0.1;
option broadcast-address 192.168.1.255;
}





IPTABLES

#! /bin/bash
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -t nat -F
iptables -t mangle -F
modprobe ip_tables
modprobe iptable_nat


echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 443 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p udp --dport 443 -j REDIRECT --to-port 3128










Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts