Raspi4 ins Internet bringen mit Nginx, Letsencrypt

03.05.2020 - Lesezeit: ~1 Minute

Der Raspi4 soll im Internet verfügbar sein.

  • Der Raspi4 nennt sich server2020 und hängt an der Fritzbox mit der Adresse 192.168.80.20
  • dazu wird die nginx-Konfiguration auf dem bereits im Internet befindlichen bone.nfix.de auf den Raspi4 erweitert.
    $ sudo nano /etc/nginx/sites-available/server2020
    server {
        listen 443;
        listen [::]:443;
        server_name dev.wlsoft.de;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        location / {
            proxy_pass http://192.168.80.20;
        }
    }

    Den neuen Server verfügbar machen

    $ sudo ln -s /etc/nginx/sites-available/server2020 /etc/nginx/sites-enabled/

    nginx neue starten

    $ sudo nginx -s reload
  • Ein neues Letsencrypt - Zertifikat erstellen, das beide Server umfasst:
    $ sudo certbot --nginx -d dev.wlsoft.de -d bone.nfix.de
Tags: beaglebone letsencrypt nginx

Letsencrypt auf BBB erneuern

20.02.2019 - Lesezeit: 3 Minuten

Von Letsencrypt kommen E-Mails mit der Nachricht

You may need to update your client to the latest version in case it is still using the deprecated TLS-SNI-01 validation method. https://community.letsencrypt.org/t/february-13-2019-end-of-life-for-all-tls-sni-01-validation-support/74209

  • Neue Version von certbot 0.28 installieren

  • Mit dem neuen certbot das Zertifikat erneuern:

    $ certbot --version || /path/to/certbot-auto --version
    certbot 0.28.0
    $ sudo sh -c "sed -i.bak -e 's/^\(pref_challs.*\)tls-sni-01\(.*\)/\1http-01\2/g' /etc/letsencrypt/renewal/*; rm -f /etc/letsencrypt/renewal/*.bak"
    $ sudo certbot renew --dry-run
  • Jetzt kommt die Fehlermeldung:

    IMPORTANT NOTES:
    - The following errors were reported by the server:
    
    Domain: bone.nfix.de
    Type:   connection
    Detail: Fetching
    http://bone.nfix.de/.well-known/acme-challenge/C1ye-gE-z3kMKFE-UQxZ-pkGaLD19E9FA7bHa6malik:
    Error getting validation data
  • Da certbot den http Zugriff auf bone.nfix.de benötigt, muss in der Fritzbox das Port 80 freigegeben sein.

$ sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/bone.nfix.de.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
Plugins selected: Authenticator nginx, Installer nginx
Renewing an existing certificate
Performing the following challenges:
http-01 challenge for bone.nfix.de
Waiting for verification...
Cleaning up challenges

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is
/etc/letsencrypt/live/bone.nfix.de/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/bone.nfix.de/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tags: beaglebone letsencrypt

letsencrypt Zertifikat auf Beagle Bone Black verlängern

09.03.2016 - Lesezeit: 2 Minuten

Was vor drei Monaten geschah

  • "letsencrypt Zertifikat für Beagle Bone Black erstellen":?q=node/274
  • "Auf dem Beaglebone den lighttp-Server für https konfigurieren":?q=node/275

Das Zertifikat ist abgelaufen und muss jetzt erneuert werden.

Auf der virtuellen Maschine Kubuntu

$ cd letsencrypt/                                                         
$ ./letsencrypt-auto --rsa-key-size 4096 --manual certonly 

Eingeben der Domain-Namen

bone.nfix.de

auf dem Beaglebone ins Grundverzeichnis www wechseln und die von letsencrypt erwartete Datei anlegen

$ sudo -i
# cd /var/www/
# printf "%s" KENNUNGS-STRING > .well-known/acme-challenge/KENNUNGS-DATEI

Auf der virtuellen Maschine

  • Enter,
  • Gratulation
  • Your cert will expire on 2016-06-07.
  • Die erzeugten Schlüssel auf den Beaglebone in das Verzeichnis Schlüssel kopieren
    $ sudo -i
    # cd /etc/letsencrypt/archive/bone.nfix.de/
    # scp * wnf@bone2013:schluessel
    cert1.pem                                                  100% 2134     2.1KB/s   00:00    
    cert2.pem                                                  100% 2134     2.1KB/s   00:00    
    chain1.pem                                                 100% 1675     1.6KB/s   00:00    
    chain2.pem                                                 100% 1675     1.6KB/s   00:00    
    fullchain1.pem                                             100% 3809     3.7KB/s   00:00    
    fullchain2.pem                                             100% 3809     3.7KB/s   00:00    
    privkey1.pem                                               100% 3272     3.2KB/s   00:00    
    privkey2.pem                                               100% 3276     3.2KB/s   00:00 

Auf dem Beaglevone Den Http-Server anhalten:

$ sudo -i
# service lighttpd stop
# cd /home/wnf/schluessel
# cat privkey2.pem cert2.pem > ssl.pem
# cd /etc/letsencrypt/live/
# cp /home/wnf/schluessel/ssl.pem .
# cp /home/wnf/schluessel/fullchain2.pem ./fullchain.pem

Den Http-Server wieder starten:

# service lighttpd start

Und schon hat der Beaglebone wieder ein gültiges Zertifikat: https://bone.nfix.de/

Tags: beaglebone letsencrypt https

Auf dem Beaglebone den lighttp-Server für https konfigurieren

07.12.2015 - Lesezeit: 2 Minuten

Literatur

Voraussetzung

  • "letsencrypt Zertifikat für Beagle Bone Black erstellen":?q=node/274
  • Die Zieldateien für das Zertifikat liegen im Homeverzeichnis unter ~/schluessel

In der VM eine dhparam.pem erstellen (dauert auf dem BBB zu lange)

$ openssl dhparam -out dhparam.pem 4096

die Dateien auf den Beaglebone kopieren

# scp dhparam.pem wnf@bone2013:schluessel
$ sudo -i
# service lighttpd stop

SSL für lighttpd auf dem Beaglebone einrichten

# cd /home/wnf/schluessel
# cat privkey1.pem cert1.pem > ssl.pem
# mkdir /etc/letsencrypt/live/
# cd /etc/letsencrypt/live/
# cp /home/wnf/schluessel/ssl.pem .
# cp /home/wnf/schluessel/fullchain1.pem ./fullchain.pem
# cd /etc/ssl/certs/
# cp /home/wnf/schluessel/dhparam.pem .
# cd /etc/lighttpd/conf-enabled
# touch letsencrypt.conf
# nano letsencrypt.conf
$SERVER["socket"] == ":443" {
     ssl.engine                  = "enable"
     ssl.pemfile                 = "/etc/letsencrypt/live/ssl.pem"
     ssl.ca-file                 =  "/etc/letsencrypt/live/fullchain.pem"
     ssl.dh-file = "/etc/ssl/certs/dhparam.pem"
     ssl.ec-curve = "secp384r1"
     ssl.honor-cipher-order = "enable"
     ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
     ssl.use-compression = "disable"
     setenv.add-response-header = (
    "Strict-Transport-Security" => "max-age=63072000; includeSubdomains; preload",
    "X-Frame-Options" => "DENY",
    "X-Content-Type-Options" => "nosniff"
)
ssl.use-sslv2 = "disable"
ssl.use-sslv3 = "disable"
}
Tags: beaglebone letsencrypt https

letsencrypt Zertifikat auf Beagle Bone Black

06.12.2015 - Lesezeit: 2 Minuten

Literatur

Da der letsencrypt-Client auf dem Beaglebone nicht läuft, habe ich die Anforderung des Zertifikats auf einer Virtuellen Maschine Kubuntu 15.10 vorgenommen.

Das Zertifikat wird auf der VM erstellt, jedoch wird durch letsencrypt der Beaglebone über http nach einer bestimmten Datei gefragt, um sicher zu stellen, dass man auch der Besitzer dieser Domain ist.

Auf der VM

$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto  --rsa-key-size 4096 --manual certonly

jetzt die gewünschte Adresse eintragen und die weiteren Anweisungen von letsencrypt abarbeiten:

auf dem Beaglebone ins Grundverzeichnis www wechseln und die von letsencrypt erwartete Datei anlegen

# cd /var/www/
# printf "%s" KENNUNGS-STRING > .well-known/acme-challenge/KENNUNGS-DATEI

Gratulation

IMPORTANT NOTES:                                                                                                                                                                                                  
 - Congratulations! Your certificate and chain have been saved at                                                                                                                                                 
   /etc/letsencrypt/live/bone.nfix.de/fullchain.pem. Your cert will                                                                                                                                               
   expire on 2016-03-05. To obtain a new version of the certificate in                                                                                                                                            
   the future, simply run Let's Encrypt again.                                                                                                                                                                    
 - If like Let's Encrypt, please consider supporting our work by:                                                                                                                                                 

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate                                                                                                                                             
   Donating to EFF:                    https://eff.org/donate-le      

die Dateien auf den Beaglebone kopieren

# cd /etc/letsencrypt/archive/bone.nfix.de/
# ll
insgesamt 24
drwxr-xr-x 2 root root 4096 Dez  6 11:21 ./
drwx------ 3 root root 4096 Dez  6 11:21 ../
-rw-r--r-- 1 root root 2134 Dez  6 11:21 cert1.pem
-rw-r--r-- 1 root root 1675 Dez  6 11:21 chain1.pem
-rw-r--r-- 1 root root 3809 Dez  6 11:21 fullchain1.pem
-rw-r--r-- 1 root root 3272 Dez  6 11:21 privkey1.pem
# scp * wnf@bone2013:schluessel

Weiter mit "Auf dem Beaglebone den lighttp-Server für https konfigurieren":?q=node/275

Tags: letsencrypt https