SSL/TLS certifikáty¶
Zabezpeč svoje služby pomocou HTTPS. V TUKE Cloud máš dve možnosti.
-
Let's Encrypt
Automatické bezplatné certifikáty cez DNS-01 validáciu.
Odporúčané pre väčšinu prípadov.
-
Harika
Manuálne certifikáty pre interné služby.
Kontaktuj ssl@helpdesk.tuke.sk
Prečo SSL/TLS?¶
- Šifrovanie
-
Chráni komunikáciu pred odpočúvaním.
- Autentifikácia
-
Klient vie, že komunikuje so správnym serverom.
- HTTPS štandard
-
Bez certifikátu prehliadače zobrazujú varovania.
Let's Encrypt (DNS-01)¶
Ako to funguje?¶
- Certbot požiada o TXT záznam
_acme-challenge.<domena> - DNS API TUKE ho automaticky pridá
- Let's Encrypt overí a vystaví certifikát
DNS API Token
Každá VM dostane jedinečný token v aktivačnom e-maile. Token umožňuje spravovať len TXT záznamy pre tvoju VM.

Predpoklady¶
| Požiadavka | Popis |
|---|---|
| Ubuntu/Linux VM | Systém s certbotom |
| Webserver | Apache alebo Nginx |
| DNS API token | Z aktivačného e-mailu VM |
| Doména | *.virtual.cloud.tuke.sk |
Vytvorenie hook skriptov¶
auth-hook.sh - pridanie TXT záznamu
Ulož do /usr/local/bin/auth-hook.sh:
#!/usr/bin/env bash
set -e
TOKEN="TU_ZADAJTE_SVOJ_API_TOKEN"
CHALLENGE_NAME="_acme-challenge.${CERTBOT_DOMAIN}"
echo "Pridávam TXT záznam:"
echo "Domain: $CERTBOT_DOMAIN"
echo "Validation: $CERTBOT_VALIDATION"
echo "Name: $CHALLENGE_NAME"
curl -s -L -X POST -H "Content-Type: application/json" \
-d "{\"token\": \"$TOKEN\", \"domain\": \"$CERTBOT_DOMAIN\", \"name\": \"$CHALLENGE_NAME\", \"value\": \"$CERTBOT_VALIDATION\"}" \
https://dns-api.plesk.tuke.sk/index.php/dns/proxy/add_txt
sleep 3
cleanup-hook.sh - odstránenie TXT záznamu
Ulož do /usr/local/bin/cleanup-hook.sh:
#!/usr/bin/env bash
set -e
TOKEN="TU_ZADAJTE_SVOJ_API_TOKEN"
DOMAIN="$CERTBOT_DOMAIN"
ZONE_SUFFIX="virtual.cloud.tuke.sk"
if [[ "$DOMAIN" != *".${ZONE_SUFFIX}" ]]; then
echo "Chyba: doména '$DOMAIN' nekončí na '.$ZONE_SUFFIX'"
exit 1
fi
HOST="${DOMAIN%.$ZONE_SUFFIX}"
CHALLENGE_NAME="_acme-challenge.${HOST}"
echo "Odstraňujem TXT záznam: $CHALLENGE_NAME"
RESPONSE=$(curl -s -L -X POST \
https://dns-api.plesk.tuke.sk/index.php/dns/proxy/delete_txt \
-H "Content-Type: application/json" \
-d '{
"token": "'"${TOKEN}"'",
"domain": "'"${DOMAIN}"'",
"name": "'"${CHALLENGE_NAME}"'"
}'
)
if echo "$RESPONSE" | grep -q '"status":"success"'; then
echo "TXT záznam úspešne odstránený."
else
echo "Chyba pri mazaní TXT záznamu:"
echo "$RESPONSE"
exit 1
fi
Nastav práva:
Vystavenie certifikátu¶
sudo certbot certonly \
--non-interactive \
--manual \
--preferred-challenges dns \
--manual-public-ip-logging-ok \
--manual-auth-hook /usr/local/bin/auth-hook.sh \
--manual-cleanup-hook /usr/local/bin/cleanup-hook.sh \
--deploy-hook "systemctl reload apache2" \
-d vra-ubuntu-server-0531.virtual.cloud.tuke.sk \
-d www.vra-ubuntu-server-0531.virtual.cloud.tuke.sk \
--email meno.priezvisko@tuke.sk \
--agree-tos
Harika (manuálne certifikáty)¶
Pre interné služby, testovacie prostredia alebo špeciálne požiadavky.
Ako požiadať¶
- Priprav si doménu (FQDN) a účel certifikátu
- Pošli e-mail na ssl@helpdesk.tuke.sk
- Uveď názov domény a účel použitia
- Dostaneš
.crt,.keya CA chain
Dôležité upozornenia¶
Bezpečnosť tokenu
- DNS API token je jedinečný pre tvoju VM
- Token nesmie byť zverejnený ani poskytnutý iným
- Skripty fungujú len v rámci
*.virtual.cloud.tuke.sk
Automatické obnovovanie
DNS-01 validácia umožňuje plne automatizovať obnovovanie certifikátov pomocou cron úlohy.
Porovnanie metód¶
| Let's Encrypt | Harika | |
|---|---|---|
| Cena | Zadarmo | Zadarmo |
| Obnova | Automatická | Manuálna |
| Dôveryhodnosť | Verejne dôveryhodný | Len TUKE |
| HTTP prístup | Nie je potrebný | Nie je potrebný |
| Vhodné pre | Produkčné služby | Interné/testovacie |