ZeroShell    Forum
   Feed RSS Feed
EnglishEnglish     ItalianoItaliano     French     Spanish                Facebook      Twitter

Valid HTML 4.01 Transitional


      Qu'est ce que c'est?
      Screenshots
      Licence
      Annonces
      Liste de diffusion
      Forum
      Documentation  
      FAQ
      Hardware
      Download
      On-line Updates
      Kerberos Tutorial  
      Conditions d'utilisation
      Contactez-moi


  Dans plus de détails:
      Performances
      Net Balancer
      UMTS Routeur
      Proxy avec Antivirus
      Point d'accès WiFi
      OpenVPN Client
      OpenVPN Server
      QoS
      OpenDNS
      Kerberos 5
      NIS et LDAP
      Certificats X.509
      RADIUS
      Captive Portal
      VPN
      Firewall


Transparent proxy Web avec antivirus et URL liste noire

Le but de ce document est de décrire la création d'un proxy Web avec contrôle antivirus de pages web et de listes noires/liste blanche. Le document est divisé en sections comme suit:

Pourquoi utiliser un proxy web avec un antivirus?

Les pages Web sont de plus en plus souvent les moyens par lesquels les vers et les virus se propagent sur Internet. Sites Web, que ce soit intentionnellement, soit parce qu'ils sont vulnérables et sont donc modifiés à l'insu des auteurs légitimes, ont parfois des références de code exécutable qui peut infecter les ordinateurs des utilisateurs. En outre, la situation a empiré depuis un certain nombre de vulnérabilités dans le système d'affichage d'image a permis de virus à être transportés dans des fichiers JPEG. Enfin, l'utilisation croissante des applets Java est l'augmentation du nombre de virus multiplateforme se propager via http et d'exploitation indépendamment de la plate-forme (PC, ordinateur de poche, téléphone mobile) ou un système d'exploitation sur lequel ils travaillent.
La meilleure solution pour ce type de problème est de fournir tous les périphériques clients qui se connectent à l'Internet avec un bon programme antivirus avec protection en temps réel, la vérification de chaque fichier entrant. Toutefois, cela peut ne pas être assez pour deux raisons: pas de programme antivirus, même ceux ayant la signature d'auto-mise à jour des mécanismes, peut fournir une garantie à 100% contre tous les virus; vérifier en temps réel du contenu entrant est considérablement lourde en termes de calcul et en particulier sur dispositifs dont la performance n'est pas trop bonne, elle peut ralentir le système au point de rendre les utilisateurs de désactiver la protection antivirus en temps réel.
Pour ces raisons, le contrôle de virus se fait de plus en amont, avant d'éventuels virus sont capables d'atteindre l'utilisateur client. En d'autres termes, les systèmes centralisés antivirus sont utilisés sur des serveurs offrant un service particulier. L'exemple le plus répandu est celui des serveurs e-mail, qui ont un système qui analyse les messages entrants et sortants via SMTP et analyser les pièces jointes pour les virus. Dans ce cas, l'application de vérifier antivirus sur une passerelle SMTP est assez naturel, puisque e-mails sont obligés de passer à travers elle, avant d'atteindre l'utilisateur la boîte de réception. Pour le service HTTP, ce n'est pas si insignifiant, car un client LAN peuvent potentiellement se connecter directement à l'un des serveurs Web disponibles sur Internet. La solution à ce problème consiste à introduire une passerelle au niveau applicatif pour le réseau local pour recueillir les requêtes http des clients et les transmet aux serveurs Web pertinents. Cette passerelle d'application est appelée un proxy Web et qu'il est capable d'interpréter le protocole http, non seulement sur la base des filtres d'URL, mais s'attaque également à la teneur en cours (HTML, JavaScript, applets Java, des images, ... ) et scanne pour détecter les virus. L'une des fonctions les plus courantes de procurations a été jusqu'ici caches web, qui est, de l'archivage sur disque de pages Web qui ont déjà été visités, afin d'accélérer l'affichage des URL même pour les demandes plus tard. Le but est aussi de réduire la consommation de bande passante sur Internet et l'un des systèmes les plus connus proxy, capable d'exécuter des fonctions de cache Web est Squid, distribué avec la licence Open Source.
Zeroshell n'intègre pas Squid car il ne collecter des pages web. La tâche d'un des programmes orientés vers le Web antivirus et filtrage de contenu, en utilisant des listes noires d'URL, est géré par havp que le système de procuration et que les logiciels antivirus ClamAV. Les deux sont distribués sous licence GPL.

Mode proxy transparent

Un des plus gros problèmes lorsque vous utilisez un serveur proxy est que la configuration de tous les navigateurs Web pour l'utiliser. Il est donc nécessaire de spécifier son adresse IP ou nom d'hôte et le port TCP sur lequel il répond (généralement le port 8080). Cela pourrait être lourde dans le cas des réseaux locaux avec de nombreux utilisateurs, mais pire encore, il ne serait pas garantie contre les utilisateurs de supprimer cette configuration pour obtenir un accès direct sur le Web, évitant ainsi vérifier antivirus, l'accès exploitation forestière et les listes noires.
Pour résoudre ce problème, Zeroshell utilise un proxy transparent mode qui consiste à capturer automatiquement les demandes des clients sur les port TCP 80. Évidemment, pour Zeroshell être en mesure de saisir ces requêtes web, il doit être configuré comme une passerelle réseau, afin que le trafic Internet client passe au travers. Zeroshell saisir automatiquement les requêtes http s'il s'agit d'une passerelle de niveau 2 (pont entre Ethernet, WiFi ou de l'interface VPN) de couche 3 ou de la passerelle (routeur). Il est néanmoins important de préciser sur quelles interfaces réseau ou sous-réseaux IP ces demandes devront être redirigés. Ceci est fait en ajoutant que l'on appelle HTTP règles de capture comme le montre la figure ci-dessous:

Configuration des règles de capture http
Configuration des règles de capture http

Dans l'exemple de la figure, les demandes HTTP à partir ETH00 et des interfaces réseau ETH03 sont capturés. Sont exclus de ces demandes sont celles qui visent les serveurs Web appartenant au sous-réseau IP 172.16.0.0/16 et ceux du client avec l'adresse IP 192.168.0.1. Il peut y avoir plusieurs raisons pour lesquelles il est nécessaire d'exclure l'intervention du proxy transparent sur certains clients et des serveurs web. Par exemple, un serveur Web peut restreindre l'accès uniquement à leurs clients avec une adresse IP de certains de ses ACL. Dans ce cas, si le proxy capturé des requêtes au serveur qui précède, il est accessible via son adresse IP et cela empêcherait l'accès. D'autre part, il ne serait pas possible d'autoriser l'adresse IP du proxy sur les ACL du serveur web, car cela signifierait permettant l'accès sans discrimination à tous les clients utilisant le proxy. Il est donc clair que la seule solution est d'éviter la capture des demandes par le proxy transparent.
Enfin, notons que les règles iptables pour rediriger vers le service proxy (8080 tcp) sont placés en aval de ceux qui interviennent sur le portail captif. Merci à cela, Captive Portal et Proxy transparent peut être activée simultanément sur la même interface réseau.

Configuration et l'activation du service proxy

Comme illustré dans la figure ci-dessous, la configuration du service proxy avec contrôle antivirus est très simple. Après avoir configuré le Zeroshell d'agir comme un routeur et après le configurer sur les clients comme passerelle par défaut, ou de le configurer comme un pont et il en interposant sur un point du réseau où les flux de trafic en provenance et à l'Internet, activez simplement le ckeck box [Enabled] pour que la procuration peut commencer à travailler. Comme mentionné dans le paragraphe précédent, les demandes Web qui sont effectivement interceptés et soumis à la procuration sont ceux spécifiés par la configuration de le [HTTP règles de capture].

Proxy configuration web interface
Proxy configuration de l'interface web

Notez que, start-up du service proxy est très lent par rapport à d'autres services, et sur le CPU qui n'est pas très rapide, il peut prendre jusqu'à 30-40 secondes. Cela est dû à la nécessité des bibliothèques ClamAV antivirus de calcul et décrypter un grand nombre de signatures de virus dans leur mémoire. Pour éviter ce blocage de l'interface de configuration web et les scripts de démarrage pour de longs intervalles, le service est démarré en mode asynchrone. Ainsi, lorsque le proxy est activé ou reconfigurés, l'élément d'état n'est pas affiché comme actif (vert) immédiatement, mais d'abord laissez-passer de l'état de départ (orange) qui montre que le service est le chargement des signatures. Pour comprendre lorsque le proxy commence réellement la scène, cliquez sur [Manage] pour recharger la page de configuration, ou cliquez simplement sur [Proxy journal] pour voir démarrer le démon havp-up messages. Au cours de la période de démarrage du démon havp, les règles iptables pour capturer les requêtes http sont temporairement enlevés, permettant le trafic Web de s'écouler régulièrement, mais sans être scannés pour les virus.
Quelques éléments de configuration sont analysés plus en détail dans le paragraphes suivants.

Journal d'accès et la vie privée

Être une passerelle d'application capable d'interpréter les requêtes HTTP, afin de fonctionner correctement, un proxy web décrypte les URL visitées par les utilisateurs. Par défaut, Zeroshell ne pas envoyer cette information au système de logs, qui, si elle est associée avec l'adresse IP des clients demandant des pages Web, peuvent aider à retrouver le contenu visité par les utilisateurs.
Néanmoins, l'enregistrement de ces informations peut être activé en modifiant l'article [Connexion par accès] de "Seuls URL contenant le virus" à "Tout d'accès". En faisant cela, chaque URL visitée est enregistré dans le journal associé à l'adresse IP du client. Il est nécessaire, avant d'activer cette option, consulter la législation en vigueur dans votre pays pour vérifier que l'exploitation forestière des URL visités ne sont pas contre les lois.
En outre, il est important d'être conscient que, comme permettant le NAT sur une routeur d'accès Internet, chaque demande client externe est effectuée par le routeur lui-même, dans les mêmes requêtes http façon passer par un proxy semblent être fabriqués à partir de l'adresse IP du serveur proxy. Cela peut entraîner des difficultés à retrouver l'identité d'un utilisateur qui a effectué des actions illicites sur des serveurs distants. Une solution possible à ce problème, qui est moins invasif en termes de confidentialité, pourrait être d'activer l'enregistrement de la connexion de suivi (à partir du Web Zeroshell interface [Firewall] [Connection Tracking]). De cette façon, toute connexion TCP/UDP est enregistrée dans les journaux montrant l'adresse IP source, port source, IP de destination et le port de destination. Par conséquent, il ne sera pas possible de suivre le contenu de l'activité des utilisateurs, mais une trace sera tenu de raccordement. Encore une fois, dans ce cas, il est nécessaire de consulter la législation locale avant d'activer le traçage de connexion.

Antivirus chèque d'images

Pendant longtemps on a pensé que un fichier contenant une image JPEG ou GIF ne pouvait pas contenir un virus, car il est simplement constitué de données formatées selon un format prédéfini, interprétable par le système de visualisation du système d'exploitation. Récemment, toutefois, certains composants de rendu d'image ont montré qu'ils sont vulnérables si elles ne sont pas mis à jour avec les correctifs. Une image bien conçu pourrait créer une saturation de mémoire tampon (stack) et exécuter du code arbitraire sur le système. Il est facile de comprendre la gravité de cela, étant donné que la plupart des hypertextes contenus sur le Web est sous forme d'image.
Le proxy configuré dans havp Zeroshell, par défaut scanne les images en utilisant le programme antivirus ClamAV. Néanmoins, sur le router lente, la numérisation des images pourrait retarder l'ouverture de pages web avec de nombreuses images. Dans ce cas il possible de désactiver l'analyse des fichiers contenant des images, en réglant le [Vérifier Images (jpg, gif, png)] option "Enabled" sur "Disabled"

Mise à jour automatique des signatures ClamAV

La rapidité avec laquelle les nouveaux virus sont mis sur Internet et a identifié, signifie que les signatures antivirus sont accrus et sont modifiés fréquemment. La base de données ClamAV ne fait pas exception, qui, grâce au démon freshclam, peut être mis à jour en ligne à intervalles réguliers.
Zeroshell configure freshclam par défaut pour vérifier la base de signatures 12 fois par jour. Cet intervalle peut être réglé en utilisant le [Nombre de chèques par jour] paramètre, à partir d'un minimum de 1 à un maximum de 48 chèques par jour. Il est également important de définir le [Pays du Miroir] correctement, à travers lequel freshclam choisit le plus proche du site permettant de télécharger les signatures de virus. Notez, cependant, que mise à jour régulière est une opération rapide qui ne génère pas un trafic important, car un système mise à jour différentielle est utilisée.

Listes noires et les listes blanches Site Web

Il est souvent nécessaire de bloquer l'affichage d'un certain nombre de sites Web depuis leur contenu est jugé inadapté pour les utilisateurs du service web. Un exemple est significatif pour adultes seulement, qui ne devrait pas être affiché sur les ordinateurs auxquels les enfants ont accès. Une solution très efficace pour ce problème est forçant les clients Web pour accéder à Internet via un proxy, qui, grâce à des logiciels de filtrage de contenu tels que DansGuardian, examine le contenu des pages html bloquant ceux considérés comme appartenant à une catégorie non désiré. Les mécanismes de ces filtres peuvent être comparées à celles des systèmes antispamming. Malheureusement, il n'est pas clair si le communiqué de DansGuardian licence est compatible pour l'intégration dans un système tel que Zeroshell et, par conséquent, il n'a pas été utilisé afin d'éviter le risque de violation de licence.
À l'heure actuelle, la seule façon à bloquer ou autoriser l'affichage des pages web est la liste noire et liste blanche des pages web comme le montre la figure.

Configuration de la liste noire proxy web
Configuration de la liste noire


Listes noires et listes blanches consistent en une séquence d'URL disposés sur des lignes distinctes. Chaque ligne peut correspondre à plusieurs pages Web lorsque le caractère * est utilisé. Pour bloquer le site http://www.example.com place www.example.com/* sur la liste noire, alors que le www.example.com ligne, sans *, ne ferait que bloquer la page d'accueil de ce site.
La liste blanche est prioritaire sur la liste noire. En d'autres termes, si une page web correspond à un élément de liste noire et, en même temps, se trouve sur la liste blanche, l'accès est autorisé à la page.
En outre, notez que l'objet de la liste blanche est non seulement de permettre accès à des pages qui seraient autrement interdites par la liste noire, mais aussi de contourner vérifier antivirus. S'il vous plaît prendre note de cette
. Si l'administrateur réseau veut adopter la politique de l'accès à un nombre limité de sites, il/elle peut préciser les */* ligne dans la liste noire, ce qui empêchera l'accès à toutes les pages exceptés ceux qui figurent sur la liste blanche.

Test proxy et antivirus

Il ya essentiellement deux raisons pour lesquelles le mandataire peut ne pas fonctionner correctement. Tout d'abord, il est nécessaire de veiller à ce que la routeur Zeroshell est configuré comme un routeur ou un bridge, et aussi que le trafic en provenance et à Internet va effectivement à travers elle. Deuxièmement, vous devez être certain de la configuration correcte de la [HTTP règles de capture], qui déterminent quelles sont les requêtes http effectivement redirigé vers le processus de procuration (havp écoute sur 127.0.0.1:8080). En particulier, si la capture requête http est imposée sur une interface réseau qui fait partie d'un bridge, vous devez être sûr qu'au moins une adresse IP a été définie sur ce dernier.
La meilleure façon de vérifier si le proxy fonctionne correctement est d'activer la journalisation temporairement de tous les accès et afficher le journal procuration après avoir demandé les pages Web d'un client.
Une fois certains que le proxy capture les requêtes web comme prévu, vérifiez que les logiciels antivirus ClamAV fonctionne correctement. Pour ce faire, vérifiez d'abord sur le freshclam journaux que les signatures sont mises à jour régulièrement. Ensuite, allez à la http://www.eicar.org/anti_virus_test_file.htm URL pour vérifier si le virus de test EICAR-AV-Test (dit-on, sans danger par les auteurs) est capturé et bloqué.
Enfin, notez que le proxy ne peut pas servir les requêtes HTTPS (HTTP crypté avec SSL/TLS) étant donné que, n'ayant pas la clé privée du serveur web, il ne peut pas décrypter le contenu et l'URL de cette demande encapsulé dans des tunnels cryptés.



    Copyright (C) 2005-2012 by Fulvio Ricciardi