Webmin a instalace SSL certifikátu na server

9. 8. 2013 | Jindřich Zechmeister

Po minulém návodu k instalaci SSL certifikátu na ISPConfig přinášíme návod pro neméně známý administrační panel Webmin. Dnešní návod popisuje instalaci SSL certifikátu pro zabezpečení webové administrace Webminu a instalaci certifikátů pro hostované domény.

Logo Webmin panelu

Webmin - všechna nastavení serveru pod kontrolou

Administrační panel Webmin v rozsahu dostupné konfigurace nezná konkurenci; přes tento nástroj můžete ovládat snad všechny konfigurace používaných serverových komponent. Webmin rovněž podporuje množství pluginů s přímou a jednouchou instalaci přímo ve webovém rozhraní.

Instalace ovládacího panelu Webmin je snad ještě jednodušší, než v případě ISPConfigu. K dispozici jsou připravené balíky pro hlavní distribuce. Další možností instalace je přidání repozitáře Webminu do zdrojů softwaru; tato možnost je nejjednodušší. Veškeré informace najdete na webu výrobce v sekci Download.

Po nainstalování na server (či zřízení vašeho serveru hosterem) se přihlaste do Webminu s účtem Root. Typicky se nachází na portu 10000 vaší domény či IP adresy serveru.

Vygenerování klíčů SSL certifikátu

Váš Webmin běží na linuxovém serveru, proto pro vygenerování klíčů pro SSL certifikát použijeme OpenSSL. Přihlaste se na server přes SSH a vygenerujte klíče následujícími příkazy. Jako nejlepší program pro protokol SSH na Windows doporučuji aplikaci PuTTY.

Privátní a veřejný klíč vygenerujete následujícími příkazy.

Privátní klíč (bitová hloubka 2048, uloží se do souboru pkey.key ve složce uživatele v /home):  

openssl genrsa -out pkey.key 2048

Veřejný klíč - CSR request (uloží se tamtéž pod názvem request.csr):

req -new -key pkey.key -out request.csr

Následně vás program vyzve k zadání údajů pro veřejný klíč.

Country Name (2 letter code) [US]: Název státu velkými písmeny dle normy ISO, například CZ
State or Province Name (full name) []: Například Czech Republic
Locality Name (eg, city) []: Město, kde máte sídlo. Například Praha, Brno
Organization Name (eg, company) []: Název organizace či osoby žádající o certifikát
Organizational Unit Name (eg, section) []: Název organizační jednotky či oddělení. Můžete zadat například Internet, Software, Marketing.
Common Name (eg, YOUR name) []: Nejdůležitější údaj - doména, pro kterou bude certifikát vystaven. Rozlišuje se tvar domény s WWW a bez, stejně jako domény nižšího řádu. Například www.sslmarket.cz.

Email Address []: E-mailová adresa - není požadováno, nevyplňujte.

Následují ještě dva rozšiřující atributy, které nevyplňujte (jen potvrďte Enterem):

A challenge password []: Heslo, které se dle standardu používá pro revokaci. Nevyplňujte!
An optional company name []: Jiný název společnosti.

Kontrola veřejného klíče pro SSL certifikát

Vytvořené klíče jsou zakódované ve formátu Base64, který slouží pro uložení binárních dat v textové podobě. Na první pohled proto vypadají nesmyslně a obsažené informace nepřečtete. Chcete-li si však údaje v CSR requestu ověřit, můžete použít náš webový nástroj Kontrola CSR.

Instalace vytvořeného klíče a SSL certifikátu

Jak již bylo napsáno výše, klíče byly vygenerovány v textové podobě a jsou zakódovány v Base64. Prakticky to znamená to, že můžete klíče a certifikáty kopírovat a vkládat jako text, což by u binárních dat nebylo možné.

Po přihlášení klikněte v levém panelu na Servers a v rozbalené nabídce potom na Apache Webserver

Webmin - nastavení Apache

Zde uvidíte seznam všech domén, které jsou na serveru hostované (Virtualhostů). Klikněte na název domény, pro kterou chcete certifikát nainstalovat. Následně uvidíte ikony s možnostmi nastavení; klikněte na SSL Options.

Nastavení Virtuálního serveru ve Webmin

V následujícím dialogu uvidíte nastavení SSL certifikátu a HTTPS protokolu.

Nastavení SSL domény ve Webmin

Vysvětlení jednotlivých možností:

  • Enable SSL? - Ano, jinak nebude HTTPS fungovat
  • SSL protocols - podpora SSL protokolů. SSLv2 rozhodně vypněte, není již bezpečné. Ponechte jen TLSv1, příp. SSLv3
  • Certificate/private key file - zde je cesta k certifikátu domény (soubor, který jste dostali od SSLmarketu)
  • Private key file - cesta k souboru s privátním klíčem, typicky soubor .key
  • Certificate authorities file - můžete nechat Default. V případě, že by nebyl certifikát důvěryhodný, nastavte soubor s Intermediate certifikátem, který jste rovněž obdrželi od SSLmarket
  • Client SSL certificate - volba slouží pro přihlašování klientů klientským (osobním) SSL certifikátem. Nechte Default, příp. Not Required
  • SSL log file - nastavení logování SSL, defaultně vypnuto

Oba klíče se nachází ve složce /home na serveru, kde je OpenSSL uložilo. Pokud jste si nechali vystavit důvěryhodný certifikát, obdržíte ho e-mailem a Webminu ho nabídněte buď jako soubor, nebo vložte v textové podobě přes schránku.

Až bude vše nastaveno, dialog uložte; následně restartujte Apache. To můžete provést kliknutím do pravého horního rohu na Stop/Start Apache, nebo v terminálu příkazem

sudo /etc/init.d/apache2 restart 

Kontrola funkčnosti SSL certifikátu

Zkontrolujte. zdali webový server SSL certifikát používá; buď můžete navštívit danou doménu přes HTTPS, nebo použít nás ověřovač SSL certifikátu.

Zabezpečení webového rozhraní Webminu

Chcete-li zabezpečit i webové rozhraní panelu Webmin a hlavně přihlašovací dialog, můžete pro administraci nainstalovat a nastavit samostatný SSL certifikát.

Nastavení najdete v sekci Webmin pod Webmin Configuration a nabídkou SSL Encryption, kterou poznáte podle ikony klíče. Zde nastavíte cestu k privátnímu klíči a k certifikátu, který chcete používat. Pokud nemáte certifikát umístěný na serveru a v souborech, můžete je vložit v textové podobě do formulářů v nabídce Upload Certificate.

V této sekci Webminu můžete vytvořit i nedůvěryhodný Self-Signed certifikát, případně vytvořit žádost (CSR request) pro objednávku důvěryhodného certifikátu.

Nastavení SSL pro zabezpečení Webmin

Nastavení SSL certifikátu pro zabezpečení administrace Webminu

SSL certifikát můžete použít i pro jiné účely

SSL certifikát domény můžete použít i pro jíné služby a účely. Pokud bude souhlasit název domény, na které služba bude, můžete zabezpečit například poštu (například servery Dovecot, Postfix a Courier) nebo FTP. SSL certifikát doporučuji použít pro zabezpečení webového rozhraní pošty (Webmaily Roundcube, Squirrelmail).

Certifikát budete mít typicky platný pro konkrétní doménu (adresu). Potřebujete-li však zabezpečit subdomény vašeho serveru, nebo zabezpečit úplně jiné domény, můžete vše zabezpečit jedním certifikátem se SAN (DNS názvy). Do takového certifikátu můžete přidat všechny domény, které potřebujete zabezpečit. 

Pamatujte, že ať už se přihlašujete na web, webmail či používáte e-mailového klienta, přihlašovací údaje v žádném případě nesmí putovat nezabezpečeným protokolem. V našem článku Ukrást přihlašovací údaje je díky HTTP snadné se můžete přesvědčit, jak snadné je ukrást přihlašovací údaje poslané nešifrovaným protokolem. Není k tomu třeba ani speciální software.


Ing. Jindřich Zechmeister
Specialista pro bezpečnostní SSL certifikáty
DigiCert TLS/SSL Professional
e-mail: jindrich.zechmeister(at)zoner.cz