Benutzer-Werkzeuge

Webseiten-Werkzeuge


devices:env:certs-le

Zertifikate - Let's encrypt

https://www.c-rieger.de/nextcloud-installationsanleitung/

Voraussetzung:

  • Eine lauffähige Webserver-Umgebung, wie z.B. in der Home Cloud
  • Ports 80 und 443 müssen im Router freigeschaltet sein und auf diesen Server zeigen.

Vorbereitungen

sudo -i
apt install socat

Firewall

ufw allow 80/tcp
ufw allow 443/tcp
systemctl restart ufw
ufw status

Diffie-Hellmann Schlüssel

sudo -i

openssl dhparam -dsaparam -out /etc/ssl/dhparam.pem 4096

Testzertifikate

apt install ssl-cert
make-ssl-cert generate-default-snakeoil -y

Let's encrypt

sudo -i

# Vorbereitungen
# Verzeichnisse und Berechtigungen
mkdir -p /var/www/letsencrypt/.well-known/acme-challenge
chmod -R 775 /var/www/letsencrypt
chown -R www-data:www-data /var/www/

mkdir -p /etc/letsencrypt/certs-rsa
mkdir -p /etc/letsencrypt/certs-ecc
chmod -R 770 /etc/letsencrypt
chown -R www-data:www-data /etc/letsencrypt
# ACME Benutzer erzeugen
adduser --disabled-login acmeuser
usermod -a -G www-data acmeuser
visudo

...
# User privilege specification
root ALL=(ALL:ALL) ALL
acmeuser ALL=NOPASSWD: /bin/systemctl reload nginx.service
...

# ACME Installation
su - acmeuser
curl https://get.acme.sh | sh
exit
# Let's encrypt als Standard-CA für den Server
su - acmeuser -c ".acme.sh/acme.sh --set-default-ca --server letsencrypt"
# Zertifikate als User acme beantragen
su - acmeuser

# RSA
acme.sh --issue -d <yourdomain> --server letsencrypt --keylength 4096 -w /var/www/letsencrypt --key-file /etc/letsencrypt/certs-rsa/<yourdomain>-key.pem --ca-file /etc/letsencrypt/certs-rsa/<yourdomain>-chain.pem --cert-file /etc/letsencrypt/certs-rsa/<yourdomain>-crt.pem --fullchain-file /etc/letsencrypt/certs-rsa/<yourdomain>-crt+chain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
# ECC
acme.sh --issue -d <yourdomain> --server letsencrypt --keylength ec-384 -w /var/www/letsencrypt --key-file /etc/letsencrypt/certs-ecc/<yourdomain>-key.pem --ca-file /etc/letsencrypt/certs-ecc/<yourdomain>-chain.pem --cert-file /etc/letsencrypt/certs-ecc/<yourdomain>-crt.pem --fullchain-file /etc/letsencrypt/certs-ecc/<yourdomain>-crt+chain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"

exit
# Kontrolle cron Job für ACME User
crontab -l -u acmeuser
devices/env/certs-le.txt · Zuletzt geändert: 2022/11/01 20:18 von hse