WWW server se SSL: Porovnání verzí

Z Milan Kerslager
Přejít na: navigace, hledání
m (Stránka Konfigurace SSL přemístěna na stránku WWW server se SSL: Lepší název)
(Sloučení dvou podobných textů)
Řádka 10: Řádka 10:
 
== Instalace ==
 
== Instalace ==
  
Podporu pro zabezpečený přenos poskytuje modul mod_ssl, který se nachází ve stejnojmenném balíčku:
+
Podporu zabezpečeného přenosu nainstalujete pomocí balíčku '''mod_ssl'''. Zajistěte, aby WWW server načetl znovu svoji konfiguraci (restart nebo reload):
  
 
  yum install mod_ssl
 
  yum install mod_ssl
 +
/etc/init.d/httpd restart
  
Součástí balíčku jsou univerzální certifikáty, s jejihž  pomocí můžete okamžitě HTTPS používat. Klent však nebude moci ověřit, zda doopravdy komunikujete se správným serverem. K tomu si musíte vygenerovat certifikáty vlastní.
+
== Self-signed certifikáty ==
 +
 
 +
Součástí modulu '''mod_ssl''' jsou univerzální certifikáty. S jejich pomocí můžete okamžitě HTTPS používat, ale nebude možné ověřit, zda doopravdy komunikujete se správným serverem. K tomu si musíte vygenerovat certifikáty vlastní nebo si certifikát nechat vytvořit u certifikační autority. Uživatel bude muset v případě ověřování self-signed certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu).
  
 
== Vytvoření certifikátu s vlastním podpisem ==
 
== Vytvoření certifikátu s vlastním podpisem ==
  
Veřejný klíč serveru musí být podepsaný. Digitální podpis můžete získat od nějaké certifikační autority nebo si můžete vytvořit podpis sami. Uživatel pak však bude muset při ověření certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu).
+
Certifikát je digtálně podepsaný veřejný klíč. Digitální podpis můžete získat od nějaké certifikační autority nebo si můžete vytvořit podpis sami (sami se stát certifikační autoritou). Uživatel pak ale bude muset při ověření certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu) pomocí jiného kanálu, než získal zabezpečenou stránku (tj. zřejmě jinak, než pomocí Internetu – například telefonem, dopisem, osobním kontaktep a podobně).
  
Postup vytvoření vlastního podepsaného certifikátu je uveden na následujících řádcích (tučně napsaný text předtavuje to, co uživatel píše):
+
Postup výroby vlastního podepsaného certifikátu je naznačen na následujících řádcích (tučně napsaný text předtavuje to, co uživatel píše). Je '''nezbytně nutné''', aby v případě, že vytváříte certifikát jako náhradu za již existující, bylo zvýšeno sériové číslo (pomocí parametru <CODE>-set_serial</CODE>), jinak většina prohlížečů odmítne s WWW serverem komunikaci, protože nabízí novější certifikát stejného jména bez vyššího sériového čísla.
  
  <B>cd /etc/httpd/conf
+
  '''cd /etc/httpd/conf'''
  rm -f ssl.key/server.key ssl.crt/server.crt
+
  '''rm -f ssl.key/server.key ssl.crt/server.crt'''
  openssl genrsa 1024 > ssl.key/server.key
+
  '''openssl genrsa 1024 > ssl.key/server.key'''
  chmod go-rwx ssl.key/server.key
+
  '''chmod go-rwx ssl.key/server.key'''
  openssl req -new -key ssl.key/server.key -x509 -days 365 -out ssl.crt/server.crt -set_serial 01</B>
+
  '''openssl req -new -key ssl.key/server.key -x509 -days 365 -out ssl.crt/server.crt -set_serial 00'''
  Country Name (2 letter code) [GB]: <B>CZ</B>
+
  Country Name (2 letter code) [GB]: '''CZ'''
  State or Province Name (full name) [Berkshire]: <B>Czech Republic</B>
+
  State or Province Name (full name) [Berkshire]: '''Czech Republic'''
  Locality Name (eg, city) [Newbury]: <B>Liberec</B>
+
  Locality Name (eg, city) [Newbury]: '''Liberec'''
  Organization Name (eg, company) [My Company Ltd]: <B>SPSSE a VOS Liberec</B>
+
  Organization Name (eg, company) [My Company Ltd]: '''SPSSE a VOS Liberec'''
  Organizational Unit Name (eg, section) []: <B>Masarykova 3, 460 01 Liberec I.</B>
+
  Organizational Unit Name (eg, section) []: '''Masarykova 3, 460 01 Liberec I.'''
  Common Name (your name or server's hostname) []: <B>www.pslib.cz</B>
+
  Common Name (your name or server's hostname) []: '''www.pslib.cz'''
  Email Address []: <B>webmaster@pslib.cz</B>
+
  Email Address []: '''webmaster@pslib.cz'''
  
 
Po vytvoření certifikátu je potřeba restartovat WWW server:
 
Po vytvoření certifikátu je potřeba restartovat WWW server:

Verze z 30. 9. 2007, 19:15

Zabezpečený přenos mezi klientem (WWW prohlížeč) a WWW serverem Apache se zajišťuje pomocí mezivrstvy SSL. Šifrováním zajistíte, že komunikaci mezi klientem a serverem nelze jednoduše odposlechout. Protože však člověk svými smysly nemůže samotnou komunikaci ověřit a hlavně nelze zjistit, odkud doopravdy síťová komunikace pochází, je potřeba na začátku protistranu nějakým způsobem ověřit.

Ověřování totožnosti protistrany je nejjednodušší pomocí tzv. certifikátu, což je digitálně podepsaný veřejný klíč. Digitální podpis vytváří Certifikační autorita, která zakládá svoji důvěryhodnost na tom, že před vytvořením digitálního podpisu ověří totožnost majitele podepisovaného veřejného klíče a údaje o jeho totožnosti do výsledného certifikátu zahrne.

Při zabezpečeném připojení k serveru nejprve server nabídne svůj certifikát a je na uživateli, aby ověřil jeho důvěryhodnost. Uživatel například může:

  1. zatelefonovat majiteli a ověřit otisk SHA1 nebo MD5
  2. spolehnout se na důvěryhodnost Certifikační autority, která je v něm podepsána

Instalace

Podporu zabezpečeného přenosu nainstalujete pomocí balíčku mod_ssl. Zajistěte, aby WWW server načetl znovu svoji konfiguraci (restart nebo reload):

yum install mod_ssl
/etc/init.d/httpd restart

Self-signed certifikáty

Součástí modulu mod_ssl jsou univerzální certifikáty. S jejich pomocí můžete okamžitě HTTPS používat, ale nebude možné ověřit, zda doopravdy komunikujete se správným serverem. K tomu si musíte vygenerovat certifikáty vlastní nebo si certifikát nechat vytvořit u certifikační autority. Uživatel bude muset v případě ověřování self-signed certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu).

Vytvoření certifikátu s vlastním podpisem

Certifikát je digtálně podepsaný veřejný klíč. Digitální podpis můžete získat od nějaké certifikační autority nebo si můžete vytvořit podpis sami (sami se stát certifikační autoritou). Uživatel pak ale bude muset při ověření certifikátu použít kontrolu SHA1 výtahu (miniatury, fingerprintu) pomocí jiného kanálu, než získal zabezpečenou stránku (tj. zřejmě jinak, než pomocí Internetu – například telefonem, dopisem, osobním kontaktep a podobně).

Postup výroby vlastního podepsaného certifikátu je naznačen na následujících řádcích (tučně napsaný text předtavuje to, co uživatel píše). Je nezbytně nutné, aby v případě, že vytváříte certifikát jako náhradu za již existující, bylo zvýšeno sériové číslo (pomocí parametru -set_serial), jinak většina prohlížečů odmítne s WWW serverem komunikaci, protože nabízí novější certifikát stejného jména bez vyššího sériového čísla.

cd /etc/httpd/conf
rm -f ssl.key/server.key ssl.crt/server.crt
openssl genrsa 1024 > ssl.key/server.key
chmod go-rwx ssl.key/server.key
openssl req -new -key ssl.key/server.key -x509 -days 365 -out ssl.crt/server.crt -set_serial 00
Country Name (2 letter code) [GB]: CZ
State or Province Name (full name) [Berkshire]: Czech Republic
Locality Name (eg, city) [Newbury]: Liberec
Organization Name (eg, company) [My Company Ltd]: SPSSE a VOS Liberec
Organizational Unit Name (eg, section) []: Masarykova 3, 460 01 Liberec I.
Common Name (your name or server's hostname) []: www.pslib.cz
Email Address []: webmaster@pslib.cz

Po vytvoření certifikátu je potřeba restartovat WWW server:

/etc/init.d/httpd restart

Od této chvíle by mělo jít používat HTTPS spojení s vaším WWW serverem.