Université Toulouse 1 Capitole

Documents pareils
Une approche positive du filtrage applicatif Web. Didier «grk» Conchaudron Sébastien «blotus» Blot

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

Sécuriser les applications web de l entreprise

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

Réseau - Sécurité - Métrologie - Data Center. Le leader du marché allemand des UTM débarque en France avec des arguments forts!

Les utilités d'un coupe-feu applicatif Web

Rapport de certification ANSSI-CSPN-2010/05. ModSecurity v2.5.12

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

WEB APPLICATION FIREWALL AVEC APACHE ET MOD_SECURITY

Sécuriser les applications web

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

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

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

Web Application Firewalls (WAF)

MANUEL D INSTALLATION D UN PROXY

Serveur Web Apache. Jean-Marc Robert Génie logiciel et des TI

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

DenyAll Detect. Documentation technique 27/07/2015

Le serveur web Apache

07/03/2014 SECURISATION DMZ

Présentation du 30/10/2012. Giving security a new meaning

SQL Parser XML Xquery : Approche de détection des injections SQL

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

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

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

Apache en tant que reverse proxy

DenyAll Protect. Sécurité & accélération. Parefeux pour applications et services Web. de vos applications.

Rapport de certification ANSSI-CSPN-2011/14. Fonctionnalités de pare-feu de StoneGate Firewall/VPN build 8069

Plesk Automation. Questions techniques fréquemment posées

OpenDNS: Un DNS rapide et utile

Création d un «Web Worm»

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

ADF Reverse Proxy. Thierry DOSTES

APPLICATIONS WEB ET SECURITE

Sécurité des applications web. Daniel Boteanu

SQL MAP. Etude d un logiciel SQL Injection

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

1 La visualisation des logs au CNES

Créée en 2002, la société PineApp est pionnière sur le. Le siège de la société se trouve aux États-Unis, avec des

Département Génie Informatique

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

Groupe Eyrolles, 2004, ISBN :

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

L analyse de logs. Sébastien Tricaud Groupe Resist - Toulouse 2013

Architecture de services sécurisée

Le Tunneling DNS. P.Bienaimé X.Delot P.Mazon K.Tagourti A.Yahi A.Zerrouki. Université de Rouen - M2SSI. 24 février 2011

Mise en place d un serveur Proxy sous Ubuntu / Debian

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

JSSI mars 2012 Laurent Butti Orange France DMGP/PORTAIL

Dans l'épisode précédent

CONFIGURATION FIREWALL

Sécurité des réseaux Les attaques

Outils de traitements de logs Apache

Note technique. Recommandations pour la sécurisation des sites web

MISE EN PLACE DU FIREWALL SHOREWALL

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Cellier Clément, Maginot Quentin, Tripier Axel, Zaorski Jean, Zini Robin. 18 mars 2015

Systèmes de tickets avec RT

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

FILTRAGE de PAQUETS NetFilter

TAGREROUT Seyf Allah TMRIM

Scénarios d Attaques et Détection d Intrusions

Découvrir les vulnérabilités au sein des applications Web

TP Contraintes - Triggers

Un tracker caché dans Ghostery!

BIG DATA APPLIQUÉES À LA SÉCURITÉ. Emmanuel MACÉ Akamai Technologies

THEME : Mise en place d une plateforme d enseignement à distance

Sécurité sous Linux. Les hackers résolvent les problèmes et bâtissent...

Gérer ses environnements de développement avec Vagrant RMLL 2012

GENERALITES. COURS TCP/IP Niveau 1

Trend Micro Worry-Free Business Security 8.0 Première installation : trucs et astuces

Fingerprinting d'applications Web

ADF 2009 Sécurisation d applications PHP/MySQL

Les formations. Administrateur Systèmes et Réseaux. ENI Ecole Informatique

USERGATE PROXY & FIREWALL. Protection exhaustive de réseau corporate, optimisation de trafic Internet, administration flexible

OZSSI NORD 4 JUIN LILLE. Conférence thématique: Sécurité des applications

Désinfection de Downadup

Spécialiste Systèmes et Réseaux

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

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

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

PHP. PHP et bases de données

Date : NOM Prénom : TP n /5 ET ADMINISTRATION D'UN

Architecture et infrastructure Web

Sécurité des réseaux Firewalls

Automatisation de l administration système

Fonctionnement de Iptables. Exercices sécurité. Exercice 1

QUESTIONS / REPONSES ESET Smart Security ESET NOD32 Antivirus V.3

Fermer les portes dérobées des applications réseau

PHP. Bertrand Estellon. 26 avril Aix-Marseille Université. Bertrand Estellon (AMU) PHP 26 avril / 214

Manuel version expert

Welcome. Bienvenue. Willkommen. welkom. yôkoso. Benvenuto. Bienvenida. tervetuloa

REPARTITION DE CHARGE LINUX

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

Compte rendu d'activité PTI n 2

(structure des entêtes)

Administration réseau Firewall

Transcription:

Evaluation d un reverse proxy en sécurité par défaut Université Toulouse 1 Capitole Mardi 1er Juillet 2014 RéSIST : Reverse proxy 1/29

Contexte Stage de deuxième année de DUT informatique Pendant 2 mois et demi Université Toulouse 1 Capitole DSI : Service Système Etude d un reverse proxy RéSIST : Reverse proxy 2/29

C est quoi NAXSI? WAF Open Source Idée de Thibault Koechlin alias buixor en avril 2011 Projet officiel OWASP Financé par NBS-System Module du serveur web/reverse proxy Nginx RéSIST : Reverse proxy 3/29

NAXSI : Le cas Charlie-Hebdo Site défacé plusieurs fois Intervention de NBS-System 1 jour plus tard le site est remis sur pied Baptème du feu pour Naxsi A cette époque, 80% du trafic était malveillant RéSIST : Reverse proxy 4/29

Serveur Web Apache + Dokuwiki Machine UNIX Fedora Packages Httpd et dokuwiki Objectif : Protéger cette machine en mettant en place Nginx et Naxsi en reverse proxy RéSIST : Reverse proxy 5/29

Reverse proxy Nginx Un package existe sous Fedora mais impossible d installer Naxsi ensuite Installation par les sources sur la même machine que Apache Puis Installation sur machine différente Sous Debian et Ubuntu, un paquet nginx-naxsi existe RéSIST : Reverse proxy 6/29

Reverse proxy Nginx Commande de compilation de Nginx avec Naxsi :./configure conf-path=/etc/nginx/nginx.conf add-module=../naxsi-x.xx/naxsi_src/ error-log-path=/var/log/nginx/error.log http-client-body-temp-path=/var/lib/nginx/body http-fastcgi-temp-path=/var/lib/nginx/fastcgi http-log-path=/var/log/nginx/access.log http-proxy-temp-path=/var/lib/nginx/proxy lock-path=/var/lock/nginx.lock pid-path=/var/run/nginx.pid with-http_ssl_module without-mail_pop3_module without-mail_smtp_module without-mail_imap_module without-http_uwsgi_module without-http_scgi_module with-ipv6 prefix=/usr RéSIST : Reverse proxy 7/29

NAXSI : WAF open source Nginx Anti XSS and SQL Injection La plupart des WAF tiennent plus de l antivirus que du pare-feu Base importante de signatures qui doivent être mises à jour régulièrement NAXSI est un WAF qui ne requiert pas de mise à jour de signatures, seulement de la reconfiguration RéSIST : Reverse proxy 8/29

NAXSI : sans Whitelist RéSIST : Reverse proxy 9/29

NAXSI : Avec Whitelist RéSIST : Reverse proxy 10/29

NAXSI : Règles de bases NAXSI repose sur 35 règles ciblant SQLi, XSS, RFI/LFI, file uploads Ressemblant à ceci : MainRule "rx:select union update delete insert table from ascii hex unhex drop" "msg:sql keywords" "mz:body URL ARGS $HEADERS_VAR:Cookie" "s:$sql:4" id:1000; Quand une requête atteint un score limite, une action est prise sur la requête C est le fichier naxsi_core.rules Approche simple et rapide mais on a besoin d une liste blanche RéSIST : Reverse proxy 11/29

NAXSI : Learning Mode Apprentissage par un script Naxsi ne bloque rien mais les exceptions sont stockées dans les logs Permet la génération de la whitelist et des rapports 3 versions depuis la création de Naxsi RéSIST : Reverse proxy 12/29

NAXSI : Learning Mode Fichier de configuration mysite.rules (#)LearningMode; #Enables learning mode # pour désactiver SecRulesEnabled; DeniedUrl "/RequestDenied"; #Là où on rejette les requêtes bloquées ## check rules CheckRule "$SQL >= 8" BLOCK; # Si le score dépasse 8 alors l'exception sera levée. CheckRule "$RFI >= 8" BLOCK; CheckRule "$TRAVERSAL >= 4" BLOCK; CheckRule "$EVADE >= 4" BLOCK; CheckRule "$XSS >= 8" BLOCK; RéSIST : Reverse proxy 13/29

NAXSI : Learning Tool Naxsi_ui (obsolète) composé de nx_intercept.py et nx_extract.py Base de données SQLite Nx_util Plus besoin de lancer nx_intercept.py nx_extract s appelle maintenant nx_util.py Options de filtrage Générations de rapports Nxapi Le dernier Learning tool sorti récement Base de donnée ElasticSearch Génération de whitelist par template RéSIST : Reverse proxy 14/29

NAXSI : Syntaxe des règles MainRule "rx:select union update delete insert table from ascii hex unhex drop" "msg:sql keywords" "mz:body URL ARGS $HEADERS_VAR:Cookie" "s: $SQL:4" id:1000; rx ou str : regex ou string msg : Message aidant à la compréhension de la règle s : la section du score, si le score dépasse celui autorisé alors la requête se retrouve bloquée mz : Match zone : la zone de la requête qui a été inspectée et détectée id : ID de la règle de Naxsi. Les ID inférieurs à 1000 sont les règles internes de Naxsi RéSIST : Reverse proxy 15/29

NAXSI : Exceptions Situées dans votre error.log 2013/11/10 07:36:19 [error] 8278#0: *5932 NAXSI_FMT: ip=x.x.x.x&server=y.y.y.y&uri=/phpmyadmin2.8.2/scripts/setup.php&learning=0&vers=0.52&total_processed=472&total_blocked=2 04&block=0&cscore0=$UWA&score0=8&zone0=HEADERS&id0=42000227&var_name0= user-agent, client: X.X.X.X, server: blog.memze.ro, request: "GET /phpmyadmin2.8.2/scripts/setup.php HTTP/1.1", host: "X.X.X.X" RéSIST : Reverse proxy 16/29

NAXSI : Exceptions Extensives logs : 2013/05/30 20:47:05 [debug] 10804#0:*1 NAXSI_EXLOG: ip=127.0.0.1&server=127.0.0.1&uri=/&id=1302&zone=args&var_name=a&content=a< >bcd 2013/05/30 20:47:05 [error] 10804#0:*1 NAXSI_FMT: ip=127.0.0.1&server=127.0.0.1&uri=/&learning=0&vers=0.50&total_processed=1&total _blocked=1&cscore0=$uwa&score0=8&zone0=args&id0=1302&var_name0=a, client: 127.0.0.1, server:, request: "GET /?a=a<>bcd HTTP/1.0", host: "127.0.0.1" Rajouter «set $naxsi_extensive_log 1;» dans le fichier /etc/nginx/site-enabled/mysite RéSIST : Reverse proxy 17/29

NAXSI : Whitelist Lancement du script nx_util.py./nx_util.py -l /répertoire_des_error_logs -o o pour sortir la whitelist de la base SQLite net l afficher en sortie et à copier dans mysite.rules ou bien dans un autre fichier.rules Exemple de whitelist : # total_count:26 (0.41%), peer_count:1 (33.33%) parenthesis, probable sql/xss BasicRule wl:1011 "mz:$args_var:id"; RéSIST : Reverse proxy 18/29

NAXSI : Fichiers Les fichiers principaux de Naxsi et de Nginx nginx.conf site-enabled/default conf.d/proxy.conf mysites.rules naxsi_core.rules votre_whitelist.rules RéSIST : Reverse proxy 19/29

NAXSI : HttpSubModule Pour tester Naxsi sur www.ut-capitole.fr sans gêner les utilisateurs Substitution d URL avec un module de Nginx Permet à notre reverse proxy de rediriger sur wwwp.ut-capitole.fr Ajouter «subs_filter www.ut-capitole.fr wwwp.ut-capitole.fr -g» dans la configuration de Nginx Module disponible également sur Apache Grrr! Pourquoi je n ai pas vu ça avant!!! Les heures de travail que j aurai pu gagner RéSIST : Reverse proxy 20/29

NAXSI : Rapports Lancement du script nx_util.py./nx_util.py -l /répertoire_des_logs -H /répertoire_du_fichier_html Diagramme, graphique et mapemonde si GeoIP est activé Plusieurs filtres disponibles : par date, ip, serveur, uri, zone de la requête, id de l exception, var_name, country, contenu, etc Mais le méchanisme de filtre est extrêmement primitif d après les développeurs donc prudence avec les filtres trop complexes. RéSIST : Reverse proxy 21/29

NAXSI : Rapports Diagramme : RéSIST : Reverse proxy 22/29

NAXSI : Rapports Graphique : RéSIST : Reverse proxy 23/29

Outils de test Nikto Un web scanner qui va tester le plus rapidement possible le serveur pour trouver de simples informations, les versions qui ne sont pas à jour, etc Wapiti Se charge de tester les vulnérabilités d une applications web en testant plusieurs attaques différentes RéSIST : Reverse proxy 24/29

Résultats Dokuwiki Nikto il trouve certaines informations. Pas de trace de Naxsi. Wapiti Avec Naxsi : Wapiti ne trouve rien Sans Naxsi : Waptiti ne trouve rien également La sécurité interne de Dokuwiki ne nous permet pas de voir véritablement Naxsi RéSIST : Reverse proxy 25/29

Badstore RéSIST : Reverse proxy 26/29

Résultats Badstore Virtualbox de Badstore Wapiti Sans Naxsi : 19 failles Avec Naxsi : 1 faille de type file upload non exploitable heureusement. RéSIST : Reverse proxy 27/29

Résultats Rapports Badstore Dokuwiki RéSIST : Reverse proxy 28/29

Bilan : NAXSI Va être mis en place à l université Petit test de performance sur 10000 requêtes Sans Naxsi : 3700 requêtes/s AvecNaxsi : 2700 requêtes/s Sans Modsecurity : 2100 requêtes/s Avec Modsecurity : 1100 requêtes/s Syntaxe facile à apprendre Protection assurée Possibilité de LearningMode continu Une étude comparative Naxsi / ModSecurity serait un plus RéSIST : Reverse proxy 29/29