+ Responder ao Tópico



  1. #1

    Padrão Firewall + Proxy - Help

    Saudações galera do UNDER, estou montando um servidor OpenSuse 10.3 na empresa em que trabalho e gostaria de saber de vocês se tem como rodar o Firewall do proprio opensuse (Firewall2) junto com o proxy, pois já instalei o proxy e configurei tudo, autenticação, cache entre outras coisas, mas nao estou conseguindo fazer o firewall funcionar direito....quando ativo o FIREWALL o SQUID não funciona....será que teria como alguem me desse uma ajuda???


    Grato.

  2. #2

    Padrão

    Duas possibilidades para o seu problema:

    1 - Você não habilitou o tráfego de entrada na porta 3128. Esse pode ser o motivo se os seus clientes não estiverem recebendo resposta nenhuma do proxy.

    2 - Você não habilitou o tráfego de saída nas portas 21, 80 e 443 para que o Squid possa buscar as páginas na Internet. Isso pode ser detectado se você receber do proxy mensagens de time out para as páginas que tentar acessar.

    Se não for nenhuma dessas duas opções, me dê mais informações para que eu possa tentar te ajudar melhor.

  3. #3

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Duas possibilidades para o seu problema:

    1 - Você não habilitou o tráfego de entrada na porta 3128. Esse pode ser o motivo se os seus clientes não estiverem recebendo resposta nenhuma do proxy.

    2 - Você não habilitou o tráfego de saída nas portas 21, 80 e 443 para que o Squid possa buscar as páginas na Internet. Isso pode ser detectado se você receber do proxy mensagens de time out para as páginas que tentar acessar.

    Se não for nenhuma dessas duas opções, me dê mais informações para que eu possa tentar te ajudar melhor.


    Obrigado galahad pela informação, desculpa pela pergunta mas é que sou novato na area de Servidores Linux, mas como que eu faço pra add esses 2 trafegos???
    O Squid eu configurei ele todo com autenticação, web-proxy e politica de grupo de usúarios, só que nessa parte do firewall que eu estou "apanhando".

    Eu uso o OpenSuse 10.3 com Squid e DHCP.

    Qual informação mais você precisa ???

    Grato!!!

  4. #4

    Padrão

    Você configurou seu firewall via yast ou via script? Está usando o firewall padrão do SuSE?

  5. #5

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Você configurou seu firewall via yast ou via script? Está usando o firewall padrão do SuSE?

    Configurei via YAST, e é o proprio firewall do Suse, acho que é isso que tah dando problemas, não sei ao certo....

    Teria como vc me ajudar????

    Grato!!!

  6. #6

    Padrão

    Citação Postado originalmente por maverickv12 Ver Post
    Configurei via YAST, e é o proprio firewall do Suse, acho que é isso que tah dando problemas, não sei ao certo....

    Teria como vc me ajudar????

    Grato!!!

    Tem como vc passar as regras de Firewall ??

  7. #7

    Padrão

    Citação Postado originalmente por mastellaro Ver Post
    Tem como vc passar as regras de Firewall ??

    Eh justamente isso que eu to precisando de ajuda, não sei como fazer as regras e onde faço, como já disse, sou nvoato nessa área, trabalhei apenas linux como DESKTOP, não usei linux como servidor, e conseguir configurar o SQUID, com a ajuda da galera aqui do forum e com pesquisas, porem ate agora não achei nada falando de configuração de firewall no opensuse 10.3, só ouvir falar, que o SQUID com o FIREWALL do proprio opensuse nao da certo, mas tbm não sei se é verdade, por isso estava querendo saber se tem como e como que faço pros 2 funcionarem juntos,

    Digitando o comando iptables -nL tenho as seguintes regras em anexo. ( iptables.doc)

    e os outros 2 anexos são do arrquivo SuseFirewall2( sao o mesmo arquivo porem com extensões diferentes)

    Muito obrigado pela sua ajuda!!!

    Grato.
    Arquivos Anexos Arquivos Anexos

  8. #8

    Padrão

    Primeiro uma observação com relação aos anexos. Sempre prefira o uso de arquivos com formato txt, ou utilize sites como o pastebin.com (pastebin - collaborative debugging tool) para fazer referência a logs e arquivos de configuração, assim fica muito mais fácil visualizar as informações, não precisaria abrir o open office só pra isso, ok?

    Quanto ao seu firewall... em uma olhada rápida no arquivo SuSEfirewall2.txt, seu firewall está completamente aberto.

    A linha:

    FW_SERVICES_EXT_TCP="5801 5901 domain http https imap imaps ipp iscsi-target ldap ldaps microsoft-ds mysql netbios-ssn pbs pbs_mom pbs_resmom pbs_sched pop3 pop3s rsync smtp ssh svrloc xdmcp"
    deixa aberto no firewall todos estes serviços para pessoas que estejam fora da sua rede. Faça uma limpeza nessas configurações, deixe apenas os serviços que você vai oferecer para a Internet, se é que algum deles vai realmente rodar no firewall (o que não é uma boa política). O mesmo vale para os serviços UDP, na verdade, todas as linhas que comecem com "FW_SERVICES_EXT_", já que são serviços que serão visíveis por pessoas fora da sua rede, devem conter o mínimo necessário para o provimento dos serviços pra internet.

    No caso dos serviços providos para a rede interna, estes ficam nas linhas iniciadas por "FW_SERVICES_INT_" e é nessas linhas que você vai liberar, por exemplo, a porta 3128/tcp para que seus usuários possam se conectar com o Squid. Mas o mesmo é válido aqui para os demais serviços. Desabilite todos os que não são utilizados e só libere acesso para aqueles estritamente necessários.

    Eu não achei nessas configurações onde é que ficam as portas liberadas para saída. Mas eu, minha opinião pessoal, não gosto desses firewalls pré-prontos. Acho que vale muito a pena você entender como é que funciona o IPTables e tentar fazer as suas próprias regras, afinal de contas, só você conhece o seu ambiente e sabe o que você quer proteger nele. Esse firewall do SuSE é extremamente limitado, assim como a maioria desses baseados em "receita de bolo".

    Veja o que consegue fazer por aí, se precisar de ajuda é só falar. Terei o maior prazer em te indicar material de leitura e até te ajudar a descomplicar o IPTables.

  9. #9

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Primeiro uma observação com relação aos anexos. Sempre prefira o uso de arquivos com formato txt, ou utilize sites como o pastebin.com (pastebin - collaborative debugging tool) para fazer referência a logs e arquivos de configuração, assim fica muito mais fácil visualizar as informações, não precisaria abrir o open office só pra isso, ok?

    Quanto ao seu firewall... em uma olhada rápida no arquivo SuSEfirewall2.txt, seu firewall está completamente aberto.

    A linha:



    deixa aberto no firewall todos estes serviços para pessoas que estejam fora da sua rede. Faça uma limpeza nessas configurações, deixe apenas os serviços que você vai oferecer para a Internet, se é que algum deles vai realmente rodar no firewall (o que não é uma boa política). O mesmo vale para os serviços UDP, na verdade, todas as linhas que comecem com "FW_SERVICES_EXT_", já que são serviços que serão visíveis por pessoas fora da sua rede, devem conter o mínimo necessário para o provimento dos serviços pra internet.

    No caso dos serviços providos para a rede interna, estes ficam nas linhas iniciadas por "FW_SERVICES_INT_" e é nessas linhas que você vai liberar, por exemplo, a porta 3128/tcp para que seus usuários possam se conectar com o Squid. Mas o mesmo é válido aqui para os demais serviços. Desabilite todos os que não são utilizados e só libere acesso para aqueles estritamente necessários.

    Eu não achei nessas configurações onde é que ficam as portas liberadas para saída. Mas eu, minha opinião pessoal, não gosto desses firewalls pré-prontos. Acho que vale muito a pena você entender como é que funciona o IPTables e tentar fazer as suas próprias regras, afinal de contas, só você conhece o seu ambiente e sabe o que você quer proteger nele. Esse firewall do SuSE é extremamente limitado, assim como a maioria desses baseados em "receita de bolo".

    Veja o que consegue fazer por aí, se precisar de ajuda é só falar. Terei o maior prazer em te indicar material de leitura e até te ajudar a descomplicar o IPTables.

    Obrigado Galahad pela ajuda, cara, se nao for abusar demais da sua ajuda teria como vc me passar um tutorial de montar o firewall (iptables) ou vc mesmo me ajudar, tipow sou meio leigo no asunto e ate o momento, sem que tenho que criar um arquivo e no inicio dele colocar o comando

    #!/bin/bash

    para que ele vire um script, ai agora como que faco pra colocar a regra, e como faco a regra para que todas as requisições dos computadore da rede passe primeiro pela autenticação de usúarios???

    Grato.

  10. #10

    Padrão

    Maverick,

    Uma excelente fonte para o iptables é o help do próprio iptables, bem como a man page, que eu consulto sempre que tenho alguma dúvida. Fora isso, o tópico que trata do firewall iptables no Guia Foca (Guia Foca GNU/Linux - Firewall iptables) também é uma ótima fonte de consulta. Também existe um artigo no wiki do Under-Linux que trata do assunto: Tutoriais/Seguranca/implemantacao-linux-iptables - UnderLinux Wiki

    Mas vamos ao seu firewall básico:

    Primeiro uma breve noção das tabelas disponíveis:

    filter: faz filtragem dos pacotes
    nat: faz tradução de endereçamento
    mangle: modifica os pacotes
    raw: trata os pacotes em seu estado original

    As tabelas mais utilizadas são a filter, que é a tabela padrão e a nat, para fazer tradução de endereços e redirecionamento de portas.

    Na tabela filter, temos as seguintes direções:

    INPUT: pacotes que tem como destino a máquina do firewall
    OUTPUT: pacotes que tem como origem a máquina do firewall
    FORWARD: pacotes que atravessam o firewall

    Na tabela nat, temos as direções:

    PREROUTING: tratamento dos pacotes antes do início do roteamento
    POSTROUTING: tratamento dos pacotes depois do roteamento
    OUTPUT: tratamento dos pacotes que saem do firewall

    O arquivo do firewall pode ser tanto um script shell, quanto um arquivo no formato iptables, mas para fins deste firewall básico, vamos ficar com o script shell.
    ------------ iptables.sh
    #!/bin/bash
    # Como existem diferenças nos paths de algumas distribuições,
    # vamos deixar o script achar o executável:
    IPT=`which iptables`

    # Se o seu iptables estiver configurado como módulos no kernel, é
    # necessário carregar alguns deles:
    MODULOS="ip_tables nf_conntrack_ipv4 nf_conntrack"

    for mod in ${MODULOS}; do
    modprobe ${mod}
    done

    # Também precisamos acertar alguns detalhes com o kernel
    # Habilita o roteamento entre as interfaces
    sysctl -q -w net.ipv4.ip_forward=1
    # Habilita o syncookies que ajuda a minimizar ataques de SYN Flood
    sysctl -q -w net.ipv4.tcp_syncookies=1
    # Limita o ICMP para o maximo de 100 requisicoes por minuto
    sysctl -q -w net.ipv4.icmp_ratelimit=100
    # Ignora ICMPs enviados para broadcast
    sysctl -q -w net.ipv4.icmp_echo_ignore_broadcasts=1
    # Nega redirecionamento de ICMP
    sysctl -q -w net.ipv4.conf.all.accept_redirects=0
    # Nao envia redirecionamento de pacotes ICMP
    sysctl -q -w net.ipv4.conf.all.send_redirects=0
    # Habilita filtro de "caminho de retorno" para evitar spoof
    sysctl -q -w net.ipv4.conf.all.rp_filter=0
    sysctl -q -w net.ipv4.conf.eth0.rp_filter=0
    sysctl -q -w net.ipv4.conf.eth1.rp_filter=0
    # Habilita log de pacotes desconhecidos/esquisitos
    sysctl -q -w net.ipv4.conf.all.log_martians=0

    # Definimos algumas variaveis para uso no script
    IFEXT="eth0"
    IFINT="eth1"

    REDE_INTERNA="192.168.1.0/24"
    FWINT="192.168.50.1"
    # Se tiver IP Fixo
    # FWEXT="200.x.y.z"

    SRVMAIL="200.x.y.t"

    # Pode ainda definir outras variaveis a seu gosto

    # Tabela Filter
    # Habilita trafego local
    # Libera o acesso ao localhost de conexoes originadas no proprio firewall
    ${IPT} -A INPUT -i lo -j ACCEPT
    ${IPT} -A OUTPUT -o lo -j ACCEPT
    ${IPT} -A FORWARD -i lo -o lo -j ACCEPT

    # Libera acesso SSH a partir da rede interna
    ${IPT} -A INPUT -i ${IFINT} -p tcp --dport 22 -s ${REDE_INTERNA} -j ACCEPT

    # Libera acesso ao Squid
    ${IPT} -A INPUT -i ${IFINT} -p tcp --dport 3128 -s ${REDE_INTERNA} -j ACCEPT

    # Libera o squid para navegar na Internet
    ${IPT} -A OUTPUT -p tcp -m multiport --dports 21,80,443 -j ACCEPT

    # Libera consultas DNS em todas as direções
    ${IPT} -A INPUT -p tcp --dport 53 -j ACCEPT
    ${IPT} -A OUTPUT -p tcp --dport 53 -j ACCEPT
    ${IPT} -A FORWARD -p tcp --dport 53 -j ACCEPT
    ${IPT} -A INPUT -p udp --dport 53 -j ACCEPT
    ${IPT} -A OUTPUT -p udp --dport 53 -j ACCEPT
    ${IPT} -A FORWARD -p udp --dport 53 -j ACCEPT

    # Libera acesso pop e smtp ao e-mail
    ${IPT} -A FORWARD -d ${SRVMAIL} -p tcp -m multiport --dports 25,110 -j ACCEPT

    # Tabela NAT
    # Cria regras para tratar spoof e SYNFlood
    # Mantem as conexoes estabelecidas e faz controle do estado de novas conexoes
    ${IPT} -t nat -A PREROUTING -m state --state RELATED,ESTABLISHED -j ACCEPT
    ${IPT} -t nat -A PREROUTING -m state --state INVALID -j LOG --log-prefix "FW INVALID: "
    ${IPT} -t nat -A PREROUTING -m state --state INVALID -j DROP
    ${IPT} -t nat -A PREROUTING -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "FW NEWNOTSYN: "
    ${IPT} -t nat -A PREROUTING -p tcp ! --syn -m state --state NEW -j DROP
    ${IPT} -t nat -A PREROUTING -p tcp --syn -m state --state ! NEW -j LOG --log-prefix "FW SYNNOTNEW: "
    ${IPT} -t nat -A PREROUTING -p tcp --syn -m state --state ! NEW -j DROP

    # Redireciona acessos HTTP para o Squid
    ${IPT} -t nat -A PREROUTING -p tcp -m multiport --dports 80,443 -j DNAT --to ${FWINT}:3128

    # Faz masquerade dos pacotes que vão sair do firewall
    ${IPT} -t nat -A POSTROUTING -o ${IFEXT} -j MASQUERADE
    # Se tiver IP Fixo, pode usar o SNAT
    # ${IPT} -t nat -A POSTROUTING -o ${IFEXT} -j SNAT --to ${FWEXT}
    Tá aí... você tem um firewall básico que permite a navegação via Squid, o acesso ao e-mail e consultas DNS.

  11. #11

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Maverick,

    Uma excelente fonte para o iptables é o help do próprio iptables, bem como a man page, que eu consulto sempre que tenho alguma dúvida. Fora isso, o tópico que trata do firewall iptables no Guia Foca (Guia Foca GNU/Linux - Firewall iptables) também é uma ótima fonte de consulta. Também existe um artigo no wiki do Under-Linux que trata do assunto: Tutoriais/Seguranca/implemantacao-linux-iptables - UnderLinux Wiki

    Mas vamos ao seu firewall básico:

    Primeiro uma breve noção das tabelas disponíveis:

    filter: faz filtragem dos pacotes
    nat: faz tradução de endereçamento
    mangle: modifica os pacotes
    raw: trata os pacotes em seu estado original

    As tabelas mais utilizadas são a filter, que é a tabela padrão e a nat, para fazer tradução de endereços e redirecionamento de portas.

    Na tabela filter, temos as seguintes direções:

    INPUT: pacotes que tem como destino a máquina do firewall
    OUTPUT: pacotes que tem como origem a máquina do firewall
    FORWARD: pacotes que atravessam o firewall

    Na tabela nat, temos as direções:

    PREROUTING: tratamento dos pacotes antes do início do roteamento
    POSTROUTING: tratamento dos pacotes depois do roteamento
    OUTPUT: tratamento dos pacotes que saem do firewall

    O arquivo do firewall pode ser tanto um script shell, quanto um arquivo no formato iptables, mas para fins deste firewall básico, vamos ficar com o script shell.


    Tá aí... você tem um firewall básico que permite a navegação via Squid, o acesso ao e-mail e consultas DNS.
    Obrigado galahad, vou fazer o arquivo aqui e vou testar, muito obrigado mesmo, só mais uma ultima pergunta aqui, esse ai são os minimos de comando que tem que ter pra rodar o firewall com o SQUID???

    Vou olhar esses tutoriais.

    Grato!!!

  12. #12

    Padrão

    Maverick,

    sim, esse é o script básico para funcionar o firewall com Squid. Ele libera o tráfego de entrada na porta 3128 e o tráfego de saída para as portas 80 e 443, que são as portas que o Squid utiliza.

  13. #13

    Padrão

    Citação Postado originalmente por galahad Ver Post
    Maverick,

    Uma excelente fonte para o iptables é o help do próprio iptables, bem como a man page, que eu consulto sempre que tenho alguma dúvida. Fora isso, o tópico que trata do firewall iptables no Guia Foca (Guia Foca GNU/Linux - Firewall iptables) também é uma ótima fonte de consulta. Também existe um artigo no wiki do Under-Linux que trata do assunto: Tutoriais/Seguranca/implemantacao-linux-iptables - UnderLinux Wiki

    Mas vamos ao seu firewall básico:

    Primeiro uma breve noção das tabelas disponíveis:

    filter: faz filtragem dos pacotes
    nat: faz tradução de endereçamento
    mangle: modifica os pacotes
    raw: trata os pacotes em seu estado original

    As tabelas mais utilizadas são a filter, que é a tabela padrão e a nat, para fazer tradução de endereços e redirecionamento de portas.

    Na tabela filter, temos as seguintes direções:

    INPUT: pacotes que tem como destino a máquina do firewall
    OUTPUT: pacotes que tem como origem a máquina do firewall
    FORWARD: pacotes que atravessam o firewall

    Na tabela nat, temos as direções:

    PREROUTING: tratamento dos pacotes antes do início do roteamento
    POSTROUTING: tratamento dos pacotes depois do roteamento
    OUTPUT: tratamento dos pacotes que saem do firewall

    O arquivo do firewall pode ser tanto um script shell, quanto um arquivo no formato iptables, mas para fins deste firewall básico, vamos ficar com o script shell.


    Tá aí... você tem um firewall básico que permite a navegação via Squid, o acesso ao e-mail e consultas DNS.

    Rapaz, eu nao aguento ver umas coisas dessas nao.... amigão o google é rico em material, se fosse algo novo e talz era interessante a gente compartilhar.... mas documento sobre iptables a gente ve mais do que nota de 1 real....

    Vai no google e pesquisa, dá um procura por:

    Guia Foca Linux
    Iptables by eriberto

    com esses dois guias vc fica fera...