SlideShare a Scribd company logo
ÚVOD DO
BEZPEČNOSTI
NA WEBU
Johan Hornof
▷ Vypisování informací o serveru při chybách
▷ Zpřístupněná administrační konzole
▷ SSL
▷ Autocomplete
▷ Sessions (Session Fixation, SID v URL)
▷ Otevřené porty
▷ Používání SSH hesel vs. klíčů
▷ Firewall (SW vs. HW)
▷ Password Salting
▷ Ochrana formulářů před brute-force útoky
▷ Upload souborů (typy, práva pro přístup k nim)
Konfigurace serveru a aplikací
▷ "SELECT * FROM bla
WHERE a = '" + spatnyKod + "';"
▷ Prepared statements
▷ Escapování (pozor na double escaping)
▷ Omezení práv (např. aplikace většinou
nepotřebuje např. TRUNCATE, GRANT atd.)
SQL Injection
▷ Zobrazení “průhledného” obsahu přes obsah,
na který lze zdánlivě kliknout
▷ Např. skryté FB like nebo i formuláře,
spuštění webkamery/mikrofonu přes flash
▷ Zakázání zobrazení stránky pomocí http X-
FRAME-OPTIONS (alespoň částečné řešení)
▷ Same-Origin Policy
Clickjacking
▷ Klik na link (např. z mailu od útočníka), který
vede na nějakou akci, když je uživatel
přihlášen do administrace jinde
▷ Nepoužívat GET pro změnu záznamů v DB
▷ Autorizační token ve formulářích
Cross-Site Request Forgery (CSFR)
▷ http://example.com?a=<script>alert('Tohle
je XSS útok.');</script>
▷ <?php echo $_GET['a']; ?>
▷ Escapovat
▷ Důkladně ošetřovat jakýkoli vstup od
uživatele, vždy na straně serveru, očekávat z
formulářů jakoukoli hodnotu
▷ (HTTP Response splitting)
Cross-Site Scripting (XSS)
▷ Fyzický přístup
▷ Elevace oprávnění
▷ Pretexting
▷ Phishing
▷ spoustu dalších psychohrátek...
Sociální inženýrství a ostatní
▷ Denial of Service, Distrubuted Denial of Service
▷ ICMP (ping, broadcast)
▷ Padělání headeru paketu, otevření mnoha spojení
▷ hromadné útoky z botnetů
DoS / DDoS
Díky za pozornost!
Otázky?
Johan Hornof
johan.hornof@keyup.eu

More Related Content

More from Keyup

Magento 2
Magento 2Magento 2
Magento 2
Keyup
 
Silex
SilexSilex
Silex
Keyup
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
Keyup
 
Icinga2
Icinga2Icinga2
Icinga2
Keyup
 
O auth2
O auth2O auth2
O auth2
Keyup
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
Keyup
 
CSS 3
CSS 3CSS 3
CSS 3
Keyup
 
Contract in Java
Contract in JavaContract in Java
Contract in Java
Keyup
 
Jenkins
JenkinsJenkins
Jenkins
Keyup
 
JLint
JLintJLint
JLint
Keyup
 
Angular js vs. Facebook react
Angular js vs. Facebook reactAngular js vs. Facebook react
Angular js vs. Facebook react
Keyup
 
Optimalizace rychlosti stránek
Optimalizace rychlosti stránekOptimalizace rychlosti stránek
Optimalizace rychlosti stránek
Keyup
 
Integrační testy - Selenium
Integrační testy - SeleniumIntegrační testy - Selenium
Integrační testy - Selenium
Keyup
 
Keyup presentation about Gulp
Keyup presentation about GulpKeyup presentation about Gulp
Keyup presentation about Gulp
Keyup
 

More from Keyup (14)

Magento 2
Magento 2Magento 2
Magento 2
 
Silex
SilexSilex
Silex
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Icinga2
Icinga2Icinga2
Icinga2
 
O auth2
O auth2O auth2
O auth2
 
CoffeeScript
CoffeeScriptCoffeeScript
CoffeeScript
 
CSS 3
CSS 3CSS 3
CSS 3
 
Contract in Java
Contract in JavaContract in Java
Contract in Java
 
Jenkins
JenkinsJenkins
Jenkins
 
JLint
JLintJLint
JLint
 
Angular js vs. Facebook react
Angular js vs. Facebook reactAngular js vs. Facebook react
Angular js vs. Facebook react
 
Optimalizace rychlosti stránek
Optimalizace rychlosti stránekOptimalizace rychlosti stránek
Optimalizace rychlosti stránek
 
Integrační testy - Selenium
Integrační testy - SeleniumIntegrační testy - Selenium
Integrační testy - Selenium
 
Keyup presentation about Gulp
Keyup presentation about GulpKeyup presentation about Gulp
Keyup presentation about Gulp
 

Úvod do bezpečnosti na webu

  • 2. ▷ Vypisování informací o serveru při chybách ▷ Zpřístupněná administrační konzole ▷ SSL ▷ Autocomplete ▷ Sessions (Session Fixation, SID v URL) ▷ Otevřené porty ▷ Používání SSH hesel vs. klíčů ▷ Firewall (SW vs. HW) ▷ Password Salting ▷ Ochrana formulářů před brute-force útoky ▷ Upload souborů (typy, práva pro přístup k nim) Konfigurace serveru a aplikací
  • 3. ▷ "SELECT * FROM bla WHERE a = '" + spatnyKod + "';" ▷ Prepared statements ▷ Escapování (pozor na double escaping) ▷ Omezení práv (např. aplikace většinou nepotřebuje např. TRUNCATE, GRANT atd.) SQL Injection
  • 4. ▷ Zobrazení “průhledného” obsahu přes obsah, na který lze zdánlivě kliknout ▷ Např. skryté FB like nebo i formuláře, spuštění webkamery/mikrofonu přes flash ▷ Zakázání zobrazení stránky pomocí http X- FRAME-OPTIONS (alespoň částečné řešení) ▷ Same-Origin Policy Clickjacking
  • 5. ▷ Klik na link (např. z mailu od útočníka), který vede na nějakou akci, když je uživatel přihlášen do administrace jinde ▷ Nepoužívat GET pro změnu záznamů v DB ▷ Autorizační token ve formulářích Cross-Site Request Forgery (CSFR)
  • 6. ▷ http://example.com?a=<script>alert('Tohle je XSS útok.');</script> ▷ <?php echo $_GET['a']; ?> ▷ Escapovat ▷ Důkladně ošetřovat jakýkoli vstup od uživatele, vždy na straně serveru, očekávat z formulářů jakoukoli hodnotu ▷ (HTTP Response splitting) Cross-Site Scripting (XSS)
  • 7. ▷ Fyzický přístup ▷ Elevace oprávnění ▷ Pretexting ▷ Phishing ▷ spoustu dalších psychohrátek... Sociální inženýrství a ostatní
  • 8. ▷ Denial of Service, Distrubuted Denial of Service ▷ ICMP (ping, broadcast) ▷ Padělání headeru paketu, otevření mnoha spojení ▷ hromadné útoky z botnetů DoS / DDoS
  • 9. Díky za pozornost! Otázky? Johan Hornof johan.hornof@keyup.eu