Chrooter apache
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Graver en ligne de commande
Astuces
Astuces en Bash
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Toutes les traductions
Toutes les traductions
Hackin9

Il y a actuellement 5 visiteurs connectés sur le site !

Utilisation d'un proxy Squid et des solutions de filtrage SquidGuard / Dansguardian + proxy transparent
Utilisation d'un proxy Squid et des solutions de filtrage SquidGuard / Dansguardian + proxy transparent

 

Introduction
Description sommaire
Installation de Squid
Configuration de Squid
Problèmes usuels
Test et configuration des navigateurs
Authentification des utilisateurs de Squid
Installation de Squidguard
Configuration et mise-à-jour des listes
Installation de Dansguardian
Configuration de Dansguardian
Le cas du Proxy transparent

 

Introduction:

Il peut s'avérer nécessaire de fixer des règles aux utilisateurs ou aux employés désirant surfer sur internet dans un cadre privé ou professionnel. Nous allons discuter ici des solutions open-source :Squid couplé à SquidGuard ou Dansguardian

Description sommaire

Squid est un proxy capable d'utiliser les protocoles FTP, HTTP, Gopher, et HTTPS. Il permet de mettre en cache les pages les plus fréquemment utilisées et d'accélérer de ce fait le temps de chargement des-dites pages
Squidguard est un outil permettant de filtrer en se servant des URI et, éventuellement, des noms d'utilisateurs, si l'on fait de l'authentification de ces derniers, et d'améliorer la rapidité d'accès au web grâce à ses fonctions de cache. SquidGuard utilise lors du filtre des urls regroupées en listes blanches et listes noires. Une liste noire est une liste de sites interdits. On va donc filtrer l?accès à Internet via cette liste noire. Si l'utilisateur essaie de se connecter à l'un des sites contenus dans cette liste , il sera redirigé vers une page de votre choix .
Une liste blanche permet d'accéder aux adresses qu'elle contient, qui sont considérées comme valide . L'inconvénient de ce genre de filtrage repose sur des défauts dans la mise-à-jour de ces listes , puisque des urls non valides se créent chaque jour ,et que SquidGuard peut difficilement les prendre en compte . De même on peut passer par un proxy HTTP et contourner de ce fait le filtrage mis en place par SquidGuard. Danguardian comme SquidGuard compare l'adresse du site visité avec une liste de sites interdits. Mais il possède un système d'évaluation ou chaque mot présent dans la page visitée pèse un certain poids Si le poids total de la page dépasse un certain niveau paramétrable, l'accès est refusé.

Installation de Squid

Squid s?installe le plus facilement du monde grâce à la commande magique :
urpmi squid
Voici ce que vous obtenez :
/usr/lib/squid : le répertoire de base de squid
/etc/squid : le répertoire de configuration de squid
/usr/sbin : le répertoire contenant les binaires de squid
/var/log/squid : contient les logs et les fichiers caches

Mandriva installe squid avec les bons droits et crée l?utilisateur squid. Si toutefois vous auriez procédé à une compilation, il vous faut créer un utilisateur squid et un groupe squid pour permettre au proxy de fonctionner avec les droits de Squid.

Saisir avec le superutilisateur root :
groupadd squid
useradd -g squid squid
N?oubliez pas de rajouter à squid.conf l?utilisateur et le groupe créés :
cache_effective_user squid
cache_effective_group squid
Recherchez ensuite la directive cache_dir :
cache_dir ufs /usr/local/squid/cache 1024 16 256
Vous pouvez augmenter la taille du cache qui est ici limitée par défaut à 16 Mo.
Ensuite donnez les droits qui conviennent au répertoire de log et d?installation :
chown squid /var/log/squid
chgrp squid /usr/local/squid Et n?oubliez pas d?initialiser le répertoire de cache :
/usr/sbin/squid -z

Configuration de squid

Squid tourne généralement sur le port 3128 ce qui se traduit dans squid.conf par la directive :
http_port 3128
#utilisateur et groupe utilisé pour écrire dans le cache
cache_effective_user squid
cache_effective_group squid
dns_nameservers dns1 dns2
La directive nameservers permet de dire à Squid d'utiliser les dns dns1 et dsn2 au lieu d'aller chercher ces dns dans le fichier /etc/resolv.conf
Pour éviter les longs time-out ajoutez:
dns_timeout 2 minutes
acl mynetwork src 192.168.0.0/255.255.255.0
donne l'accès internet à mon réseau local

Problèmes usuels

J'ai rencontré quelques erreurs courantes dans la configuration de Squid:
Lors d'un scan de ma machine avec le scanner de failles Nessus j'ai eu cette erreur venant de Squid:
The misconfigured proxy accepts requests coming from anywhere. This allows attackers to gain some anonymity when browsing some sensitive sites using your proxy, making the remote sites think that the requests come from your network.
Il me fallait donc faire en sorte que le proxy n'accepte que des requêtes en provenance de mon propre réseau:
Dans squid.conf j'ai placé
http_access deny all
après la règle http_access allow eth0 users
Si vous n'avez pas établi les bons droits pour Squid vous risquez un : FATAL: Failed to make swap directory /usr/local/squid/var/cache/00: (13) > Permission denied
Ce qui se règle avec une permission d'écriture sur les fichiers de log
chown -R squid:squid /var/log/squid
Si squid refuse encore de démarrer, il se peut que le nom d?hôte ne soit pas pleinement qualifié. Rajoutez dans votre squid.conf la ligne :
visible_hostname myfirewall@linux-pour-lesnuls.com

Test et configuration des navigateurs

À présent ,après avoir lancé Squid par un /usr/sbin/squid ,(vous pouvez en outre le lancer au démarrage par l'intermédiaire du menu système du Centre de Contrôle Mandriva ,ccm en ligne de commande pour les intimes), nous allons configurer notre navigateur pour pouvoir utiliser squid:
Dans Mozilla allez dans : Edition/préférence/Avancé/Proxy et remplissez les options demandées.
(Le port par défaut est 3128) Je vous laisse faire de même pour les autres butineurs .
Ensuite vérifier dans le fichier /var/log/squid/access.log les requêtes du proxy
Vous obtiendrez un listing de ce type :

1145704653.059 215 192.168.0.1 TCP_REFRESH_HIT/304 323 GET
http://www.linux-pour-lesnuls.com/icone/codehacks.gif - DIRECT/82.216.95.106
1145704653.464 415 192.168.0.1 TCP_MISS/200 1562
GET http://ss.webring.com/navbar? - DIRECT/69.90.135.89 application/x-javascript
( HIT signifie que squid a trouvé la requête, MISS indique que Squid va directement sur Internet )

Authentification des utilisateurs de Squid

Il est possible de placer une fenêtre d'authentification pour filtrer les utilisateurs allant sur le net , mais cela n'est pas compatible avec le procédé de proxy transparent .
Créez un fichier /etc/squid/users
# touch /etc/squid/users Ajoutons maintenant des couples users/pass pour les utilisateurs autorisés à utiliser Squid
htpasswd -b /etc/squid/users
Configurons maintenant Squid pour l'authentification:
Dans le fichier Squid.conf ajoutez:

auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/users
#utilisation du module d'authentification /usr/lib/ncsa_auth.
auth_param basic children 5
#nombre d'instances du programme.
auth_param basic realm Squid proxy-caching web server
# ce qui apparaitra dans la fenêtre d'authentification
auth_param basic credentialsttl 2 hour
Les ACL (Access Control Lists) permettent qui a accès aux ports, aux contenus de certains textes.
#durée d'une authentification réussie, avant de demander une nouvelle authentification.
acl eth0 src 192.168.0.0/255.255.255.0
#accès à votre réseau
acl users proxy_auth REQUIRED
http_access allow eth0 users

Mon squid.conf
Voici pour finir mon squid.conf:

http_port 3128
#le port où Squid écoute
hierarchy_stoplist cgi-bin ?
#ne pas utiliser le cache pour ? et .cgi
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_dir diskd /var/spool/squid 3100 16 256
#Répertoire dans lequel le swap de cache s'effectue.
cache_store_log none
cache_store_log
#fichier de logs des activités du cache: il est préférable de le désactiver
auth_param basic children 5
#nombre d'instances du programme
auth_param basic realm Squid proxy-caching web server
#ce qui va apparaitre dans la fenêtre d'authentification
auth_param basic credentialsttl 2 hours
#durée de la session authentifiée, ici 2 heures
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#refresh_pattern permet un contrôle beaucoup plus fin de la validité des objets cachés
half_closed_clients off
acl all src 0.0.0.0/0.0.0.0
# Liste des acl par défaut -> A conserver
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
# Accès par défaut -> A conserver
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access deny to_localhost
acl mynetwork src 192.168.0.0/255.255.255.0
# ACL qui définit le réseau utilisant le cache
http_access allow mynetwork
http_access allow localhost
http_reply_access allow all
icp_access allow all
visible_hostname myfirewall@linux-pour-lesnuls.com
# Où visible_hostname doit être un nom de domaine valide, si vous n'en possédez pas, mettez localhost.localdomain
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_host virtual
#Ces cinq lignes de directive permettent de rendre Squid transparent
ne pas faire fonctionner avec authentification des utilisateurs
append_domain .
err_html_text deny@monaco.net
# spécifie de mettre en html le texte inclus dans les messages d'erreur
deny_info ERR_CUSTOM_ACCESS_DENIED all
memory_pools off
#alleger le poids pris en mémoire par Squid
coredump_dir /var/spool/squid
#ou sont envoyé les fichiers core.
ie_refresh on
#rafraichissement des sites utilisant internet Explorer
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
#Redirection vers le programme de filtrage squidguard
dns_timeout 2 minutes
# Eviter les longs time out du à la résolution d'adresse

Installation de Squidguard

Pour installer saisir en root:
urpmi squidguard
Pour satisfaire les dépendances, les 2 paquetages suivants vont être installés (7 Mo):
libdb4.1-4.1.25-9mdk.i586
squidGuard-1.2.0-10mdk.i586
Est-ce correct ? (O/n)}
Répondre oui et installez !
copiez ensuite le fichier d'exemple vers ce qui sera le fichier de configuration de squidguard
cp squidGuard.conf.sample squidGuard.conf

Lors de l'installation des paquetages j'ai eu l'avertissement suivant :
warning: user apache does not exist - using root
warning: group apache does not exist - using root
warning: user apache does not exist - using root
warning: group apache does not exist - using root

Il s'agit donc pour régler ce problème de donner à squidguard le même groupe/utilisateur que squid
chown -R squid:squid /var/log/squidGuard
chown squid:squid /usr/bin/squidGuard
Rajoutez dans squid.conf
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf afin que Squid fonctionne avec squidguard .

Configuration et mise-à-jour des listes

Il reste ensuite à sécuriser le tout :
Nous avons le choix entre un script cgi de squidguard qui dirige les URI non autorisés vers votre poste local dont voici la ligne à rajouter dans squidGuard.conf
default{
pass none
redirect
http://127.0.0.1/cgi-bin/squidGuard.cgi?clientaddr=%a&srcclass=%s&targetclass=%t&url=%u
}
Votre machine devra donc disposer d'un serveur web en état de marche et d'un répertoire cgi-bin ou placer squidGuard.cgi .
ou bien vous pouvez opter pour une redirection du style :
redirect http://www.linux-pour-lesnuls.comr/interdiction.html
afin de gagner du temps lors de requête non acceptée et au cas ou vous ne posséderiez pas de serveur web sur votre machine .
Relancer maintenant Squid et SquidGuard avec la commande :
service squid restart
et essayer d'accéder à Google , vous n'aurez aucun accès !
Avant de donner un plein accès internet à notre réseau, regardons du côté des listes de filtrage qui sont placées dans notre exemple dans :
#Repertoires des données : dbhome pour les regles de filtrage
dbhome /usr/share/squidGuard-1.2.0/db
Si vous désirez télécharger de nouvelles listes en provenance de l?université de Toulouse qui les maintient régulièrement à jour, c?est ici :
ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
Ensuite placez-les dans le répertoire des listes et désarchivez :
tar zxvf blacklists.tar.gz -C /usr/share/squidGuard-1.2.0/db
cd /usr/share/squidGuard-1.2.0/db
mv blacklist/* .
rm -rf blacklists/
Si vous désirez télecharger et mettre à jour automatiquement à l'aide d'un script et de cron vos listes noires c'est ici :
http://www.funix.org/fr/linux/main-linux.php3?ref=proxy&page=menu#ftp
Ensuite nous allons autoriser notre réseau à accéder à internet via un paramétrage dans squidGuard.conf:

# /etc/squid/squidGuard.conf

dbhome /var/lib/squidGuard/db
logdir /var/log/squid
# Définition des sources :
src admin {
ip 192.168.0.1
}
# ici se situe l'adresse IP l'administrateur
src poste {
ip 192.168.0.20
}
#autoriser l'accès pour une machine avec l'IP 192.168.0.20 src multiposte { ip 192.168.0.1-192.168.0.12
}
#autoriser l'accès pour un réseau allant de 1 à 12

#bases de filtrage
dest adult {
domainlist adult/domains
urllist adult/urls
}
dest publicite {
domainlist publicite/domains
urllist publicite/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}
dest porn {
domainlist porn/domains
urllist porn/urls
}

# Definition des ACL
acl {
proxy {
pass all
}
poste{
pass !porn !adult !publicite !warez all
redirect http://www.linux-pour-lesnuls.comr/interdiction.html
pass none
}
multiposte {
pass !porn !adult !publicite !warez all
redirect http://www.linux-pour-lesnuls.comr/interdiction.html
pass none
}
default {
pass none
redirect http://www.linux-pour-lesnuls.comr/interdiction.html
}
}


# root peut accéder à tout, pour poste et multiposte tout est autorisé sauf porn adult publicite et warez
# redirect
redirect http://www.linux-pour-lesnuls.comr/interdiction.html traite les requêtes non acceptées.

Voici pour un squidguard.conf basique avec les explications pour les utilisateurs de Mandriva :

#----------------------------------------------------------------
# SquidGuard CONFIGURATION FILE
#----------------------------------------------------------------

# CONFIGURATION DIRECTORIES
dbhome /usr/share/squidGuard-1.2.0/db
logdir /var/log/squidGuard
#emplacement des bases de données et des logs
# TIME RULES:
# abbrev for weekdays:
# s = sun, m = mon, t =tue, w = wed, h = thu, f = fri, a = sat

time workhours {
weekly s 09:30-12:00 13:00-19:00
weekly m 09:00-12:00 13:00-19:00
weekly t 09:00-11:00 12:00-19:00
weekly w 09:00-12:00 12:00-18:00
weekly h 09:00-13:00 13:00-18:00
weekly f 09:00-12:00 13:30-18:00
weekly a 08:20-13:00 13:30-19:00
}

#heures pendant lesquels le proxy est utilisable
par exemple weekly s 09:30-12:00 13:00-19:00
correspond au samedi de 9h30 à 12h et de 13h à 19h

# SOURCE ADDRESSES:
src privilegedsource {
ip 192.168.13.1
#il s'agit de machine qui pourra se connecter avec tous les droits
src bannedsource {
iplist bannedsource/ips
}
#Liste de machines avec aucun accès
src lansource {
ip 192.168.13.50
}
#machine avec droit limité
DESTINATION CLASSES:
#les expressions servant de filtres pour vos machines

dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}
dest adult {
domainlist adult/domains
urllist adult/urls
expressionlist adult/expressions
}
dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}
dest forums {
domainlist forums/domains
urllist forums/urls
expressionlist forums/expressions
}
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
dest redirector {
domainlist redirector/domains
urllist redirector/urls
expressionlist redirector/expressions
}
dest warez {
domainlist warez/domains
urllist warez/urls
}
dest ads {
domainlist ads/domains
urllist ads/urls
}
dest aggressive {
domainlist aggressive/domains
urllist aggressive/urls
}
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
dest gambling {
domainlist gambling/domains
urllist gambling/urls
}
dest publicite {
domainlist publicite/domains
urllist publicite/urls
expressionlist publicite/expressions
}
dest violence {
domainlist violence/domains
urllist violence/urls
expressionlist violence/expressions
}
dest banneddestination {
domainlist banneddestination/domains
urllist banneddestination/urls
expressionlist banneddestination/expressions
}
dest advertising {
domainlist advertising/domains
urllist advertising/urls
redirect http://127.0.0.1/interdiction.html
log /var/log/squidGuard/advertising.log
}
#Tout ce qui est relatif à de la publicité est redirigé vers une page de votre serveur local ; interdiction.html
# ACLs
acl {
privilegedsource {
pass !advertising all
redirect http://127.0.0.1/interdiction.html
}
#Tout est permis pour l'ip privilégiée sauf la publicité

bannedsource {
pass none
redirect http://127.0.0.1/interdiction.html
}
#aucun accés pour les machines bannies
lansource {
pass !adult !audio-video !forums !hacking !redirector !warez !ads !aggressive !drugs !gambling !publicite !violence !banneddestination !advertising all
redirect http://127.0.0.1/interdiction.html
}
#Tout passe pour notre réseau hormis les contenus adultes,audio-video,les forums,le hack etc.....
En général le ! dans les acl devant les différents groupes comme adult signifie : affiche tout sauf du contenu pour adulte
default {
pass none
redirect http://127.0.0.1/interdiction.html
}
}
Pourquoi une page interdiction.html à la place d?un script.cgi ?
Pour gagner du temps car une simple page html est toujours plus rapide que l?execution d?un script, plus sûre car contenant moins de failles qu?un script mal sécurisé, et convenant même à ceux qui n?ont pas de repertoire cgi sur leur serveur. Créez la base de données de filtrage en saisissant:
# squidGuard -C all

Pour pouvoir avoir accès à vos bases ,il va falloir changer les permissions sur le répertoire db. Donc, placez vous dans le répertoire /usr/share/squidGuard/ et faites :
chown -R squid db
chmod -R 760 db

Redémarrez squid qui initialisera automatiquement squidGuard.
Les logs de Squid et SquidGuard sont dans /var/log/squid, pour les consulter en direct, saisissez dans un terminal :
# tail -f /var/log/squid/access.log
et
# tail -f /var/log/squidGuard/squidGuard.log
Saisissez à présent une url interdite appartenant à une de vos listes ,par exemple :http://167.216.142.116/ ,vous serez redirigé sur la page interdiction.html de votre serveur .
Voici une adresse d'où vous pouvez telecharger ou mettre à jour vos listes SquidGuard et régler d'éventuels problèmes de configuration /fonctionnement
http://cri.univ-tlse1.fr/documentations/cache/squidguard.html

Installation de Dansguardian

Pour le télécharger et l'installer faites : urpmi DansGuardian et c'est tout .
DansGuardian n'est pas un proxy et ne fait pas de mise en cache , il fonctionne de concert avec Squid . Il s'avère redoutablement efficace et peut générer des faux-positifs, c'est-à-dire des pages valides interdites par erreur.
Voici une url pour télécharger la liste noire et éventuellement installer un script de mise-à-jour
http://urlblacklist.com/?sec=download

Configuration de Dansguardian

Nous allons à présent configurer DansGuardian : Ceci se passe dans le fichier /etc/dansguardian/dansguardian.conf que vous allez éditer avec l'éditeur de votre choix :
vi dansguardian.conf
La configuration par défaut suffit généralement pour tout site , il faudra simplement songer à adapter
Mettre votre langage de prédilection:

language = 'french'
# Network Settings
#
# the IP that DansGuardian listens on. If left blank DansGuardian will # listen on all IPs. That would #### all NICs, loopback, modem, etc. # Normally you would have your firewall protecting this, but if you want
# you can limit it to only 1 IP. Yes only one.
filterip = 192.168.0.1
# the port that DansGuardian listens to.
filterport = 8080
# the ip of the proxy (default is the loopback - i.e. this server)
proxyip = 127.0.0.1
# the port DansGuardian connects to proxy on
proxyport = 3128 (qui correspond au port de mon proxy squid
Placer à on pour identifier les fauteurs de trouble .
reverseclientiplookups = on

Le chemin du script à placer dans votre répertoire cgi:
accessdeniedaddress = 'http://www.linux-pour-lesnuls.com/cgi-bin/dansguardian.pl'

Dansguardian est prévu pour fonctionner sur le port 8080. Votre navigateur se connectera donc au proxy via le port 8080. Toujours pour notre navigateur mozilla faites :
Menu Editions / Préférences / Avancées / Proxy
Proxy http : 192.168.0.1 port : 8080
Pas de proxy pour localhost, 127.0.0.1
Il vous faut alors relancer squid avec un
killall squid suivi de /usr/sbin/squid en utilisateur root . Lancer de même dansguardian :
/usr/sbin/dansguardian
(Vous avez toujours la possibilité de les lancer tout deux au démarrage via le MCC)
Tester le filtre dansguardian à l'aide de la page :
http://www.eicar.org/download/eicar.com Cette page doit être refusée !
Il se peut que Dansguardian génère des faux-positifs en refusant l'accès à des pages telles que google. L'autorisation d'accès à vos sites se trouve dans le fichier /etc/dansguardian/exceptionsitelist .
A l'inverse , /etc/dansguardian/bannedsitelist gère les sites non autorisés !
Saisissez www.badboys.com qui est l'exemple par défaut de ce fichier et dansguardian vous en refusera l'accès N'oubliez pas de relancer Dansguardian à chaque modification des listes .
Il est possible d'utiliser les listes noires de Squidguard en insérant le répertoire blacklists de SquidGuard dans /etc/dansguardian et en décommentant les lignes appropriées dans dansguardian.conf
#.Include
#Remove the # from the following and edit as needed to use a stock #squidGuard blacklists collection.

Le cas du proxy transparent

Il est aisé de trafiquer la configuration d'un navigateur pour eviter de passer par le proxy et l'outil de filtrage . Il convient alors de mettre en place un proxy transparent ou le trafic sera automatiquement redirigé du port 80 vers le port 8080 (port de Dansguardian )
J'estime ce procédé douteux dans la mesure ou l'utilisateur n'est pas averti que son activité internet passe par un proxy transparent .
Dans squid.conf, il faut activer ces options :
httpd_accel_port 80
httpd_accel_host virtual
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
et retirer les lignes en rapport avec l'authentification: #auth_param basic children 5
#auth_param basic realm Squid proxy-caching web server
#auth_param basic credentialsttl 2 hours
N'oubliez pas de relancer Squid !
A présent je vais rajouter les lignes de redirection du port 80 vers le port 8080 au cas ou squid et dansguardian sont sur la même machine
/sbin/iptables -t nat -A OUTPUT -p tcp --dport 80 -m owner --uid-owner squid -j ACCEPT
/sbin/iptables -t nat -A OUTPUT -p tcp --dport 3128 -m owner --uid-owner squid - j ACCEPT
/sbin/iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8080
Ces lignes indiquent à iptables d'intercepter toutes les requêtes sur un port 80 , et de les rediriger vers dansguardian
Essayez à présent d'ouvrir le site www.badboys.com en désactivant votre proxy (mettre connexion directe dans les options de proxy de votre navigateur ), vous serez tout de même redirigé vers la page d'interdiction de votre serveur . Bon Linux !

Sources de l'article


 

Forum d'entraide
Les news du site
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
Azureus pas-a-pas
Lire les news de Linux-pour-lesnuls.com au format RSS
Gestion des paquets debian
101 commandes debian
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Ensemble
Divers