Horarios de navegacion



  • Buenos días,

    Tengo la siguiente consulta, en mi red tengo bloqueado facebook y otras paginas alternas al trabajo, pero estoy queriendo en hora de almuerzo liberarlas con un rango de 1 hora, hay alguna forma de automatizar el proceso y que me libere la navegación por un lapso de 1 hora? con portal cautivo puede ser??

    De antemano Gracias por su respuesta.  ;D



  • Yo no he usado mucho las reglas del schedule del

    pfsense

    , pero con squid se puede, saludos  :)



  • pero te refieres con squid en modo transparente..?..o e modo manual.Saludos.



  • Hola.

    No importa, para

    squid

    no le afecta si lo tienes manual o transparente, los ACL no son afectados por esa modalidades, siempre y cuando crucen por el se aplican.

    Saludos  :)


  • Rebel Alliance

    Con "Firewall:Schedules" lo puedes hacer, solo necesitas crear la entrada en "Schedules", despues creas una regla permitiendo acceso a facebook (o sea una regla que haga lo opuesto a la que tienes para bloquear), y en esa regla que permite facebook, en "Advanced features" en "Schedule" elijes el que creaste, despues salvas, y mueves la regla sobre ( arriba) de la que bloquea, de esta forma cuando se active el "Schedule" la regla permite trafico, cuando termina el teimpo que programaste la regla deja de funcionar, y te queda trabajando la regla que bloquea facebook, que como no tiene "Schedule" actua siempre.

    espero se entienda…. :D

    Saludos.



  • Como dice ptt, las schedule son para esto pero a nivel IP, squid es a nivel aplicacion segun lo entiendo, las schedules las trate de configurar pero aun no les he sacado provecho.

    Pero de que se puede se puede ya nomas es saber cual sabor te gusta mas.

    Animo!!!



  • y no seria mas facil si hacemos un cron que me baje el servicio de squidguard 1 hora?? sdos.



  • "Yo" no haria eso de apagar un servicio para permitir "TODO" en X horas.

    Miren con squid tendriamos que ensuciarnos las manitas poquito, una vez que ustedes necesiten usar parametros que el GUI no proporciona, es momento de tomar el control y olvidarnos del GUI.

    Yo me he basado en la configuracion que nos proporciona por default pfsense 2.0RC3 actual, pero esta es:

    
    # Do not edit manually !
    http_port 192.168.50.1:3128
    http_port 127.0.0.1:80 transparent
    icp_port 0
    
    pid_filename /var/run/squid.pid
    cache_effective_user proxy
    cache_effective_group proxy
    error_directory /usr/local/etc/squid/errors/English
    icon_directory /usr/local/etc/squid/icons
    visible_hostname gw
    cache_mgr admin@localhost
    access_log /var/squid/log/access.log
    cache_log /var/squid/log/cache.log
    cache_store_log none
    shutdown_lifetime 3 seconds
    
    # Allow local network(s) on interface(s)
    acl localnet src  192.168.50.0/255.255.255.0
    httpd_suppress_version_string on
    uri_whitespace strip
    
    cache_mem 16 MB
    maximum_object_size_in_memory 32 KB
    memory_replacement_policy heap GDSF
    cache_replacement_policy heap LFUDA
    cache_dir diskd /var/squid/cache 200 16 256
    minimum_object_size 0 KB
    maximum_object_size 4 KB
    offline_mode off
    cache_swap_low 90
    cache_swap_high 95
    
    # No redirector configured
    
    # Setup some default acls
    acl all src 0.0.0.0/0.0.0.0
    acl localhost src 127.0.0.1/255.255.255.255
    acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 249 3128 1025-65535
    acl sslports port 443 563 249
    acl manager proto cache_object
    acl purge method PURGE
    acl connect method CONNECT
    acl dynamic urlpath_regex cgi-bin \?
    acl unrestricted_hosts src "/var/squid/acl/unrestricted_hosts.acl"
    acl whitelist dstdom_regex -i "/var/squid/acl/whitelist.acl"
    ascii code: 
    
    

    Ahora vamos a crear un archivo que siempre va a ser nuestro esqueleto y este ya va a tener nuestras configuraciones y aqui se los presento:

    
    # Do not edit manually !
    http_port 192.168.50.1:3128
    http_port 127.0.0.1:80 transparent
    icp_port 0
    
    pid_filename /var/run/squid.pid
    cache_effective_user proxy
    cache_effective_group proxy
    error_directory /usr/local/etc/squid/errors/English
    icon_directory /usr/local/etc/squid/icons
    visible_hostname gw
    cache_mgr admin@localhost
    access_log /var/squid/log/access.log
    cache_log /var/squid/log/cache.log
    cache_store_log none
    #logfile_rotate 60
    shutdown_lifetime 3 seconds
    # Allow local network(s) on interface(s)
    acl localnet src  192.168.50.0/255.255.255.0
    httpd_suppress_version_string on
    uri_whitespace strip
    
    #########custom options
    check_hostnames off
    log_fqdn off
    
    cache_mem 8 MB
    maximum_object_size_in_memory 32 KB
    memory_replacement_policy heap GDSF
    cache_replacement_policy heap LFUDA
    cache_dir aufs /var/squid/cache 100 16 256
    minimum_object_size 0 KB
    maximum_object_size 4 KB
    offline_mode off
    cache_swap_low 90
    cache_swap_high 95
    
    # No redirector configured
    # Setup some default acls
    acl all src 0.0.0.0/0.0.0.0
    acl localhost src 127.0.0.1/255.255.255.255
    acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 249 3128 1025-65535
    acl sslports port 443 563 249
    acl manager proto cache_object
    acl purge method PURGE
    acl connect method CONNECT
    acl dynamic urlpath_regex cgi-bin \?
    acl blacklist dstdom_regex -i "/var/squid/acl/blacklist.acl"
    cache deny dynamic
    http_access allow manager localhost
    
    ##################################################################
    ###########################     Mis ACL    ###############################
    ##################################################################
    acl fb dstdomain "/usr/local/etc/squid/good_sites"
    acl compas src "/usr/local/etc/squid/good_ips"
    acl LUNCH_IPS src "/usr/local/etc/squid/lunch_ips"
    acl LUNCH_SITES dstdomain "/usr/local/etc/squid/lunch_sites"
    acl ALMUERZO time MTWHF 10:30-11:00
    ##################################################################
    
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !safeports
    http_access deny CONNECT !sslports
    
    # Always allow localhost connections
    http_access allow localhost
    
    request_body_max_size 0 KB
    reply_body_max_size 0 deny all
    delay_pools 1
    delay_class 1 2
    delay_parameters 1 -1/-1 -1/-1
    delay_initial_bucket_level 100
    delay_access 1 allow all
    
    ##################################################################
    ####################          Aplicando mis ACL      #############################
    ##################################################################
    http_access allow compas fb
    http_access deny compas
    http_access allow LUNCH_IPS LUNCH_SITES ALMUERZO
    http_access deny LUNCH_IPS
    ##################################################################
    
    # Block access to blacklist domains
    http_access deny blacklist
    # Setup allowed acls
    # Custom options
    debug_options ALL,1 33,2
    # Default block all to be sure
    http_access deny all
    
    

    SI gustan revsenlo y notaran la diferencia.

    1; Elimino la regla que le permite a mi LOCALNET navegar, aqui yo controlo quien puede y no con mis ACL, se me hace muy abierta esta regla, por ello "YO" la hice asi.

    2; Aparecen 5 ACL's:

    acl fb dstdomain "/usr/local/etc/squid/good_sites"
    acl compas src "/usr/local/etc/squid/good_ips"
    acl LUNCH_IPS src "/usr/local/etc/squid/lunch_ips"
    acl LUNCH_SITES dstdomain "/usr/local/etc/squid/lunch_sites"
    acl ALMUERZO time MTWHF 10:30-11:00

    Contenido: acl fb dstdomain "/usr/local/etc/squid/good_sites"

    .twitter.com
    .google.com
    .osnews.com
    .pfsense.org
    .blogspot.com
    .tinypic.com
    .hotmail.com
    .msn.com
    .live.com
    .passport.com
    .yahoo.com
    .yimg.com

    Contenido de: acl compas src "/usr/local/etc/squid/good_ips"

    192.168.50.100/32
    192.168.50.101/32
    192.168.50.103/32

    Que hago con lo anterior?

    Le estoy diciendo a squid que esos IP's solo pueden accesar a los sitios que esta indicados arriba, ahora si alguien llama y dice, oyes no me permite entrar a X sitio, entonces, nos vamos a el archivo /var/squid/log/access.log y buscamos el renglon donde dice que a el IP se le nego el acceso a el sitio X, y lo agregamos a el archivo good_sites y le decimos a squid que levante los cambios:

    
    squid -k reconfigure
    
    

    Y ya le debe dar acceso a esos IP's, pueden ser IP's de contabilidad, ingenieria, etc, etc.

    Ahora viene la parte donde le indicamos a squid que a ciertas horas les permita el acceso a ciertas paginas o todas cada quien  decide y a que horas:

    acl LUNCH_IPS src "/usr/local/etc/squid/lunch_ips"
    acl LUNCH_SITES dstdomain "/usr/local/etc/squid/lunch_sites"
    acl ALMUERZO time MTWHF 10:30-11:00

    Contenido de: acl LUNCH_IPS src "/usr/local/etc/squid/lunch_ips"

    Estos IP's a van a tener un permiso.

    192.168.50.125/32
    192.168.50.145/32
    192.168.50.178/32
    192.168.50.110/32

    Contenido de: acl LUNCH_SITES dstdomain "/usr/local/etc/squid/lunch_sites".

    Los IP's anteriores podran entrar a estos sitios.

    .facebook.com
    .twitter.com

    En que horario?

    Los IP's anteriores podran entrar a los sitios indicados en este horario.

    acl ALMUERZO time MTWHF 10:30-11:00

    Este acl es la clave, estamos creando un ACL llamado ALMUERZO dice que de Lunes a Viernes de 10:30 a 11:00 algo va a pasar.

    Ahora donde se lo indicamos a squid:

    http_access allow compas fb
    http_access deny compas
    http_access allow LUNCH_IPS LUNCH_SITES ALMUERZO
    http_access deny LUNCH_IPS

    Ahi lo tienen, se le permite a el grupo "compas" entrar a los sitios indicados en "fb" a cualquier hora. El 2do dice que se le permite entrar a los ip's indicados en LUNCH_IPS a los sitios LUNCH_SITES  en el horario indicado en "ALMUERZO".

    Despues de ahi viene las reglas finales, todo lo demas negado.

    http_access deny all# Block access to blacklist domains
    http_access deny blacklist

    Setup allowed acls

    Custom options

    debug_options ALL,1 33,2

    Default block all to be sure

    http_access deny all

    En blacklist solo tengo "." que significa todo, a sus jefes los ponen el archivo "unrestricted" a ellos no se les puede negar nada, o no quieren bonos?

    Se preguntaran, cada que reinicio el sistema pfsense sobre escribe mi archivo de configuracion y tengo que hacer esto a mano?

    Bien, sabemos poco de scripts, entonces vamos usandolos. Vayanse a el folder:

    /usr/local/etc/rc.d/

    Hagan un archivo llamado:

    zsquid

    Con este contenido:

    
    #!/bin/sh
    #batch para copear el archivo de squid por uno personalizado.
    #2011-05-01
    
    #copeamos el archivo.
    cp /usr/local/etc/squid/squid-custom /usr/local/etc/squid/squid.conf
    
    #reiniciamos squid
    /usr/local/sbin/squid -k reconfigure
    
    

    Le ponen  el archivo los bits de ejecucion:

    
    chmod +x zsquid
    
    

    Listo, reinicien a pfsense para probar, esto aplica a IP's y usuarios tambie.

    Espero le sirva a alguien, saludos  :)



  • :) hola periko…

    excelente analisis y solucion al problema planteado...

    muchas gracias por toda la informacion, mis respetos...



  • y si lo estoy manejando por squidguard como lo podríamos hacer? tengo paginas  de cupones entre otras mas y las manejo por blacklist y tambien necesitaria liberarlas en hora de almuerzo

    sdos.



  • Yo desconozco squidguard, no depende de squid?

    Alguien  que me norte de la relacion entre squid – squidguard?

    Saludos  :)


Locked