.password xklima:$apr $l sbbajg$ruuy FCr urjfjsvlehsf/ Přídání hesla htpasswd.exe -c c:\www_root\vyuka\autentizace\apache\.

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

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

HTTP protokol. Zpracoval : Petr Novotný

WWW technologie. HTTP protokol

API pro volání služby kurzovního lístku KB

HTTP protokol. HTTP protokol - úvod. Zpracoval : Petr Novotný novotny0@students.zcu.cz

Použití Single Sign On (SSO) v IBM Informix Serveru

Příručka pro potvrzování zůstatku vydavatelům karetních platebních prostředků

PHP a bezpečnost. nejen veřejná

Administrace Unixu a sítí

Autentizace a autorizace

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

Pear - hruška Systém pro implementaci a distribuci znovupoužitelných komponent (v PHP) Strukturovaná knihovna open-source (PHP) skriptů Systém pro dis

Rozdíly oproti webové stránce:

Počítačové sítě II. 18. World Wide Web, HTTP Miroslav Spousta,

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);

HTTP: Hyper Text Transfer Protocol

Autentizace uživatele připojeného přes 802.1X k přepínači Cisco Catalyst 2900/3550 pomocí služby RADIUS

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

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

Počítačové sítě II 17. WWW, HTTP. Miroslav Spousta, 2005

Petr Vlk KPCS CZ. WUG Days října 2016

Autentizace webových aplikací z pohledu NEbezpečnosti. Oldřich Válka Security

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

1. Administrace služby Bezpečný Internet přes webovou aplikaci WebCare GTS

PŘÍRUČKA SÍŤOVÝCH APLIKACÍ

Služba World Wide Web

Rezervační systém Tvorba WWW stránek

Multichannel Entry Point. Technologický pohled na nové přístupy k autentizaci v přímých bankovních kanálech

Algoritmy autentizace v distribuovaných systémech

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

SSL Secure Sockets Layer

Knihovna DebugComLib


Správa přístupu PS3-1

Artlingua Translation API

Programování v jazyku C# II. 8.kapitola

Administrace služby IP komplet premium

Administrace služby IP komplet premium

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

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

Nové jazykové brány do Caché. Daniel Kutáč

SINGLE SIGN-ON V J2EE WEBOVÝCH APLIKACÍCH ZALOŽENÉ NA PROTOKOLU SPNEGO/KERBEROS SINGLE SIGN-ON IN J2EE WEB APPLICATIONS BASED ON SPNEGO/KERBEROS

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky UPS. FTP Klient. A05463 fboranek@atlas.

Administrace služby - GTS Network Storage

Zabezpečení platformy SOA. Michal Opatřil Corinex Group

Šifrování ve Windows. EFS IPSec SSL. - Encrypting File System - Internet Protocol Security - Secure Socket Layer - Private Point to Point Protocol

ONLINE API GLS GLS online webová služba SOAP pro tiskové služby

Možnosti Web-based autentizace na Cisco Catalyst 3560

KAPITOLA 22. Autentizace Windows

Protokol HTTP. Ondřej Dolejš

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

Shibboleth v systému DSpace

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Relační vrstva SMB-Síťový komunikační protokol aplikační vrstvy, který slouží ke sdílenému přístupu k souborům, tiskárnám, sériovým portům.

JSON API pro zjišťování cen MtG karet

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

Tvorba webových stránek. Ing. Radek Burget, Ph.D.

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

Jak efektivně ochránit Informix?

Návod k nastavení účtu v emclient (IceWarp Desktop) pro práci s IceWarp Mail serverem.

Tvorba informačních systémů

Technická specifikace

Návrh a implementace bezpečnosti v podnikových aplikacích. Pavel Horal

Skriptovací jazyky. Obsah

Pantek Productivity Pack. Verify User Control. Uživatelský manuál

Bezpečnost sítí

C6 Bezpečnost dat v Internetu. 2. HTTP komunikace 3. HTTPS komunikace 4. Statistiky

EMBARCADERO DATASNAP. OBSAH Úvod... 2 DataSnap a DBExpress... 2 Serverová část... 2 VCL Klient... 6 Nasazení... 7

PoskytovanéslužbyvsítiTUO-Net. PetrOlivka

Extrémně silné zabezpečení mobilního přístupu do sítě.

SAML a XACML jako nová cesta pro Identity management. SAML and XACML as a New Way of Identity Management

Michal Krátký, Miroslav Beneš

a autentizovaná proxy

Obsah. Kdo jsme? Co vám přinášíme s naší bránou? Jak si otevřu bránu na klikniavolej.cz?... 3

Uživatelská dokumentace

Maturitní projekt do IVT Pavel Doleček

API pro službu mobilem.cz, verze XML 5.04

KIV/PIA 2013 Jan Tichava

v. 2425a Jak si na PC vypěstovat HTTP (WWW, Web) server a jak ho používat (snadno a rychle) by: Ing. Jan Steringa

Návod pro Windows 7.

Bezpečná autentizace přístupu do firemní sítě

Fingerprint Verification Control

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

Podpora šifrovaného spojení HTTPS

Práce s ovými schránkami v síti Selfnet

NAS 323 NAS jako VPN Server

P-334U. Bezdrátový Wi-Fi router kompatibilní s normou a/g. Příručka k rychlé instalaci

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

Let s Encrypt nahoďte šifrování na webu

Já, anonym. Pavel Kácha

Řešení pro audit činnosti administrátorů UNIX/Linux serverů

Využití OOP v praxi -- Knihovna PHP -- Interval.cz

Zásuvné Autentifikační Moduly

Překlad jmen, instalace AD. Šimon Suchomel

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

Webové služby. Martin Sochor

Server-side technologie pro webové aplikace

Transkript:

Autentikace

mod_auth.htaccess AuthType Basic AuthName "Restricted Files" # (Following line optional) AuthBasicProvider file AuthUserFile c:\www_root\vyuka\autentizace\basic\.password require valid-user.password xklima:$apr $l sbbajg$ruuy FCr urjfjsvlehsf/ vomacka:$apr $ Fie hsh$ YCOrY.CJndtLWNGwQOyG. Přídání hesla htpasswd.exe -c c:\www_root\vyuka\autentizace\apache\.password xklima

<?php if ( isset($_server['php_auth_user']) && isset($_server['php_auth_pw']) && $_SERVER['PHP_AUTH_USER'] == 'uzivatel' && $_SERVER['PHP_AUTH_PW'] == ' ') { /* vse v poradku */ echo 'Prihlaseni probehlo uspesne.'; } else { /* chyba prihlaseni */ header('http/. Unauthorized'); header('www-authenticate: Basic realm="login"'); echo 'Chyba prihlaseni - zadejte platne uzivatelske jmeno a heslo!'; exit; }?>

Problémy Donutit klienta odhlásit se Zabezpečení hesla

Authorization: Digest Řeší problém posílání otevřených hesel Není podporováno všemi klienty Podmínky: mod_digest Princip: založeno na hash MD5

Digest.htaccess AuthUserFile c:\www_root\vyuka\autentizace\digest\hesla AuthType Digest AuthName "Chranena stranka" AuthDigestDomain /digest AuthDigestNonceLifetime require valid-user Zřízení souboru se jménem a heslem htdigest -c c:\www_root\vyuka\autentizace\digest\hesla "Chranena stranka" xklima Adding password for xklima in realm Chranena stranka. New password: ****** Re-type new password: ****** Soubor hesla xklima:chranena stranka: fa ff b a f a bb a e f

Posílání citlivé informace přes síť Další varianty

GET /~xklima/authentication/digest HTTP/1.1 Host: webdev.felk.cvut.cz User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; cs; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: cs,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive GET /~xklima/authentication/digest/ HTTP/1.1 Host: webdev.felk.cvut.cz User-Agent: xxxxx Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: cs,en-us;q=0.7,en;q=0.3 Accept-Encoding: gzip,deflate Accept-Charset: windows-1250,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Authorization: Digest username="xklima", realm="chranena stranka", nonce="aasvvmijqcu=93f053f1b8ba48b588e20fa900c7f744593f7f63", uri="/~xklima/authentication/digest/", algorithm=md5, response="8d7e8c6cdc5b13a2fd8ab54b69f3a3d3", qop=auth, nc=00000002, cnonce="4ea1b72006c203cb Cache-Control: max-age=0 HTTP/1.1 401 Authorization Required Date: Thu, 18 Nov 2010 16:27:26 GMT Server: Apache WWW-Authenticate: Digest realm="chranena stranka", nonce="aasvvkpwbis=2db5658674ffdc0fe6385a637e1d808468ab1ed5", algorithm=md5, domain="/digest", qop="auth Vary: accept-language,accept-charset Accept-Ranges: bytes Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: text/html; charset=iso-8859-2 Content-Language: cs HTTP/1.1 200 OK Date: Thu, 18 Nov 2010 16:35:58 GMT Server: Apache Authentication-Info: rspauth="14b6dc1a21042babbdbaf3113b6bd cnonce="4ea1b72006c203cb", nc=00000002, qop=auth X-Powered-By: PHP/5.2.9 Content-Length: 60 Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Content-Type: text/html Ahoj, podarilo se pristoupit na stranku s digest autorizaci.

Digest v PHP $realm = 'Restricted area'; //user => password $users = array('xklima' => 'martin', 'guest' => 'guest'); if (empty($_server['php_auth_digest'])) { header('http/1.1 401 Unauthorized'); header('www-authenticate: Digest realm="'.$realm. '",qop="auth",nonce="'.uniqid().'",opaque="'.md5($realm).'"'); } die('text to send if user hits Cancel button'); // analyze the PHP_AUTH_DIGEST variable if (!($data = http_digest_parse($_server['php_auth_digest']))!isset($users[$data['username']])) die('wrong Credentials!'); // generate the valid response $A1 = md5($data['username']. ':'. $realm. ':'. $users[$data['username']]); $A2 = md5($_server['request_method'].':'.$data['uri']); $valid_response = md5($a1.':'.$data['nonce'].':'.$data['nc'].':'.$data['cnonce'].':'.$data['qop'].':'.$a2); if ($data['response']!= $valid_response) die('wrong Credentials!'); // ok, valid username & password echo 'Your are logged in as: '. $data['username'];?>

Digest v PHP // function to parse the http auth header function http_digest_parse($txt) { // protect against missing data $needed_parts = array('nonce'=>1, 'nc'=>1, 'cnonce'=>1, 'qop'=>1, 'username'=>1, 'uri'=>1, 'response'=>1); $data = array(); $keys = implode(' ', array_keys($needed_parts)); preg_match_all('@('. $keys. ')=(?:([\'"])([^\2]+?)\2 ([^\s,]+))@', $txt, $matches, PREG_SET_ORDER); foreach ($matches as $m) { $data[$m[1]] = $m[3]? $m[3] : $m[4]; unset($needed_parts[$m[1]]); } } return $needed_parts? false : $data;

Autentizace pomocí cookies, resp. session Řešíme to na úrovni PHP skriptu Je nastaveno cookie php_session_id? Ne Logovací dialog Ano Zjisti info o uzivateli ze session. Ano Je tento uzivatel stále platný? Ne Vytvoř hash z hesla a porovnej ho se záznamem v DB. Je to platný uživatel? Ne Ano Zobraz chráněnou stránku Ne Ano

Ověření pomocí Kerberos protokolu Protokol umožňující SSO (single sign on) Bezpečný, rychlý Omezená skupina klientů

Kerberos jak to funguje Počáteční autorizace u serveru Klient zadá jméno a heslo spočítá hash hesla (secret key) odešle žádost KDC (kdo jsem, co chci) neposílá heslo ani secret key Klient umím rozšifrovat session key? pokud ano, jsem ověřen u KDC uložím si TGT pro přístup k jiným službám KDC Autorizační server AS ověřuje get pass z AD vypočítá secretkey cl. vygeneruj sessionkey vrací Ticket Granting Ticket session key je šifrován secret key klienta TGT šifrován Active Directory

Kerberos získání Service Ticket šifrováno pomocí session_key Klient žádá o service ticket posílá TGT a ID služby posílá authenticator jméno a timestapm Rozšifruj TGT z něj dostane session_key pomocí session key rozšifruje authenticator vrací service ticket, který má klientskou část session key pro komunikaci se službou serverovou část id klienta, adresa, doba platnosti a session key Active Directory šifrováno pomocí session_key šifrováno pomocí secret key služby

Ověření u služby Klient posílá service ticket a authenticator šifrováno pomocí secret key serveru šifrováno pomocí session_key Klient rozšifruje potvrzení a pokud je časová známka OK, super Service pomocí svého klíče rozšifruje service ticket z něho získá session key pomocí session key rozšifruje authenticator Pokud se rozšifrování povedlo, super odešle se potvrzení s časovou známkou + 1 Active Directory šifrováno pomocí session_key

Pear = Hruška

Pear - hruška Systém pro implementaci a distribuci znovupoužitelných komponent (v PHP) Strukturovaná knihovna open-source (PHP) skriptů Systém pro distribuci skriptů a jejich správu Definuje standard, jak psát PHP kód Další podpůrné prostředky Web stránky Mailing listy Bug report......

Co to umí Spousta dobře napsaných kódů Objektově orientované Dokumentované Umí se to samo nainstalovat Kde to je http:// ://pear.php.net

Autorizace Chceme se nestarat o pozadí autorizace ABSTRAKCE Aplikační logika Autorizační abstraktní vrstva DB Soubor SMB Imap LDAP Pop3 Radius Soap...