Zabezpečení web aplikací

Podobné dokumenty
HTTP hlavičky pro bezpečnější web

Šifrování Autentizace Bezpečnostní slabiny. Bezpečnost. Lenka Kosková Třísková, NTI TUL. 22. března 2013

Content Security Policy

Testování webových aplikací Seznam.cz

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

Bezpečnost webových aplikací v ASP.NET

Hitparáda webhackingu nestárnoucí hity. Roman Kümmel

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

WWW technologie. HTTP protokol

Instalace a konfigurace

Cross-Site Scripting (XSS)

Úvodem 9. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10. Než začneme 11

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Instalace a konfigurace web serveru. WA1 Martin Klíma

Obsah. Předmluva Kapitola 1 Úvod 1. Web v kostce 1 Kdo je webmaster? 4 Doporučená literatura 4. Kapitola 2 Přehled jazyka HTML 5

BI-AWD. Administrace Webového a Databázového serveru Instalace webového serveru Apache httpd

PHP a bezpečnost. nejen veřejná

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

BI-AWD. Administrace Webového a Databázového serveru Úvod do problematiky HTTP serveru

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Střední odborná škola a Střední odborné učiliště, Hořovice

Nástroje pro FlowSpec a RTBH. Jiří Vraný, Petr Adamec a Josef Verich CESNET. 30. leden 2019 Praha

Hosting a doména. Pavel Urbánek. srovnání providerů a WP požadavky.

UŽIVATELSKÉ ŠKOLENÍ LOTUS NOTES

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Datové schránky ante portas

Koláčky, sezení. Martin Klíma

Závěrečná zpráva projektu 475/2013 Fondu rozvoje CESNET

Bezpečnost vzdáleného přístupu. Jan Kubr

Pojďme šifrovat! aneb ACME, továrna na certifikáty. Ondřej Caletka. 11. října 2015

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Jen správně nasazené HTTPS je bezpečné

Internet Information Services (IIS) 6.0

Protokol HTTP 4IZ228 tvorba webových stránek a aplikací

Microsoft Azure Workshop

BI-VWS. Vybrané partie z administrace Webového Serveru Autetizace, autorizace a kontrola přístupu Apache httpd

Bezpečnost internetového bankovnictví, bankomaty

Bezpečnost B2B přes ISDS Aktuální výzvy a jejich řešení

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Užitečné odkazy:

GDPR A INFORMAČNÍ SYSTÉM. Nadežda Andrejčíková Libor Piškula

A p a c h e h t t p d Lukáš Zapletal lukas.zapletal@liberix.cz

HTTP: Hyper Text Transfer Protocol

Úvod do tvorby internetových aplikací

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Pokročilé Webové služby a Caché security. Š. Havlíček

Analýza síťového provozu. Ing. Dominik Breitenbacher Mgr. Radim Janča

AJAX. Dynamické změny obsahu stránek

Úvod do aplikací internetu a přehled možností při tvorbě webu

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Tvorba webových stránek

Technická specifikace

Novinky v.cz registru a mojeid. Zdeněk Brůna

Shibboleth v systému DSpace

Inovace bakalářského studijního oboru Aplikovaná chemie

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Principy fungování WWW serverů a browserů. Internetové publikování

MODERNÍ WEB SNADNO A RYCHLE

language="javascript">... </script>.

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

Specifikace požadavků. POHODA Web Interface. Verze 1.0. Datum: Autor: Ondřej Šrámek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

BI-AWD. Administrace Webového a Databázového serveru Virtualizace HTTP serveru

Inovace výuky prostřednictvím šablon pro SŠ

Software Requirements Specification

Audit bezpečnosti počítačové sítě. Předmět: Správa počítačových sítí Jiří Kalenský

Obsah. Úvodem 9. Kapitola 1 Než začneme 11. Kapitola 2 Dynamické zobrazování obsahu 25. Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Šifrování (2), FTP. Petr Koloros p.koloros [at] sh.cvut.cz.

INFORMAČNÍ SYSTÉMY NA WEBU

bubileg webový redakční systém Manuál administrace pro systém verze 5

Olga Rudikova 2. ročník APIN

1 Webový server, instalace PHP a MySQL 13

StartSSL: certifikáty zdarma

STUDIJNÍ MATERIÁL PRO TECHNICKOU CERTIFIKACI ESET Business Edition, ESET Remote Administrator

Využití chemie v procesu testování webových aplikací vytvořených pomocí technologií PHP a Java

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

Nové přístupy tvorby web site. Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Rozcestník virtuálních světů

HTTP protokol. Zpracoval : Petr Novotný

Audit bezpečnosti počítačové sítě

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Firewally a iptables. Přednáška číslo 12

Zabezpečení dat pomocí SSL přehled důvěryhodných certifikačních autorit na trhu. Petr Komárek, Jindřich Zechmeister ZONER software, a.s.

Individuální projekt z předmětu webových stránek 2012/ Anketa

Karta předmětu prezenční studium

Ochrana mobilních uživatelů před hrozbami Internetu mimo firemní prostředí. Simac Technik ČR, a.s.

Hypertext Transfer Protocol (HTTP/1.1 RFC 2616) Počítačové sítě Pavel Šinták

Cross- Site Request Forgery

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

Internet 2 css, skriptování, dynamické prvky

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

Zabezpečení webové vrstvy a EJB projektu Část nastavení specifická pro Glassfish, část dána Java EE

Střední odborná škola a Střední odborné učiliště, Hořovice

Instalace a první spuštění Programu Job Abacus Pro

Web Application Security aneb další. rozměr hackingu. XanthiX Soom session IV

Webové Aplikace (6. přednáška)

Desktop systémy Microsoft Windows

Transkript:

Zabezpečení web aplikací Radomír Orkáč, Martin Černáč 2018-04-26, Praha, Seminar Proaktini bezpecnost 1

Rozdělení chyb Každý program je buď triviální, nebo obsahuje alespoň jednu chybu. Oblasti dle výskytu chyb: provoz, konfigurace (služby, aplikace), realizace (volba software), návrh (architektura řešení). 2018-04-26, Praha, Seminar Proaktini bezpecnost 2

Návrhové chyby (architektura řešení) 2018-04-26, Praha, Seminar Proaktini bezpecnost 3

Návrhové chyby LAMP není dogma! Potřebuji PHP 7.2, 7.0 a 5.6 v různých konfiguracích pro různé klienty Taky Perl a Python A jedna aplikace potřebuje Redis A jedna MongoDB A jedna vyžaduje Ruby A jedna Božský server, který umí úplně všechno Aktualizace jedné komponenty rozbije závislé aplikace 2018-04-26, Praha, Seminar Proaktini bezpecnost 4

Microservices Reverzní proxy Kontejner pro každou aplikaci Distribuovaný systém (včetně kladů a záporů) Má své vlastní klady Oddělení služeb a aplikací Kontejner zachová stejné prostředí na více místech Pomůže se škálováním a vysokou dostupností Má své vlastní zápory Náročnější na správu a monitorování 2018-04-26, Praha, Seminar Proaktini bezpecnost 5

Realizační chyby (volba software) 2018-04-26, Praha, Seminar Proaktini bezpecnost 6

Realizační chyby Výběr vhodného nástroje k dosažení cíle Hledání nástroje, ne způsobu, jak nástroj použít Nadměrné užívání black-box komponent Nejasná interní funkce (např. iredmail) Problém standalone aplikací Integrovaný HTTP server Znovuobjevení kola a všech spojených problémů 2018-04-26, Praha, Seminar Proaktini bezpecnost 7

Konfigurační chyby 2018-04-26, Praha, Seminar Proaktini bezpecnost 8

Konfigurační chyby Snadno detekovatelné Nesprávné chování služby/aplikace Dostupné kontrolní nástroje Automatizace pravidelná kontrola Snadno napravitelné Úprava nastavení služby/aplikace 2018-04-26, Praha, Seminar Proaktini bezpecnost 9

Ladění v produkci 2018-04-26, Praha, Seminar Proaktini bezpecnost 10

Upovídaný server 2018-04-26, Praha, Seminar Proaktini bezpecnost 11

Stav serveru (mod_status) 2018-04-26, Praha, Seminar Proaktini bezpecnost 12

Directory Listing 2018-04-26, Praha, Seminar Proaktini bezpecnost 13

na téma HTTP hlaviček 2018-04-26, Praha, Seminar Proaktini bezpecnost 14

na téma HTTP hlaviček 2018-04-26, Praha, Seminar Proaktini bezpecnost 15

na téma HTTP hlaviček HTTP Strict Transport Security (HSTS) Prohlížeč bude po určitou dobu načítat obsah pouze přes HTTPS Strict-Transport-Security: max-age=31536000 Platnost i pro poddomény includesubdomains 2018-04-26, Praha, Seminar Proaktini bezpecnost 16

na téma HTTP hlaviček Content Security Policy (CSP) Politika načítání zdrojů, jde o tzv. whitelisting zdrojů HTTP hlavička - Content-Security-Policy Unsafe-inline u direktiv script-src a style-src povolí inline skripty Content-Security-Policy: script-src 'self' https://apis.google.com; Content-Security-Policy: img-src 'self' https://*.domena.cz; Content-Security-Policy: script-src 'self' 'nonce-jsdh7idsg...' <script nonce="jsdh7idsg...">alert('1');</script> 2018-04-26, Praha, Seminar Proaktini bezpecnost 17

na téma HTTP hlaviček HTTP hlavička X-FRAME-OPTIONS Načítaná stránka (ne)smí být zobrazena ve frame, iframe, object. Obrana proti tzv. clickjackingu. Jsou k dispozici tři možnosti SAMEORIGIN - povolení rámu na vlastním webu DENY - stránka nikdy nesmí být zobrazena v rámu ALLOW-FROM: http://www.domena.cz Apache: Header set X-Frame-Options SAMEORIGIN PHP: header('x-frame-options: SAMEORIGIN'); 2018-04-26, Praha, Seminar Proaktini bezpecnost 18

na téma HTTP hlaviček HTTP hlavička X-FRAME-OPTIONS Redakční systémy (Drupal, Wordpress,...) již automaticky chrání přihlašovací formulář Wordpress: Send X-Frame-Options for admin and login pages. Keywords 3.2-early removed Milestone changed from Future Release to 3.1 Resolution set to fixed Status changed from new to closed Drupal: Core is now protected against click-jacking by default Posted by Fabianx on 3 July 2015 Introduced in branch: 8.0.x 2018-04-26, Praha, Seminar Proaktini bezpecnost 19

na téma HTTP hlaviček Ukázka 2018-04-26, Praha, Seminar Proaktini bezpecnost 20

na téma HTTP hlaviček HTTP hlavička X-XSS-Protection Vynutí použití XSS filtru v prohlížeči, který zabrání spuštění kódu, který přišel přes URL nebo z formuláře. Direktiva mode=block zakáže zobrazení stránky, namísto (ne)spuštění kódu. Hlavička X-XSS-Protection: 1; mode=block 2018-04-26, Praha, Seminar Proaktini bezpecnost 21

na téma HTTP hlaviček HTTP hlavička X-Content-Type-Options Ověření správnost MIME typu zdroje Obrana proti zpracování HTML dokumentů jako skript nebo styl Hlavička X-Content-Type-Options: nosniff Zablokuje style když MIME type není "text/css" Zablokuje script když MIME type není JavaScript 2018-04-26, Praha, Seminar Proaktini bezpecnost 22

na téma HTTP hlaviček HTTP hlavička Set-Cookie HttpOnly - Přístup ke cookies bude možný pouze přes požadavek typu HTTP(S). Obrana proti přístupu ke cookies např. prostřednictvím JavaScriptu. Secure - Cookies se budou posílat pouze přes šifrované spojení. Apache: Header always edit Set-Cookie (.*) "$1;HttpOnly;Secure" 2018-04-26, Praha, Seminar Proaktini bezpecnost 23

TLS/SSL podpora Základ pro bezpečí uživatelů WWW serveru Pouze nabízet je málo Režim opt-in nefunguje Hlavička HTTP Strict Transport Security Pouze podporovat je málo Dbejte na podporované šifry (cipher suite) Méně je někdy více: podpora verzí SSL a TLS On-line nástroj pro kontrolu: ssllabs.com/ssltest 2018-04-26, Praha, Seminar Proaktini bezpecnost 24

TLS/SSL podpora M. Špaček: Jak získat A+ v SSL Labs Server Testu. Když může známku A+ dostat lednička, tak můžete i vy! 2018-04-26, Praha, Seminar Proaktini bezpecnost 25

Kam hlásit chyby? Jak získat kontakt na osobu, které by měla být nahlášena nalezená bezpečnostní chyba? Dostane se informace bezpečnou cestou přímo ke správnému cíli? Několik možností již existuje: RFC2142: abuse@, noc@, security@ WHOIS Web kontakty 2018-04-26, Praha, Seminar Proaktini bezpecnost 26

Kam hlásit chyby? Problém se pokusil vyřešit Ed Foudil návrhem standardu A Method for Web Security Policies. Jde o veřejně přístupný textový soubor security.txt, ze kterého se dozvíte koho a jak kontaktovat v případě nalezení bezpečnostního problému. 2018-04-26, Praha, Seminar Proaktini bezpecnost 27

Kam hlásit chyby? CESNET z.s.p.o. https://csirt.cesnet.cz/.well-known/security.txt Contact: https://csirt.cesnet.cz/en/contact Contact: mailto:certs@cesnet.cz Encryption: https://csirt.cesnet.cz/publickey.asc Encryption: https://pgp.mit.edu/pks/lookup?op=get&search=0xfc3f62d9f458694e Signature: https://csirt.cesnet.cz/.well-known/security.txt.20180426.sig Policy: https://csirt.cesnet.cz/en/vulnerability_report 2018-04-26, Praha, Seminar Proaktini bezpecnost 28

Rekapitulace Rozdělte služby na microservices Dejte si pozor na chyby ve fázi návrhu Omezte upovídanost služeb Prověřte konfiguraci webových serverů Chraňte bezpečí vašich uživatelů Usnadněte nahlášení bezpečnostních chyb Prověřte snadnou dostupnost kontaktních údajů 2018-04-26, Praha, Seminar Proaktini bezpecnost 29

??? https://flab.cesnet.cz flab@cesnet.cz 2018-04-26, Praha, Seminar Proaktini bezpecnost 30