SSL/TLS certifikáty

Bežná komunikácia cez internet prebieha nešifrovane, spojenie medzi počítačmi je možné jednoducho odpočúvať.

Pomocou SSL/TLS certifikátov sa komunikácia medzi počítačom užívateľa a serverom, na ktorom bežia webové stránky, šifruje a nemôže tak byť odpočúvaná alebo cestou modifikovaná.

Návštevníci webových stránok vďaka tomu majú istotu, že dáta, ktoré serveru predávajú (mená, heslá, čísla platobných kariet atď.) poskytujú len prevádzkovateľovi stránok a žiadna tretia osoba k nim pri komunikácii nemôže získať prístup.

Zároveň s použitím HTTPS nie je možné, aby napr. free wifi hotspot do webových stránok bez vedomia prevádzkovateľa stránky a bez vedomia návštevníka vkladal vlastný nevyžiadaný obsah napr. reklamu alebo škodlivý kód.

Stránku zabezpečenú pomocou HTTPS v prehliadačoch spoznáte podľa zelenej ikony zámku


Pre viac informácií a konkrétnu ponuku certifikátov SSL od ACTIVE 24 sa pozrite na www.ca.cz.  

 


Let's Encrypt zadarmo


Ku každému Linux hostingu zaisťujeme bezplatne a úplne automaticky certifikát od certifikačnej autority Let's Encrypt. Tieto certifikáty sú v prehliadačoch dôveryhodné a môžu byť využité pre plnohodnotné zabezpečenie webu.

Vystavený certifikát je platný 3 mesiace a je v pravidelných intervaloch automaticky obnovovaný. Odpadá tak starosť s aktualizáciou certifikátu, ktoré sa bežne inštalujú manuálne.

Upozornenie: Certifikáty Let's Encrypt poskytujeme formou best-effort. Robíme maximum pre to, aby bol certifikát pre web od externej autority zaistený a pravidelne obnovovaný, avšak na túto službu nie je poskytovaná žiadna záruka. Preto pre dôležité weby, ktorých prevádzka je na validnom certifikáte závislá, odporúčame používať certifikáty komerčne. napr. certifikáty s EV (extended validation) poskytujú najvyšší stupeň overenia a v adresnom riadku prehliadača je potom uvedený i názov spoločnosti vlastníka domény, čím zvyšuje dôveryhodnosť stránok.


Podmienky pre poskytovanie Let's Encrypt certifikátov u ACTIVE 24:

  • Generujú sa pre hlavný názov webu i aliasy. Neskôr doplnené aliasy sú do certifikátu automaticky pridané v rade niekoľkých hodín.
  • Nevydávajú sa pre hviezdičkové aliasy napr *.active24.sk, namiesto neho generujeme len www variantu www.active24.sk. Ak potrebujete certifikát pre nejakú neuvedenú subdoménu, je potrebné mať nastavený alias s konkrétnym menom.
  • Podmienkou pre získanie certifikátu je správne nastavený DNS záznam smerujúci na správny hosting server u ACTIVE 24.
  • Let's Encrypt nepodporuje tzv. IDN domény (s diakritikou). Pre také domény sa certifikát nevystaví.
  • Domény sa overujú v databázach obsahujúcich informácie o malwari. Ak je zvolená doména na takom zozname nájdená, certifikát nebude vystavený.
  • Do jedného certifikátu nie je možné nastaviť viac ako 100 aliasov.
  • Pri zridení hostingu je najskôr vygenerovaný self-signed certifikát a až následne sa urobí nahradenie za certifikát Let's Encrypt. Môže trvať i niekoľko hodín a musia byť splnené všetky zmienené podmienky pred vystevním certifikátu.
  • Ak dôjde k nahraniu vlastného certifikátu cez Zákaznícke centrum, nebudú už robené žiadne pokusy o jeho nahradenie certifikátom Let's Encrypt. Obnovovanie iného certifikátu je celkom v réžii zákazníka. Ak by ste si želali zaisťovanie certifikátu Let's Encrypt obnoviť, kontaktujte zákaznícku podporu.


CSR (Certificate Signing Request)


Pre vystavenie SSL/TLS certifikátu je potrebný tzv. CSR (Certificate Signing Request). Ide o súbor, ktorý obsahuje informácie o žadateľovi a vychádza z privátneho kľúča servera. CSR vždy generuje správca servera

CSR pre hosting poskytovaný ACTIVE24 s operačným systémom Linux sa dá vygenerovať zo zákazníckeho centra (postup nájdete v článku Inštalácia certifikátu), alebo nás môžete požiadať o vygenerovanie CSR pomocou autorizovanej požiadavky. Spoločne s touto žiadosťou uveďte niežšie popísané údaje.

CSR musí obsahovať minimálne nasledujúce údaje:

Common Name:  Doménový názov, pre ktorý má byť certifikát vystavený, rozlišuje sa i doména bez a s WWW.
              (najčastejšie sú certifikáty objednávané na doménu s www).

Organisation: Názov spoločnosti, pre ktorú má byť certifikát vystavený.

Locality:     Mesto

Country:      Kód krajiny, zadávajte len veľkými písmenami (napr. SK)

State:        Štát
Upozornenie: V uvádzaných údajoch nepoužívajte diakritiku, ide o údaje, ktoré môžu byť spätne dohľadateľné.


Postup pre vygenerovanie CSR na vlastnom serveri môžete nájsť na stránkach Thawte:

Apache 

Microsoft IIS 7 


Overenie certifikátu


Pred samotným vystavením certifikátu požaduje certifikačná autorita overenie vlastníka. Bez tohto overenia nedôjde k vystaveniu bezpečnostného certifikátu!

Spôsob overenia sa odvíja od typu certifikátu. Buď sa overuje len pomocou potvrdzovacieho odkazu alebo môže dôjsť i k telefonickému overeniu

Na adrese ca.cz môžete vybrať certifikát podľa overenia. Všeobecne sa dá povedať, že čím komplexnejšie overenie organizácie prebehne, tým dôveryhodnejší certifikát je.

Napríklad platobné portály môžu vyžadovať využitie certifikátu u ktorého sa overí spoločnosť telefonicky.

 

Domain Validation – Overenie domény (DV)

Overuje sa tak, že si zákazník vyberie e-mail z admin, administrator@, webmaster@, hostmaster@ alebo postmaster@domena.xy.

Iný e-mail sa zvoliť nedá. Certifikačná autorita zašle e-mail na zvolenú adresu a pomocou odkazu v emaili doménu potvrdíte.


Organisation Validation – Overenie spoločnosti (OV)

Certifikačná autorita kontroluje spoločnosť, na ktorú je certifikát objednaný, dohľadáva ju vo verejne dostupných telefónnych zoznamoch, 1188.cz a zlatestranky.cz pre ČR, kde sa dá dohľadať telefónne číslo spoločnosti, na ktorom je objednávka certifikátu overená

Hovory prebiehajú výhradne v angličtine. Spoločnosť uvedie do telefónu kód, ktorý musí potvrdiť v e-maili. Ďalej ešte dochádza k overeniu, či sa spoločnosť, na ktorú je certifikát vydaný, zhoduje s držiteľom domény.


Extended Validation – Rozšírené overenie (EV)

Prebieha rovnako ako overenie spoločnosti, ale je omnoho dôkladnejšie. Preto môže overenie trvať dlhšie.

Informácie sú získavané z viacerých zdrojov a vyžaduje sa zaslanie overených dokumentov.

Certifikačná autorita zákazníka kontaktuje na jeho e-mail, kde ho informuje, čo všetko bude pre overenie potrebné.

Ďalej sa overuje zamestnanecký pomer človeka, ktorý je uvedený ako administratívny kontakt v certifikáte.


Inštalácia certifikátu


Všetky zdieľané virtuálne servery s operačným systémom Linux podporujú funkciu auto-SSL. Vďaka tomu máte u svojho webu aktívny prístup cez zabezpečený HTTPS protokol ihneď po zriadení hostingu.

Na virtuálny server je najskôr vygenerovaný self-signed certifikát a potom sa systém v pravidelných intervaloch pokúša certifikát nahradiť dôveryhodným od Let's Encrypt.

To môže trvať niekoľko hodín a je nutné spĺňať podmienky pre poskytnutie Let's Encrypt (predevšetkým mať doménu v DNS nasmerovanú na tento hosting).

Self-signed i Let's Encrypt certifikát je možné kedykoľvek nahradiť ľúbovoľným vlastným certifikátom, v takom prípade preberá zodpovednosť za pravidelnú a včasnú aktualizáciu certifikátu užívateľ servera.

Certifikáty sú na našich Linuxových serveroch nainštalované metódou SNI, kedy je na jedne j IP adrese nainštalovaných viac certifikátov. Objednávku urobíte Autorizovanou požiadavkou, prípadne pod tlačidlom Zobraziť, kde nájdete voľbu Objednať vyhradenú IP adresu.

V detaili virtuálneho servera v Zákazníckom centre v sekci Služby / Hosting a servery/ Virtuální servery sa u položky SSL/TLS certifikát zobrazuje základná informácia o aktuálne nainštalovanom certifikáte. Uvidíte tu vydavateľa certifikátu, dátum jeho expirácie a ďalšie možnosti správy SSL/TLS.
 

Zobraziť

Zobrazia sa podrobnosti o nainštalovanom certifikáte. V prípade, že ide o self-signed certifikát, je ako vydavateľ uvedená doména, ko ktorej je certifikát vystavený. U ostatných certifikátov je tu uvedená certifikačná autorita, ktorá certifikát vydala.
 

Nahradiť

Tu môžete nahradiť aktuálne nainštalovaný certifikát, objednať nový alebo pre hosting vygenerovať CSR.

  • Objednať si certifikát presmeruje užívateľa na našu ponuku komerčných certifikátov, po vydaní takto objednaného certifikátu urobia inštaláciu naši administrátori. 

  • Vytvoriť CSR pre nový certifikát. Vygeneruje sa CSR kľúč, ktorý je potrebný pre vystavenie SSL/TLS certifikátu u iného poskytovateľa.

  • Priamo nahrať nový certifikát: Ak máte nový certifikát vystavený, môžete ho jednoducho vložiť do formulára a na serveri aktualizovať. Stačí postupovať podľa sprievodcu inštaláciou.

 



Implementácia HTTPS (.htaccess presmerovanie)


HTTPS je na Linux hostingu implementované (rovnako ako HTTP) pomocou reverznej proxy Nginx, ktorá robí tzv. TLS offloading.

Prevádzka medzi Nginx a Apache už sa nešifruje a Apache so o šifrovaní dozvie len prenesene. Z toho plynú nasledujúce obmedzenia pre aplikácie, ktoré sa snažia overovať, či sa na ne pristupuje cez zabezpečené HTTPS.

- detekcia v PHP pomocou premennej $_SERVER['HTTPS'] !='on' je plne funkčná
- premenná $_SERVER['SERVER_PORT'] obsahuje i pri použití HTTPS číslo 80
- detekcia v súbore .htaccess pomocou pravidiel "RewriteCond %{SERVER_PORT} !^443$" a "RewriteCond %{HTTPS} !on" nie je funkčná! Port v týchto prípadoch bude vždy 8x, podľa verzie PHP a premenná HTTPS je vždy Off. Namiesto premennej %{HTTPS} je pre detekciu potrebné používať premennú %{HTTP:X-Forwarded-Proto}.

Presmerovanie na HTTPS so zachovaním spätnej kompatibility preto odporúčame robiť a nasledujúcimi podmienkami:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]
Header set Content-Security-Policy "upgrade-insecure-requests;"

Pridaná hlavička s hodnotou "upgrade-insecure-requests" zaistí riešenie tzv. mixed contentu.

 

Implementácia HTTPS na Windows hostingu (web.config presmerovanie)

Presmerovaní na HTTPS urobíte pomocou súboru web.config nasledujúco:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
  <rewrite>
     <rules>
       <rule name="Redirect to https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
           <match url="*" negate="false" />
           <conditions logicalGrouping="MatchAny">
               <add input="{HTTPS}" pattern="off" />
           </conditions>
           <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
       </rule>
     </rules>
  </rewrite>
    <httpProtocol>
        <customHeaders>
            <add name="Content-Security-Policy" value="upgrade-insecure-requests;" />
        </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

Pridaná hlavička s hodnotou "upgrade-insecure-requests" zaistí riešenie tzv. mixed contentu.

Pre podrobnejšie možnosti konfigurácie odporúčame dokumentáciu web.config súboru.