Discussion:
INN2 und Let's Encrypt
(zu alt für eine Antwort)
Timo
2016-12-20 18:19:05 UTC
Permalink
Guten Abend,

hat jemand von Euch zufällig schon einmal die Zertifikate von Let's
Encrypt für den Inn2 verwendet?
--
Gruß

Timo
Timo
2016-12-20 18:23:55 UTC
Permalink
Post by Timo
Guten Abend,
hat jemand von Euch zufällig schon einmal die Zertifikate von Let's
Encrypt für den Inn2 verwendet?
Ich stelle mir das etwas kompliziert vor, da bei jedem renew der
Zertifiakte, neue Dateien erstellt werden.

Daher sind ja bei jedem renew auch gleichzeitig die Zugriffsrechte für
den Benutzer "news" wieder weg.

Daher meine Frage, ob es jemand schon für einen Newsserver genutzt hat.
--
Gruß

Timo
Christian Garbs
2016-12-22 20:07:31 UTC
Permalink
Mahlzeit!
Post by Timo
Post by Timo
hat jemand von Euch zufällig schon einmal die Zertifikate von Let's
Encrypt für den Inn2 verwendet?
Ich stelle mir das etwas kompliziert vor, da bei jedem renew der
Zertifiakte, neue Dateien erstellt werden.
Daher sind ja bei jedem renew auch gleichzeitig die Zugriffsrechte für
den Benutzer "news" wieder weg.
Das kann man sich ja alles passend skripten - außerdem ist das mit den
Zugriffsrechten nicht so wild, da die generierten Zertifikate
öffentlich sind, da kann man "jeder darf lesen" setzen, dann kommt da
auch der Newsserver dran.

Konkret benutze ich acme-tiny, weil mir der Original-Client zu wuchtig
ist[1]. acme-tiny läuft per Cronjob unter einem eigenen User und
kümmert sich ausschließlich um die Erstellung des neuen Zertifikates.
Das Skript, in dem ich acme-tiny aufrufe, erledigt das Installieren
des Zertifikates im Newsserver über diese Zeile:

% grep news update-cgarbs.sh
cat cert-out/cgarbs.crt > /etc/news/cert.pem

Das Ergebnis sieht so aus:

% ls -l /etc/news/cert.pem
-rw-r--r-- 1 acme-tiny news 3786 Dec 3 00:00 /etc/news/cert.pem

cat(1) ist an der Stelle total praktisch, da durch die
Ausgabeumleitung die Dateirechte erhalten bleiben (cp(1) macht das
soweit ich weiß nicht).
Post by Timo
Daher meine Frage, ob es jemand schon für einen Newsserver genutzt hat.
Läuft hier so für den SSL-Zugriff der Newsreader auf den inn2.

Die Zertifikatsdatei wird übrigens im gleichen Skript auf die gleiche
Art auch Exim und dem Apachen untergeschoben.

Gruß
Christian

[1] Disclaimer: acme-tiny ist absichtlich zu blöd, die
Zwischenzertifikate automatisch zu erneuern. Kann einem übel auf
den Fuß fallen und kann man einfach wegpatchen, siehe hier:
https://www.cgarbs.de/blog/archives/1116-HTTPS-fuer-alle!.html#c2327
--
....Christian.Garbs....................................https://www.cgarbs.de
Futurama - nominated for three Glemmys
Helmut Waitzmann
2016-12-22 22:56:18 UTC
Permalink
Post by Christian Garbs
cat cert-out/cgarbs.crt > /etc/news/cert.pem
% ls -l /etc/news/cert.pem
-rw-r--r-- 1 acme-tiny news 3786 Dec 3 00:00 /etc/news/cert.pem
cat(1) ist an der Stelle total praktisch, da durch die
Ausgabeumleitung die Dateirechte erhalten bleiben (cp(1) macht das
soweit ich weiß nicht).
Genau.

Das Shell öffnet bei Ausgabeumlenkung (»> Zieldatei«) die zu
beschreibende Datei mit den (potentiellen) Zugriffserlaubnissen
Lesen und Schreiben für den Eigentümer, seine Gruppe und alle
anderen:

open("Zieldatei", O_WRONLY | O_TRUNC | O_CREAT, 0777)

Wenn es die Zieldatei schon gibt, wird an den Zugriffserlaubnissen
nichts geändert.

Wenn es die Zieldatei noch nicht gibt, sie also dadurch erzeugt
wird, erhält sie als Zugriffserlaubnisse die angegebenen (allen
das Lesen und Schreiben zu erlauben), eingeschränkt durch – falls
vorhanden – die default access control lists des Verzeichnisses,
in dem der Dateiname erzeugt wird oder – falls nicht vorhanden –
das umask.

»cp« ermittelt im Gegensatz dazu zuerst die Zugriffserlaubnisse
der Datei, von der kopiert werden soll, und gibt sie als dritten
Parameter beim Öffnen der Zieldatei an.

Wenn es die Zieldatei schon gibt und sie wiederverwendet werden kann,
wird an den Zugriffserlaubnissen nichts geändert.

Wenn sie nicht wiederverwendet werden kann, wird sie – wenn das
Option »-f« angegeben ist – entfernt.

Wenn es diese Datei noch nicht (oder jetzt nicht mehr) gibt, sie
also dadurch erzeugt wird, erhält sie als Zugriffserlaubnisse die
Zugriffserlaubnisse der Datei, von der kopiert wird, eingeschränkt
durch – falls vorhanden – die default access control lists des
Verzeichnisses, in dem der Dateiname erzeugt wird oder – falls
nicht vorhanden – das umask.

Wenn man »cp« das Option »-p« mitgibt, passt »cp« nach dem
Kopieren (u.a.) die Zugriffserlaubnisse an die der Kopierquelle
an.
Christian Garbs
2016-12-23 22:59:23 UTC
Permalink
Mahlzeit!
Post by Helmut Waitzmann
Post by Christian Garbs
cat cert-out/cgarbs.crt > /etc/news/cert.pem
% ls -l /etc/news/cert.pem
-rw-r--r-- 1 acme-tiny news 3786 Dec 3 00:00 /etc/news/cert.pem
cat(1) ist an der Stelle total praktisch, da durch die
Ausgabeumleitung die Dateirechte erhalten bleiben (cp(1) macht das
soweit ich weiß nicht).
[...]
Post by Helmut Waitzmann
Wenn man »cp« das Option »-p« mitgibt, passt »cp« nach dem
Kopieren (u.a.) die Zugriffserlaubnisse an die der Kopierquelle
an.
Ich hatte beim Posten einmal die cp(1)-Manpage quergelesen, aber -p
habe ich natürlich nicht wahrgenommen. Dann ist das ja doch useless
use of cat, was ich da mache ;-)

Für die Variante "Zieldatei existiert noch nicht" erscheint mir das
Verhalten von cp -p passender als das von einer Ausgabeumleitung.

Gruß
Christian
--
....Christian.Garbs....................................https://www.cgarbs.de
Confucius say..."User who ASCII stupid question get stupid ANSI."
Helmut Waitzmann
2016-12-24 01:19:19 UTC
Permalink
Post by Christian Garbs
Mahlzeit!
Post by Helmut Waitzmann
Post by Christian Garbs
cat cert-out/cgarbs.crt > /etc/news/cert.pem
% ls -l /etc/news/cert.pem
-rw-r--r-- 1 acme-tiny news 3786 Dec 3 00:00 /etc/news/cert.pem
cat(1) ist an der Stelle total praktisch, da durch die
Ausgabeumleitung die Dateirechte erhalten bleiben (cp(1) macht das
soweit ich weiß nicht).
[...]
Post by Helmut Waitzmann
Wenn man »cp« das Option »-p« mitgibt, passt »cp« nach dem
Kopieren (u.a.) die Zugriffserlaubnisse an die der Kopierquelle
an.
Ich hatte beim Posten einmal die cp(1)-Manpage quergelesen, aber -p
habe ich natürlich nicht wahrgenommen. Dann ist das ja doch useless
use of cat, was ich da mache ;-)
Für die Variante "Zieldatei existiert noch nicht" erscheint mir das
Verhalten von cp -p passender als das von einer Ausgabeumleitung.
Kommt halt drauf an, wer die passenderen Zugriffserlaubnisse im
Gepäck hat: die Datei, von der kopiert wird (»cp -p«), oder der
Prozess, der die Ausgabedatei erzeugt (Ausgabeumlenkung), oder ob
vielleicht die Kombination von beiden (»cp« ohne »-p«) das
Richtige ist.

Und dann muss man auch im Hinterkopf behalten, dass »cp -p« auch
versucht, den Zeitstempel der letzten Dateiinhaltsänderung auf den
der Kopierquelle zu setzen: Wer eine alte Datei mit »cp -p«
kopiert, erhält als Kopie eine alte Datei.

Bei GNU-cp kann man übrigens mit dem Option »--preserve« genau
angeben, welche Dateieigenschaften (Zeitstempel, Eigentümerschaft
und Gruppenzugehörigkeit, Zugriffserlaubnisse) vom Original auf
die Kopie übertragen werden sollen.
Julien ÉLIE
2016-12-23 14:40:41 UTC
Permalink
Hi all,

(Sorry for posting in English.)

FWIW, I think the issue is fixed in INN 2.6.1.
Russ Allbery provided the following patch:

https://inn.eyrie.org/trac/changeset/10090/

%%
Relax permission checks in nnrpd for TLS private key

Second-guessing whether we can read the file can get us in trouble
if file system ACLs are in use, and requiring the group match the
group of nnrpd makes it harder than necessary to set up automatic
certificate renewal via something like Let's Encrypt. Relax the
permission checks to just check that the private key isn't
world-readable and that we can read it.
%%


Original message:
https://lists.isc.org/pipermail/inn-workers/2016-October/018684.html
--
Julien ÉLIE

« Le carré est un triangle qui a réussi, ou une circonférence qui a
mal tourné. » (Pierre Dac)
Thomas Hochstein
2016-12-24 08:08:34 UTC
Permalink
Post by Timo
hat jemand von Euch zufällig schon einmal die Zertifikate von Let's
Encrypt für den Inn2 verwendet?
Ja.

<https://netz-rettung-recht.de/archives/1943-letsencrypt-jenseits-des-Webservers.html>

Das Rechteproblem wurde mit INN 2.6.1 wohl durch laxere Checks
entschärft.

Loading...