ModSecurity

Το ModSecurity είναι ένα "third party" Apache module, που προσφέρει ανίχνευση και προστασία από επιθέσεις σε διαδικτυακές εφαρμογές (intrusion detection and prevention for web applications), λειτουργώντας σαν τείχος προστασίας. Το ModSecurity δημιουργήθηκε από τον Ivan Ristic (συγγραφέα και του σχετικού βιβλίου), αλλά πλέον ανήκει στην Trustwave. Ενδεικτικοί τύποι επιθέσεων: SQL injection attacks XSS cross-site scripting path traversal attacks file inclusion Denial of service (DOS) attack (experimental) Brute force attack (experimental)Για να προσφέρει προστασία το ModSecurity πρέπει να δοθούν κανόνες (rules). Οι βασικοί κανόνες αποτελούν το Core Rule Set (CRS) και διατίθενται δωρεάν από το Open Web Application Security Project (OWASP). Παρέχεται αναλυτική τεκμηρίωση. Ωστόσο, προσφέρονται και εμπορικές υπηρεσίες ή κανόνες κατά περίπτωση από εταιρίες που δραστηριοποιούνται στον τομέα ασφαλείας του Διαδικτύου, καθώς η συγγραφή κανόνων (rules) απαιτεί αρκετή εξειδίκευση. Παρατηρήσεις το modsecurity core rule set ενσωματώνει και rules που προέχρονται από μετατροπή των αντιστοίχων rules του PHP-IDS, καθώς και των SNORT web attack rules που προσφέρει η Emerging threats (emerging-web_server.rules, emerging-web_specific_apps.rules)Εάν είναι επιθυμητό να αποκλείονται μέσω firewall οι IP από τις οποίες προέρχονται οι επιθέσεις που ανιχνεύει και αποκρούει το modsecurity θα πρέπει να εκπονηθούν τα σχετικά rules (παράδειγμα εδώ). Επίσης, μπορεί να χρησιμοποιηθεί η open source λύση fail2ban.Ειδικά για τους τύπους επιθέσεων (5) και (6) (Denial of service (DOS) attack και Brute force attack) μπορεί να εγκατασταθεί το mod_evasive. Τα δύο modules μπορούν να συνυπάρχουν.

 Εξαρτάται από το λειτουργικό σύστημα. Ενα παράδειγμα για Debian Squeeze: OWASP ModSecurity Core Rule Set Η εφαρμογή των modsecurity rules σε μία εγκατάσταση Apache είναι πιθανό να επιβάλει αποκλεισμό σε κάποια σημεία της εφαρμογής (συχνά αναφέρεται ως "ψευδώς θετικό" εύρημα "επίθεσης" (false positive), προκαλώντας μικρού ή μεγάλου βαθμού δυσλειτουργία της εφαρμογής. Το πρώτο ζητούμενο είναι η βελτίωση του κώδικα (κατά περίπτωση), ώστε να μην ενεργοποιεί τα security rules. Αν δεν επιδέχεται αλλαγές ο κώδικας και εξακολουθούν να ενεργοποιούνται κάποιοι κανόνες, τότε υπάρχει η ανάγκη αλλαγών στους κανόνες (συχνά δύσκολο) ή η επιλεκτική ακύρωση κάποιων από αυτούς (συνηθέστερο). Κατά την εκτέλεση της εφαρμογής, ενεργοποιούμε την παρακολούθηση του modsecurity log Ενα παράδειγμα Από το log βρίσκουμε την αιτία που προκάλεσε την ενεργοποίηση του κανόνα και επιδιώκουμε την βελτίωση του κώδικα. Αν αυτό δεν είναι εφικτό, αναιρούμε τον κανόνα με το σχετικό ID (ή tag ή msg). Για όσο διαρκέσει η σχετική έρευνα μπορεί να χρησιμοποιηθεί η παράμετρος SecRuleEngine DetectionOnly, ώστε να παραμείνει λειτουργική η εφαρμογή και, όταν ολοκληρωθεί να επιστρέψει το SecRuleEngine On Θέτουμε Χρειάζεται επανεκκίνηση Apache. Γίνεται συνήθως με χρήση της SecRuleRemovebyID, αν και είναι διαθέσιμες και οι SecRuleRemoveByMsg και SecRuleRemoveByTag. Apache modsecurity Modsecurity Reference Manual OWASP ModSecurity Core Rule Set Project A Recommended Base Configuration Install and Configure mod_security on Apache Apache mod-security installation on Debian 6.0 (squeeze) Αρχειοθετήθηκε 2012-09-17 στο Wayback Machine. Modsecurity manual - SecRuleRemoveById Handling False Positives and Creating Custom Rules http://atomicorp.com/wiki/index.php/Mod_security Apache mod_security σε Debian Squeeze Rules (free) Free Modsecurity Core Rule Set from OWASP Free Modsecurity (90 days delayed) rules from Atomicorp Αρχειοθετήθηκε 2012-09-08 στο Wayback Machine. Rules (commercial) Commercial ModSecurity Rules from Trustwave SpiderLabs Commercial ModSecurity Rules from Atomicorp Public Vulnerability Lists Open Source Vulnerability Database - OSVDB Bugtraq