SlideShare a Scribd company logo
1
Leszek Miś
IT Security Architect
RHCA,RHCSS,Sec+
lm@linuxpolska.pl
Linux Polska Sp. z o.o.
Scalable and under control -
open cloud architecture
considering security standards.
2
#whoami
● Leszek Miś:
– IT Security Architect – RHCA/RHCSS/Sec+
– Instruktor/egzaminator Red Hat
– Splunk Certified Architect
– Lider projektu WALLF Web Gateway
● Skupiam się głównie na:
– Linux/Web/Cloud Security
– SELinux/WAF/SSO
– IdM/Domena ilnuksow
– Pentesty
3
O firmie Linux Polska
● Podstawowa działalność spółki:
– Wsparcie lokalne dla systemów Open Source
– Wdrożenia i migracje
– Bezpieczeństwo IT
– Szkolenia autoryzowane i autorskie
4
Agenda
●
Web (in)security
● OWASP
● Infrastructure as code
● Secure reverse Proxy
5
Web (in)security
● Aplikacje webowe jako cel czyli zagrożenia kryją
się wszędzie:
– Aplikacja
– Protokół
– Implementacja HTTP
– Język/Framework
– Konfiguracja
– System operacyjny
6
Web (in)security
● 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, wiele innych...
7
Web (in)security
● Problem z patchowaniem podatności:
– Wysoki koszt
– Kod źródłowy firmy zewnętrznej
– Ograniczony kontrakt/umowa
– Brak zasobów
– Brak skillsów
– SDLC -> TST->ACC->PROD
– Niedostępność aplikacji
– Inne?
8
Web (in)security
● Cross Site Scripting
● SQL Injection
● LDAP Injection
● XPATH Injection
● XML Injection
● Blind SQLi
● Time based SQLi
● Remote Command Execution
● Local File Inlusion
● Remote File Inclusion
● Session Hijacking
● HTTP Response Spliiting
● Sniffing/Spoofing
● ClickJacking
● MitB
● Open Redirect
● DOS/DDOS
● Cross Site Request Forgery (CSRF)
● Information/Path Dislosure
● Encoding
● Server Side Includes Injection
● Bruteforce
● Buffer overflow
● Misconfiguration
● Forced browsing
● Drive by Download
11
OWASP
12
OWASP
Open Web Application Security Project
Misja: Poprawa stanu bezpieczeństwa aplikacji
„Make application security visible so that people and organizations
can make informed decisions about true application security risk”
• Projekty – dokumentacja, narzędzia
• Edukacja
• Współpraca (rządy, inne organizacje, twórcy standardów)
13
Wybrane projekty OWASP
DETECT PROTECT LIFE-CYCLE
Documentation Top10
ASVS
Testing Guide
Code Review
Guide
Development Guide
Secure Coding
Practices – Quick
Reference
OpenSAMM
Tools WebScarab
Zed Attack Proxy
JBroFuzz
ESAPI
AppSensor
ModSecurity Core
Ruleset
WebGoat
Education Project
https://www.owasp.org/index.php/Category:OWASP_Project
14
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
15
OWASP
ASVS – Security Verification Standard
Testing guide – księga testów
Appsensor – WAF wszyty w appkę
ESAPI – Enterprise Security API
Broken Web Application – poligon
16
Infrastructure as code
17
Infrastructure as code
● Problem dt. spójności infrastruktury:
– Na których systemach zmiana została
wprowadzona?
– Czy pojawiła się na wszystkich systemach?
– Czy została zaaplikowana tylko na tych
systemach na których było to niezbędne?
– Co z systemami, które w tym czasie były
niedostępne?
– Co z nowymi systemami, które dodamy do naszej
infrastruktury?
18
Infrastructure as code
● Zgodność ze standardami
● Powtarzalność:
– skalowalność
● Weryfikacja:
– kontrola wersji
● Gwarancja poprawności:
– enforcing
● Współdzielenie:
– TST->ACC->PROD
● Aktualność konfiguracji: ready for audit
19
Infrastructure as code
20
Infrastructure as code
● Abstrakcja-> Oczekiwany status:
– SSL Cipher list
– Error handling/Output filtering
– Antibrute force mechanism
– Secure flags for cookies
– STIG compliance
21
Infrastructure as code
<% if @mod_security -%>
SecRuleEngine <%= @mod_security %>
<% end -%>
● vhost.conf.erb:
<%=
scope.function_template(['wallf/apache/_secureheaders.er
b']) -%>
22
Infrastructure as code
● Antibrute force
23
Infrastructure as code
● SSL
24
Infrastructure as code
● SSL:
– Sslscan
– sslLabs
25
Infrastructure as code
● Error Handling – modsecurity_crs_50_outbound.conf
26
Infrastructure as code
● Header manipulation:
– unset X-Powered-By
– unset Server
– set X-XSS-Protection: "1; mode=block"'
– set Header always set X-Frame-Options
SAMEORIGIN
27
Infrastructure as code
● Secure cookies:
– HttpOnly
– Secure
– Path=
29
Secure Web Gateway ->
Open Source <- OWASP
30
Secure Web Gateway - co jest istotne?
● Hardened Linux distro
● HA
● LB/Clustering
● WAF
● SSL configuration
● Access Control
● Change Mgmt
● Logging Mgmt
● Incident Response Mgmt
● Isolation
● Separation
● Scalability
● Monitoring
● Caching
● Performance tuning
● 2FA
● Auditing
31
WAF
● Architektura
32
WAF
● Fazy filtrowania:
● Każda transakcja przechodzi przez 5 faz filtrowania:
– 1: Request headers
– 2: Request body
– 3: Response headers
– 4: Response body
– 5: Logging
34
WAF
● Ochrona przed atakami i integracja z DAST (Arachni,ZAP)
● Filtrowanie żądań
● 0-day protection
● Dynamiczne wstrzykiwanie - modyfikacja danych
wychodzących w locie
● Wirtualne patchowanie
35
WAF
● Wirtualny patch w uproszczonym przypadku:
– Ograniczenie Request_Body_Size
– Wykrywanie powtarzających się payloadów
– Ograniczenie ilości ARGS
– Weryfikacja/filtrowanie wartości ARGS
– Analiza i filtrowanie RESPONSE_BODY
36
WAF – tryby pracy
● 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+$”
37
WAF
● 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"
38
WAF
● Modsecurity to tylko silnik:
– Apache
– Nginx
– IIS
● 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
39
WAF – modsecurity 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.
40
WAF
● Reguły OWASP CRS podzielone są na:
– base_rules
– experimental_rules
– optional_rules
– slr_rules
● Dostosowanie reguł CRS per aplikacja:
– SecRuleRemoveById
– SecRuleRemoveByMsg
– SecRuleRemoveByTag
● (Konsola)
41
WAF – advanced
● HMAC
● Content Security Policy
● Webhoneypots
● LUA
● JSON/XML
● AV Scanning
● GEO/IP reputation
● BEEF czyli Attack the attacker:
– Browser as Pentester's gateway
43
Podsumowanie
● WAF = ubezpieczenie
● Krytyczność reverse proxy
● Podejście devopsowe do zarządzania
bezpieczeństwem
● WAF_Mgmt jako element Change_Mgmt
● Zasoby OWASP jako wzorce do naśladowania
● Open source
“Some people, wether vemdors or customers, believe in "auto
learning mode". My experiance with such systems is that the
(generated) rule set becomes unmanageable after a couple of
time.” - Achim Hoffman - OWASP
45
Dziękuję za uwagę.
Leszek Miś
IT Security Architect
RHCA,RHCSS,Sec+
lm@linuxpolska.pl
Linux Polska Sp. z o.o.

More Related Content

PDF
OWASP Appsensor in action
PDF
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
PDF
Mapowanie wiedzy pentestera na potrzeby ochrony krytycznej infrastruktury IT ...
PDF
Czy naprawdę wiesz co robi twoja przeglądarka?
PDF
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
PDF
Piątek z XSolve - Bezpieczne nagłówki HTTP
PPTX
OWASP Top10 2013
PDF
Testy bezpieczeństwa - niesztampowe przypadki
OWASP Appsensor in action
NGSec 2016 - Ile warstw, tyle szans. - Leszek Miś@Defensive-Security.com
Mapowanie wiedzy pentestera na potrzeby ochrony krytycznej infrastruktury IT ...
Czy naprawdę wiesz co robi twoja przeglądarka?
Exatel Security Days 2017 - Niech dane pozostaną z Tobą! Sieciowe techniki ek...
Piątek z XSolve - Bezpieczne nagłówki HTTP
OWASP Top10 2013
Testy bezpieczeństwa - niesztampowe przypadki

What's hot (15)

PDF
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
PPTX
Jak tworzyć bezpieczne aplikacje?
PDF
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
PDF
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
PPTX
Bezpieczeństwo aplikacji czy musi być aż tak źle
PDF
Devops/Sysops security
PPTX
Application security verification standard
PDF
Krytyczne błędy konfiguracji
PDF
Devops security
PDF
Pentester - fakty i mity
PPTX
10 przykazań bezpiecznego programowania
PDF
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
PPTX
Jak być gotowym na nieprzewidziany atak - Konferencja IT Professional SECURIT...
PDF
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
PPTX
ŁódQA - Michał Szybalski - Security strategy
OWASP Mobile TOP 10 na przykładzie aplikacji bankowych - Semafor 2016 - Mateu...
Jak tworzyć bezpieczne aplikacje?
Narzędzia do zautomatyzowanego testowania bezpieczeństwa aplikacji WWW
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Bezpieczeństwo aplikacji czy musi być aż tak źle
Devops/Sysops security
Application security verification standard
Krytyczne błędy konfiguracji
Devops security
Pentester - fakty i mity
10 przykazań bezpiecznego programowania
Co z bezpieczeństwem aplikacji mobilnych? - studium przypadków (KrakWhiteHat ...
Jak być gotowym na nieprzewidziany atak - Konferencja IT Professional SECURIT...
PLNOG22 - Leszek Miś - Symulacje zdarzeń i anomalii sieciowych jako proaktywn...
ŁódQA - Michał Szybalski - Security strategy
Ad

Viewers also liked (20)

PPTX
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PPTX
PLNOG15: Implementation of integrated DDI/NAC solution for a health insurance...
PPTX
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
PPTX
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
PDF
CONFidence 2015: CaaS (Crime-as-a-Service) – czy każdy może zostać cyberprzes...
PDF
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
PPT
PLNOG15: MPLS and SDN in modern Data Center - Artur Gmaj
PDF
PLNOG15: Is there something less complicated than connecting two LAN networks...
PPT
CONFidence 2015: Abusing apns for profit - Karol Wiesek
PDF
PLNOG15: Operator 2025 – opportunities and risks in the brave new world of IC...
ODP
CONFidence 2014: Kiss, Zagon, Sseller: Scaling security
PDF
4Developers 2015: Agile Software Engineering Practices that Helps Deliver Bus...
PPTX
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
PDF
Atmosphere 2014: Lockless programming - Tomasz Barański
PDF
PLNOG15: Lego Bricks - How to use Amazon Services to create a lovely product ...
ODP
CONFidence 2015: Lessons from DevOps: Taking DevOps practices into your AppSe...
PPTX
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
PDF
JDD2014: Conversation patterns for software professionals - Michał Bartyzel
PDF
JDD2014: Introducing groovy into JAVA project - Yuriy Chulovskyy
PPT
Everything you didn't know about The Brain
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Implementation of integrated DDI/NAC solution for a health insurance...
PLNOG15: Session Border Controller – cost effective virtualized and cloud dep...
PLNOG15: G-IKEv2 - Salah Gherdaoui, Praveena Shanubhogue
CONFidence 2015: CaaS (Crime-as-a-Service) – czy każdy może zostać cyberprzes...
4Developers 2015: Frameworki jee vs cross-site scripting (xss) - Piotr Bucki
PLNOG15: MPLS and SDN in modern Data Center - Artur Gmaj
PLNOG15: Is there something less complicated than connecting two LAN networks...
CONFidence 2015: Abusing apns for profit - Karol Wiesek
PLNOG15: Operator 2025 – opportunities and risks in the brave new world of IC...
CONFidence 2014: Kiss, Zagon, Sseller: Scaling security
4Developers 2015: Agile Software Engineering Practices that Helps Deliver Bus...
PLNOG15: IP services architecture with TDM quality in MPLS/IP networks - Mare...
Atmosphere 2014: Lockless programming - Tomasz Barański
PLNOG15: Lego Bricks - How to use Amazon Services to create a lovely product ...
CONFidence 2015: Lessons from DevOps: Taking DevOps practices into your AppSe...
CONFidence 2014: Jakub Kałużny: Shameful secrets of proprietary protocols
JDD2014: Conversation patterns for software professionals - Michał Bartyzel
JDD2014: Introducing groovy into JAVA project - Yuriy Chulovskyy
Everything you didn't know about The Brain
Ad

Similar to Atmosphere 2014: Scalable and under control - open cloud architecture considering security standards - Leszek Miś (20)

PDF
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
PDF
Testowanie poziomu bezpieczeństwa aplikacji internetowych
PPTX
Shall we play a game? PL version
PDF
PLNOG 18 - Przemysław Jaroszewski - Zagrożenia w (głównie) polskich sieciach ...
PDF
Web Application Firewall -- potrzeba,rozwiązania, kryteria ewaluacji
PDF
HTML5: Atak i obrona
PDF
Leszek Miś "Czy twoj WAF to potrafi"
PPTX
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
PPTX
Dlaczego przejmować się bezpieczeństwem aplikacji (pol)
PPTX
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
PPT
Bezpieczeństwo aplikacji webowych
PDF
Owasp Top10 2010 RC1 PL
PDF
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
PPTX
PLNOG14: Analiza obecnych zagrożeń DDoS według najnowszego raportu bezpieczeń...
PDF
OWASP CISO Survey 2014 - Wstępne wyniki badania w Polsce
PDF
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
PDF
Apache. Zabezpieczenia aplikacji i serwerów WWW
PPTX
Owasp top 10 2010 final PL Beta
PDF
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
PDF
Bezpieczeństwo aplikacji tworzonych w technologii Ajax
Modsecurity-czy-Twoj-WAF-to-potrafi-Leszek-Mis-Linux-Polska
Testowanie poziomu bezpieczeństwa aplikacji internetowych
Shall we play a game? PL version
PLNOG 18 - Przemysław Jaroszewski - Zagrożenia w (głównie) polskich sieciach ...
Web Application Firewall -- potrzeba,rozwiązania, kryteria ewaluacji
HTML5: Atak i obrona
Leszek Miś "Czy twoj WAF to potrafi"
4Developers 2015: 10 przykazań bezpiecznego kodowania - Wojciech Dworakowski
Dlaczego przejmować się bezpieczeństwem aplikacji (pol)
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Bezpieczeństwo aplikacji webowych
Owasp Top10 2010 RC1 PL
Ochrona podatnych webaplikacji za pomocą wirtualnych poprawek
PLNOG14: Analiza obecnych zagrożeń DDoS według najnowszego raportu bezpieczeń...
OWASP CISO Survey 2014 - Wstępne wyniki badania w Polsce
JDD2014/ 4Developers 2015: Błędy uwierzytelniania i zarządzania sesją w JEE -...
Apache. Zabezpieczenia aplikacji i serwerów WWW
Owasp top 10 2010 final PL Beta
Jak kraść miliony, czyli o błędach bezpieczeństwa, które mogą spotkać również...
Bezpieczeństwo aplikacji tworzonych w technologii Ajax

Atmosphere 2014: Scalable and under control - open cloud architecture considering security standards - Leszek Miś

  • 1. 1 Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ lm@linuxpolska.pl Linux Polska Sp. z o.o. Scalable and under control - open cloud architecture considering security standards.
  • 2. 2 #whoami ● Leszek Miś: – IT Security Architect – RHCA/RHCSS/Sec+ – Instruktor/egzaminator Red Hat – Splunk Certified Architect – Lider projektu WALLF Web Gateway ● Skupiam się głównie na: – Linux/Web/Cloud Security – SELinux/WAF/SSO – IdM/Domena ilnuksow – Pentesty
  • 3. 3 O firmie Linux Polska ● Podstawowa działalność spółki: – Wsparcie lokalne dla systemów Open Source – Wdrożenia i migracje – Bezpieczeństwo IT – Szkolenia autoryzowane i autorskie
  • 4. 4 Agenda ● Web (in)security ● OWASP ● Infrastructure as code ● Secure reverse Proxy
  • 5. 5 Web (in)security ● Aplikacje webowe jako cel czyli zagrożenia kryją się wszędzie: – Aplikacja – Protokół – Implementacja HTTP – Język/Framework – Konfiguracja – System operacyjny
  • 6. 6 Web (in)security ● 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, wiele innych...
  • 7. 7 Web (in)security ● Problem z patchowaniem podatności: – Wysoki koszt – Kod źródłowy firmy zewnętrznej – Ograniczony kontrakt/umowa – Brak zasobów – Brak skillsów – SDLC -> TST->ACC->PROD – Niedostępność aplikacji – Inne?
  • 8. 8 Web (in)security ● Cross Site Scripting ● SQL Injection ● LDAP Injection ● XPATH Injection ● XML Injection ● Blind SQLi ● Time based SQLi ● Remote Command Execution ● Local File Inlusion ● Remote File Inclusion ● Session Hijacking ● HTTP Response Spliiting ● Sniffing/Spoofing ● ClickJacking ● MitB ● Open Redirect ● DOS/DDOS ● Cross Site Request Forgery (CSRF) ● Information/Path Dislosure ● Encoding ● Server Side Includes Injection ● Bruteforce ● Buffer overflow ● Misconfiguration ● Forced browsing ● Drive by Download
  • 10. 12 OWASP Open Web Application Security Project Misja: Poprawa stanu bezpieczeństwa aplikacji „Make application security visible so that people and organizations can make informed decisions about true application security risk” • Projekty – dokumentacja, narzędzia • Edukacja • Współpraca (rządy, inne organizacje, twórcy standardów)
  • 11. 13 Wybrane projekty OWASP DETECT PROTECT LIFE-CYCLE Documentation Top10 ASVS Testing Guide Code Review Guide Development Guide Secure Coding Practices – Quick Reference OpenSAMM Tools WebScarab Zed Attack Proxy JBroFuzz ESAPI AppSensor ModSecurity Core Ruleset WebGoat Education Project https://www.owasp.org/index.php/Category:OWASP_Project
  • 12. 14 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
  • 13. 15 OWASP ASVS – Security Verification Standard Testing guide – księga testów Appsensor – WAF wszyty w appkę ESAPI – Enterprise Security API Broken Web Application – poligon
  • 15. 17 Infrastructure as code ● Problem dt. spójności infrastruktury: – Na których systemach zmiana została wprowadzona? – Czy pojawiła się na wszystkich systemach? – Czy została zaaplikowana tylko na tych systemach na których było to niezbędne? – Co z systemami, które w tym czasie były niedostępne? – Co z nowymi systemami, które dodamy do naszej infrastruktury?
  • 16. 18 Infrastructure as code ● Zgodność ze standardami ● Powtarzalność: – skalowalność ● Weryfikacja: – kontrola wersji ● Gwarancja poprawności: – enforcing ● Współdzielenie: – TST->ACC->PROD ● Aktualność konfiguracji: ready for audit
  • 18. 20 Infrastructure as code ● Abstrakcja-> Oczekiwany status: – SSL Cipher list – Error handling/Output filtering – Antibrute force mechanism – Secure flags for cookies – STIG compliance
  • 19. 21 Infrastructure as code <% if @mod_security -%> SecRuleEngine <%= @mod_security %> <% end -%> ● vhost.conf.erb: <%= scope.function_template(['wallf/apache/_secureheaders.er b']) -%>
  • 20. 22 Infrastructure as code ● Antibrute force
  • 22. 24 Infrastructure as code ● SSL: – Sslscan – sslLabs
  • 23. 25 Infrastructure as code ● Error Handling – modsecurity_crs_50_outbound.conf
  • 24. 26 Infrastructure as code ● Header manipulation: – unset X-Powered-By – unset Server – set X-XSS-Protection: "1; mode=block"' – set Header always set X-Frame-Options SAMEORIGIN
  • 25. 27 Infrastructure as code ● Secure cookies: – HttpOnly – Secure – Path=
  • 26. 29 Secure Web Gateway -> Open Source <- OWASP
  • 27. 30 Secure Web Gateway - co jest istotne? ● Hardened Linux distro ● HA ● LB/Clustering ● WAF ● SSL configuration ● Access Control ● Change Mgmt ● Logging Mgmt ● Incident Response Mgmt ● Isolation ● Separation ● Scalability ● Monitoring ● Caching ● Performance tuning ● 2FA ● Auditing
  • 29. 32 WAF ● Fazy filtrowania: ● Każda transakcja przechodzi przez 5 faz filtrowania: – 1: Request headers – 2: Request body – 3: Response headers – 4: Response body – 5: Logging
  • 30. 34 WAF ● Ochrona przed atakami i integracja z DAST (Arachni,ZAP) ● Filtrowanie żądań ● 0-day protection ● Dynamiczne wstrzykiwanie - modyfikacja danych wychodzących w locie ● Wirtualne patchowanie
  • 31. 35 WAF ● Wirtualny patch w uproszczonym przypadku: – Ograniczenie Request_Body_Size – Wykrywanie powtarzających się payloadów – Ograniczenie ilości ARGS – Weryfikacja/filtrowanie wartości ARGS – Analiza i filtrowanie RESPONSE_BODY
  • 32. 36 WAF – tryby pracy ● 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+$”
  • 33. 37 WAF ● 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"
  • 34. 38 WAF ● Modsecurity to tylko silnik: – Apache – Nginx – IIS ● 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
  • 35. 39 WAF – modsecurity 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.
  • 36. 40 WAF ● Reguły OWASP CRS podzielone są na: – base_rules – experimental_rules – optional_rules – slr_rules ● Dostosowanie reguł CRS per aplikacja: – SecRuleRemoveById – SecRuleRemoveByMsg – SecRuleRemoveByTag ● (Konsola)
  • 37. 41 WAF – advanced ● HMAC ● Content Security Policy ● Webhoneypots ● LUA ● JSON/XML ● AV Scanning ● GEO/IP reputation ● BEEF czyli Attack the attacker: – Browser as Pentester's gateway
  • 38. 43 Podsumowanie ● WAF = ubezpieczenie ● Krytyczność reverse proxy ● Podejście devopsowe do zarządzania bezpieczeństwem ● WAF_Mgmt jako element Change_Mgmt ● Zasoby OWASP jako wzorce do naśladowania ● Open source “Some people, wether vemdors or customers, believe in "auto learning mode". My experiance with such systems is that the (generated) rule set becomes unmanageable after a couple of time.” - Achim Hoffman - OWASP
  • 39. 45 Dziękuję za uwagę. Leszek Miś IT Security Architect RHCA,RHCSS,Sec+ lm@linuxpolska.pl Linux Polska Sp. z o.o.