Linux: Jak na vlastní CA a certifikát pro HTTPS web zdarma

Autor Hanz
Publikováno Před 5 lety
Kategorie Článek
jak-na-vlastni-ca-a-certifikat-pro-https-web-zdarma-lamp
V tomto návodu vytvoříme na linuxovém webserveru pomocí balíčku openssl vlastní certifikační autoritu, kterou následně podepíšeme žádost o certifikát SSL pro danou doménu a poté upravíme konfiguraci apache webserveru pro provoz zabezpečeného protokolu HTTPS.

Vytvoření vlastní certifikační autority (CA)



root@debian-p4: apt-get install openssl
root@debian-p4: openssl req -new -x509 -days 730 -newkey rsa:4096 -keyout CA.key -out CA.crt
Generating a 4096 bit RSA private key
Vyplnit údaje + heslo


Nastavení OpenSSL



root@debian-p4: mkdir newcerts
root@debian-p4: touch index.txt
root@debian-p4: nano openssl.conf
root@debian-p4: nano serial #doplnit do něj 01


Vytvoření certifikátu SSL pro doménu (web)


- v tomto případě vytvoříme SSL certifikát pro helpdesk.up4.cz

root@debian-p4: openssl req -new -nodes -newkey rsa:2048 -keyout helpdesk.up4.cz.key -out helpdesk.up4.cz.csr
Generating a 2048 bit RSA private key
Vyplnit údaje + nedávat heslo


Podepsání certifikátu vlastní CA


- následně musíme vytvořený certifikát podepsat nějakou (zde naší) certifikační autoritou

root@debian-p4: openssl ca -in helpdesk.up4.cz.csr -out helpdesk.up4.cz.crt -config openssl.conf
Using configuration from ./openssl.conf
Enter pass phrase for ./CA.key:
Sign the certifacate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated



Přesuneme certifikáty


- přesuneme certifikáty, spustíme příkaz a2enmod a provedeme update CA certifikátů

root@debian-p4: cp ./CA.crt /etc/apache2/ssl/
root@debian-p4: cp ./helpdesk.up4.cz.crt /etc/apache2/ssl/
root@debian-p4: cp ./helpdesk.up4.cz.key /etc/apache2/ssl/
root@debian-p4: cp ./CA.crt /etc/apache2/ssl/
root@debian-p4: a2enmod rewrite && a2enmod headers && a2enmod ssl
root@debian-p4: update-ca-certificates


Úprava virtualhostu pro doménu v apache serveru


nano /etc/apache2/conf-enabled/superuser-ssl.conf

[html]
<VirtualHost *:80>
RewriteEngine on
ReWriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [NC,R,L]
</VirtualHost>
<VirtualHost *:443>
ServerName helpdesk.up4.cz
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/helpdesk.up4.cz.crt
SSLCertificateKeyFile /etc/apache2/ssl/helpdesk.up4.cz.key
SSLCACertificateFile /etc/apache2/ssl/CA.crt
DocumentRoot /var/www/html/helpdesk.up4.cz
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15768000; includeSub$
</IfModule>
</VirtualHost>
[/html]


Provedeme restart apache serveru /etc/init.d/apache2 restart a to je vše!

#
#
#

Dodatkové tipy k ovládání běhu webserveru Apache:


apachectl stop/start/restart/status/fullstatus
- toto snad není třeba vysvětlovat :-)
apachectl configtest
- zkontroluje syntaktické chyby v konfiguraci (hodí se po úpravě konfigurace)
apachectl graceful
- jemný restart = obslouží probíhající požadavky a až pak provede restart
apachectl graceful-stop
- jemné zastavení = obslouží probíhající požadavky a až pak provede zastavení


36

Vaše reakce na článek Linux: Jak na vlastní CA a certifikát pro HTTPS web zdarma

Napsat komentář k článku

Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace