Velikost: 2770
Komentář:
|
Velikost: 6064
Komentář:
|
Smazané věci jsou označeny takto. | Nové věci jsou označeny takto. |
Řádek 10: | Řádek 10: |
== Možnosti == |
|
Řádek 28: | Řádek 30: |
Oblíbenými certifikačními autoritami jsou např. [[http://www.thawte.com|Thawte]], [[http://www.verisign.com|VeriSign]], nebo [[http://www.rapidssl.com|RapidSSL]]. Služby těchto společností lze také využít zprostředkovaně skrze většinu větších poskytovatelů webhostingu. |
|
Řádek 30: | Řádek 34: |
Prvním krokem je nastavení a zprovoznění proxy, která zajistí předávání požadavků ze serveru Apache na server X-Code. Příslušný postup je poměrně jednoduchý a je popsaný v samostatném návodu [[../X-Code pod Apache proxy|X-Code pod Apache proxy]]. | Prvním krokem je nastavení a zprovoznění proxy, která zajistí předávání požadavků ze serveru Apache na server X-Code. Příslušný postup je poměrně jednoduchý a je popsaný v samostatném návodu [[../X-Code pod proxy Apache|X-Code pod proxy Apache]]. |
Řádek 43: | Řádek 47: |
== HTTPS pomocí vestavěné podpory serveru X-Code == '''Vestavěná podpora HTTPS je k dispozici pouze na systémech Linux'''. Zprovoznění na Windows je v principu možné, vyžaduje ale mimořádný postup. Pokud potřebujete zprovoznit vestavěnou podporu HTTPS na systému Windows, kontaktujte prosím [[mailto:podpora@x-code.cz|podporu X-Code]]. === 1. Vytvoření šifrovacích klíčů === Použijeme nástroj '''{{{keytool}}}''', který je součástí Sun Java 6. Sun Java 6 máte na vašem serveru již jistě nainstalovanou, protože jde o nezbytný předpoklad pro běh X-Code. Následujícím zápisem vytvoříte soubor "keystore" obsahující privátní šifrovací klíč a (zatím nepodepsaný) certifikát veřejného klíče: {{{ keytool -keystore keystore -alias jetty -genkey -keyalg RSA }}} Při otázce "What is your first and last name?" zadejte plně kvalifikované doménové jméno vašeho serveru (např. {{{xcode.nasefirma.cz}}}). Při otázce "Enter keystore password" zadejte vámi zvolené heslo a stejné heslo použijte i pro heslo k samotnému klíči. === 2. Podpis certifikátu od důvěryhodné autority === {{{#!wiki tip Postup funguje i když tento bod přeskočíte. Nicméně dokud tento krok neprovede, všechny prohlížeče budou upozorňovat uživatele na bezpečnostní riziko a budou se jim vstup na stránky velmi otravným způsobem rozmluvit. }}} Konkrétní postup předepíše konkrétní certifikační autorita (Thawte, Verisign, zprostředkovatel, ...), nicméně pravděpodobně se technicky bude opírat o standardizovaný soubor "požadavek na podpis certifikátu". Tento soubor vytvoříte následujícím příkazem: {{{ keytool -certreq -alias jetty -keystore keystore -file mycert.csr }}} Vytvořený soubor mycert.csr se předloží autoritě k podpisu. Autorita vrátí zpět podepsaný soubor mycert.crt. Tento soubor je následně potřeba importovat do keystoru tímto příkazem: {{{ keytool -keystore keystore -import -alias jetty -file mycert.crt }}} === 3. Úprava startovacích parametrů X-Code === V souboru {{{xcode-setup.sh}}} přidejte do proměnné JAVA_APP_ARGS následující parametry: {{{ -keystore <keystorepath> -keypassword <keypasswd> }}} Kde: * <keystorepath> je plná cesta na soubor keystore * <keypasswd> je heslo ke klíči, které jste zvolili v kroku 1. Následně restartujte server X-Code. Pokud vše proběhlo správně, po novém nastartování bude X-Code server poskytovat obsah protokolem HTTPS. Má-li k vašemu Linuxovém systému přístup někdo, kdo by mohl klíč zcizit, je lepší heslo ke klíči nepředávat parametrem -keypasswd, ale uložit ho do systémové proměnné XCODE_KEY_PASSWORD. Na většině Linuxů totiž mohou všichni uživatelé vidět seznam všech běžících procesů, včetně spouštěcích parametrů - což v našem případě zahrnuje i heslo ke klíči. |
HTTPS přístup k X-Code
Pokud používáte aplikační hosting X-Code.CZ, nemusíte se o nastavení HTTPS přístupu starat. Vše je již připraveno. Dle vaší preference můžete používat adresy HTTP i HTTPS.
Tento návod je určený pro experty, zejména IT správce.
Možnosti
Pro zajištění HTTPS přístupu k X-Code existují dvě alternativní metody:
- Předsazení serveru Apache a využití jeho podpory SSL
- Využití vestavěné podpory SSL serveru X-Code.
Pokud máte možnost, doporučujeme spíš použití metody s Apachem, která je flexibilnější.
Certifikační autorita
Pro správné fungování HTTPS budete potřebovat, aby váš certifikát s veřejným šifrovacím klíčem podepsala obecně uznávaná certifikační autorita.
Bez podepsaného certifikátu prohlížeče místo obsahu X-Code zobrazí uživatelům varování a pustí je dál jen po opakovaném potvrzení, že uživatelé souhlasí s bezpečnostním rizikem. Poslední generace prohlížečů jsou v této otázce velmi důsledné. V žádném případě ale nejde jen o zbytečnou zlovůli jejich výrobců. HTTPS bez certifikátu podepsaného uznávanou certifikační autoritou je totiž bezpečnostně silně zranitelné a defacto nepřináší očekávaný efekt zabezpečení.
Způsob vytvoření šifrovacích klíčů a podpis certifikační autoritou je v principu stejný při použití Apache nebo vestavěné podpory X-Code. Nicméně v obou případech se pro jednotlivé kroky používají odlišné nástroje, které zaručí, že výsledné klíče a certifikáty budou připravené ve správné podobě a formátu, které Apache a X-Code očekávají.
Oblíbenými certifikačními autoritami jsou např. Thawte, VeriSign, nebo RapidSSL. Služby těchto společností lze také využít zprostředkovaně skrze většinu větších poskytovatelů webhostingu.
HTTPS pomocí Apache
Prvním krokem je nastavení a zprovoznění proxy, která zajistí předávání požadavků ze serveru Apache na server X-Code. Příslušný postup je poměrně jednoduchý a je popsaný v samostatném návodu X-Code pod proxy Apache.
Jakmile je proxy zprovozněná, stačí vám standardním postupem zprovoznit HTTPS na serveru Apache. Postup je popsán v mnoha knihách a online dokumentacích, například zde: http://httpd.apache.org/docs/2.0/ssl/ssl_faq.html.
Pro provoz HTTPS je nutné mít nainstalovaný a aktivovaný modul mod_ssl.
Jakmile podle návodu vygenerujete šifrovací klíče a zajistíte podpis certifikační autoritou, jádrem konfigurace SSL budou následující direktivy Apache:
SSLEngine on SSLCertificateFile /etc/ssl/certs/myserver.pem SSLCertificateKeyFile /etc/ssl/private/myserver.key
HTTPS pomocí vestavěné podpory serveru X-Code
Vestavěná podpora HTTPS je k dispozici pouze na systémech Linux.
Zprovoznění na Windows je v principu možné, vyžaduje ale mimořádný postup. Pokud potřebujete zprovoznit vestavěnou podporu HTTPS na systému Windows, kontaktujte prosím podporu X-Code.
1. Vytvoření šifrovacích klíčů
Použijeme nástroj keytool, který je součástí Sun Java 6. Sun Java 6 máte na vašem serveru již jistě nainstalovanou, protože jde o nezbytný předpoklad pro běh X-Code.
Následujícím zápisem vytvoříte soubor "keystore" obsahující privátní šifrovací klíč a (zatím nepodepsaný) certifikát veřejného klíče:
keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Při otázce "What is your first and last name?" zadejte plně kvalifikované doménové jméno vašeho serveru (např. xcode.nasefirma.cz).
Při otázce "Enter keystore password" zadejte vámi zvolené heslo a stejné heslo použijte i pro heslo k samotnému klíči.
2. Podpis certifikátu od důvěryhodné autority
Postup funguje i když tento bod přeskočíte. Nicméně dokud tento krok neprovede, všechny prohlížeče budou upozorňovat uživatele na bezpečnostní riziko a budou se jim vstup na stránky velmi otravným způsobem rozmluvit.
Konkrétní postup předepíše konkrétní certifikační autorita (Thawte, Verisign, zprostředkovatel, ...), nicméně pravděpodobně se technicky bude opírat o standardizovaný soubor "požadavek na podpis certifikátu".
Tento soubor vytvoříte následujícím příkazem:
keytool -certreq -alias jetty -keystore keystore -file mycert.csr
Vytvořený soubor mycert.csr se předloží autoritě k podpisu. Autorita vrátí zpět podepsaný soubor mycert.crt. Tento soubor je následně potřeba importovat do keystoru tímto příkazem:
keytool -keystore keystore -import -alias jetty -file mycert.crt
3. Úprava startovacích parametrů X-Code
V souboru xcode-setup.sh přidejte do proměnné JAVA_APP_ARGS následující parametry:
-keystore <keystorepath> -keypassword <keypasswd>
Kde:
<keystorepath> je plná cesta na soubor keystore
<keypasswd> je heslo ke klíči, které jste zvolili v kroku 1.
Následně restartujte server X-Code. Pokud vše proběhlo správně, po novém nastartování bude X-Code server poskytovat obsah protokolem HTTPS.
Má-li k vašemu Linuxovém systému přístup někdo, kdo by mohl klíč zcizit, je lepší heslo ke klíči nepředávat parametrem -keypasswd, ale uložit ho do systémové proměnné XCODE_KEY_PASSWORD. Na většině Linuxů totiž mohou všichni uživatelé vidět seznam všech běžících procesů, včetně spouštěcích parametrů - což v našem případě zahrnuje i heslo ke klíči.