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

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

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 cloud.up4.cz

root@debian-p4: openssl req -new -nodes -newkey rsa:2048 -keyout cloud.up4.cz.key -out cloud.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 cloud.up4.cz.csr -out cloud.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 ./cloud.up4.cz.crt /etc/apache2/ssl/
root@debian-p4: cp ./cloud.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 cloud.up4.cz
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/cloud.up4.cz.crt
SSLCertificateKeyFile /etc/apache2/ssl/cloud.up4.cz.key
SSLCACertificateFile /etc/apache2/ssl/CA.crt
DocumentRoot /var/www/html/cloud.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í

Komentáře

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

Reference

Podívejte se na naše reference

Prohlédnout

Aplikace

Podívejte se na naše aplikace

Prohlédnout

Co umíme?

Podívejte se co umíme

Prohlédnout

Co umíme?

Vytváříme sofistikované aplikace pro náročné

Od webových aplikací přes android až po převodové můstky či složité informační systémy.

Podívejte se k nám

Máte ještě čas? Podívejte se na další rubriky

Tento web používá soubory cookie. Dalším procházením tohoto webu vyjadřujete souhlas s jejich používáním.. Více informací zde.