+ Responder ao Tópico



  1. #1
    PRISCILASCHU
    Visitante

    Padrão Será que aprendi? rd.firewall

    Depois de ler um pouco e receber sugestões e puxões de orelha de colegas da lista, tentei montar o meu firewall.

    Gostaria que quem tivesse um pouco de tempo analisasse e me ajudasse a saber onde estão as falhas.

    O que eu quero é: bloquear tudo e depois liberar apenas o que eu preciso, que é :

    1) Usuarios da rede interna possam acessar a Internet (através do squid), acesso a páginas e email
    Estes mesmos usuarios não deveriam ter acesso a MSN, ICQ, Skype...

    2) Gostariamos que algumas maquinas (especificamente "Servidor SP" e "Servidor Amigo") pudessem acessar via Terminal Server uma máquina da minha rede interna chamada "IPJoc"

    Segue o arquivo

    #!/bin/bash
    #
    RedeLocal="192.165.9.0/24"
    ServidorSP="teste.no-ip.info"
    Servidoramigo="200.25.9.2"
    MSN1="207.46.104.20"
    MSN2="207.46.107.141"
    MSN3="207.46.110.100"
    MSN4="207.68.177.126"
    ICQ1="64.12.164.248"
    ICQ2="64.12.202.217"
    ICQ3="205.188.251.88"
    ICQ4="205.188.241.121"
    #
    ###############
    ##### NAT #####
    ###############
    # Limpa as regras da tabela filter
    iptables -F
    #
    # Limpa as regras da tabela nat
    iptables -t nat -F
    #
    # Exclui as chains da tabela nat
    iptables -t nat -X
    #
    # Aplica politicas padroes para as chains
    iptables -P OUTPUT ACCEPT
    iptables -P INPUT DROP
    iptables -P FORWARD DROP
    #
    # Mantem as conexoes ja estabelecidas
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    #
    # Libera acesso da rede local a Internet
    iptables -A INPUT -i eth0 -s $RedeLocal -j ACCEPT
    iptables -t nat -A POSTROUTING -s $RedeLocal -o ppp0 -j MASQUERADE
    #
    # Obriga a Rede Local a passar pelo Squid - bloqueando sites pornos
    iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
    #
    # Bloquando Ping da Morte
    iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
    #
    # Protecao contra pacotes danificados, suspeitos ou mal formados.
    iptables -A FORWARD -m unclean -j DROP
    #
    # Autorizacao para alguns servidores acessarem via Terminal Server/Conexao Remota
    iptables -t nat -A PREROUTING -s $Servidoramigo -i ppp0 -p tcp --dport 3389 -j DNAT --to 192.168.10.241:3389
    iptables -t nat -A PREROUTING -s $ServidorSP -i ppp0 -p tcp --dport 3389 -j DNAT --to 192.168.10.241:3389
    #
    # Bloqueando o MSN
    iptables -A FORWARD -s $RedeLocal -d $MSN1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN4 -j DROP
    #
    # Bloqueando o ICQ
    iptables -A FORWARD -s $RedeLocal -d $ICQ1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $ICQ4 -j DROP
    #
    # Libera algumas portas http/https/pop3/pop3 ssl
    iptables -A FORWARD -d $RedeLocal -i ppp0 -o eth0 -j ACCEPT
    iptables -A FORWARD -s $RedeLocal -i eth0 -o ppp0 -j ACCEPT
    iptables -A FORWARD -s $RedeLocal -p tcp --dport 80 -j ACCEPT
    iptables -A FORWARD -s $RedeLocal -p tcp --dport 443 -j ACCEPT
    iptables -A FORWARD -s $RedeLocal -p tcp --dport 110 -j ACCEPT
    iptables -A FORWARD -s $RedeLocal -p tcp --dport 995 -j ACCEPT #
    #
    echo 1 > /proc/sys/net/ipv4/ip_forward

  2. #2
    fabricio_
    Visitante

    Padrão Re: Será que aprendi? rd.firewall

    eu acho mais pratico bloquear o msn pelo proxy ...

    uma dica para ajduar a manutencao do proxy , eh agrupar as regras com for's

    # Bloqueando o MSN
    iptables -A FORWARD -s $RedeLocal -d $MSN1 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN2 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN3 -j DROP
    iptables -A FORWARD -s $RedeLocal -d $MSN4 -j DROP

    ficaria

    for DST in $MSN1 $MSN2 $MSN3 $MSN4 ; do
    iptables -A FORWARD -s $RedeLocal -d $DST -j DROP
    done


    -----
    outra dica que ajuda na manutencao : no fim das regras drope tudo , e log tb ! =D assim na hora q alguem reclamar q tem alg sendo bloqueado , vc encherga oq

  3. #3
    PRISCILASCHU
    Visitante

    Padrão Re: Será que aprendi? rd.firewall

    Fabricio,

    Esse for ...done que vc usou é dentro do squid? neste caso eu não colocaria nada no firewall?

    Obrigada.

  4. #4
    fabricio_
    Visitante

    Padrão Re: Será que aprendi? rd.firewall

    calma , esse for eh um exemplo de como vc pode agrupar regras ligeiramente iguais !
    na minha opiniao vc poderia remover essas regras referentes ao msn , e no squid criasse uma acl para bloquear o msn

    acl MSN url_regex "msn.url"


    e no msn.url coloque :

    gateway.dll

    tem mais algumas coisas para por , mas nao estou no meu servico agora e estou lembrando de cabeca ....


    abracos