+ Responder ao Tópico



  1. #1

    Padrão Duvidas sobre uma regra

    Ola pessoal, estou começando agora a lidar com iptables, estava querendo arrumar um jeito de forçar a galera aki do trampo a usarem o proxy... li sobre proxy transparente e pretendia usar, mas meu chefe deu piti quando soube q não ia mais ser autenticado... ai pensei em bloquear a porta 80, assim forçando a utilizarem o proxy pra poder acessar a internet, mas ai veio a duvida, como tenho uma pagina hospedado no mesmo servido firewall/proxy, bloquear a porta 80 poderia atrapalhar ao acesso a minha pagina,(se não estou errado, se estou falando merda, por favor me avisem! eu quero aprender!). Ai pensei em apenas bloquear todas as requisições a porta 80 proveniente da minha rede interna, assim não atrapalharia com as requisições externas a mesma. Mas ai que está, como nunca implementei nada mesmo em iptables, tenho medo de que minha logica esteja furada, como eu acho q esteja... Ela faz algum sentindo ?? Sabem se assim eu conseguiria forçar a galera a ter q usar o proxy para navegar ??
    Até onde entendi, a regra teria que ficar assim
    iptables -A INPUT -p tcp -s 192.168.0.0/24 --sport 80 -j REJECT

    Quem puder dar uma luz e umas dicas, aceito... to lendo tudo quanto é documentação, howto e exemplos que posso a respeito... mas ainda não to entendendo muito bem a logica da coisa... Como por exemplo, sei q em iptables primeiro libera e depois bloqueia. Caso a regra acima esteja correta, ao meu ver para ela funcionar corretamente eu teria que colocar ela antes de liberar a 80 ??

    Bom, estou contando com vcs...
    Abraços

  2. #2
    charadaa
    Visitante

    Padrão Duvidas sobre uma regra

    Você pode fazer o seguinte redirecionar todas as requisições que venham da sua rede interna procurando a porta 80 para a porta 80 do seu firewall, desta forma qualquer um que removesse as confirurações de proxy no navegador cairia automaticamente no seu site na porta 80 do servidor "firewall" para isso faça todos os usuarios navegarem pela porta 3128 com as configurações de proxy, segue as regras a serem usadas no iptables.
    "iptables -t nat -A PREROUTING -i ethx -p tcp --dport 80 -J REDIRECT --to 192.168.0.254 --to-port 80"
    "iptables -t nat -A PREROUTING -i ethx -p udp --dport 80 -J REDIRECT --to 192.168.0.254 --to-port 80"

    Sendo que ethx é a interface que responde pela sua rede interna e "192.168.0.254" é o ip desta interface.

    Falow Xerife espero que funcione qq duvida poste ai no forum

  3. #3

    Padrão Duvidas sobre uma regra

    Mal a demora, ontem mesmo consegui fazer o que eu queria.

    Usei está regra, assim consigo obrigar a todos a usarem o maldito proxy e meu chefe fica contente com os relatorios vendo o nome de todo mundo lá

    iptables -I FORWARD -p tcp -s 192.168.0.0/24 -p tcp --sport 80 -j REJECT

    Essa regra so deixa a galera aqui navegar se usarem o proxy :wink:

    Só que ela não deixa abrir a pagina da empresa aqui na rede local, embora não veja necessidade disso, sei q vai ter encheção de saco logo mais

    Outra coisa que está pegando... as politicas das chains aqui estão as mais toscas, tipo "HJ É FESTA LÁ NO MEU APÊ!!". Todas com politica ACCEPT. Fui jogar a politica da chain INPUT para DROP e perdi minha conexão remota com o servidor, mesmo tendo a porta 22 liberada na primeira linha de regras. Alguma luz ??

    Valeu pelas dicas charadaa. Mas ae fica minha duvida, minha maquina firewall é a mesma maquina na qual compartilho internet e tenho outros serviços rodando, vai funcionar assim mesmo essas regras ??

  4. #4
    dispatcher
    Visitante

    Padrão Duvidas sobre uma regra

    Drozzini sugiro a leitura do guia foca avançado seçao iptables para aprender sobre o dito. É muito bom e esclarecedor.
    Agora uma dica: o que eu faço nas redes que administro é usar o samba pra autenticar e proxy transparente. Assim, só as pessoas autorizadas podem usar as maquinas e ainda por cima nao podem remover configuracoes de proxy.. Outra coisa, nao eh muito bom deixar só uma maquina responsavel por roteamento, firewall, apache e todos os outros servicos. É mais dificil administrar e vc fica mais vulnerável. O ideal é deixar uma só como roteador/firewall e outra para os outros servicos...
    Espero ter ajudado!
    FAlow

  5. #5

    Padrão Duvidas sobre uma regra

    Olá! Bom dispatcher logico que eu gostaria de ter maquinas separadas, mas não posso dizer que na empresa que eu trabalho tenha uma infro razoavel... pra ficar razoavel tem muito o que melhorar, apesar de ser pequena, são coisa de 20 usuarios mais ou menos... então não fica tão complicado. Os usuários aqui são autenticados no dominio Ruindows. E meu chefe torceu o nariz pro proxy transparente pq não tinha o nome dos usuários nos relatorios!!! Chefe já viu né... por mim proxy transparente ia ser bem mais facil e funciona que é uma maravilha. E valeu pela dica do guia foca...

    Já aproveitando, eu não consigo acessar o WebMin pela porta 10000 usando o proxy, alguma dica ??

    Valeu,
    Abraços

  6. #6

    Padrão Duvidas sobre uma regra

    de tanto posta sobre proxy transparente e barrando o msn eu fiz um mini howto, espero q te ajude.


    O msn ele utiliza duas maneiras pra se autenticar, uma eh a porta 1863, e a outra ele utiliza a porta 80 e busca o arquivo chamado gateway.dll, pra barra o msn vc precisa do squid + iptables

    iptables vc barra a porta de forward 1863
    squid vc utiliza pra barra o gateway.dll

    então no arquivo onde vc coloca os sites que n deveram acessa, vc coloca esse nome gateway.dll

    agora bora deixa seu squid transparente...

    iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:3128

    se squid tiver na mesma maquina onde ta o firewall, troque o DNAT por REDIRECT

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

    lembrando que 192.168.1.0/24 é o ip da sua rede interna e o 192.168.1.1 é o ip onde ta o squid.

    aqui, como ta tudo drop, eu n barro a porta 1863, eu só faço liberar pra algumas maquinas, mas vou manda a regra pra barra-la

    iptables -A FORWARD -s 182.168.1.0/24 -p tcp --dport 1863 -j DROP
    t+

  7. #7

    Padrão Duvidas sobre uma regra

    Brenno ! Valeu ! Mas consegui bloquear o msn bloqueando o acesso a pagina onde ele executa o login que é : loginnet.passport.com . Pelo menos funcionou aqui, não conseuia logar....

    Não sei se fiz errado, mas o q eu tenho q conseguir bloquear agora é Emule, Kazaa, Shareaza e coisa do tipo... Nem tive muito tempo de mecher devido a outros problemas se tornaram prioritarios... Já tentei algumas regras que encontrei aqui nos tutorias, mas sem sucesso. Só que tenho certeza que as utilizei de forma errada. Caso tenham uma iideia, postem ae, por gentileza. Assim que conseguir terminar meu script de firewall, eu posto aqui pra vcs darem uma opinião e uma validada, se não tiver problemas é claro. O que vcs me dizem ??

    Abraços

  8. #8

    Padrão Duvidas sobre uma regra

    se vc barra loginnet.passport.com , alem do msn ele barra o e-mail, ou seja, seus usuarios n vao conseguir acessar a conta do hotmail via browser, por isso recomendo usar o squid e barra o gateway.dll, espero q consiga monta seu firewall

    boa sorte

  9. #9

    Padrão Duvidas sobre uma regra

    Certo Brenno, entendi, gateway.dll, valeu a dica, mas isso apenas o msn usa certo ? Fico grato mesmo!

    Meu caros do Fórum da UnderLinux, podem avaliar como está esse script ??

    #Carregando os modulos necessarios
    #
    modprobe iptable_nat
    modprobe ip_nat_ftp
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_conntrack_irc

    #Limpar as regras
    #
    iptables --flush
    iptables --delete-chain
    iptables -t nat -F
    iptables -F
    iptables -X
    iptables -Z

    #Politicas (regras default: serão tomadas qdo não houver uma regra especifica para o caso)
    #
    iptables -P INPUT DROP #Rejeita todos pacotes que entram
    iptables -P OUTPUT ACCEPT #Permite a saida de qualquer pacote
    iptables -P FORWARD ACCEPT #Aceita redirecionamento do pacote
    iptables -t nat -P PREROUTING ACCEPT # Aceita os NAT de prerouting
    iptables -t nat -P POSTROUTING ACCEPT # Aceita os NAT de postrouting

    #Para forçar a utilização do proxy
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -m multiport -p tcp --dport 80,81,8080,8081,3128 -j ACCEPT

    #Regra de NAT
    #
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE

    #Liberando LoopBack
    #
    iptables -A INPUT -i lo -j ACCEPT

    #Liberar acesso ao WTS
    #
    iptables -A PREROUTING -t nat -p tcp --dport 3389 -d 200.183.142.130 -j DNAT --to 192.168.0.4
    iptables -A POSTROUTING -t nat -p tcp --dport 3389 -d 192.168.0.4 -j MASQUERADE

    #Bloquear KaZaA
    iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
    iptables -A FORWARD -p TCP --dport 1214 -j REJECT

    #Liberar Rede Local
    #
    iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT


    #Regras para INPUT
    #Regras Para INPUT de portas TCP

    iptables -A INPUT -p TCP -i eth1 --dport 20 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 21 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 22 -j ACCEPT
    iptables -A INPUT -p TCP -i eth0 --dport 22 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 25 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 53 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 80 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 143 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 199 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 443 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 783 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 1984 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 3000 -j ACCEPT
    iptables -A INPUT -p TCP -i eth1 --dport 10000 -j ACCEPT

    #Regras Para INPUT de portas UDP

    iptables -A INPUT -p UDP -i eth1 --dport 20 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 21 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 22 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 25 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 53 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 80 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 123 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 143 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 161 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 443 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 1024 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 3000 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 3130 -j ACCEPT
    iptables -A INPUT -p UDP -i eth1 --dport 10000 -j ACCEPT

    Só não humilhem muito hehehe... é o primeiro que monto, ainda estou estudando iptables. Qualquer dica e sugestão com certeza é bem vinda!
    Agradeço desde já!

  10. #10

    Padrão Duvidas sobre uma regra

    #Carregando os modulos necessarios
    #
    modprobe iptable_nat
    modprobe ip_nat_ftp
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_conntrack_irc

    #Limpar as regras
    #
    iptables --flush
    iptables --delete-chain
    iptables -t nat -F
    iptables -F
    iptables -X
    iptables -Z

    #Politicas (regras default: serão tomadas qdo não houver uma regra especifica para o caso)
    #
    iptables -P INPUT DROP #Rejeita todos pacotes que entram
    iptables -P OUTPUT ACCEPT #Permite a saida de qualquer pacote
    iptables -P FORWARD ACCEPT #Aceita redirecionamento do pacote
    iptables -t nat -P PREROUTING ACCEPT # Aceita os NAT de prerouting
    iptables -t nat -P POSTROUTING ACCEPT # Aceita os NAT de postrouting

    #Para forçar a utilização do proxy
    iptables -t nat -A POSTROUTING -s 192.168.0.30/32 -j MASQUERADE
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -m multiport -p tcp --dport 80,81,8080,8081,3128 -j ACCEPT

    #Regra de NAT
    #
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #Liberando LoopBack
    #
    iptables -A INPUT -i lo -j ACCEPT

    #Liberar acesso ao WTS
    #
    iptables -A PREROUTING -t nat -p tcp --dport 3389 -d 200.183.142.130 -j DNAT --to 192.168.0.4
    iptables -A POSTROUTING -t nat -p tcp --dport 3389 -d 192.168.0.4 -j MASQUERADE

    #Bloquear KaZaA
    iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
    iptables -A FORWARD -p TCP --dport 1214 -j REJECT

    #Liberar Rede Local
    #
    iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT


    #Regras para INPUT
    #Regras Para INPUT de portas TCP

    iptables -A INPUT -p TCP --dport 20 -j ACCEPT
    iptables -A INPUT -p TCP --dport 21 -j ACCEPT
    iptables -A INPUT -p TCP --dport 22 -j ACCEPT
    iptables -A INPUT -p TCP --dport 22 -j ACCEPT
    iptables -A INPUT -p TCP --dport 25 -j ACCEPT
    iptables -A INPUT -p TCP --dport 53 -j ACCEPT
    iptables -A INPUT -p TCP --dport 80 -j ACCEPT
    iptables -A INPUT -p TCP --dport 143 -j ACCEPT
    iptables -A INPUT -p TCP --dport 199 -j ACCEPT
    iptables -A INPUT -p TCP --dport 443 -j ACCEPT
    iptables -A INPUT -p TCP --dport 783 -j ACCEPT
    iptables -A INPUT -p TCP --dport 1984 -j ACCEPT
    iptables -A INPUT -p TCP --dport 3000 -j ACCEPT
    iptables -A INPUT -p TCP --dport 10000 -j ACCEPT

    #Regras Para INPUT de portas UDP

    iptables -A INPUT -p UDP --dport 20 -j ACCEPT
    iptables -A INPUT -p UDP --dport 21 -j ACCEPT
    iptables -A INPUT -p UDP --dport 22 -j ACCEPT
    iptables -A INPUT -p UDP --dport 25 -j ACCEPT
    iptables -A INPUT -p UDP --dport 53 -j ACCEPT
    iptables -A INPUT -p UDP --dport 80 -j ACCEPT
    iptables -A INPUT -p UDP --dport 123 -j ACCEPT
    iptables -A INPUT -p UDP --dport 143 -j ACCEPT
    iptables -A INPUT -p UDP --dport 161 -j ACCEPT
    iptables -A INPUT -p UDP --dport 443 -j ACCEPT
    iptables -A INPUT -p UDP --dport 1024 -j ACCEPT
    iptables -A INPUT -p UDP --dport 3000 -j ACCEPT
    iptables -A INPUT -p UDP --dport 3130 -j ACCEPT
    iptables -A INPUT -p UDP --dport 10000 -j ACCEPT

    Bom, meu script esta assim até o presente momento. Mas o que acontece é o seguinte, não consigo navegar com proxy!!! Se mudo a politica do INPUT pra ACCEPT, blza navega... se deixo eu DROP, nada de navegar com proxy... Não sei o que fazer mesmo para liberar isso.

    Aqui o proxy eu uso SQUID, configurado na porta 3000. Quem puder dar uma luz.....

  11. #11

    Padrão Duvidas sobre uma regra

    Finalmente !!!!! Meu caros... está funcionando agoa meu fw ... só num consegui matar as pragas p2p..... tentei iptables-p2p mas sem sucesso.... vou tentar um outro esquema ipp2p q foi uma dica q peguei aki no underlinux ... bom é o seguinte pessoal... estou deixando as regras do meu fw aki, quem puder avaliar e passar umas dicas aceito, se acharem muita merda me avisem!!!! (com certeza tem) ...

    #Carregando os modulos necessarios
    #
    modprobe iptable_nat
    modprobe ip_nat_ftp
    modprobe ip_conntrack
    modprobe ip_conntrack_ftp
    modprobe ip_conntrack_irc

    #Limpar as regras
    #
    iptables -t nat -F
    iptables -F
    iptables -Z

    #Politicas (regras default: serão tomadas qdo não houver uma regra especifica para o caso)
    #
    iptables -P INPUT DROP #Rejeita todos pacotes que entram
    iptables -P OUTPUT ACCEPT #Permite a saida de qualquer pacote
    iptables -P FORWARD ACCEPT #Aceita redirecionamento do pacote
    iptables -t nat -P PREROUTING ACCEPT # Aceita os NAT de prerouting
    iptables -t nat -P POSTROUTING ACCEPT # Aceita os NAT de postrouting

    #Para forçar a utilização do proxy
    iptables -t nat -A POSTROUTING -s 192.168.0.30/32 -j MASQUERADE # libera minha makina pra navegar sem proxy
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -m multiport -p tcp --dport 80,81,8080,8081,3128 -j ACCEPT

    #Regra de NAT
    #
    iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    echo 1 > /proc/sys/net/ipv4/ip_forward

    #Liberando LoopBack
    #
    iptables -A INPUT -i lo -j ACCEPT

    #Liberar acesso ao WTS
    #
    iptables -A PREROUTING -t nat -p tcp --dport 3389 -d 200.183.142.130 -j DNAT --to 192.168.0.4
    iptables -A POSTROUTING -t nat -p tcp --dport 3389 -d 192.168.0.4 -j MASQUERADE

    #Bloquear KaZaA
    iptables -A FORWARD -d 213.248.112.0/24 -j REJECT
    iptables -A FORWARD -p TCP --dport 1214 -j REJECT

    #Liberar Rede Local
    #
    iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT

    #Aceitar Conexões Estabelecidas pelo Proprio Firewall
    #
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

    #Regras para INPUT
    #Regras Para INPUT de portas TCP

    iptables -A INPUT -p TCP --dport 20 -j ACCEPT
    iptables -A INPUT -p TCP --dport 21 -j ACCEPT
    iptables -A INPUT -p TCP --dport 22 -j ACCEPT
    iptables -A INPUT -p TCP --dport 25 -j ACCEPT
    iptables -A INPUT -p TCP --dport 80 -j ACCEPT
    iptables -A INPUT -p TCP --dport 143 -j ACCEPT
    iptables -A INPUT -p TCP --dport 443 -j ACCEPT
    iptables -A INPUT -p TCP --dport 1984 -j ACCEPT
    iptables -A INPUT -p TCP --dport 3000 -j ACCEPT
    iptables -A INPUT -p TCP --dport 10000 -j ACCEPT

    #Regras Para INPUT de portas UDP

    iptables -A INPUT -p UDP --dport 20 -j ACCEPT
    iptables -A INPUT -p UDP --dport 21 -j ACCEPT
    iptables -A INPUT -p UDP --dport 22 -j ACCEPT
    iptables -A INPUT -p UDP --dport 25 -j ACCEPT
    iptables -A INPUT -p UDP --dport 80 -j ACCEPT
    iptables -A INPUT -p UDP --dport 123 -j ACCEPT
    iptables -A INPUT -p UDP --dport 143 -j ACCEPT
    iptables -A INPUT -p UDP --dport 443 -j ACCEPT
    iptables -A INPUT -p UDP --dport 3000 -j ACCEPT
    iptables -A INPUT -p UDP --dport 10000 -j ACCEPT