Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
vyuka:cviceni:y36sps:zadani-certifikacni-autorita-2 [2010/03/03 16:05] – vytvořeno misko | vyuka:cviceni:y36sps:zadani-certifikacni-autorita-2 [2018/03/15 10:22] (current) – kubr | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Laboratorní cvičení: Použití CA ====== | ====== Laboratorní cvičení: Použití CA ====== | ||
- | - Nainstalujte webový server Apache2 | + | |
- | - Vygenerujte SSL certifikát pro adresu localhost, podepište vlastní autoritou | + | - Vygenerujte SSL certifikát pro adresu localhost, podepište vlastní autoritou |
- | - Použijte tento SSL certifikát pro službu https | + | * To znamená, že CN (Common Name) bude hostname - pak schválně ověřte rozdíl ve hlášce prohlížeče při prohlížení https:// |
- | - Ověřte si přes https:// | + | |
- | - Vysvětlete postup, kterým bez importu certifikátu CA do prohlížeče můžete certifikátu důvěřovat | + | - Ověřte si přes https:// |
- | - Naimportujte do webového prohlížeče certifikát vaší CA | + | - Vysvětlete postup, kterým bez importu certifikátu CA do prohlížeče můžete certifikátu důvěřovat |
- | - Ověřte, že se stránkou již "není problém" | + | - Naimportujte do webového prohlížeče certifikát vaší CA |
- | - Připojte se ke službě https na Vašem serveru pomocí openssl a ověřte, že po akceptování certifikátu je možné komunikovat se server | + | - Ověřte, že se stránkou již "není problém" |
+ | - Připojte se ke službě https na Vašem serveru pomocí openssl a ověřte, že po akceptování certifikátu je možné komunikovat se serverem | ||
+ | |||
+ | ===== Bodování ===== | ||
+ | |||
+ | Zatím nevím, něco vymyslíme. | ||
+ | |||
+ | ===== Nápověda pro cvičení ===== | ||
+ | |||
+ | Budete muset nainstalovat webový server, nemusí to být nutně Apache, ale cvičící Vám nemusí nutně umět poradit s jinými servery. Server se nainstaluje příkazem | ||
+ | <code bash> | ||
+ | aptitude install apache2 | ||
+ | </ | ||
+ | |||
+ | Případně použijte svého oblíbeného správce balíčků. | ||
+ | |||
+ | Pokud Apache neznáte, tak vězte, že standardně se nainstaluje funkční apache, který poslouchá na adrese 0.0.0.0:80 a nefunguje mu SSL. Webové stránky se ukládají do adresáře ''/ | ||
+ | |||
+ | Konfiguraci naleznete v adresáři ''/ | ||
+ | |||
+ | Po každé editaci konfigurace zavolejte '' | ||
+ | |||
+ | Apache se zastavuje, spouští, restartuje pomocí initskriptu: | ||
+ | |||
+ | <code bash> | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Použití je intuitivní, | ||
+ | |||
+ | Budete potřebovat zprovoznit modul pro SSL: | ||
+ | |||
+ | <code bash> | ||
+ | a2enmod | ||
+ | </ | ||
+ | |||
+ | Použití je opět triviální. | ||
+ | |||
+ | Povolením modulu nezačíná Apache poslouchat na portu 443, to mu musíte v konfiguraci povolit direktivou [[http:// | ||
+ | To co máte na cvičení řešit je správné zapsání direktiv kolem SSL: http:// | ||
+ | |||
+ | ===== Prohlížeč ===== | ||
+ | |||
+ | Vaší volbou bude téměř určitě Firefox, který máte v Ubuntu předinstalovaný. Webové stránky naleznete po instalaci na adrese http:// | ||
+ | |||
+ | Pečlivě čtěte hlášky prohlížeče kolem webových certifikátů a uvažujte, co po Vás chce a na co klikáte. Na nejasnosti se ptejte. Vaší úlohou je odnést si kus nových znalostí, ne splnit přání učitele. | ||
+ | |||
+ | ===== Komunikace bez prohlížeče ===== | ||
+ | |||
+ | Pokud nevíte jak přesně funguje protokol HTTP, je správný čas to zjistit. Protokol je textový a běžně z webového serveru dostanete odpověď takto: | ||
+ | |||
+ | < | ||
+ | ~$ telnet www.vlada.cz 80 | ||
+ | Trying 212.47.23.116... | ||
+ | Connected to www.vlada.cz. | ||
+ | Escape character is ' | ||
+ | GET / HTTP/1.0 | ||
+ | # toto je prázdný řádek - u HTTP se dotaz ukončuje \n\n, dvakrát newline (na klávesnici Enter) | ||
+ | HTTP/1.1 200 OK | ||
+ | Date: Wed, 10 Mar 2010 08:09:58 GMT | ||
+ | Server: Apache | ||
+ | Last-Modified: | ||
+ | ETag: " | ||
+ | Accept-Ranges: | ||
+ | Content-Length: | ||
+ | Connection: close | ||
+ | Content-Type: | ||
+ | |||
+ | < | ||
+ | " | ||
+ | <html xmlns=" | ||
+ | < | ||
+ | |||
+ | Bla bla .. tady jsem to usekal pro nezajímavé čtení ... | ||
+ | |||
+ | </ | ||
+ | </ | ||
+ | Connection closed by foreign host. | ||
+ | </ | ||
+ | |||
+ | Takto to fungovalo kdysi - protokol HTTP/1.0, který virtuální servery rozlišoval IP adresou, tzn. pokud jeden server chtěl provozovat www.fel.cz i www.cvut.cz, | ||
+ | |||
+ | < | ||
+ | GET /premier/ HTTP/1.1 | ||
+ | HOST: www.vlada.cz | ||
+ | |||
+ | </ | ||
+ | |||
+ | Tímto způsobem může na jediné IP adrese běžet i www.parlament.cz, | ||
+ | |||
+ | <code bash> | ||
+ | telnet www.vlada.cz 80 | ||
+ | </ | ||
+ | |||
+ | Tak server poslouchá POUZE na IP adrese 212.47.23.116 a vůbec neví, že si Váš klient před připojením přeložil hostname www.vlada.cz na adresu 212.47.23.116, | ||
+ | |||
+ | **Good luck.** | ||