Chrooter apache
Matériel
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Astuces
Ajout d'une imprimante
Réseau
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Installer un LAMP sous mandriva
Sécurité
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Faire des sauvegardes incrémentales
Rsync
Nessus
Divers
Elisa, le multimédia facile
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
Compiler ses rpms
Graver en ligne de commande
Graver un fichier avi pour un dvd de salon
Récupérer des fichiers effacés
Liens
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Traductions LG
Toutes les traductions
Traductions Phrack
Toutes les traductions

Il y a actuellement 5 visiteurs connectés sur le site !

Google

Sécuriser son serveur Apache avec mod_security
Sécuriser son serveur Apache avec mod_security

 

Introduction
Installation
Configuration

 

Introduction:

Même avec un bon firewall , votre réseau ne sera pas entièrement sécurisé tant que vos applications web resteront vulnérables Le module mod_security vous aidera à stopper les injections de type SQL, le cross-site scripting et d'autres attaques web par l'intermédiaire de données corrompues.
Grâce à ce module, vous pourrez examiner les validations de vos clients sur internet,avant même qu'elles soient traitées par vos scripts.Les évènements et sessions seront journalisées , même ceux dont votre serveur ne tient pas compte habituellement. Vous pourrez non seulement examiner les tentatives de vos attaquants ,mais aussi moduler vos règles de filtrage Mod_security prend aussi en charge le trafic encrypté : il agit avant et après les transactions de données via SSL

Installation

Le module mod_security module fonctionne à la fois avec Apache 1.3 et Apache 2.0. Mandriva a son propre paquetage disponible ,et donc le module s'installe le plus simplement du monde sur un serveur existant et en état de fonctionnement grâce à la commande en root et en console : apache-mod_security

Configuration

La configuration de ce module se passe comme tous les autres modules dans le fichier httpd.conf Les règles sont variables et dépendent hautement de la configuration de votre serveur web
Voici quelques exemples de règles applicables à votre serveur:


        SecFilterEngine On
        SecFilterDefaultAction "deny,log,status:403"
        SecFilterScanPOST On
        SecFilterCheckURLEncoding On
        SecFilterCheckUnicodeEncoding Off
        SecFilterForceByteRange 1 255

La première ligne vérifie que le module mod_security est bien activé pour votre serveur
SecFilterDefaultAction indique le comportement du serveur en cas d'intrusion captée par les filtres : la tentative ici sera loguée , et l'accès sera refusé avec un code 403 message.
SecFilterScanPOST inspectera les requêtes via GET mais aussi par POST.
Setting SecFilterCheckURLEncoding permettra aux valeurs encodées hexadécimales dans les URL d'être examinées.
SecFilterCheckUnicodeEncoding ne sert qu'en cas de valeurs unicode.
SecFilterForceByteRange indique l'écart des valeurs ASCII disponibles dans les requêtes GET et dans les formulaires avec POST.

SecAuditEngine RelevantOnly
SecAuditLog logs/audit_log
SecFilterDebugLog logs/modsec_debug_log
SecFilterDebugLevel 0

SecAuditEngine peut être fixé à On RelevantOnly ou DynamicOrRelevant pour permettre à mod_security's de journaliser beaucoup plus d'informations que ne le fait Apache par défaut. Avec On toutes les requêtes sont captées, RelevantOnly capte seulement les requêtes correspondant aux filtres mis en place et DynamicOrRelevant journalise à la fois les requêtes appropriées ou les requêtes des gestionnaires non-nul. SecAuditLog indique ou mod_security écrit ses logs.
SecFilterDebugLog, indique ou mod_security journalise les informations de debogage. PLacé à 0, rien n'est journalisé .Les niveaux 1,2,3 affinent les informations de debogage


    SecFilterSelective REQUEST_METHOD "!^(GET|HEAD)$" chain
    SecFilterSelective HTTP_Content-Type
     "!(^application/x-www-form-urlencoded$|^multipart/form-data;)"
    SecFilterSelective REQUEST_METHOD "^POST$" chain
    SecFilterSelective HTTP_Content-Length "^$"
    SecFilterSelective HTTP_Transfer-Encoding "!^$"

Le premier filtre vérifie si la requête n'est pas de type GET ou HEAD; Ensuite ,il vérifie si elle contient autre chose que des données de type formulaire (content-type "application/x-www-form-urlencoded") ou bien des fichiers uploadés (encoding-type "multipart/form-data"),. Si les deux filtres fonctionnent , si la requête n'est pas de type formulaire ou fichier, cette requête n'est pas autorisée.
Le second filtre vérifie si la requête est de type POST. Si c'est le cas, la vérification se fait pour savoir si le paramètre Content-Length a une valeur nulle; Si c'est le cas, la requête est rejetée.
Notre dernier exemple nous protège contre les valeurs non-nulles pour le paramètre Transfer-Encoding.


D'autres règles intéressantes

- Bloquer l'accès au fichier passwd:
SecFilter /etc/passwd
- Interdire la commande ls:
SecFilter /bin/ls
- Interdire la méthode TRACE:
SecFilterSelective REQUEST_METHOD "TRACE"
- Empêcher l'accès au fichier /etc/shadow:
SecFilterSelective THE_REQUEST "/etc/shadow"
- Empêcher la commande /bin/ps:
SecFilterSelective THE_REQUEST "/bin/ps"
- Empêcher une attaque transversale de répertoire:
SecFilter "\.\./"
- Empêcher le téléchargement de fichiers avec wget:
SecFilterSelective THE_REQUEST "wget "
- Bloquer le bot DTS Agent:
SecFilterSelective HTTP_USER_AGENT "DTS Agent"
- Bloquer le proxy ouvert ayant comme adresse 12.148.163.152:
SecFilterSelective REMOTE_ADDR 12\.148\.163\.152
mod_security permet la détection des attaques de type injection SQL. Les règles suivantes sont utiles pour contrer certaines requêtes:
SecFilter "delete[[:space:]]+from"
SecFilter "create[[::space:]]+table"
SecFilter "update.+set.+="
SecFilter "insert[[:space:]]+into"
SecFilter "select.+from"
SecFilterSelective ARGS "drop[[:space:]]+database"
SecFilterSelective ARGS "drop[[:space:]]+table"
Pour interdire le HTML et le JavaScript dans les requêtes:

  SecFilter ""
  SecFilter "<(.|\n)+>"
  SecFilter "<( |\n)*script"
  SecFilter "<[[:space:]]*script"

Sources de l'article


 

Blog
Le blog
La radio
La Radio
Boutique
La boutique du Geek
Php/Mysql
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Le fichier php.ini
Programmation
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Astuces en Bash
Cracking
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Techniques de Protection
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
P2P
Azureus pas-a-pas
News
Lire les news de Linux-pour-lesnuls.com au format RSS
Distros
Gestion des paquets debian
101 commandes debian
Jeu
Webtarot
Graphisme
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Redimentionner une image avec GIMP
Redimentionner une photo pour en faire un cadre avec gimp
Morphing avec gimp
Détourer avec gimp
Réduire le poids d'une image avec gimp
Caricature avec gimp
Humour
Ensemble
Divers