Erinevus lehekülje "Let's Encrypt" redaktsioonide vahel

Allikas: Kuutõrvaja
(Paigaldus certbotiga)
(Sissejuhatus)
11. rida: 11. rida:
 
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse
 
#. Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse
  
Sertifikaadid kehtivad vaid 90 päeva.  
+
Sertifikaadid kehtivad vaid 90 päeva.
 +
 
 +
===Paigadus debiani ja apachega===
 +
 
 +
Kui virtualhost on juba seadistatud on paigaldus väga lihtne, tuleb esiteks installida cerbot ja selle apache moodul
 +
 
 +
# apt install python-certbot-apache
 +
 
 +
Ning seejärel küsida domeeni
 +
 
 +
# certbot --apache -d zoo.tartu.ee
 +
 
 +
Viimane käsk on võimeline juba ise tuvastama serveri seadistuse, tekitama sobivasse kohta vajaliku võtme ning asendama virtualhostis ka varasemad sertifikaadid
  
 
===Paigaldus certbotiga nginx puhul===
 
===Paigaldus certbotiga nginx puhul===

Redaktsioon: 14. jaanuar 2021, kell 12:19

Sissejuhatus

Lets encrypt on teenus mis pakub tasuta popup-free sertifikaate. See loodi 2016 ning selle taga on ettevõtted nagu Akamai, Cisco, Mozilla ning mitmed sõltumatud eraisikud.

Let's Encrypt kasutab oma tööks ACME ehk Automatic Certificate Management Environment protokolli, mille abil saab tellida sertifikaate täisautomaatselt. Selle töö näeb välja umbkaudu järgnev

  1. . Tarkvara genereerib võtme ja sertifikaadipäringu
  2. . Sertifikaadipäring allkirjastatakse ja saadetakse lets encrypt API-le
  3. . Lets encrypt server teeb valideerimise päringu domeeni vastu, millele sertifikaati taodeldakse, kus ta kontrollib http://domeen.ee/.well-known/acme-challenge/{token} olemasolu ja vastavust
  4. . Sertifikaadid genereeritakse ja laetakse automaatselt letsencrypti juurest alla serverisse

Sertifikaadid kehtivad vaid 90 päeva.

Paigadus debiani ja apachega

Kui virtualhost on juba seadistatud on paigaldus väga lihtne, tuleb esiteks installida cerbot ja selle apache moodul

# apt install python-certbot-apache

Ning seejärel küsida domeeni

# certbot --apache -d zoo.tartu.ee

Viimane käsk on võimeline juba ise tuvastama serveri seadistuse, tekitama sobivasse kohta vajaliku võtme ning asendama virtualhostis ka varasemad sertifikaadid

Paigaldus certbotiga nginx puhul

Installime CentOSis epel release ja cerboti

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install certbot 

Tekitame nginx confi

cat <<EOF > /etc/nginx/default.d/letsencrypt.conf
    location /.well-known {
        root /srv/letsencrypt;
    }
EOF

Tekitame cerboti kausta

# mkdir /srv/letsencrypt/

Tekitame cerboti konfi

cat <<EOF > /srv/letsencrypt/letsencrypt.ini
agree-tos
email = info@zoo.tartu.ee

authenticator = webroot
webroot-path = /opt/letsencrypt
EOF

Stardine nginxi

# systemctl start nginx
# systemctl enable nginx

Küsime sertifikaadi

# certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee

Automaatseks uuendamiseks võib tekitada cron faili /etc/cron.d/letsencrypt

MAILTO=info@zoo.tartu.ee
11 2 1 * * root /usr/bin/certbot certonly -n -c /srv/letsencrypt/letsencrypt.ini -d zoo.tartu.ee && /usr/bin/systemctl restart nginx

Paigaldus Acme skriptiga

Veebiserveri ettevalmistus. Nagu ülal kirjutatud siis vajab letsencrypt võimalust valideerida kasutaja õigust domeenile. Selleks tuleb veebiserverisse seadistada ligipääs letsencrypti genereeritud tokenile. Nginxi korral tuleb tekitada järgnev konstruktsioon

location /.well-known/acme-challenge/ {
    root /var/www/certbot;
}

Tõmbame vajaliku skripti alla ja paneme käima

curl https://get.acme.sh | sh

See paigaldab ka croni töö mis tegeleb sertifikaatide uuendamisega.

Küsime endale sertifikaadi

acme.sh --issue -d test.org -w /var/www/certbot

Keerukamad kasutusjuhud. Nt dockeri puhul võime ka täpselt ette anda sertifikaatide asukohad ja käsu dockeri sees nginxi restardiks

acme.sh --install-cert -d test.org  \
  --cert-file      /apps/myapp/certs/cert.pem \
  --key-file       /apps/myapp/certs/key.pem  \
  --reloadcmd     "docker-compose -f /apps/myapp/docker-compose.yml exec wen nginx -t reload"

Wildcard domeeni jaoks sertifikaadi tekitamiseks

acme.sh  --issue -d example.com  -d '*.example.com'  --dns dns_cf