Modsecurity czy Twój WAF to potrafi? Leszek Miś Linux Polska Sp. z o.o.

Podobne dokumenty
Scalable and under control open cloud architecture

Kontekst jest najważniejszy Application Security (WALLF-ng) Leszek Miś Head of IT Security Department Linux Polska Sp. z o.o.

Portal Security - ModSec Enterprise

Open(Source) Web Application Security Project

Bezpieczeństwo aplikacji internetowych. Rozwój napędzany potrzebą WALLF Web Gateway. Leszek Miś, RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o.

Czy Twój WAF to potrafi? modsecurity.

OWASP i Top 10 Sposób tworzenia Top 10 Czym jest a czym NIE jest Top 10? Zmiany w wersji 2013 Omówienie nowych podatności na liście Podsumowanie

Narzędzia OWASP dla developerów OWASP ESAPI & AppSensor OWASP The OWASP Foundation

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Webapplication Security Pentest Service

Aplikacje webowe na celowniku. Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o. 1

Bezpieczeństwo aplikacji internetowych

OWASP. The Open Web Application Security Project. OWASP Top rc1. Dziesięć najbardziej krytycznych zagrożeń w web aplikacjach

INSTYTUT IMMUNOLOGII I TERAPII DOŚWIADCZALNEJ im. Ludwika Hirszfelda Polska Akademia Nauk

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

The OWASP Foundation Session Management. Sławomir Rozbicki.

Web Application Firewall - potrzeba, rozwiązania, kryteria ewaluacji.

Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych

Bezpieczeństwo aplikacji webowych - standardy, przewodniki i narzędzia OWASP OWASP The OWASP Foundation

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Testy penetracyjne webaplikacji.

Praktyczne wykorzystanie mechanizmów zabezpieczeń w aplikacjach chmurowych na przykładzie MS Azure

CYBEROAM Unified Treatment Management, Next Generation Firewall

Analiza skuteczności zabezpieczeń przed atakami na aplikacje Web

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Automatyczne testowanie infrastruktury pod kątem bezpieczeństwa. Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ Linux Polska Sp. z o.o.

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

Program szkolenia: REST i Microservices w PHP

Programowanie Komponentowe WebAPI

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

Programowanie w Internecie

Program szkolenia: Bezpieczny kod - podstawy

Aspekty bezpieczeństwa aplikacji internetowych

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Standard aplikacji WWW Urzędu Miasta Olsztyna

TelCOMM Wymagania. Opracował: Piotr Owsianko Zatwierdził: IMIĘ I NAZWISKO

Paweł Rajba

SIP: Session Initiation Protocol. Krzysztof Kryniecki 16 marca 2010

Bezpieczeństwo systemów internetowych

Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań,

Wstęp Budowa Serwlety JSP Podsumowanie. Tomcat. Kotwasiński. 1 grudnia 2008

Zarządzanie sesją w aplikacjach Internetowych. Kraków, Paweł Goleń

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

Vulnerability Management. Vulnerability Assessment. Greenbone GSM

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

n6: otwarta wymiana danych

Drobne błędy w portalach WWW

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

OWASP OWASP. The OWASP Foundation Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek

Bezpieczeństwo aplikacji Czy musi być aż tak źle? OWASP The OWASP Foundation

Kim jesteśmy? PCSS i MIC. Paweł Berus, Zespół Bezpieczeństwa PCSS

Dokumentacja techniczna. Młodzieżowe Pośrednictwo Pracy

! Retina. Wyłączny dystrybutor w Polsce


PROJEKT ARAKIS DOŚWIADCZENIA Z OBSERWACJI ZAGROŻEŃ W SIECI Tomasz Grudziecki (CERT Polska / NASK)

Architektura oraz testowanie systemu DIADEM Firewall Piotr Piotrowski

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

Najskuteczniejsze sposoby zabezpieczania baz danych, w jaki sposób je monitorować oraz jak audytować

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

Bezpieczne udostępnianie usług www. BłaŜej Miga Zespół Bezpieczeństwa PCSS

Kurs ASP.NET ASP.NET CORE APLIKACJE WEBOWE

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Safe Hosting idea ultrabezpiecznego systemu hostingowego

SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..

Bezpieczeństwo frameworków WEBowych Java na przykładzie ataku CSRF

Bezpieczeństwo aplikacji WWW. Klasyfikacja zgodna ze standardem OWASP. Zarządzanie podatnościami

Dokumentacja REST API v 3.0

Projektowani Systemów Inf.

Kurs rozszerzony języka Python

INSTYTUT IMMUNOLOGII I TERAPII DOŚWIADCZALNEJ im. Ludwika Hirszfelda Polska Akademia Nauk

Architektura aplikacji

Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone

Wybrane działy Informatyki Stosowanej

Orange Send MMS. Autoryzacja. Metoda HTTP. Parametry wywołania. API wyślij MMS dostarcza wiadomości MMS. Basic POST

Opis Przedmiotu Zamówienia

Wybrane podatności w aplikacjach webowych

Zakład Ubezpieczeń Społecznych Departament Zamówień Publicznych ul. Szamocka 3, 5, Warszawa tel: , faks:

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

Dworakowski. Wojciech. Zagrożenia i metody ataku. Aplikacje internetowe -

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Jak zabezpieczyć aplikacje przed włamaniami?

Jak ograniczyć zagrożenie związane ze zjawiskiem credential abuse? Bartlomiej Jakubowski Solutions Engineer II, CISSP, CCSP

Jak bezpieczne są Twoje dane w Internecie?

Testowanie aplikacji Java Servlets

Ajax a bezpieczeństwo aplikacji webowych. Jakub Wierzgała

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Dokumentacja Techniczna 1.2. Webtoken MT. Uruchomienie subskrybcji MT poprzez serwis WWW

Opis przedmiotu zamówienia. (zwany dalej OPZ )

Agenda. Quo vadis, security? Artur Maj, Prevenity

SZCZEGÓŁOWY OPIS PRZEDMIOTU ZAMÓWIENIA

SAS Access to Hadoop, SAS Data Loader for Hadoop Integracja środowisk SAS i Hadoop. Piotr Borowik

Bezpieczeństwo systemów komputerowych

Wykład 8. Temat: Hakerzy, wirusy i inne niebezpieczeństwa. Politechnika Gdańska, Inżynieria Biomedyczna. Przedmiot:

Serwery LDAP w środowisku produktów w Oracle

API transakcyjne BitMarket.pl

Advanced Internet Information Services Management (IIS 8)

IT Security vs GameDev. IGK'8 2011, Siedlce / Poland

Transkrypt:

Modsecurity czy Twój WAF to potrafi? Leszek Miś Linux Polska Sp. z o.o.

CEL: Modsecurity jest cool!

Agenda Modsecurity Wprowadzenie Architektura Funkcjonalność Filtrowanie komunikacji JSON Aktywacja mechanizmu HMAC Aktywacja i wykorzystanie reguł OWASP CRS

Wprowadzenie Aplikacje webowe jako cel czyli zagrożenia kryją się wszędzie: Aplikacja Protokół Serwer HTTP/Proxy/Apps Framework Język programowania

Wprowadzenie Rzeczywistość weryfikuje: Zimbra: priv_esc poprzez LFI: /res/i18nmsg,ajxmsg,zmsg,zmmsg,ajxkeys,zmkeys,zdmsg,ajx%20templatemsg.js.zgz? v=091214175450&skin=../../../../../../../../../opt/zimbra/conf/localconfig.xml OSSIM: SQL Injection Apache Struts: RCE F5 BigIQ priv_esc Jira: directory traversal Katello: users/update_roles I wiele innych...

Wprowadzenie Problem z patchowaniem podatności: Zbyt wysoki koszt Kod źródłowy firmy zewnętrznej Ograniczony kontrakt/umowa Brak zasobów Brak skillsów SDLC dla poprawki-> tst->acc->prod Niedostępność aplikacji

Zagrożenia Cross Site Scripting ClickJacking SQL Injection MitB LDAP Injection Open Redirect XPATH Injection DOS/DDOS XML Injection Cross Site Request Forgery (CSRF) Blind SQLi Information/Path Dislosure Time based SQLi Double Encoding Remote Command Execution Server Side Includes Injection Local File Inlusion Bruteforce Remote File Inclusion Buffer overflow Session Hijacking Misconfiguration HTTP Response Spliiting RE-DOS Sniffing/Spoofing Forced browsing Drive by Download

Uchybienia

Wprowadzenie WAF pozwala na Pełne logowanie audytowe ruchu HTTP: requests responses Monitorowanie HTTP w czasie rzeczywistym Wykrywanie i blokowanie ataków: Negative Positive Znane podatności (regexpy) Web Honeypoty

Wprowadzenie Negative security model: Monitoruje pod kątem anomalii, nietypowego zachowania, pod kątem znanych appek. Wzrastający anomaly scoring per sesja, IP, user Reguła musi się zamatchować Positive security model: Tylko żądania uznawane za poprawne są obsługiwane Wymagana doskonała znajomość aplikacji i zachowań użytkowników, danych wejściowych Najlepsze dla rzadko aktualizowanych appek

Wprowadzenie Negative security model: SecRule REQUEST_FILENAME @contains /owa/scriptname.asx chain, phase:1,block,log,msg:'xss na mojej appce' SecRule ARGS:parameter @pm < > ( ) -- Positive security model: SecRule REQUEST_FILENAME @contains /owa/scriptname.asx chain, phase:1,block,log,msg:'xss na mojej appce' SecRule ARGS:parameter!@rx ^\w+$

Wprowadzenie Modsecurity for: Apache: Najpopularniejszy Ficzer riczi ricz Aktualnie 2.4 Nginx: Reverse proxy Performance IIS Modsecurity Core Rule Set

Architektura Reverse Proxy: mod_proxy: <Location /appka/> ProxyPass http://192.168.122.217/appka/ ProxyPassreverse http://192.168.122.217/appka/ SecRuleEngine On </Location> Lokalnie wbudowany Chain of proxies

Architektura Reverse proxy+modsecurity

Funkcjonalność Modsecurity: Parsuje: Chce zrozumieć ruch HTTP Bufferuje: Kompletne żądanie przez przekazaniem do aplikacji Kompletną odpowiedź przez przekazaniem do klienta Loguje: Pełny zapis ruchu Analizuje: Checkuje pod kątem reguł

Funkcjonalność Apache z modsecurity pozwala na: Deszyfrowanie SSL Wydobywanie z transmisji żądań HTTP Parsowanie żądań Aktywację WAF Przekazywanie żądań do serwerów typu backend Modyfikacja danych wychodzących w locie - dynamiczne wstrzykiwanie Wirtualne patchowanie LUA

Funkcjonalność Fazy filtrowania: Każda transakcja przechodzi przez 5 faz filtrowania: 1: Request headers 2: Request body 3: Response headers 4: Response body 5: Logging

Funkcjonalność Wirtualny patch w uproszczonym przypadku: Ograniczenie Request_Body_Size Wykrywanie powtarzających się payloadów Ograniczenie ilości ARGS Weryfikacja ARGS Analiza i filtrowanie RESPONSE_BODY

Funkcjonalność Przykładowe reguły: SecRule REQUEST_URI "@detectsqli" "id:152,log,deny" SecRule REQUEST_BODY "@detectxss" "id:12345,log,deny" SecRule REQUEST_HEADERS:User-Agent "@pm WebZIP WebCopier Webster WebStripper... SiteSnagger CheeseBot" "id:166" SecRule ARGS:foo "!@streq bar" "id:176"

LAB1 uruchomienie Apache jako Reverse Proxy

Czym jest JSON? Prosty, tekstowy format wymiany danych Podzbiór języka JS Dwie struktury: Zbiór par nazwa/wartość Lista/tabela/sekwencja wartości MIME type: application/json Wykorzystywany w implementacjach API, np. Rest

Czym jest JSON? Openweathermap.org: {"coord":{"lon":-0.13,"lat":51.51},"sys": {"message":0.0139,"country":"gb","sunrise":1399436419,"sun set":1399491223},"weather": [{"id":521,"main":"rain","description":"proximity shower rain","icon":"09d"}],"base":"cmc stations","main": {"temp":286.16,"pressure":1008,"humidity":66,"temp_min":284. 26,"temp_max":288.15},"wind":{"speed":6.7,"deg":250},"rain": {"3h":0},"clouds": {"all":75},"dt":1399448174,"id":2643743,"name":"london","cod" :200}

Filtrowanie komunikacji JSON Modsecurity 2.8.0: SecRule REQUEST_HEADERS:Content-Type "application/json" "id:'2200001',phase:2,t:none,t:lowercase,pass,log,c tl:requestbodyprocessor=json" Libyajl

LAB2 - Filtrowanie komunikacji JSON

Mechanizm HMAC HMAC Token Protection: Forceful Browsing Reflected XSS Ochrona CSRF Manipulacja QUERY_STRINGS Ochrona przed automatami/botami

HMAC Manipulacja kontentem: W jaki sposób sprawdzić czy odbyła się modyfikacja dokumentu? Parsowanie wyjścia (RESPONSE_BODY) Wyliczanie hasha dla wynikowego HTML Wstrzykiwanie unikalnych tokenów dla wszystkich linków dokumentu HTML Token = request parameter validation token

HMAC Executing operator "validatehash" with param "\\.(aspx? php)" against REQUEST_URI. Target value: "/showimage.php?file=./database_connect.php" Request URI without hash parameter [/showimage.php? file=./database_connect.php] Warning. Request URI matched "\\.(aspx? php)" at REQUEST_URI. No Hash parameter [file "/etc/httpd/modsecurity.d/base_rules/hmac.conf"] [line "10"] [id "1000"] [msg "Hash Validation Violation."] [tag "testphp.vulnweb.com"]

HMAC HMAC zablokuje: Skanery Automaty Botnety które nie podążają za linkami dostępnymi w kontekście aplikacji XSS/SQL-Injection

HMAC

HMAC Dyrektywy: SecDisableBackendCompression On SecRuleEngine On SecContentInjection On SecStreamOutBodyInspection On SecHashEngine On SecHashKey rand keyonly SecHashParam "hmac" SecHashMethodrx "HashHref" "\.(aspx? php)" SecHashMethodrx "HashFormAction" "\.(aspx? php)" SecRule REQUEST_URI "@validatehash \.(aspx? php)" "phase:2,id:1000,t:none,block,msg:'hash Validation Violation.',ctl:hashEnforcement=On,setvar:tx.anomaly_score=+% {tx.critical_anomaly_score},setvar:'tx.msg=%{rule.msg}',setvar:tx.% {rule.id}-owasp_crs/web_attack/param_manipulation-% {matched_var_name}=%{matched_var}"

LAB3 - HMAC

OWASP Top 10 Zbiór 10 najistotniejszych, kluczowych błędów w zabezpieczeniach aplikacji internetowych: A1 Injection A2 Broken Auth and Session MGMT A3 XSS A4 Insecure Direct Object References A5 Security Misconfiguration A6 Sensitive Data Exposure A7 Missing Function Level Access Control A8 CSRF A9 Known vulns A10 Unvalidated Redirects and Forwards

OWASP Docs & tools ASVS ESAPI Testing Guide Cheat Sheets

OWASP CRS Modsecurity to tylko silnik Musimy go naładować : Tworzenie dedykowanych reguł od podstaw per aplikacja Wykorzystanie gotowych reguł OWASP CRS Hybryda czyli połączenie reguł CRS z własnymi regułami typu Whitelist

OWASP CRS HTTP Protection - detecting violations of the HTTP protocol and a locally defined usage policy. Real-time Blacklist Lookups - utilizes 3rd Party IP Reputation HTTP Denial of Service Protections - defense against HTTP Flooding and Slow HTTP DoS Attacks. Common Web Attacks Protection - detecting common web application security attack. Automation Detection - Detecting bots, crawlers, scanners and other surface malicious activity. Integration with AV Scanning for File Uploads - detects malicious files uploaded through the web application. Tracking Sensitive Data - Tracks Credit Card usage and blocks leakages. Trojan Protection - Detecting access to Trojans horses. Identification of Application Defects - alerts on application misconfigurations. Error Detection and Hiding - Disguising error messages sent by the server.

OWASP CRS Reguły OWASP CRS podzielone są na: base_rules experimental_rules optional_rules slr_rules /etc/httpd/modsecurity.d/

LAB4 Atak.

OWASP CRS Dostosowanie reguł per aplikacja: SecRuleRemoveById SecRuleRemoveByMsg SecRuleRemoveByTag

LAB5 instalacja i aktywacja reguł CRS

Różne Integracja z BEEF DDOS LUA Splunk for Modsecurity Learning mode i generowanie reguł na podstawie raportów ze skanerów Wykrywanie zmiany User-Agent podczas sesji

Podsumowanie To tylko zajawka na dobry początek W Modsecurity drzemią ogromne możliwości i potencjał Idealny komponent rozbudowanego stacku typu Web Gateway/Secure Proxy Automatyzacja Skalowalność Customizacja Auditing

Dziękuję za uwagę:) lm@linuxpolska.pl