Linux Breizh

Linux, Logiciels Libres et une pointe de Breizh ...

Aller au contenu | Aller au menu | Aller à la recherche

Keyword - Réseaux

Fil des billets - Fil des commentaires

12janv.

Installation et configuration d’un serveur DNS Bind9 sous Debian

Ce tutoriel va vous détailler l’installation et la configuration d’un serveur DNS sous Linux, en utilisant Bind et la distribution Debian. A quelques détails près, ce tutoriel peut s’appliquer sur d’autres distributions Linux.

Les notions de Serveur cache et de délégation de zone seront également expliquées. L’installation et la configuration de dynDNS feront l’objet d’un autre tutoriel.

INTRODUCTION

Chaque machine présente sur un réseau est identifiée par son adresse IP codée sur 4 octets (norme IPv4) , de la forme www.xxx.yyy.zzz, comme par exemple 192.168.0.1, 255.255.225.0, 80.125.30.214. Ceci s’applique également sur Internet. Dans le cadre de grands réseaux, il devient difficile de mémoriser beaucoup d’adresses, c’est pourquoi un système de nom de domaine a été mis en place pour faciliter leur lecture par l’homme.

Lire la suite

09janv.

Sécurité sur le web

Ce sujet a déjà été abordé maintes et maintes fois sur le net, mais au vu des habitudes de trop nombreuses personnes, il est bon d’y consacrer un article.

INTRODUCTION

En matière de sécurité informatique il est un facteur qui surpasse tous les autres et qui est le plus difficile à corriger: le facteur humain. Les internautes n’imaginent pas tous le danger à surfer sur Internet sans moyen de protection. Actuellement, le risque de recevoir un virus est de quelques secondes sans aucune protection antivirale ni parefeu. Il faut donc respecter quelques règles de base.

En matière de nuisances informatiques, il y a :

* les virus ( vers, macro-virus, virus de boot, …)

* les chevaux de Troie ( ou troyen, trojan ), qui s’installent sur votre ordinateur sans se reproduire et peuvent en prendre le controle.
* les adwares ou logiciels espion, retransmettant le plus souvent nos habitudes de surf Internet
* le spam, ou pourriel, consistant en un e-mail dans un but publicitaire ou frauduleux.
* le hoax, qui est un canular destiné à être propagé le plus rapidement possible et vers le maximum de PC, afin de surcharger les serveurs.
* les attaques informatiques ( crack, phishing, …)

La majorité de ces nuisances ( virus, troyens, adwares)provient de pièces jointes à un email ou via une messagerie instantanée (chat), ainsi que du téléchargement de logiciels à la provenance douteuse.

MOYENS DE PREVENTION

E-mail

* Ne téléchargez jamais de pièces jointes lorsque l’émetteur de l’email vous est inconnu. Si vous connaissez cet émetteur, téléchargez la pièce jointe en la passant au préalable à l’antivirus.
* De même, ne téléchargez pas de pièces jointes lors de conversations sur un chat sans les passer à l’antivirus auparavant.
* Si vous recevez un message d’alerte concernant une menace informatique ou autre, vérifiez sur le site hoaxbuster.com qu’il ne s’agit pas d’un canular ( hoax ), avant d’en faire profiter tous vos amis en le propageant.
* Ne suivez pas les liens contenus dans les spam. Au-mieux vous confirmerez à l’entreprise émettrice que vous existez bien et qu’ils peuvent donc vous envoyer d’autres pub, au pire vous tomberez dans une arnaque ou une fraude. Par exemple les nombreux messages en provenance d’Afrique qui vous propose de recevoir une grosse somme d’argent provenant d’un héritage en contrepartie d’une rétribution de votre part.

Pour info, le spam a constitué en 2007 96% des emails reçus par les entreprises et pourrait atteindre 99% en 2008!!

Antivirus, Antispyware, Firewall

* Ayez un antivirus le plus à jour possible et ayant une protection en temps réel . Faites une mise à jour deux à trois fois par semaine, et faites une analyse de votre ordinateur régulièrement, avec analyse des archives. Laissez tourner votre antivirus tout le temps de votre connexion sur Internet, et ne l’éteignez pas!
* De très bons antivirus gratuits existent : avast! (Home Edition)( gratuit pour un usage personnel et non commercial ), antivir personnal edition ( gratuit en usage personnel ). Parmi les antivirus payants, citons Kaspersky Antivirus, McAfee VirusScan. Evitez Norton Antivirus qui en plus d’être gourmand en ressources laisse parfois échapper quelques virus.
* Ayez un antispyware à jour, pour éliminer tous les logiciels espions et chevaux de Troie. Vous pouvez prendre Spybot Search and Destroy , Ad-Aware Personal Edition .
* N’oubliez pas d’installer un parefeu, ou à défault d’activer le parefeu de Windows. Parmi les parefeu il existe ZoneAlarm ( gratuit ), Kaspersky, Kerio Personal Firewall ( gratuit ). J’entends déjà certaines personnes me dire : “Oui mais moi j’ai un routeur, donc je n’ai pas besoin de parefeu!”. C’est vrai à condition qu’il soit correctement paramétré. Le routeur-modem fournit par les Fournisseurs d’Accès sont configurés en général au minimum et ne bloquent donc pas grand chose!

Mises à jour de l’ordinateur

* Maintenez votre système d’exploitation à jour en appliquant les correctifs proposés.
* Maintenez vos logiciels à jour

Surf Internet

* Utilisez préférentiellement un navigateur libre tel que Firefox ou Opera. Evitez d’utiliser Internet Explorer, qui possède beaucoup de failles. Les plus grands experts informatiques recommandent également d’utiliser un autre navigateur qu’Internet Explorer.
* Ne stockez pas vos mot de passe sur le navigateur Internet.
* Dans les cybercafés et autres lieux publics, ne faites aucune transaction bancaire ou consultation de compte bancaire.
* Ne dévoilez jamais vos mots de passe, numéro de crédit, informations personnelles. Une des attaques utilisées pour les fraudes informatiques consistent à vous envoyer un e-mail en provenance sois-disant de votre banque et vous demandant de vous connecter via un lien fourni afin de controler les informations de votre carte bancaire. En fait il s’agit d’un faux site bancaire particulièrement bien reproduit et destiné à recueillir vos informations de compte bancaire ( technique du Phishing ).
* Evitez de stocker vos mots de passe sur un post-it à la vue de tout le monde!!
* Choisissez un mot de passe long et contenant des chiffres, des lettres ( majuscules et minuscules) et des caractères spéciaux ( ; : ( ) è _ ç …).Une bonne méthode pour définir votre mot de passe consiste à créer une phrase et à prendre la première lettre de chaque mot, en incluant si possible des caractères spéciaux. Par exemple la phrase “Vincent l’a emmené à Paris!” donnera le mot de passe Vl’aeàP!.

Quelques liens pour finir

- Safe Hex : excellents conseils pour surfer en toute tranquilité

- Abc de la sécurité informatique

- Secuser : un incontournable!

- Vulnerabilite.com : excellent site sur la sécurité informatique. A placer dans vos favoris!

- ZATAZ.com

01déc.

Mise en place de SquidGuard sous Linux

 
Nous allons aborder le logiciel SquidGuard, complément de Squid.
 
De nos jours, tout-le-monde ou presque a accès à Internet, depuis les postes particuliers jusqu'aux entreprises et aux écoles.

Devant l'accumulation sans cesse croissante de sites violents, sexuels, xénophobes ou autres, il est devenu indispensable de mettre en place une solution de filtrage des pages web vues. Non seulement afin de sécuriser les réseaux, mais aussi afin de protéger les mineurs. Rappelons l'article 227-24 du code pénal :
 

Lire la suite

25nov.

Installation et configuration de Squid Sous Ubuntu

Le logiciel Squid est certainement le logiciel serveur Proxy le plus répandu à l’heure actuelle, et sans doute un des plus performant. Avoir avoir vu dans ce billet ce qu’est un proxy et ses fonctions, nous allons maintenant nous intéresser à l’installation et à la configuration d’un serveur Proxy sous une distribution Linux.


INSTALLATION

Pour installer Squid sous Ubuntu ( ou Debian ) :

apt-get update && apt-get install squid
ou, pour Mandriva :

urpmi squid

Pour lancer ou arrêter le service squid :

/etc/init.d/squid start/stop

Le fichier de configuration de squid est /etc/squid/squid.conf On va en faire une copie avant de le modifier ( toujours à faire pour avoir un fichier sain sous la main ) :

cp /etc/squid/squid.conf /etc/squid/squid.conf.sauv

Si vous lancez Squid, vous obtenez un beau “failed”

Avant de pouvoir démarrer Squid, il faut indiquer le nom de la machine hôte dans le fichier de configuration de Squid. On ajoute la ligne visible_hostname votre_host . Le port par défault est 3128

Par mesure de sécurité, je vous suggère de créer un nouveau groupe et un nouvel utilisateur qui aura seul les droits pour lancer squid, afin d’éviter de le lancer en tant que root. Par exemple, nous créons le groupe “proxy” et l’utilisateur “proxy”.

groupadd proxy
useradd -d /e tc/squid -s /b in/bash -g proxy proxy
Et nous attribuons aux répertoires et fichiers de squid les permissions de “proxy”.

chown -R proxy:proxy /etc/squid /var/log/squid /var/spool/squid /usr/lib/squid /usr/sbin/squid /etc/init.d/squid


CONFIGURATION

Pour l’instant notre serveur Proxy est ouvert à tous et tout-le-monde peut s’y connecter. Nous allons donc restreindre l’accès au Proxy à notre réseau.
Pour cela, nous allons appliquer des règles ACL ( Access Control List ) Nous rajoutons les lignes suivantes au fichier de configuration :

#accès Internet pour notre réseau
acl mon_lan src 192.168.1.0/24
http_access allow mon_lan

A modifier bien-sûr en fonction de votre adresse réseau et de votre masque de sous-réseau.

Pour plus de clareté, je vous suggère de regrouper toutes vos règles sous la ligne

” INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS”

Voyons un peu plus en détail le fichier squid.conf :

 ##########
#port par défault
http_port 3128
#On indique le nom de machine de notre serveur
visible_hostname ma_machine
acl QUERY urlpath_regex cgi-bin ?
no_cache deny QUERY
cache_mem 10 MB
#On utilise 750 Mo de cache pour le Proxy
cache_dir ufs /var/spool/squid 750 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
pid_filename /var/run/squid.pid
#Si vous utilisez squidguard, décommentez la ligne suivante
#redirect_program /usr/bin/squidGuard -c etc/squid/squidGuard.conf
#par défault
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#Règles ACL.
#Ne pas modifier l'ordre
#
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl manager proto cache_object
acl serveur src 192.168.0.1
#règles pour les principaux ports
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 20 # ftp-data
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # ssl
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 Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
#On accepte les connections de localhost
http_access allow manager localhost
http_access deny manager
#On rejette les requêtes d'autres ports
http_access deny !Safe_ports
#On rejette les requêtes CONNECT de tous les ports autres que SSL
http_access deny CONNECT !SSL_ports
#INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
#Règle pour les postes 10.0.0.250 et 10.0.0.252
#acl pc src 10.0.0.250 10.0.0.252
#On peut aussi indiquer une plage d'adresses
#acl bcp_de_pc src 10.0.0.2-10.0.0.200
#règle pour notre réseau
acl notre_lan src 192.168.0.0/24
#règle pour les url contenant le mot "games". L'option -i permet de ne pas respecter la casse.
acl jeux_interdits urlpath_regex -i games
http_access deny jeux_interdits
http_access allow purge localhost
http_access deny purge
#On accepte les requêtes des stations suivantes:
#http_access allow pc
#http_access allow bcp_de_pc
http_access allow notre_lan
#On accepte localhost
http_access allow localhost
#Enfin, on rejette tout le reste
http_access deny all
http_reply_access allow all
icp_access allow all
#Utilisateur et groupe responsables du lancement de squid:
cache_effective_user proxy
cache_effective_group proxy
#On rend notre proxy transparent
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
########

Lorsque Squid consulte les règles du fichier squid.conf, il commence par lire de la première à la dernière ligne. L’ordre des règles acl est donc très important. Par exemple:

acl LAN srd 192.168.0.0/24
http_access deny all
http_access allow LAN

Cela ne marchera pas, car on rejette tout avant d’autoriser notre réseau LAN à se connecter. L’important est de placer nos règles spécifiques, puis on rejette tout le reste en toute fin de fichier.

Une règle acl s’écrit de la forme :

acl aclname acltype string1 … | “file”

Ainsi le mot “string1″ désigne une ou plusieurs chaînes de caractère ou bien un fichier à placer entre “”. Ce fichier devar contenir une liste de mots, avec un mot par ligne. Ces chaînes étant sensibles à la casse, vous pouvez ajouter l’option -i pour rechercher majuscules et minuscules.

Parmi les acltype, citons

* src : adresse IP d’un poste ou d’un réseau, ou plages d’adresses séparés par un tiret
* dst : adresse ip d’un client distant. Squid effecturera une requête DNS sur le nom de domaine d’un client distant effectuant une requête sur le proxy, afin de déterminer son adresse ip ( dns-lookup )avant d’interpréter cette acl.
* srcdomain : nom de domaine source
* dstdomain : nom de domaine distant
* time : permet de spécifier des jours ou heures pour appliquer la règle. De la forme jour h:m.

Exemple : acl travail time L-F 7:30-17:30 : règle acl pour tous les jours de 7h30 à 17h30 sauf le samedi et dimanche

* url_regex : recherche dans l’url un mot ou expression spécifié
* urlpath_regex : recherche dans l’url ( sans l’extension protocole et le nom de domaine ) un mot ou expression
* port : spécifie un port ( sans blague! )
* proto : spécifie un protocole
* method : autoriser ou non une méthode telle que POST ou GET ( exemple : les formulaires php )
* browser : spécifie un navigateur ( MSIE, MOZILLA, OPERA, …)
* ident : spécifie un utilisateur
* proxy_auth : on autorise ou non un utilisateur valide à ce connecter. Le contrôle de validité se fait par un programme externe : ncsa. Exemple : acl mes_amis proxy_auth REQUIRED
* maxconn : spécifie le nombre de connections simultanées pour un utilisateur
* ARP : spécifie une adresse mac d’un client. Squid fera une requête ARP sur l’adresse ip du client pour trouver son adresse mac et la comparer avec celle spécifie dans la règle acl. Il est nécessaire de compiler le noyau avec l’option enable-arp-acl. Attention, ce client devra faire parti du même sous-réseau que le proxy, sinon squid ne pourra faire de requête ARP.

Exemple : acl ACLARP arp 11:12:13:14:15:16 ACLARP fait référence à l’adresse mac 11:12:13:14:15:16

Il ne vous reste plus qu’à autoriser ou non chaque règle à l’aide de http_access IMPORTANT ! Ne pas oublier en toute fin de placer la ligne “http_access deny all”, autrement squid considérera toutes les règles non autorisées comme permises par défault.

Puis vous relancez le serveur par la commande :

/etc/init.d/squid restart

24nov.

Introduction à l’installation d’un Proxy

Dans le cas d’un ordinateur personnel, ceci est amplement suffisant. Dans le cas d’une entreprise ( ISP, universités, … ), il peut être intéressant de trouver une solution alternative.

DEFINITION

Un Proxy est un serveur mandataire placé entre le réseau Internet et le réseau local, et chargé d’intercepter toutes les requêtes à destination du web, d’accélérer les temps d’accès aux pages web ( fonction du cache ), et éventuellement de filtrer les accès Internet. Il assure également des fonctions d’enregistreur d’accès web et de translateur d’adresses ( nat ).On parle de Caching, Tracking, Filtering. Il existe des Proxy HTTP, FTP, POP, …

LE CACHE

Le Proxy garde en mémoire les pages web qui sont consultées, en vue de libérer la bande passante et d’accélerer l’affichage des pages web sur les applications clientes. Les pages fréquement demandées seront ainsi aisément accessible sur le proxy, sans devoir les récupérer sur le serveur web. Concrètement, lorsqu’une application cliente envoie une requête à destination d’Internet, celle-ci transite par le proxy, qui consulte son cache afin de vérifier la présence de la page demandée. S’il ne la trouve pas, il envoit alors une requête sur le serveur web détenant la page demandée, puis la transmet au client. Leserveur Proxy agit donc au-niveau de la couche Application du modèle OSI.

Une fois le cache remplit, les pages les plus récentes remplacent les pages les plus anciennes. Cela pose le problème de l’actualisation des données. Une entreprise nécessitant des données les plus à jour possibles ( actualités, bourse ) ne devrait pas utiliser de proxy, sous peine de consulter des informations périmées.

LE TRACKING

Le Proxy enregistre de même l’ensemble des requêtes qui lui sont adressées, telles que la date et l’heure de la requête, l’adresse IP du client, la page demandée ( url, domaine ). Ces informations peuvent être utilisées et visualisables via un analyseur de log ( Sarg, Prostat ) par l’administrateur afin de vérifier les accès web.

Le Proxy peut donc assurer un filtrage des accès web, qui peut être :

* Filtrage du contenu : mot-clé
* Liste blanche : sites autorisés
* Liste noire : sites interdits

REVERSE-PROXY

Pour terminer, quelques mots sur le Reverse-Proxy. Comme son nom le laisse supposer, il s’agit d’un serveur Proy “inverse”, c’est-à-dire qu’il va recevoir les requêtes issues d’Internet, pour ensuite les envoyer à un serveur Interne d’un réseau local. La sécurité de ce réseau interne sera donc renforcée, puisque les accès d’Internet vers le réseau interne seront filtrées.

Un reverse-proxy peut assurer le rôle de répartiteur de charge, entre différents serveurs d’un LAN.