+ Responder ao Tópico



  1. #1

    Padrão Bloquear IP acesso Internet

    Boa tarde pessoal!
    Estou tendo dificuldades em realizar o bloqueio de determinado IP, para que ele não tenha nenhum tipo de acesso a internet durante determinado periodo de tempo.

    Atualmente, na madrugada para que não tenham acesso a internet eu simplesmente desabilito a placa de rede, com isso ninguem acessa mais nada, obviamente.

    Porem preciso manter o acesso na madrugada, pois um computador necessita isso.
    Fiz controle de acesso atravéz do squid, bloqueando ips(que estão em um arquivo), funciona beleza.
    Porem só para acesso via browser, MSN, Downloaders, etc... continuam tendo acesso.

    A dúvida aparentemente é simples, mas já procurei em vários locais na web e não consigo achar o que quero...
    Alguém consegue me ajudar ???

    Desde já agradeço a todos...
    Abraço.

  2. #2

    Padrão

    impeça o forward da criatura:

    $IPT -t filter -A FORWARD -i $NIC_INTERNA -s ! ip_disgranhento -j ACCEPT

    essa regra permite todo mundo, menos esse um aí

  3. #3

    Padrão

    Citação Postado originalmente por irado Ver Post
    impeça o forward da criatura:

    $IPT -t filter -A FORWARD -i $NIC_INTERNA -s ! ip_disgranhento -j ACCEPT

    essa regra permite todo mundo, menos esse um aí
    Hum... interessante... e se eu quizesse permitir uma lista de ips(em arquivo) ?

    No caso do seu exemplo, todos ips estarão bloqueados, somente o "ip_disgranhento" não, não é?

    Grato pela ajuda.
    Abraço.

  4. #4

    Padrão

    vc não está prestando atenção AQUI.. senão saberia

    "No caso do seu exemplo, todos ips estarão bloqueados, somente o "ip_disgranhento" não, não é?"

    ao contrário, TODOS passam, o ip_disgranhento não passa.

    quanto ao resto, vc pode criar um bloco próprio e inserir todo mundo; fica ANTES da primeira regra de FORWARD; envia todo mundo para o bloco (- j BLOQUEADOS), e depois a ultima regra é liberar. Mais ou menos assim:
    #cria regras de usuario - RETURN indica "aceito"
    $IPT -N BLOCK
    #---> estas são necessárias. Se não quiser, arrisque, azar é seu.
    $IPT -A BLOCK -p tcp --dport domain -j RETURN
    $IPT -A BLOCK -p udp -m multiport --dport domain,ntp -j RETURN
    $IPT -A BLOCK -m state --state RELATED,ESTABLISHED -j RETURN
    $IPT -A BLOCK -p icmp -m icmp --icmp-type echo-request -m limit --limit 1/sec --limit-burst 5 -j RETURN # echo request
    # as necessárias terminaram, agora vamos aos demais:
    $IPT -A BLOCK -i $LAN -s ip_feliz01 -j RETURN # o ip_feliz01 tá liberado, numa boa, pagou passa.
    [...] mais um monte de ip_feliz(n) --> 1 por linha (apenas repita a linha acima e troque o ip)
    $IPT -A BLOCK -j LOG --log-prefix "** ips disgranhentos **" (vc fica sabendo quem não passou)
    $IPT -A BLOCK -j REJECT (aqui REJEITA todo mundo que não foi liberado)
    ##

    então, em FORWARD, vc tem duas regras:

    $IPT -A FORWARD -j BLOCK (vão pra verificação)
    $IPT -A FORWARD -j ACCEPT (passa todos os que sobraram)

    pronto. Divirta-se.

    ah, uma ultima palavrinha: eu gosto de bohemia ou itaipava, pode mandar uma caixa lá pra casa que não ficarei triste.

  5. #5

    Padrão crond

    Eu sugiro que voce crie 2 scripts de firewall, um com o horario normal de funcionamento e outro script com as regras de iptables conforme a necessidade especificado acima. feito isso, agende no crond ambas.

  6. #6

    Padrão

    Lembrando que o squid tem a opção de bloquear/permitir por IP de origem em um certo horário definido por você.

    Dessa forma você pode, por exemplo, liberar o acesso de todo mundo no horário do almoço (12h às 13h de segunda a sexta) e bloquear totalmente o acesso a internet, com exceção dos servers, fora do horário de expediente (das 0hs às 8hs e das 18hs às 23hs59min de segunda a sexta e de 0hs às 23hs59min dos sábados e domingos).


  7. #7

    Padrão

    Irado, Rogeiokde, Magnun !
    Obrigado por responderem...

    O que o Irado postou é interessante. Porém sou meio newbie ainda no assunto firewall. E não consegui processar todo o conteúdo. Ficou meio confuso pra mim.

    A idéia é fazer justamente o que o rogeriokde sugeriu, 2 scripts, executanto um cada horário.
    Magnun, pelo squid vi que tem opções de agendamento de horários e tal... o detalhe é que ele não faz o bloqueio total da internet (pelo menos o que estou usando), tipo MSN, Donwloaders ficam liberados, bloqueia acesso à páginas pelo browser somente.

    Se alguém puder explicar melhor, ficarei grato.

    Grande abraço.

  8. #8

    Padrão

    bão.. eu TAMBÉM sou iniciante tenho só uns.. err.. 10 aninhos com Linux, adolescente, ainda.

    minha melhor sugestão é: pegue um tutorial e tente entender como funcionam as regras; o básico é:

    input - para ESTA máquina (o proprio fwll/gw)
    output - DESTA maquina
    forward - vem de algum lugar, encaminha-se para outro lugar
    nat (óbvio)

    então, quando vc diz -j BLOQUEIO vai praquelas regras de verificação; avaliadas convenientemente, caem em -j RETURN (saem do BLOQUEIO) e, a primeira regra então encontrada é ACCEPT. Se continuarem dentro de BLOQUEIO e não tiverem qualquer return, o que acontece?

    isso mesmo, parabéns, negão.. não encontrando retunr vão pro log e, EM SEGUIDA para o REJECT.

    ps: jura que pensei que vc havia entendido. Então, reforço: procure bons tutoriais aqui mesmo (tem um do magnum que é magnifico) ou no VOL

    divirta-se.

  9. #9

    Padrão

    acho que é isso que vc quer, so tem que baixar o pom para iptables e recompilar para ativar o match TIME


    Código :
    INICIO_BLOQUEIO=0:00
    FIM_BLOQUEIO=08:00
    DIAS_BLOQUEADO=Mon,Tue,Wed,Thu,Fri
    iptables -A FORWARD -i $LAN1 -m mac --mac-source 001122334455 -m time --timestart $INICIO_BLOQUEIO --timestop $FIM_BLOQUEIO --days $DIAS_BLOQUEADO -j DROP
    Última edição por Pirigoso; 07-01-2009 às 17:59.