Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
dansguardian [Le 02/07/2010, 08:50] 145.232.234.8 |
dansguardian [Le 11/09/2022, 11:37] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Dapper Edgy éducation sécurité internet}} | + | {{tag>éducation sécurité internet À_RECYCLER}} |
---- | ---- | ||
Ligne 6: | Ligne 6: | ||
====== Contrôle parental avec DansGuardian ====== | ====== Contrôle parental avec DansGuardian ====== | ||
- | + | <note warning>Comme précisé sur la page [[wp>DansGuardian|DansGuardian]], DansGuardian n'est plus maintenu et est remplacé par le fork **[[https://github.com/e2guardian/e2guardian|e2Guardian]]**</note> | |
- | <note important>Il existe des methodes plus simples: [[tutoriel:comment_mettre_en_place_un_controle_parental|Comment mettre en place un contrôle parental ?]]</note> | + | <note important>Il existe des méthodes plus simples: [[tutoriel:comment_mettre_en_place_un_controle_parental|Comment mettre en place un contrôle parental ?]]</note> |
Ce document n'est pas réellement une documentation mais plutôt une description de ce que j'ai dû installer/configurer pour le faire fonctionner chez moi. Je n'ai pas cherché à être exhaustif sur tout ce que l'on peut faire avec ces applications. | Ce document n'est pas réellement une documentation mais plutôt une description de ce que j'ai dû installer/configurer pour le faire fonctionner chez moi. Je n'ai pas cherché à être exhaustif sur tout ce que l'on peut faire avec ces applications. | ||
Je vais donc vous livrer ma config et tout ce que j'ai compris dessus. | Je vais donc vous livrer ma config et tout ce que j'ai compris dessus. | ||
- | squid va être configuré en proxy transparent. Cela signifie que les postes qui seront sur le réseau local n'auront pas besoin de configuration particulière pour accéder à internet : tous les accès web qu'ils feront sur le port 80 seront automatiquement filtrés (en clair, ils n'auront pas besoin de configurer de proxy dans leur navigateur ...). | + | Squid va être configuré en proxy transparent. Cela signifie que les postes qui seront sur le réseau local n'auront pas besoin de configuration particulière pour accéder à Internet : tous les accès Web qu'ils feront sur le port 80 seront automatiquement filtrés (en clair, ils n'auront pas besoin de configurer de proxy dans leur navigateur ...). |
===== Contexte ===== | ===== Contexte ===== | ||
Ligne 36: | Ligne 36: | ||
=== Le plus simple : dhcp3-server === | === Le plus simple : dhcp3-server === | ||
- | + | FIXME peut-être peut-on s'en passer si les PC "clients" sont connecter à la box internet !\\ | |
- | [[:tutoriel:comment_installer_un_paquet|installez le paquet]] [[apt://dhcp3-server|dhcp3-server]] | + | <del>[[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt>dhcp3-server]]**</del> le paquet n'est plus dans les dépôts -> il se nomme depuis quelques années [[:isc-dhcp-server]] |
Lors de l'installation il vous est demandé quelle est l'interface avec laquelle il doit travailler. Il faut bien entrer eth1, c'est à dire l'interface réseau connecté au réseau local et non eth0 qui est elle connecté à internet. Il ne faut pas non plus laisser ce champ vide car sinon votre serveur dhcp sera accessible depuis internet. | Lors de l'installation il vous est demandé quelle est l'interface avec laquelle il doit travailler. Il faut bien entrer eth1, c'est à dire l'interface réseau connecté au réseau local et non eth0 qui est elle connecté à internet. Il ne faut pas non plus laisser ce champ vide car sinon votre serveur dhcp sera accessible depuis internet. | ||
- | Aprés l'avoir installé, il n'y a que peu de configuration à faire dans ///etc/dhcp3/dhcpd.conf// : | + | Après l'avoir installé, il n'y a que peu de configuration à faire dans ///etc/dhcp3/dhcpd.conf// : |
- | * En début de fichier, il y a deux lignes a adapter : <code>option domain-name "chezmoi.com"; | + | * En début de fichier, il y a deux lignes à adapter : <code>option domain-name "chezmoi.com"; |
option domain-name-servers 212.27.54.252, 212.27.39.135; | option domain-name-servers 212.27.54.252, 212.27.39.135; | ||
</code>\\ Bien sûr, vous pouvez mettre ce que vous voulez pour domain-name à la place de "chezmoi.com". Cette information ne sera pas vraiment utilisée.\\ Sur la deuxième ligne, vous devez mettre les adresses IP fournies par votre fournisseur d'accès. On peut les trouver dans ///etc/resolv.conf// une fois que vous êtes connecté à Internet. Exemple, chez moi il y a<code> | </code>\\ Bien sûr, vous pouvez mettre ce que vous voulez pour domain-name à la place de "chezmoi.com". Cette information ne sera pas vraiment utilisée.\\ Sur la deuxième ligne, vous devez mettre les adresses IP fournies par votre fournisseur d'accès. On peut les trouver dans ///etc/resolv.conf// une fois que vous êtes connecté à Internet. Exemple, chez moi il y a<code> | ||
Ligne 54: | Ligne 54: | ||
range 10.0.10.1 10.0.10.254; | range 10.0.10.1 10.0.10.254; | ||
option routers 10.0.0.1; | option routers 10.0.0.1; | ||
- | }</code>\\ La première ligne renseigne le serveur dhcp sur l'ensemble du réseau : Là, les adresses irons de 10.0.0.0 à 10.255.255.255.\\ La seconde ligne indique la plage d'adresses qu'il peut utiliser. Arbitrairement, j'ai mis de 10.0.10.1 à 10.0.10.254.\\ La troisième ligne, enfin, est l'adresse de la passerelle. C'est cette adresse IP là que vous devez donner à votre interface eth1.\\ Pour info, j'ai ajouté en plus :<code>host superkid { | + | }</code>\\ La première ligne renseigne le serveur dhcp sur l'ensemble du réseau : Là, les adresses iront de 10.0.0.0 à 10.255.255.255.\\ La seconde ligne indique la plage d'adresses qu'il peut utiliser. Arbitrairement, j'ai mis de 10.0.10.1 à 10.0.10.254.\\ La troisième ligne, enfin, est l'adresse de la passerelle. C'est cette adresse IP là que vous devez donner à votre interface eth1.\\ Pour info, j'ai ajouté en plus :<code>host superkid { |
hardware ethernet 00:d0:09:e9:ba:8b; | hardware ethernet 00:d0:09:e9:ba:8b; | ||
fixed-address 10.0.10.1; | fixed-address 10.0.10.1; | ||
} | } | ||
- | </code>\\ aprés avoir récupéré l'adresse MAC de mon fils. Ainsi, je peux forcer son adresse ce qui me permet de mettre dans mon /etc/hosts<code> | + | </code>\\ après avoir récupéré l'adresse MAC de mon fils. Ainsi, je peux forcer son adresse ce qui me permet de mettre dans mon /etc/hosts<code> |
10.0.10.1 superkid | 10.0.10.1 superkid | ||
</code>\\ Sinon j'aurais été incapable de savoir l'adresse qu'il utilise à tout moment ... | </code>\\ Sinon j'aurais été incapable de savoir l'adresse qu'il utilise à tout moment ... | ||
- | Voilà. C'est fait pour le serveur dhcp. plus qu'à le démarrer : | + | Voilà. C'est fait pour le serveur dhcp. plus qu'à le démarrer : |
<code>sudo /etc/init.d/dhcp3-server start</code> | <code>sudo /etc/init.d/dhcp3-server start</code> | ||
Ligne 69: | Ligne 69: | ||
=== dansguardian + squid === | === dansguardian + squid === | ||
- | une fois les deux installés, | + | une fois les deux installés, |
<code> | <code> | ||
sudo apt-get install squid dansguardian | sudo apt-get install squid dansguardian | ||
</code> | </code> | ||
- | voici ce qu'il faut configurer | + | voici ce qu'il faut configurer : |
== squid == | == squid == | ||
- | La configuration est entiérement dans le fichier ///etc/squid/squid.conf//. | + | La configuration est entièrement dans le fichier ///etc/squid/squid.conf//. |
j'ai ajouté à la fin : | j'ai ajouté à la fin : | ||
<code> | <code> | ||
Ligne 85: | Ligne 85: | ||
http_access allow all | http_access allow all | ||
</code> | </code> | ||
- | C'est la ligne //httpd_accel_port 80// qui est particuliérement importante. Sans elle, squid ne peut pas fonctionner en tant que proxy transparent. | + | C'est la ligne //httpd_accel_port 80// qui est particulièrement importante. Sans elle, squid ne peut pas fonctionner en tant que proxy transparent. |
**Sous Karmic** | **Sous Karmic** | ||
Ligne 95: | Ligne 95: | ||
</code> | </code> | ||
- | == dansguardian == | + | == DansGuardian == |
Il n'y a que trois lignes de /etc/dansguardian/dansguardian.conf à modifier : | Il n'y a que trois lignes de /etc/dansguardian/dansguardian.conf à modifier : | ||
<code> | <code> | ||
Ligne 103: | Ligne 103: | ||
</code> | </code> | ||
- | La premiére indique le port sur lequel dansquardian écoute. | + | La première indique le port sur lequel DansGuardian écoute. |
- | La seconde indique le port sur lequel squid écoute (3128 est le port par défaut de squid). | + | La seconde indique le port sur lequel Squid écoute (3128 est le port par défaut de Squid). |
Enfin, la troisième est utilisée pour indiquer dans quelle langue seront envoyés les messages d'erreur. | Enfin, la troisième est utilisée pour indiquer dans quelle langue seront envoyés les messages d'erreur. | ||
- | Bien s'assurer que squid est démarré avant de démarrer dansguardian car il fait un test de connexion. | + | Bien s'assurer que Squid est démarré avant de démarrer DansGuardian car il fait un test de connexion. |
- | Pour tester que ça fonctionne, il suffit de mettre http://localhost:8080 en proxy dans Firefox (Edition / Preferences / Général / Connexion / Configuration manuelle du proxy ...) puis de naviguer. | + | Pour tester que ça fonctionne, il suffit de mettre http://localhost:8080 en proxy dans Firefox (Edition / Préférences / Général / Connexion / Configuration manuelle du proxy ...) puis de naviguer. |
- | Essayez d'aller sur un site "peu recommandable" : L'accés devrait être interdit. | + | Essayez d'aller sur un site "peu recommandable" : L’accès devrait être interdit. |
J'ai ensuite modifié /etc/dansguardian/languages/french/template.html afin de personnaliser le message que recevra mon fils. | J'ai ensuite modifié /etc/dansguardian/languages/french/template.html afin de personnaliser le message que recevra mon fils. | ||
Ligne 123: | Ligne 123: | ||
Je ne vais pas refaire la doc de ce firewall : il y en a pas mal sur shorewall.net. | Je ne vais pas refaire la doc de ce firewall : il y en a pas mal sur shorewall.net. | ||
- | En particulier, la configuration utilisée est "linux avec deux interfaces". | + | En particulier, la configuration utilisée est "Linux avec deux interfaces". |
- | Lorsqu'on installe, il me semble qu'il n'y a pas de fichier de configuration (je ne sais plus, ca fait longtemps...) et qu'il faut les télécharger du site de shorewall.\\ | + | Lorsqu'on installe, il me semble qu'il n'y a pas de fichier de configuration (je ne sais plus, ça fait longtemps...) et qu'il faut les télécharger du site de shorewall.\\ |
J'ai pris celle-là : http://www1.shorewall.net/pub/shorewall/Samples/samples-2.2.4/two-interfaces.tgz\\ | J'ai pris celle-là : http://www1.shorewall.net/pub/shorewall/Samples/samples-2.2.4/two-interfaces.tgz\\ | ||
De plus, liée à cette config, il y a une documentation en français à l'adresse : http://www.shorewall.net/two-interface_fr.html.\\ | De plus, liée à cette config, il y a une documentation en français à l'adresse : http://www.shorewall.net/two-interface_fr.html.\\ | ||
- | Fonctionnement succinct de shorewall : | + | Fonctionnement succinct de Shorewall : |
Tout est organisé sous forme de zones. Ainsi, chez moi, j'ai\\ Internet <--> passerelle <--> clients\\ trois zones appelées net, fw et loc (local). | Tout est organisé sous forme de zones. Ainsi, chez moi, j'ai\\ Internet <--> passerelle <--> clients\\ trois zones appelées net, fw et loc (local). | ||
Ligne 136: | Ligne 136: | ||
Pour cela, il faut : | Pour cela, il faut : | ||
* donner des règles "par défaut" entre les zones. Par exemple, tout ce qui vient d'Internet est, par défaut, rejeté. | * donner des règles "par défaut" entre les zones. Par exemple, tout ce qui vient d'Internet est, par défaut, rejeté. | ||
- | * donner des exceptions à ces regles par défaut. | + | * donner des exceptions à ces règles par défaut. |
Tous les fichiers de configuration sont dans /etc/shorewall.\\ | Tous les fichiers de configuration sont dans /etc/shorewall.\\ | ||
En particulier, on a : | En particulier, on a : | ||
* interface, zones : permettent de définir les zones. Je n'ai absolument pas modifié celles fournies dans les fichiers trouvés à l'adresse indiquée plus haut. Au pire, il vous faudra peut-être modifier "interfaces" si vous avez inversé eth0 et eth1 ... | * interface, zones : permettent de définir les zones. Je n'ai absolument pas modifié celles fournies dans les fichiers trouvés à l'adresse indiquée plus haut. Au pire, il vous faudra peut-être modifier "interfaces" si vous avez inversé eth0 et eth1 ... | ||
- | * policy : celui-là, je l'ai un peu modifié. Par défaut, il permet au réseau local de tout faire sur internet et ne permet pas à la passerelle d'accéder à intenet. | + | * policy : celui-là, je l'ai un peu modifié. Par défaut, il permet au réseau local de tout faire sur internet et ne permet pas à la passerelle d'accéder à Internet. |
- | Hors, dans mon cas c'est l'inverse : je veux filtrer tout ce que va faire mon fils et je veux, moi (la passerelle est mon poste ...) ne pas avoir de filtre. | + | Or dans mon cas c'est l'inverse : je veux filtrer tout ce que va faire mon fils et je veux, moi (la passerelle est mon poste ...) ne pas avoir de filtre. |
Ainsi, j'ai changé :<code> | Ainsi, j'ai changé :<code> | ||
#SOURCE DEST POLICY LOG LEVEL | #SOURCE DEST POLICY LOG LEVEL | ||
Ligne 152: | Ligne 152: | ||
net all DROP | net all DROP | ||
all all REJECT | all all REJECT | ||
- | </code>\\ Vous remarquerez que j'ai supprimé les logs des rejets (les deux dernières lignes). C'est pas bien, mais ça me polluait les logs système.\\ Vous pouvez aussi remarquer qu'il y a une fois DROP et une fois REJECT. Je vous laisse voir ce à quoi cela correspond sur le site de shorewall ... . | + | </code>\\ Vous remarquerez que j'ai supprimé les logs des rejets (les deux dernières lignes). C'est pas bien, mais ça me polluait les logs système.\\ Vous pouvez aussi remarquer qu'il y a une fois DROP et une fois REJECT. Je vous laisse voir ce à quoi cela correspond sur le site de Shorewall ... . |
* rules : c'est là qu'on dit, au cas par cas, ce qui est autorisé (puisque tout le reste est interdit ...). \\ Par rapport à ce qu'il y a par défaut, j'ai juste :<code> | * rules : c'est là qu'on dit, au cas par cas, ce qui est autorisé (puisque tout le reste est interdit ...). \\ Par rapport à ce qu'il y a par défaut, j'ai juste :<code> | ||
- | # fait en sorte que les clients qui accèdent au port 80 (pour aller vers internet) soient redirigés vers dansguardian : | + | # fait en sorte que les clients qui accèdent au port 80 (pour aller vers Internet) soient redirigés vers DansGuardian : |
REDIRECT loc 8080 tcp 80 | REDIRECT loc 8080 tcp 80 | ||
# fait en sorte que les clients puissent faire des résolutions de nom (Ce serait un peu différent si on avait un cache DNS ...): | # fait en sorte que les clients puissent faire des résolutions de nom (Ce serait un peu différent si on avait un cache DNS ...): | ||
Ligne 160: | Ligne 160: | ||
</code> | </code> | ||
- | C'est fini. Plus qu'à démarrer shorewall (/etc/init.d/shorewall start) et tester. | + | C'est fini. Plus qu'à démarrer Shorewall (/etc/init.d/shorewall start) et tester. |
+ | |||
+ | ==== annexe ==== | ||
===== Liens externes ===== | ===== Liens externes ===== | ||
- | [[http://doc.ubuntu-fr.org/dansguardian_sans_serveur|Contrôle parental simple avec DansGuardian]] | + | [[:dansguardian_sans_serveur|Contrôle parental simple avec DansGuardian]] |
Permet d'utiliser Dansguardian directement sur un PC client | Permet d'utiliser Dansguardian directement sur un PC client | ||
- | [[http://ubuntuforums.org/showpost.php?p=4686738&postcount=3|Si utilisation de FireStarter]] | + | [[https://ubuntuforums.org/showpost.php?p=4686738&postcount=3|Si utilisation de FireStarter]] |
---- | ---- |