+ Responder ao Tópico



  1. #1
    jcda
    Visitante

    Padrão Problemas com liberação

    E aí galera,

    Estou com o seguinte problema: tenho um cliente que só permite a liberação do msn no horário de almoço e após as 18:00. Para fazer isso bloqueei o acesso de todo mundo e liberei somente nestes horário, isso foi simples fazer. O problema agora é que o cliente quer liberar o MSN para alguns usuários terem acesso a qualquer hora e continuar com as restrições de horário para os demais clientes. Como fazer a junção dessas duas regras sem dar problema ???

    Alguém tem alguma luz para me dar ???

    Valeu pela ajuda !!!

  2. #2
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão

    Você poderia usar o Layer7, bloquear o MSN e liberar para clientes específicos, por horário, usando o módulo TIME do iptables.

  3. #3
    jcda
    Visitante

    Padrão

    Valeu pela dica Sérgio, não tinha pensado no layer7 !!! Não tem um jeito mais fácil de fazer isso será ??? Porque esse cliente vive mudando as solicitações dele, aí pra eu não ter todo trabalho de compilar o kernel com layer7 e depois isso se tornar inutil.

    Obrigado

  4. #4
    xargs -n 1 kill -9 Avatar de sergio
    Ingresso
    Jan 2004
    Localização
    Capital do Triângulo
    Posts
    5.201
    Posts de Blog
    9

    Padrão

    Citação Postado originalmente por jcda Ver Post
    Valeu pela dica Sérgio, não tinha pensado no layer7 !!! Não tem um jeito mais fácil de fazer isso será ??? Porque esse cliente vive mudando as solicitações dele, aí pra eu não ter todo trabalho de compilar o kernel com layer7 e depois isso se tornar inutil.

    Obrigado
    Bom, você poderá criar regras bloqueando tudo e depois liberar apenas os IPs necessários. Se quiser liberar por horário use apenas o módulo TIME do iptables.

  5. #5

    Padrão

    Vc esta usando o squid pra fazer este bloqueio??? se sim o squid esta como proxy transparente ou autenticado??? vc pode criar uma acl e cadastrar o IP ou os usuarios que tenham acesso ao squid antes da acl que vc ja deve ter ai bloqueando tudo, caso esteja usando o squid.

    Olha uma dica caso esteja usando o proxy autenticado tem o admuser pra controle de usuários do proxy, e vc pode criar uma pagina em php pra cadastrar/alterar/excluir os IP ou usuarios liberados no arquivo que sera carregado pela acl, dessa forma dando maior comodidade a seu cliente

    Falow

    Clecio

  6. #6

    Padrão

    Bom, concordo com o Sérgio que o melhor jeito seria fazer utilizando layer-7, mas concordo com você que não é o jeito mais fácil. Dá pra fazer, mas posta seu squid.conf aqui, sem comentários, pra gente dar uma olhada e te ajudar melhor.


    Abraços!

  7. #7
    jcda
    Visitante

    Padrão

    E aí galera,

    Estou usando o proxy autenticado, segue abaixo o meu squid.conf. Do jeito que tá a regra de bloqueio por horário tá funcionando, o problema é liberar alguns usuários para acessar o msn em qualquer horário. Pode ser feita a liberação via usuario do proxy ou via IP.


    hierarchy_stoplist cgi-bin ?
    acl QUERY urlpath_regex cgi-bin \?
    no_cache deny QUERY
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/squid_passwd
    auth_param basic children 5
    auth_param basic realm Digite seu login e sua senha
    auth_param basic credentialsttl 2 hours
    #auth_param basic casesensitive off
    refresh_pattern ^ftp: 1440 20% 10080
    refresh_pattern ^gopher: 1440 0% 1440
    refresh_pattern . 0 20% 4320
    acl all src 0.0.0.0/0.0.0.0
    acl manager proto cache_object
    acl localhost src 127.0.0.1/255.255.255.255
    acl to_localhost dst 127.0.0.0/8
    acl SSL_ports port 443 563
    acl Safe_ports port 80 # http
    acl Safe_ports port 21 # ftp
    acl Safe_ports port 443 563 # https, snews
    acl Safe_ports port 70 # gopher
    acl Safe_ports port 210 # wais
    acl Safe_ports port 1025-65535 # unregistered ports
    acl Safe_ports port 280 # http-mgmt
    acl Safe_ports port 488 # gss-http
    acl Safe_ports port 591 # filemaker
    acl Safe_ports port 777 # multiling http
    acl CONNECT method CONNECT
    acl Portas_proibidas port 1863 # PORTA DO MSN


    acl redeint src 192.168.2.0/24

    acl autent proxy_auth REQUIRED

    acl extensoes url_regex -i "/etc/squid/deny/extensoes"
    acl dominios dstdomain "/etc/squid/deny/dominios"
    acl portas port "/etc/squid/deny/portas"
    acl palavras url_regex -i "/etc/squid/deny/palavras"


    ####################################################################
    # ACL PARA RESTRICAO DO MSN E ORKUT POR HORARIO (+03:00)

    # horarios restritos
    acl hora1 time MTWHF 10:00-14:00
    acl hora2 time MTWHF 15:30-20:00

    acl sites_hora dstdomain "/etc/squid/deny/hora"
    acl msn url_regex -i "/etc/squid/deny/semmsn"

    http_access deny sites_hora hora1
    http_access deny sites_hora hora2
    http_access allow sites_hora all

    http_access deny msn hora1
    http_access deny msn hora2

    #####################################################################
    # ACLS PARA CIACAO DE GRUPOS DE USUARIOS
    acl liberados proxy_auth "/etc/squid/groups/liberados"

    #####################################################################
    # NEGA TUDO QUE NAO FOR DA redeint
    http_access deny !redeint

    #####################################################################
    # DEFINE QUANTAS CONEXOES SIMULTANEAS POR IP
    #acl conexoes maxconn 10
    #http_access deny conexoes redeint

    #######################################################################
    # ACEITA TODOS OS USER QUE FORAM AUTENTICADOS
    http_access allow autent
    http_access deny !autent

    #######################################################################
    # ACLS PARA RESTINGIR O RESTANTE DA DERE INTERNA.
    http_access deny redeint dominios
    #http_access deny redeint palavras
    http_access deny redeint extensoes
    http_access deny redeint Portas_proibidas
    http_access deny redeint portas
    http_access allow redeint all

    http_access allow manager localhost
    http_access deny manager
    http_access deny !Safe_ports
    http_access deny CONNECT !SSL_ports
    http_access allow localhost
    http_reply_access allow all
    icp_access allow all
    visible_hostname rot.xxxxxxxxxxxxxxxxxxxxx.com.br
    coredump_dir /var/spool/squid
    cache_dir ufs /squid 4000 16 256
    cache_mem 16 MB
    cache_effective_user squid
    cache_effective_group squid
    cache_store_log none
    http_access deny all

  8. #8

    Padrão

    Tenta algo mais ou menos assim, oh:

    As ACL's lá em cima vão ficar dessa maneira
    Código :
    acl redeint src 192.168.2.0/24
    acl autenticacao proxy_auth REQUIRED
    acl palavras_bloqueadas url_regex -i "/etc/squid/deny/palavaras_bloqueadas"
    acl palavras_liberadas url_regex -i "/etc/squid/allow/palavras_liberadas"
    acl almoco time MTWHF 10:00-14:00
    acl extensoes urlpath_regex -i "/etc/squid/deny/palavras_bloqueadas"
    acl msn url_regex -i gateway.dll orkut
    acl fulano proxy_auth idiota

    E eis a ordem dos HTTP_ACCESS:
    Código :
    http_access deny palavras_bloqueadas !palavaras_liberadas
    http_access deny extensoes
    http_access allow msn fulano
    http_access deny msn !almoço
    http_access allow autenticacao
    http_access allow redeint
    http_access deny all

    Acho que isso resolve seu problema mais ou menos. Se não resolver é por causa de um probleminha de ordem, daí tu vai brincando e fuçando um pouco que já tem 95% do caminho andado.


    Abraços!