SlideShare a Scribd company logo
1 of 18
Bezpieczeństwo aplikacji webowych
Założenia, technologie, tips and tricks do codziennego zastosowania
przy zabezpieczaniu aplikacji webowych od strony serwerowej.
Założenia
 W każdym sprzęcie, oprogramowaniu czy
postępowaniu ludzkim istnieje
prawdopodobieństwo wystąpienia zagrożenia
 Planowanie polityki bezpieczeństwa należy
rozpocząć od czynnika ludzkiego, wyżej jest
sprzęt, oprogramowanie serwerowe,
oprogramowanie środowiskowe – ograniczamy
zaufanie
 W zespole powinno się posiadać osobę, która
jest odpowiedzialna za bezpieczeństwo
Cele
 Dbanie o bezpieczeństwo klienta, jak i firmy
(naszej) :-)
 Zapewnienie odpowiedniej jakości usług dla
klienta
 Poprawa stosunków biznesowych z klientem –
bezpieczny klient – spokojny klient
 Poszerzanie wiedzy na temat zabezpieczeń
oraz rozwiązywanie problemów jeszcze w
zarodku poprzez specjalistyczne szkolenia
Identyfikacja
 Identyfikacja środowiska pracy – sprzęt,
oprogramowanie serwerowe, oprogramowanie
środowiskowe, dostarczane rozwiązania firm
trzecich
 Weryfikacja CVE – Common Vulnerabilities And
Exposures – ogólnodostępna baza zagrożeń
dla w/w środowisk
 Aplikowanie aktualizacji bezpieczeństwa
zgodnie z ich przeznaczeniem
 Sprawdzanie w miarę na bieżąco czy dany
produkt nie jest w statusie EOL, czy planowane
Identyfikacja – sprzęt oraz
oprogramowanie serwerowe
 Sprzęt – weryfikacja pod kątem zgłoszonych
problemów bezpieczeństwa – tak… Intel i
zgłoszone luki Meltdown oraz Spectre,
aktualizacje systemowe jak i microcode’u CPU
w BIOS, ostatnie zalecenia odnośnie
wyłączenia SMT na procesorach Xeon jak i
jednostkach konsumenckich np. Core i7
 Oprogramowanie serwerowe bazowe –
włączenie powiadamiania o aktualizacjach
krytycznych, wykonywanie aktualizacji
automatycznie, w przypadku systemów z
Identyfikacja – sprzęt oraz
oprogramowanie serwerowe
 Sprzęt – weryfikacja pod kątem zgłoszonych
problemów bezpieczeństwa – tak… Intel i
zgłoszone luki Meltdown oraz Spectre,
aktualizacje systemowe jak i microcode’u CPU
w BIOS, ostatnie zalecenia odnośnie
wyłączenia SMT na procesorach Xeon jak i
jednostkach konsumenckich np. Core i7
 Oprogramowanie serwerowe bazowe –
włączenie powiadamiania o aktualizacjach
krytycznych, wykonywanie aktualizacji
automatycznie, w przypadku systemów z
Identyfikacja – Oprogramowanie
firm trzecich, tzw gotowce
 Sprawdzanie na bieżąco luk w systemie
bezpieczeństwa oraz ich łatanie
 Ocena pod kątem ewentualnych podatności na
atak – SQL Injection
 Używanie skanerów do sprawdzenia
frontpage’u pod kątem możliwych ataków
Aktualizacje w związku z lukami
bezpieczeństwa
 Firmy posiadające ISO/IEC 27001
Administratorów Bezpieczeństwa Informacji
(ABI) narzucają wręcz konieczność
aktualizowania oprogramowania, które jest
podatne na ataki
 Na chwilę obecną operatorzy usług
hostingowych nie wymuszali restartów maszyn
wobec sprzętowych luk systemowych
 Aktualizacje należy poprzedzać po uprzednim
kontakcie z klientem, jeżeli tylko tyczy się to
aktualizacji krytycznych nie zmieniających nic w
Aktualizacje serwerowych systemów
operacyjnych
 Należy dostarczać jak najnowsze wersje
oprogramowania, trzymając się dystrybucji o jak
najdłuższym wsparciu technicznym bądź
społeczności np. Ubuntu LTS oraz Debian
 Aktualizacje kernela (jądra systemowego)
należy poprzedzać po uprzednim kontakcie z
klientem – wymagany jest restart systemu
operacyjnego
HTTPS/SSL/TLS
 Jeżeli jest to możliwe – używajmy SSL, z racji
tego iż od dłuższego czasu dostępne są
narzędzia do zarządzania certyfikatami SSL
OpenSource Let’s Encrypt SSL
 Unikajmy zawartości nieszyfrowanej w postaci
luźnych odnośników http:// - Mixed Content
Warning
 W związku z wygaszanym wsparciem od 2020r
wskazane jest używanie TLS w wersji >= 1.2 –
producenci przeglądarek rezygnują ze wsparcia
dla TLS <= 1.1.
Zabezpieczenia serwerowe #1
 SSH na innym porcie niż standardowy oraz
wyłączenie logowania poprzez hasła
 Jeżeli istnieje możliwość serwery należałoby
spiąć serwisowym VPN
 W przypadku użycia IPTABLES – wyłączamy
ruch przychodzący na porty usług innych niż
HTTP/HTTPS/FTP/SMTP, jeżeli jest
konieczność dodania wyjątków – dodajemy
 Włączenie TCPFILTER via iptables
 Używanie load balancerów – np. Haproxy – w
Zabezpieczenia serwerów WWW #1
 SSL, jeżeli jest konieczność użycia protokołu
http z konieczności prowadzenia integracji
poprzez wystawione endpointy np. soap via
serwer http, robimy reguły via adres ip z którego
się komunikuje z użyciem wąskiej maski */32
 Redirect z HTTP na HTTPS – zawsze włączony
 W przypadku ograniczeń hostingowych – warto
użyć zewnętrznego DNS z możliwością SSL out
of the box np. Cloudflare – także możliwość
zabezpieczenia przed DoS
 Używanie load balancerów – np. Haproxy –
Zabezpieczenia serwerowe #2
 Zaprzestać lub wyciąć dostęp do aplikacji typu
WHM, phpMyAdmin z zewnątrz, na zasadzie
weryfikacji ssl klucza prywatnego w
przeglądarce klienta
 W przypadku mySQL jak i PGSQL ustawiajmy
nasłuch na localhost bądź w przypadku użycia
serwerów wirtualizacji adres wewnętrznej sieci
serwisowej
Zabezpieczenia serwerów WWW i
aplikacji webowych
 Rezygnacja z apache2 (http2 wprowadzono
zbyt późno bo z 10.2018r) – tutaj wygrywa
nginx.
 W przypadku ataków brute-force warto włączyć
captcha
 Przezorny zawsze ubezpieczony – dbajmy o
backupy baz danych oraz konfiguracji
serwerowych, im dalej od głównego serwera
tym lepiej
 Tworzenie backupów transakcyjnych bazy
danych – mySQL, pgSQL – w przypadku zmian
Q&A
Dziękuję za uwagę

More Related Content

Similar to Bezpieczeństwo aplikacji webowych

Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
SecuRing
 
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PROIDEA
 
Hack Proofing Linux. Edycja polska
Hack Proofing Linux. Edycja polskaHack Proofing Linux. Edycja polska
Hack Proofing Linux. Edycja polska
Wydawnictwo Helion
 
PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...
PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...
PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...
PROIDEA
 
Modul 3
Modul 3Modul 3
Modul 3
Jacek
 
Modul 3
Modul 3Modul 3
Modul 3
Jacek
 
Modul 3
Modul 3Modul 3
Modul 3
Jacek
 

Similar to Bezpieczeństwo aplikacji webowych (20)

Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
Czy twoje zabezpieczenia są skuteczne? Błędy i podatności w rozwiązaniach zab...
 
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
PLNOG 13: Andrzej Karpiński: Mechanizmy ochrony anty-DDoS stosowanych w Tele...
 
Cometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólnaCometari Dedicated Solutions Oferta ogólna
Cometari Dedicated Solutions Oferta ogólna
 
PLNOG14: Network Automation - Sławomir Janukowicz
PLNOG14: Network Automation - Sławomir JanukowiczPLNOG14: Network Automation - Sławomir Janukowicz
PLNOG14: Network Automation - Sławomir Janukowicz
 
Ekran System 5.0 Nowe Funkcje (Release Notes)
Ekran System 5.0 Nowe Funkcje (Release Notes)Ekran System 5.0 Nowe Funkcje (Release Notes)
Ekran System 5.0 Nowe Funkcje (Release Notes)
 
Wskazania dla użytkownika systemu operacyjnego
Wskazania dla użytkownika systemu operacyjnegoWskazania dla użytkownika systemu operacyjnego
Wskazania dla użytkownika systemu operacyjnego
 
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
Urządzenia i usługi bezpieczeństwa IT - pełna ochrona czy... zaproszenie dla ...
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
 
Devops security
Devops securityDevops security
Devops security
 
Pg Net Ci
Pg Net CiPg Net Ci
Pg Net Ci
 
Not Almanach short-cut within Networking (in Polish)
Not Almanach short-cut within Networking (in Polish)Not Almanach short-cut within Networking (in Polish)
Not Almanach short-cut within Networking (in Polish)
 
Dlaczego flopsar
Dlaczego flopsarDlaczego flopsar
Dlaczego flopsar
 
Hack Proofing Linux. Edycja polska
Hack Proofing Linux. Edycja polskaHack Proofing Linux. Edycja polska
Hack Proofing Linux. Edycja polska
 
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
PLNOG15: Security and applications control in Next-Gen Data Center - Seweryn ...
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 
PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...
PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...
PLNOG 17 - Piotr Jabłoński - Jak zwiększyć bezpieczeństwo w Data Center? Demo...
 
Modul 3
Modul 3Modul 3
Modul 3
 
Modul 3
Modul 3Modul 3
Modul 3
 
Modul 3
Modul 3Modul 3
Modul 3
 
Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.Analiza wydajności następnej generacji - przykłady.
Analiza wydajności następnej generacji - przykłady.
 

More from PHPstokPHPstok

More from PHPstokPHPstok (14)

Jak ograniczyć używanie tablic w PHP.pptx
Jak ograniczyć używanie tablic w PHP.pptxJak ograniczyć używanie tablic w PHP.pptx
Jak ograniczyć używanie tablic w PHP.pptx
 
Blaski i cienie pracy Project Managera.pptx
Blaski i cienie pracy Project Managera.pptxBlaski i cienie pracy Project Managera.pptx
Blaski i cienie pracy Project Managera.pptx
 
Refaktoryzacja
RefaktoryzacjaRefaktoryzacja
Refaktoryzacja
 
PHP 8.1
PHP 8.1PHP 8.1
PHP 8.1
 
Zarządzanie złożonością
Zarządzanie złożonościąZarządzanie złożonością
Zarządzanie złożonością
 
Clean Code
Clean CodeClean Code
Clean Code
 
Testy mutacyjne
Testy mutacyjneTesty mutacyjne
Testy mutacyjne
 
Najczęstsze błędy początkujących programistów PHP
Najczęstsze błędy początkujących programistów PHPNajczęstsze błędy początkujących programistów PHP
Najczęstsze błędy początkujących programistów PHP
 
Wzorce projektowe w praktyce
Wzorce projektowe w praktyceWzorce projektowe w praktyce
Wzorce projektowe w praktyce
 
Sztuka samodoskonalenia programisty
Sztuka samodoskonalenia programistySztuka samodoskonalenia programisty
Sztuka samodoskonalenia programisty
 
Testy jednostkowe - PHPUnit
Testy jednostkowe - PHPUnitTesty jednostkowe - PHPUnit
Testy jednostkowe - PHPUnit
 
Docker
DockerDocker
Docker
 
SOLID
SOLIDSOLID
SOLID
 
PSR czyli dobre praktyki programistyczne
PSR czyli dobre praktyki programistycznePSR czyli dobre praktyki programistyczne
PSR czyli dobre praktyki programistyczne
 

Bezpieczeństwo aplikacji webowych

  • 1. Bezpieczeństwo aplikacji webowych Założenia, technologie, tips and tricks do codziennego zastosowania przy zabezpieczaniu aplikacji webowych od strony serwerowej.
  • 2. Założenia  W każdym sprzęcie, oprogramowaniu czy postępowaniu ludzkim istnieje prawdopodobieństwo wystąpienia zagrożenia  Planowanie polityki bezpieczeństwa należy rozpocząć od czynnika ludzkiego, wyżej jest sprzęt, oprogramowanie serwerowe, oprogramowanie środowiskowe – ograniczamy zaufanie  W zespole powinno się posiadać osobę, która jest odpowiedzialna za bezpieczeństwo
  • 3. Cele  Dbanie o bezpieczeństwo klienta, jak i firmy (naszej) :-)  Zapewnienie odpowiedniej jakości usług dla klienta  Poprawa stosunków biznesowych z klientem – bezpieczny klient – spokojny klient  Poszerzanie wiedzy na temat zabezpieczeń oraz rozwiązywanie problemów jeszcze w zarodku poprzez specjalistyczne szkolenia
  • 4. Identyfikacja  Identyfikacja środowiska pracy – sprzęt, oprogramowanie serwerowe, oprogramowanie środowiskowe, dostarczane rozwiązania firm trzecich  Weryfikacja CVE – Common Vulnerabilities And Exposures – ogólnodostępna baza zagrożeń dla w/w środowisk  Aplikowanie aktualizacji bezpieczeństwa zgodnie z ich przeznaczeniem  Sprawdzanie w miarę na bieżąco czy dany produkt nie jest w statusie EOL, czy planowane
  • 5. Identyfikacja – sprzęt oraz oprogramowanie serwerowe  Sprzęt – weryfikacja pod kątem zgłoszonych problemów bezpieczeństwa – tak… Intel i zgłoszone luki Meltdown oraz Spectre, aktualizacje systemowe jak i microcode’u CPU w BIOS, ostatnie zalecenia odnośnie wyłączenia SMT na procesorach Xeon jak i jednostkach konsumenckich np. Core i7  Oprogramowanie serwerowe bazowe – włączenie powiadamiania o aktualizacjach krytycznych, wykonywanie aktualizacji automatycznie, w przypadku systemów z
  • 6. Identyfikacja – sprzęt oraz oprogramowanie serwerowe  Sprzęt – weryfikacja pod kątem zgłoszonych problemów bezpieczeństwa – tak… Intel i zgłoszone luki Meltdown oraz Spectre, aktualizacje systemowe jak i microcode’u CPU w BIOS, ostatnie zalecenia odnośnie wyłączenia SMT na procesorach Xeon jak i jednostkach konsumenckich np. Core i7  Oprogramowanie serwerowe bazowe – włączenie powiadamiania o aktualizacjach krytycznych, wykonywanie aktualizacji automatycznie, w przypadku systemów z
  • 7.
  • 8. Identyfikacja – Oprogramowanie firm trzecich, tzw gotowce  Sprawdzanie na bieżąco luk w systemie bezpieczeństwa oraz ich łatanie  Ocena pod kątem ewentualnych podatności na atak – SQL Injection  Używanie skanerów do sprawdzenia frontpage’u pod kątem możliwych ataków
  • 9.
  • 10. Aktualizacje w związku z lukami bezpieczeństwa  Firmy posiadające ISO/IEC 27001 Administratorów Bezpieczeństwa Informacji (ABI) narzucają wręcz konieczność aktualizowania oprogramowania, które jest podatne na ataki  Na chwilę obecną operatorzy usług hostingowych nie wymuszali restartów maszyn wobec sprzętowych luk systemowych  Aktualizacje należy poprzedzać po uprzednim kontakcie z klientem, jeżeli tylko tyczy się to aktualizacji krytycznych nie zmieniających nic w
  • 11. Aktualizacje serwerowych systemów operacyjnych  Należy dostarczać jak najnowsze wersje oprogramowania, trzymając się dystrybucji o jak najdłuższym wsparciu technicznym bądź społeczności np. Ubuntu LTS oraz Debian  Aktualizacje kernela (jądra systemowego) należy poprzedzać po uprzednim kontakcie z klientem – wymagany jest restart systemu operacyjnego
  • 12. HTTPS/SSL/TLS  Jeżeli jest to możliwe – używajmy SSL, z racji tego iż od dłuższego czasu dostępne są narzędzia do zarządzania certyfikatami SSL OpenSource Let’s Encrypt SSL  Unikajmy zawartości nieszyfrowanej w postaci luźnych odnośników http:// - Mixed Content Warning  W związku z wygaszanym wsparciem od 2020r wskazane jest używanie TLS w wersji >= 1.2 – producenci przeglądarek rezygnują ze wsparcia dla TLS <= 1.1.
  • 13. Zabezpieczenia serwerowe #1  SSH na innym porcie niż standardowy oraz wyłączenie logowania poprzez hasła  Jeżeli istnieje możliwość serwery należałoby spiąć serwisowym VPN  W przypadku użycia IPTABLES – wyłączamy ruch przychodzący na porty usług innych niż HTTP/HTTPS/FTP/SMTP, jeżeli jest konieczność dodania wyjątków – dodajemy  Włączenie TCPFILTER via iptables  Używanie load balancerów – np. Haproxy – w
  • 14. Zabezpieczenia serwerów WWW #1  SSL, jeżeli jest konieczność użycia protokołu http z konieczności prowadzenia integracji poprzez wystawione endpointy np. soap via serwer http, robimy reguły via adres ip z którego się komunikuje z użyciem wąskiej maski */32  Redirect z HTTP na HTTPS – zawsze włączony  W przypadku ograniczeń hostingowych – warto użyć zewnętrznego DNS z możliwością SSL out of the box np. Cloudflare – także możliwość zabezpieczenia przed DoS  Używanie load balancerów – np. Haproxy –
  • 15. Zabezpieczenia serwerowe #2  Zaprzestać lub wyciąć dostęp do aplikacji typu WHM, phpMyAdmin z zewnątrz, na zasadzie weryfikacji ssl klucza prywatnego w przeglądarce klienta  W przypadku mySQL jak i PGSQL ustawiajmy nasłuch na localhost bądź w przypadku użycia serwerów wirtualizacji adres wewnętrznej sieci serwisowej
  • 16. Zabezpieczenia serwerów WWW i aplikacji webowych  Rezygnacja z apache2 (http2 wprowadzono zbyt późno bo z 10.2018r) – tutaj wygrywa nginx.  W przypadku ataków brute-force warto włączyć captcha  Przezorny zawsze ubezpieczony – dbajmy o backupy baz danych oraz konfiguracji serwerowych, im dalej od głównego serwera tym lepiej  Tworzenie backupów transakcyjnych bazy danych – mySQL, pgSQL – w przypadku zmian
  • 17. Q&A