WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY



Documents pareils
Fonctionnement et mise en place d un reverse proxy sécurisé avec Apache. Dimitri ségard 8 mai 2011

Sécuriser les applications web

Aide à la Détection de Faiblesses d un site Web Mandataire inverse, Modsecurity

Le serveur web Apache

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

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

MISE EN PLACE DU FIREWALL SHOREWALL

LAB : Schéma. Compagnie C / /24 NETASQ

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Sécuriser les applications web de l entreprise

SQUID Configuration et administration d un proxy

Table des matières Hakim Benameurlaine 1

Un serveur FTP personnel, ça ne vous a jamais dit?

Procédure d'installation du serveur Apache HTTPD pour Windows

ADF Reverse Proxy. Thierry DOSTES

Installation d un hébergement Web à domicile

Apache en tant que reverse proxy

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Service FTP. Stéphane Gill. Introduction 2

Exemple : vous voulez tester votre site en local avant de l uploader via FTP chez votre hébergeur externe.

Le filtrage de niveau IP

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

Projet Semestre2-1SISR

Présentation de la solution Open Source «Vulture» Version 2.0

Module 7 : Configuration du serveur WEB Apache

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

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

SSH. Romain Vimont. 7 juin Ubuntu-Party

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Serveur proxy Squid3 et SquidGuard

07/03/2014 SECURISATION DMZ

Préparation d un serveur Apache pour Zend Framework

SECURIDAY 2013 Cyber War

Manuel Utilisateur MISE A JOUR DU CLIENT SOFIE VERS LA VERSION 5. v0.99

GENERALITES. COURS TCP/IP Niveau 1

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Guide Installation Serveur Extensive Testing

Netstorage et Netdrive pour accéder à ses données par Internet

Eyes Of Network 4.0. Documentation d installation et de configuration

Installation d'un Active Directory et DNS sous Windows Server 2008

Vulnérabilités et solutions de sécurisation des applications Web

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée Virtual Server de Microsoft

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

UE5A Administration Réseaux LP SIRI

Configurer Squid comme serveur proxy

Système Principal (hôte) 2008 Enterprise x64

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

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

Mise en place d un firewall d entreprise avec PfSense

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

L installation du module Webmail nécessite également quelques prérequis, à savoir :

Vulnérabilités et sécurisation des applications Web

CASE-LINUX CRÉATION DMZ

Nagios 3 pour la supervision et la métrologie

INSTALLATION APACHE POUR WINDOWS (XP OU 2000)

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

BTS SIO SISR3 TP 1-I Le service Web [1] Le service Web [1]

TUTORIAL ULTRAVNC (EDITION 2)

TP Service HTTP Serveur Apache Linux Debian

Etude de la pertinence et de l'intérêt des appliances WAF (IPS web) à l'inria

Sommaire. 2. L accès aux modules. 1. Aspects techniques. 1.1 Le matériel requis 2

Guide Installation Serveur Extensive Testing

Réalisation d un portail captif d accès authentifié à Internet

TCP/IP, NAT/PAT et Firewall

Configuration de base de Jana server2. Sommaire

Mise en place d un serveur Proxy sous Ubuntu / Debian

TP N 2. Mise en œuvre d un Reverse Proxy Apache. Installation et configuration de ModSecurity 2.1

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

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

Notice d installation du patch Lia 8.20

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

INSTALLATION ET CONFIGURATION DE OPENLDAP

BTS Services informatiques aux organisations Session E4 Conception et maintenance de solutions informatiques Coefficient 4

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

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Les réseaux des EPLEFPA. Guide «PfSense»

IPS-Firewalls NETASQ SPNEGO

GER helpdesk permet de traiter et d optimiser la gestion de vos interventions au sein de chaque bureaux.

Cours CCNA 1. Exercices

Linux sécurité des réseaux

TP4 : Firewall IPTABLES

CONFIGURER VOTRE HEBERGEMENT WINDOWS

FICHE CONFIGURATION SERVICE DHCP

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

Guide d'installation Application PVe sur poste fixe

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

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

italc - GUIDE DE PRISE EN MAIN RAPIDE

OUAPI Guide d installation Outil d administration de parc informatique. Documentation d installation et de paramétrage

Contrôle de la DreamBox à travers un canal SSH

Annexe 1. DIDACTICIEL Installation OCS 2.0RC2 /GLPI pour WINDOWS

Compte rendu d'activité PTI n 2

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

Pilote KIP certifié pour AutoCAD. Guide de l utilisateur État de l imprimante KIP

Installation d'une galerie photos Piwigo sous Microsoft Windows.

Transcription:

WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY version 1.00 Objectifs Cette fiche pratique permet d atteindre deux objectifs distincts et potentiellement complémentaires. Configuration d Apache en reverse-proxy Installation et configuration d un firewall applicatif avec mod_security Si ces deux fonctions sont activées sur la même machine, il est ainsi possible de protéger un serveur Web non Apache (Internet Information Server par exemple) Organisation des travaux pratiques Dans les travaux pratiques, le reverse-proxy Apache et le navigateur de l utilisateur sont installés sur une machine unique. Le site form.demonstrations.org à protéger est quant à lui disponible sur le poste de l intervenant. Dans cette fiche, le serveur form.demonstrations.org dispose de l adresse 192.168.0.102 alors que le reverse-proxy est installé sur la machine 192.168.0.221 Etapes des travaux pratiques Vérification de la connectivité entre le futur reverse-proxy et le serveur form.demonstrations.org : Le reverse-proxy, lorsqu il reçoit une requête d un utilisateur doit se connecter au serveur web. Si cette connexion n est pas possible, le reverse-proxy ne peut assurer son rôle Configuration du reverse-proxy : Présentation des directives (basiques) de mise en place d un reverse-proxy avec Apache et test du bon fonctionnement. Test de la faisabilité de l attaque SQL Injection. Mise en place du firewall applicatif : En quelques directives mod_security, nous éliminerons la faisabilité de l attaque SQL Injection testée cidessus. Web Application Firewall avec Apache et Mod_Security v. 1.00 page 1

Détails de mise en oeuvre Vérification de la connectivité entre le futur reverse-proxy et le serveur form.demonstrations.org : Pour s assurer que le serveur destiné à devenir reverse-proxy peut se connecter au site de démonstrations, il convient de vérifier l adresse IP de la machine la route par défaut utilisée le fichier hosts cette vérification est nécessaire car l adresse du site form.demonstrations.org n est pas déclarée dans les DNS Depuis le navigateur du reverse-proxy (si le serveur X est installé), tester maintenant la connexion. Si X n est pas installé, il est possible d utiliser lynx ou un telnet sur le port 80. Web Application Firewall avec Apache et Mod_Security v. 1.00 page 2

Configuration du reverse-proxy : Commençons par tester le serveur Apache sur la machine reverse-proxy. Si nécessaire, démarrer le démon Apache avec la commande «/etc/init.d/httpd start». Comme ne le voyons ci-dessus, avant la configuration d Apache en reverse-proxy, les demandes sont traitées avec les fichiers locaux. Ici, la page d accueil par défaut d Apache sous Fedora. Les directives Apache doivent être placées dans le fichier httpd.conf situé dans le répertoire /etc/httpd/conf. Toutefois, celui contient la directive «Include conf.d/*.conf» qui permet de placer des directives dans des fichiers dont l extension est «.conf» et qui se trouvent dans le répertoire /etc/httpd/conf.d. Pour définir les directives de reverse-proxy, nous allons donc créer le fichier /etc/httpd/conf.d/reverse.conf. En utilisant le module proxy, une unique directive est nécessaire. Toutefois, pour empêcher qu Apache ne fasse également office de proxy, nous ajouterons la directive «ProxyRequests Off». La directive obligatoire est la directive «ProxyPass / http://form.demonstrations.org/». Ceci indique à apache que pour toute requête à partir de «/», il devra se connecter à «http://form.demonstrations.org/». Attention, le / en fin d Url de redirection est très important. Si celui-ci est oublié, toute requête vers une URI différente de «/» échouera. Une fois le fichier «reverse.conf» correctement renseigné, il est nécessaire de redémarrer le serveur Apache pour que celui-ci prenne la nouvelle configuration en compte : «/etc/init.d/httpd restart» Si l on réalise une nouvelle connexion au Apache du reverse-proxy, le résultat est tout autre : Pour information, le module mod_rewrite peut également permettre de configurer Apache en reverseproxy. Le fichier ci-dessous donne le même résultat que le précédent. Web Application Firewall avec Apache et Mod_Security v. 1.00 page 3

Notre reverse-proxy est maintenant opérationnel mais comme le montre la figure ci-dessous, les attaques applicatives restent parfaitement possibles Mise en place du firewall applicatif : Pour que ce reverse-proxy apporte un plus en sécurité, nous allons maintenant configurer mod_security. Les sources de celui-ci pourraient être téléchargées sur http://www.modsecurity.org puis compilées avec la commande «apxs» du package http_devel. Toutefois, nous allons utiliser la version rpm Dans le répertoire contenant le rpm, il suffit de taper la commande «rpm ivh mod_security*» En conséquence de cette installation, le répertoire /etc/httpd/modsecurity.d a été créé. Il contient les règles de sécurité par défaut de mod_security 2.x. Le fichier /etc/httpd/conf.d/mod_security.conf est également créé lors de l installation pour activer mod_security et les règles par défaut. Les règles fournies dans le package sont difficiles à comprendre tant les expressions régulières utilisées sont incompréhensibles pour le néophyte. Nous allons donc épurer le fichier «/etc/httpd/conf.d/mod_security.conf» pour réaliser une configuration simple permettant de bloquer l attaque SQL Injection précédente Web Application Firewall avec Apache et Mod_Security v. 1.00 page 4

Les directives «SecRuleEngine On» et «SecRequestBodyAccess On» activent le module mod_security et permet l inspection du corps de requête. Le format de la directive SecRule est «SecRule objets_analysés information_recherchée action». Dans notre exemple, nous recherchons dans une variable «inlogin» (champ login du formulaire du site de démonstration). L expression régulière «[a-z]{4}[0-9]$» permet de tester si le contenu de la variable commence (^) par 4 minuscules ([a-z]{4}) suivi d un chiffre ([0-9]) puis se termine ($). Comme nous allons bloquer les requêtes et que nous souhaitons interdire tout login qui ne respecte pas le format présenté, il convient d ajouter une négation (!). L expression régulière de la règle proposée permet donc de tester tout login qui n est pas composé de 4 minuscules et un chiffre L action consiste à interdire la demande en revoyant un code 406 au demandeur. Cette interdiction sera enregistrée dans les logs. En mod_security 2.x la phase Apache de traitement de la directive mod_security doit être précisée. Utiliser «phase:2» pour un fonctionnement comparable à mod_security 1.x. Pour de plus amples informations, consulter le site mod_security. Testons maintenant l attaque en passant par le reverse-proxy Comme prévu, l attaque est maintenant arrêtée Voici quelques possibilités complémentaires mod_security - action proxy Web Application Firewall avec Apache et Mod_Security v. 1.00 page 5

- action redirect - deux tests avec chain (équivalent d un AND) Pour la démonstration, nous allons tester que le login est «user1» et le mot de passe différent de «pwd1». Cet exemple n a comme seul objectif celui de présenter «chain» Web Application Firewall avec Apache et Mod_Security v. 1.00 page 6