Benvingudes i benvinguts al portal Linkat

La Linkat és la distribució educativa de GNU/Linux que ha iniciat i ofereix el Departament d'Educació a la comunitat educativa. Es tracta d'un projecte de programari lliure que permet als centres educatius, però també a tota la societat, tenir accés de forma legal, gratuïta i amb suport tècnic professional, a un conjunt molt ampli d'aplicacions: educatives, d'ofimàtica, d'Internet, multimèdia...

RESOLT!: Squid en mode transparent + Dansguardian, filtrat de continguts web  Final

  • Hola a tots, he provat de seguir les instruccions que apareixen a:
    http://phobos.xtec.cat/formaciotic/matform/doku.php?id=cursos:d83:modul_6:practica_3

    És un servidor LTSP amb linkat 3.0. El Firefox no filtra res...

    L'única diferència amb les instruccions és que com el rang d'IP que faig servir és 192.161.1.0, he modificat les línies

    iptables -t nat -A PREROUTING -s 192.168.0.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 18081

    i he posat

    iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 18081

    La resta tot igual, fins i tot he reiniciat més d'un cop...

    No filtra res.

    A algú li ha passat el mateix?

    Gràcies

    Joan Padró
  • Hola,

    Aquesta guia és per implantar l'squid al servidor Linkat i no pas al servidor de terminals. El servidor de terminals també fa servir regles de IPTABLES que poden entrar en conflicte amb les del Squid. Potser es pot fer, però no es troba documentat.

    Salut.

    Projecte Linkat
  • Hola Pablo,

    Moltes gràcies per la informació. Seguiré investigant.

    Joan Padró
  • Hola Pablo, he fet les mateixes proves amb una màquina autònoma i passa el mateix.

    A les instruccions NO s'indica que si NO es modifica el Firefox perquè faci servir l'intermediari (proxy), el DansGuardian NO filtra, ni encara que activis l'intermediari a nivell de sistema.

    Si s'activa al firefox SÍ funciona. Jo he fet servir l'squid i el DansGuardian a Mandriva amb èxit sense haver de tocar els navegadors dels usuaris.

    Però a Linkat, si no modifiques el Firefox, no filtra. Com es pot fer perquè filtri sense modificar el navegador?

    Aquí teniu les instruccions que faig servir a Mandriva, i que aquí no m'han funcionat, per si pot servir d'ajuda.

    groupadd -r squid
    useradd -g squid -d /var/spool/squid -s /bin/false -r squid
    iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner squid -j ACCEPT
    iptables -t nat -A OUTPUT -p tcp --dport 3128 -m owner --uid-owner squid -j ACCEPT
    iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-ports 8080
    iptables -t nat -A OUTPUT -p tcp --dport 3128 -j REDIRECT --to-ports 8080
    iptables-save > /etc/sysconfig/iptables
    chkconfig iptables on
    service iptables stop
    service iptables start
    chkconfig squid on

    Amb aquestes instruccions d'iptables, el sistema filtra SENSE tocar el navegador, això vol dir que no cal modificar els fitxers .mozilla dels usuaris.

    Moltes gràcies

    Joan Padró
  • Hola Joan,

    Si no vols tocar els preferències del Firefox, la gateway dels clients cal que sigui la IP del servidor Squid.

    Mira a veure si així et funciona.

    Salut.

    Projecte Linkat
  • Hola Pablo, com que amb Mandriva no calia tocar res, he preferit buscar una solució que NO impliqués tocar configuracions de xarxa ni de navegadors.

    He trobat això per Internet, i m'ha funcionat. Potser són massa línies, i podríeu "triar" quines són realment necessàries, i que no impliqués saber quina interfície de xarxa (eth0, eth1), ni quina IP s'està fent servir, perquè resulti una solució més "estàndard".

    Aquestes són les ordres de tipus iptables que han fet que el DansGuardian filtri sense tocar RES MÉS!

    # Allow Squid outbound access on port 8080 (Dansguardian)
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 8080 -m owner --uid-owner squid -j ACCEPT

    # Allow Squid outbound access on port 80
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner squid -j ACCEPT

    # Don't redirect root on port 80
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -m owner --uid-owner root -j ACCEPT

    # Don't redirect root on port 3128 (Squid)
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3128 -m owner --uid-owner root -j ACCEPT

    # Redirect all requests on port 80 to 8080 (Dansguardian)
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

    # Accept requests on port 3128 from nobody (Dansguardian user)
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3128 -m owner --uid-owner nobody -j ACCEPT

    # Redirect all other requests on port 3128 to 8080 to prevent users from getting around Dansguardian by going directly to Squid
    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 3128 -j REDIRECT --to-ports 8080

    # Delete the NOTRACK rule that SuSEfirewall2 adds to the raw table of the OUTPUT chain
    iptables -t raw -D OUTPUT -o lo -j NOTRACK

    ... que he afegit al fitxer /etc/sysconfig/scripts/SuSEfirewall2-custom.

    Després he executat, com a root, les ordres següents:

    chkconfig squid on
    chkconfig dansguardian on
    rcSuSEfirewall2 restart
    rcsquid reload
    rcdansguardian reload

    He reiniciat la màquina per assegurar-me que tot funcionaria un cop reiniciada i HA FUNCIONAT, el DansGuardian filtra sense haver de tocar el navegador.

    Si podeu "polir" les frases de tipus iptables, estaria molt bé.

    Si algú pogués confirmar que també li ha funcionat així, seria perfecte.

    Gràcies

    Joan Padró
  • Hola Joan

    Potser n'haguessis fet més via preguntant als fòrums del curs, de fet diria que la teva qüestió s'ha formulat i s'ha contestat. Pensa que el que demanes no és el més habitual, sembla lògic emprar-ho a nivell de màquines autònomes com una mena de "Net Nanny" sobredimensionat, però no en un servidor de thinclients que en la configuració òptima hauria de ser client a la seva vegada d'un servidor Linkat, almenys si vols que els usuaris hi puguin trobar els seus /home. Penso que un servidor de thin clients s'ha de dedicar a servir-los i el tema del filtrat de continguts via proxy transparent millor canalitzar-ho a través d'un servidor clàssic que faci d'enrutador o bé amb distribucions específiques com ipcop, smoothwall i d'altres, bé, és una opinió i suposant que no tens alguna raó molt especial per fer-ho així.

    Una versió mínima del que vols seria

    # L'squid és l'únic que podrà conectar al port 80
    iptables -A OUTPUT -p tcp --dport 80 -m owner ! --uid-owner squid -j REJECT --reject-with tcp-reset

    # El DansGuardian és l'únic que es podrà connectar al port on escolta l'squid ( 3128 ) per
    defecte.
    iptables -A OUTPUT -p tcp --dport 3128 -m owner ! --uid-owner dansguardian -j REJECT --reject-with tcp-reset

    Uissh , m'acabo d'adonar que m'havia oblidat de dir-li que redireccioni totes les peticions al port 80 cap el port 8080 on escolta el dansguardian per defecte, ho tens escrit per dalt.

    iptables -t nat -A OUTPUT -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080

    Ja diràs si et funciona.



    editat per: lgras, 29/Abril/2010 - 20:49
  • Hola, gràcies per respondre.

    El que jo provo és de donar solucions integrals amb LInkat.

    NO tothom (escoles, particulars, entitats) disposen d'1 servidor per dedicar-lo com a filtre de continguts.

    Miro de poder facilitar equips que puguin servir com a estació de treball a casa amb filtre (per als fills d'aquelles persones que vulguin Linkat a casa), o com a servidor de terminals amb filtre/sense fitre per a una biblioteca escolar, una sala d'informàtica que té engegada dual com a estacions amb W98 o terminals de Linkat, etc.

    El que provo és que tot funcioni en una sola màquina, tot i que sé que d'altres opcions (més complexes a l'hora d'implementar-les) poden donar un rendiment millor.

    No tothom va "sobrat" de maquinari, per això provo de fer-ho amb una sola màquina i, sobretot, que funcioni.

    Moltíssimes gràcies per la vostra ajuda.

    Joan Padró
  • Hola, em vaig descuidar indicar que cal definir que el tallafocs s'iniciï en iniciar-se al sistema, des del Yast, opció Tallafocs, marcar que s'iniciï en engegar el sistema, o des d'una consola "yast2 firewall" i marcar l'opció que fa que s'iniciï en engegar-se el sistema.

    Gràcies de nou.

    Joan Padró
  • 0 usuaris

Aquesta llista mostra els usuaris actius durant els darrers 20 minuts.