FreeBSD at Job

Um sicher zu stellen, daß mein Rootserver bei Wartungsarbeiten beim Hoster rechtzeitig heruntergefahren wird (die Zugangsdaten mag ich nicht im Webpanel hinterlegen) eigenet sich am besten at: at 9 pm today <Enter> poweroff <Enter> Ctrl-D

Weiterlesen

Nachladen von Kernelmodulen verhindern

In der aktuellen c’t 01/2020 steht im Artikel „FAQ: Basics zum Linux-Kernel, Teil 5“ folgender Hinweis, wie man das Nachladen von Kernelmodulen im laufenden Betrieb verhindern kann:

Möglicherweise sollte man vor dem Aktivieren der Modulladeblockade bei einigen Systemen im laufenden Betrieb, wenn alle Funktionalitäten schon mal genutzt wurden, mit einem lsmod nachsehen, ob beim Start möglicherweise noch nicht alle für den Betrieb des Systems erforderlichen Kernelmodule geladen wurden und diese dann mit einem modprobe vor dem echo Befehl laden.

Weiterlesen

Problem mit RedirectPermanent und automatischen Updates von Let’s Encrypt

Meine Scripte zum Erstellen und Erneuern der Let’s Encrypt funktionierte nach einem Serverumzug und ein paar Konfigurationsänderungen nicht mehr. Folgende Fehlermeldung wurde ausgeworfen:

Verifying www.domain.tld...
Traceback (most recent call last):
File "/usr/local/bin/acme_tiny", line 141, in get_crt
assert (disable_check or _do_request(wellknown_url)[0] == keyauthorization)
File "/usr/local/bin/acme_tiny", line 46, in _do_request
raise ValueError("{0}:\nUrl: {1}\nData: {2}\nResponse Code: {3}\nResponse: {4}".format(err_msg, url, data, code, resp_data))
ValueError: Error:
Url: http://www.domain.tld/.well-known/acme-challenge/xr8lBzb_kujRUBCVMwXI7dVLy1m6wrfEkhw-Jr_Mapw
Data: None
Response Code: None
Response: <urlopen error [Errno 8] Name does not resolve>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/bin/acme_tiny", line 198, in <module>
main(sys.argv[1:])
File "/usr/local/bin/acme_tiny", line 194, in main
signed_crt = get_crt(args.account_key, args.csr, args.acme_dir, log=LOGGER, CA=args.ca, disable_check=args.disable_check, directory_url=args.directory_url, contact=args.contact)
File "/usr/local/bin/acme_tiny", line 143, in get_crt
raise ValueError("Wrote file to {0}, but couldn't download {1}: {2}".format(wellknown_path, wellknown_url, e))
ValueError: Wrote file to /usr/local/www/challenges/xr8lBzb_kujRUBCVMwXI7dVLy1m6wrfEkhw-Jr_Mapw, but couldn't download http://www.domain.tld/.well-known/acme-challenge/xr8lBzb_kujRUBCVMwXI7dVLy1m6wrfEkhw-Jr_Mapw: Error:
Url: http://www.domain.tld/.well-known/acme-challenge/xr8lBzb_kujRUBCVMwXI7dVLy1m6wrfEkhw-Jr_Mapw
Data: None
Response Code: None
Response: <urlopen error [Errno 8] Name does not resolve>
Signierung nicht erfolgreich!

Wie ich dann herausgefunden habe, mag Let’s Encrypt nicht mit der Konfiguration Redirect permanent spielen:

<VirtualHost *:80> 
ServerName domain.tld
ServerAlias www.domain.tld
ServerAdmin contact@domain.tld
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

Redirect permanent / https://domain.tld/

<Directory /var/www/html>
Options FollowSymLinks AllowOverride all Require all granted
</Directory>

</VirtualHost>

 

Nachdem ich statt mit

Redirect permanent / https://domain.tld/

das Umschreiben zu HTTPS mittels folgendem Block 

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/.well-known/.*$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [L,R=301]

umgesetzt habe, konnte ich wieder Zertifikate anfordern und erneuern.

Weiterlesen