PROXY SQUID-SQARD. procédure



Documents pareils
Installation et Configuration de Squid et SquidGuard sous Debian 7

Serveur Mandataire SQUID

But de cette présentation. Proxy filtrant avec Squid et SquidGuard. Serveur proxy. Serveur proxy. Hainaut P

Proxy SQUID sous Debian

Serveur proxy Squid3 et SquidGuard

MISE EN PLACE D UN FIREWALL ET D UN SERVEUR PROXY SOUS LINUX MANDRIVA.

Zemma Mery BTS SIO SISR. Session Projets Personnels Encadrés

Mise en place d un serveur Proxy sous Ubuntu / Debian

Configuration de SquidGuard sous Fedora Core 4-1 / 6 -

Comment surfer tranquille au bureau

Mise en place d un proxy Squid avec authentification Active Directory

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Linux sécurité des réseaux

SQUID Configuration et administration d un proxy

Installation d'un service mandataire (Proxy SQUID) 1

Sécurité du Système d Information. Authentification centralisée et SSO

Procédure d'installation

Serveur de messagerie sous Debian 5.0

SÉCURITÉ DU SI. Authentification centralisée et SSO. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET (2): Version : 1.0

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Administration Linux - Proxy

Virtualisation d un proxy Squid gérant l authentification depuis Active Directory. EPI - Stagiaire2007 Vivien DIDELOT

Squid. Olivier Aubert 1/19

Configurer Squid comme serveur proxy

Le filtrage de niveau IP

MANUEL D INSTALLATION D UN PROXY

EPREUVE PRATIQUE DES TECHNIQUES INFORMATIQUES ACTIVITE N 1. Thème de l activité : Configuration d un firewall

MANIPULATION DE LA TABLE DE ROUTAGE IP. par. G.Haberer, A.Peuch, P.Saadé

Formation Iptables : Correction TP

Procédure d utilisation et de paramétrage (filtrage) avec IPFIRE

Squid. Squid est un logiciel permettant la réalisation d'un cache pour les clients web. Squid peut aussi jouer le rôle de filtre http.

Squid/SquidGuard.

Environnements informatiques

ASR4 Réseaux Département Informatique, IUT Bordeaux 1. DHCP Prénom : Nom : Groupe :

Installation d un superviseur ZABBIX

Licence 3 Systèmes et Réseaux II. Chapitre V : Filtrage

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

titre : CENTOS_CUPS_install&config Système : CentOs 5.7 Technologie : Cups Auteur : Charles-Alban BENEZECH

Installer un gestionnaire de parc GLPI sous Linux

Installation de Zabbix

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

OCS Inventory & GLPI

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Installer et configurer un serveur Zimbra

Les réseaux des EPLEFPA. Guide «PfSense»

Debian Lenny - Virtualisation avec Libvirt/KVM Debian GNU/Linux

Sécurité des réseaux Firewalls

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

Linux Firewalling - IPTABLES

INSTALLATION DEBIAN 7 (NETINSTALL) SUR VM

FILTRAGE de PAQUETS NetFilter

Réaliser un inventaire Documentation utilisateur

Répartition des charges avec HaProxy CONTEXTE MFC JULIEN HUBERT

Administration Réseaux

Mise en place d un firewall d entreprise avec PfSense

12 - Configuration de SquidGuard - De base.doc. A) Sous /etc/squid/squid.conf

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

MISE EN PLACE DU FIREWALL SHOREWALL

Configuration d un réseau local

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Netfilter & Iptables. Théorie Firewall. Autoriser le trafic entrant d'une connexion déjà établie. Permettre le trafic entrant sur un port spécifique

Serveur DHCP et Relais DHCP (sous Linux)

Annexes. OpenVPN. Installation

Installer un serveur VOIP Asterisk et ses clients

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Gestion d identités PSL Exploitation IdP Authentic

Installation d'un serveur WEB sous Linux

MI03 TP. Objectifs du TP 1ère séance. 2ème séance. Construction d'un système linux embarqué complet

INSTALLATION DEBIAN. Installation par le réseau

Exemples de commandes avec iptables.

TP Linux : Firewall. Conditions de réalisation : travail en binôme. Fonctionnement du parefeu Netfilter. I Qu est ce qu'un firewall?

Sécurisation des communications

Plate-forme d'accès Protégé à l'internet sous linux ****** PAPINUX ******

NRPE. Objectif. Documentation. Procédures

2013 Installation de GLPI-OCS. Florian MICHEL BTS SIO LYCEE SAINTE URSULE

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

Installation d ORACLE 10g sous Debian Etch

Administration réseau Firewall

DHCPD v3 Installation et configuration

pare - feu généralités et iptables

TP SECU NAT ARS IRT ( CORRECTION )

Note d Application. Bascule d ALOHA via injection de route en BGP

Toutes ces machines sont virtuelles et bridgées sur ma carte réseau.

XMBox. Help red team pentester

Installation GLPI-OCSNG-SSL Linux Debian Sarge

Atelier Migration. Mohamadi ZONGO Formateur assistant Kassim ASSIROU Atelier Migration.

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Client windows Nagios Event Log

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

Installation d'un serveur sftp avec connexion par login et clé rsa.

TP4 : Firewall IPTABLES

Iptables. Table of Contents

Déploiement d OCS 1.02 RC2 sous Debian Etch 64

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server

Tour d'horizon Bureau client Daemon's Aller plus loin

Transcription:

PROXY SQUID-SQARD procédure

Tableau d évolution Version Date Description Rédacteur Approbateur 0.0 08/12/2014 Ecriture du document Thierry MARTINS 1.0 05/02/2015 1 ère version Thierry MARTINS Guide de Procédure Page 1 sur 15 CFSA-AFTEC

Sommaire Tableau d évolution... 1 I) PROXY SQUID... 3 a) Mise en place d une adresse IP statique et iptables:... 3 b) Installation de squid3... 4 c) Créer acl :... 4 d) Fichier squid.conf... 5 e) iptables proxy transparent... 7 II) SQUIDGUARD :... 8 a) Ajouter des catégories dans squidguard :... 9 b) Redirection... 9 c) Créer base de données :... 9 III) Whitelist... 10 IV) Les Logs... 11 a) Rotation des logs... 11 V) Automatisation de la mise à jours de la base de données de SquidGuard... 12 VI) Proxy Https... 14 Guide de Procédure Page 2 sur 15 CFSA-AFTEC

I) PROXY SQUID a) Mise en place d une adresse IP statique et iptables: Nano /etc/network/interfaces #eth0 auto eth0 allow-hotplug eth0 iface eth0 inet static address 192.168.2.162 netmask 255.255.255.0 network 192.168.2.0 broadcast 192.168.2.255 gateway 192.168.2.1 Ajout de la seconde carte (coté LAN) : #eth1 auto eth1 allow-hotplug eth1 iface eth1 inet static address 192.168.32.1 netmask 255.255.255.0 network 192.168.32.0 broadcast 192.168.32.255 Mettre les iptables au démarrage: Update-rc.d network-manager remove => pour supprimer network-manager Update-rc.d mes_iptables_vides.sh defaults Guide de Procédure Page 3 sur 15 CFSA-AFTEC

b) Installation de squid3 apt-get update & upgrade apt-cache search squid3 & squidguard apt-get install squid3 & squidguard history => voir l historique des commandes Ou history grep «nom de la commande» Règles iptables => iptables L v On rajoute la ligne suivante permettant d'autoriser les connexions entrantes à destination du port 3128 pour le réseau 192.168.32.0/24 dans /etc/init.d/mes_iptables_vides.sh iptables -t filter -A INPUT -p tcp --dport 3128 -s 192.168.32.0/24 -j ACCEPT Fichier de conf squid => /etc/squid3/squid.conf Mv /etc/squid3/squid.conf /etc/squid3/squid.conf.origin Enlever les commentaires du fichier squid.conf.origin => cat squid.conf.origin egrep -v -e ^[[:blank :]]*# ^$ > squid.conf c) Créer acl : Acl LAN src 192.168.32.0/24 Acl admin src 192.168.32.10 Acl blockdomain dstdomain.facebook.com.facebook.fr.nba.com Acl blockregex url_regex jeu http_access allow admin http_access deny blockdomain http_access deny blockregex http_access allow LAN Afficher processus : ps aux grep squid Guide de Procédure Page 4 sur 15 CFSA-AFTEC

Recharger fichier squid : service squid3 restart ou reload Afficher fichier de log squid tail f /var/log/squid3/access.log Indiquer serveur proxy mozilla etc. Option /avancé /réseau indiquez adresse eth1 (32.254) et port 3128 Vider cache = ctrl + maj + supp Vérifier qu il n est pas inscrit rc0.d rc1.d Logformat Modifier fichier squid.conf.origin recherchez 4eme logformat (ctrl + w) => TAG : logformat Changer format heure fichier de log logformat squid %tl.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %un %Sh/%<A %mt d) Fichier squid.conf acl LAN src 192.168.32.0/24 acl admin src 192.168.32.10 acl blockdomain dstdomain.facebook.com.nba.com acl blockregex url_regex jeu acl manager proto cache_object acl localhost src 127.0.0.1/32 ::1 acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1 acl SSL_ports port 443 acl Safe_ports port 80 acl Safe_ports port 21 acl Safe_ports port 443 # http # ftp # https Guide de Procédure Page 5 sur 15 CFSA-AFTEC

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 http_access allow admin http_access deny blockdomain http_access deny blockregex http_access allow LAN 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_access deny all http_port 3128 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/ \?) 0 0% 0 refresh_pattern. 0 20% 4320 Guide de Procédure Page 6 sur 15 CFSA-AFTEC

e) iptables proxy transparent a) iptables iptables t nat A PREROUTING i $LAN_IF p tcp --dport 80 -j REDIRECT --to-port 3128 #PROXY iptables -A OUTPUT -o $WAN_IF -p TCP --sport 3128 -j ACCEPT iptables -A INPUT -i $WAN_IF -p TCP --dport 3128 -j ACCEPT iptables -A OUTPUT -o $LAN_IF -p TCP --sport 3128 -j ACCEPT b) squid Ajouter transparent à coté 3128 Guide de Procédure Page 7 sur 15 CFSA-AFTEC

II) SQUIDGUARD : SquidGuard.conf et squidguard.conf.default : Différencier 2 fichiers : Commande : apropos compare diff «chemin fichier 1» «chemin fichier 2» Enlever les commentaires du fichier (voir commande cat egrep squid.conf) Télécharger blacklist: wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz Et le décompresser dans /var/lib/squidguard/db (tar xzf) Pour voir les noms des catégories aller dans /var/lib/squidguard/db/blacklists/global_usage Pour localiser un programme : Commande : wish «nom du programme» Modifier le fichier squid.conf pour activer squidguard : cache_dir ufs /var/spool/squid3 1024 256 256 cache_mem 128 MB maximum_object_size 15 MB url_rewrite_program /usr/bin/squidguard -c /etc/squidguard/squidguard.conf Guide de Procédure Page 8 sur 15 CFSA-AFTEC

a) Ajouter des catégories dans squidguard : dest audio-video { domainlist blacklists/audio-video/domains } urllist blacklists/audio-video/urls En début de fichier : Src admin { Ip 192.168.32.20 Src LAN { Ip 192.168.32.0/24 b) Redirection Créer dans acl (squidguard): LAN { } Pass!audio-video Redirect http://google.fr any Donner les droits à l utilisateur proxy Chown R proxy:proxy blacklists en étant dans le chemin /var/lib/squidguard/db c) Créer base de données : su proxy squidguard C all d => -d pour voir les erreurs Guide de Procédure Page 9 sur 15 CFSA-AFTEC

III) Whitelist Si je veux autoriser seulement certains sites dans un domaine bloqué, comme par exemple youtube.com et deezer.com, vous devez créer un fichier «domains.diff dans le dossier du domaine bloqué (ici var/lib/squidguard/db/audio-video). Ensuite, modifier ce fichier et ajoutez-y les 2 sites à débloquer en ajoutant un tiret devant eux. Ex : -youtube.com -deezer.com Ensuite, il suffit de taper la commande «squidguard u» pour mettre à jour les bases de données sans toucher aux fichiers contenant les domaines. Enfin, tapez la commande «squid3 k reconfigure». Guide de Procédure Page 10 sur 15 CFSA-AFTEC

IV) Les Logs Pour squid3 : /var/log/squid3 il y a le fichier access.log qui contient les connexions des utilisateurs et le fichier cache.log qui liste le fonctionnement du mode cache. Pour squidguard : /var/log/squid/ il y a le fichier SquidGuard.log qui suit les états de fonctionnement de squidguard et ses bases de données. a) Rotation des logs D un point de vue légal, il faut stocker les fichiers de logs pendant un an. Nous allons donc mettre en place une rotation des logs sur 366 jours (années bissextiles). Pour cela, il faut modifier le fichier squid.conf et y ajouter la ligne suivante : logfile_rotate 366 Ensuite, il faut effectuer une rotation des logs tous les jours, pour cela il faut créer un script dans /root/cron.daily/ (pour tous les jours) que l on nommera rotate.sh. Mais pour nos tests nous allons le mettre dans /etc/init.d/ pour une rotation des logs toutes les 30 minutes. Dans ce fichier, écrivez ceci : squid3 k rotate (cela permet la rotation des logs) Il nous faut maintenant rendre ce script exécutable avec la commande «chmod 770 rotate.sh»(à exécuter dans le dossier contenant le script). Nous allons maintenant mettre en place la tâche planifiée dans le fichier etc/crontab/ Ajoutez la ligne suivante : /30 * * * * root /etc/init.d/rotate.sh Votre rotation des logs est opérationnelle. Guide de Procédure Page 11 sur 15 CFSA-AFTEC

V) Automatisation de la mise à jours de la base de données de SquidGuard Pour automatiser la mise à jour des blacklists SquidGuard, il faut mettre en place le script suivant : #!/bin/sh # INITIALISATION DES VARIABLES blacklisturl1=ftp://ftp.univtlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz blacklistfile1=blacklists.tar.gz blacklistdir=/var/lib/squidguard/db/ result=1 detail="" # TELECHARGEMENT DES BLACKLISTS cd $blacklistdir rm $blacklistfile1 wget $blacklisturl1 # SI TELECHARGEMENT OK if [ -f "$blacklistfile1" ] then # ARRET DE SQUID /etc/init.d/squid3 stop sleep 10 nbre_deamon=`ps aux grep -e squid3 wc -l` if [ $nbre_deamon -eq 1 ] then detail="$detail Arrêt deamon Squid3 OK.\n" else detail="$detail Erreur arrêt deamon Squid3.\n" result=0 fi # MISE EN PLACE 1ERE BLACKLIST if [ -f "$blacklistfile1" ] then rm -R./blacklists_old mv./blacklists./blacklists_old tar xvzf $blacklistfile1 detail="$detail Téléchargement fichier $blacklistfile1 OK.\n" else result=0 detail="$detail Erreur téléchargement fichier $blacklistfile1.\n" fi # GENERATION DES FICHIERS DB /usr/bin/squidguard -C all -d # RECHERCHE DU NOMBRE DE FICHIER DB GENERE find /var/lib/squidguard/db/blacklists/ -name "*.db" -print > db.txt find /var/lib/squidguard/db/bl/ -name "*.db" -print >> db.txt find /var/lib/squidguard/db/mylists/ -name "*.db" -print >> db.txt nbre_db=`cat db.txt wc -l` Guide de Procédure Page 12 sur 15 CFSA-AFTEC

list_db=`cat db.txt` # RECHERCHE DU NOMBRE DE FICHIERS DB A GENERER STIPULE DANS SQUIDGUARD.CONF nbre_db_conf=`cat /etc/squidguard/squidguard.conf grep -E "^[^#](domainlist urllist)" wc -l` # TEST ERREUR DE GENERATION FICHIERS DB if [ $nbre_db_conf -eq $nbre_db ] then detail="$detail Génération des fichiers DB OK.\n" else detail="$detail Erreur de génération des fichiers DB.\n" fi # DROITS SUR LES FICHIERS DE BLACKLISTS chown -R proxy:proxy $blacklistdir # REDEMERRAGE DE SQUID /etc/init.d/squid3 start sleep 10 nbre_deamon=`ps aux grep -e squid3 wc -l` if [ $nbre_deamon -gt 1 ] then detail="$detail Démarrage deamon Squid3 OK.\n" else detail="$detail Erreur démarrage deamon Squid3.\n" result=0 fi nbre_deamon=`ps aux grep -e squidguard wc -l` if [ $nbre_deamon -gt 1 ] then detail="$detail Démarrage module SquidGuard OK.\n" else detail="$detail Erreur démarrage module SquidGuard.\n" result=0 fi Ensuite, placer ce script dans le dossier /etc/cron.daily/ pour qu il s exécute tous les jours. Guide de Procédure Page 13 sur 15 CFSA-AFTEC

VI) Proxy Https Pour mettre en place le proxy HTTPS Transparent il faut recompiler squid3 en y ajoutant une directive : - On commence par installer les outils de compilation : apt-get install devscripts build-essential fakeroot libssl-dev - On télécharge ensuite les sources de squid3 : apt-get source squid3 - On installe ensuite les dépendances pour la compilation : apt-get build-rep squid3 - On édite les règles de compilation : nano /debian/rules - On rajoute la directive --enable-ssl \ - On compile ensuite squid3 :./configure puis debuild us uc b - On installe ensuite les paquets avec dpkg -i squid3_*.deb squid3-common_*.deb - Il nous faut ensuite générer les certificats auto-signés obligatoire pour l utilisation de HTTPS : On crée le dossier accueillant les certificats dans /etc/squid3 avec mkdir ssl On se place dans le dossier /etc/squid3/ssl On crée d abord la clé privée : openssl genrsa -des3 -out privkey.pem 2048 On crée ensuite notre certificat CA privé : openssl req -new -x509 -days 3650 -key privkey.pem -out cacert.pem - Il nous faut maintenant définir les paramètres d écoutes pour le protocole HTTPS dans squid3, pour cela il faut rajouter, dans le fichier /etc/squid3/squid.conf la ligne : https_port 3139 transparent cert=/etc/squid3/ssl/cacert.pem key=/etc/squid3/ssl/privkey_nopwd.pem (tout sur la même ligne) On redémarre ensuite squid3 : /etc/init.d/squid3 restart Guide de Procédure Page 14 sur 15 CFSA-AFTEC

Test : Sur notre poste client, nous vérifions qu aucun paramètre proxy n est renseigné. Nous essayons ensuite de nous rendre sur un site web devant étre bloqué par squidguard, par exemple https://deezer.com. Il faut obligatoirement accepter les erreurs de certificat puisque nous disposons seulement d un certificat auto-signé qui n est donc pas légitime. Nous constatons que nous sommes bien redirigés vers https://google.fr Nous essayons ensuite de se rendre sur un site non bloqué par squidguard, par exemple https://secure.fnac.com Nous constatons que des erreurs de chargement du style CSS existent. Pour corriger ces erreurs il faut se rendre dans les paramètres d IE -> Onglet avancé, puis dans le bandeau déroulant se rendre dans la section sécurité puis décocher : Signaler les incohérences d adresses de certificats* Les sites non bloqués seront donc désormais chargés correctement. Guide de Procédure Page 15 sur 15 CFSA-AFTEC