INN und SSL/TLS (Debian Lenny)
Das Internet ist schon lange kein friedlicher Ort mehr, an dem jeder jedem trauen kann - und deshalb wurden die ursprünglichen, unverschlüsselten Kommunikationsprotokolle schon lange durch kryptograhpisch abgesicherte Variationen ersetzt. Telnet verwendet heute wohl niemand mehr offen im Netz, stattdessen gibt es SSH; auch im Mailverkehr pflegt man - hoffentlich - zumindest das Paßwort beim Abruf über POP3 via APOP und beim Versand via SMTP über eine SMTP-Aut-Variante mit Verschlüsselung zu sichern, wenn man nicht ohnehin die ganze Kommunikation SSL-verschlüsselt, und auch diejenigen, die FTP noch nicht durch SCP/SFTP ersetzt haben, nutzen hoffentlich wenigstens SSL, um die Paßwortübertragung zu verschlüsseln.
So weit, so gut, aber schon vor einer ganzen Weile fiel mir auf, daß diese Regel für Netnews (NNTP) offenbar nicht gilt (und für UUCP oft auch nicht …); denn zu seinem oder seinen Newsserver(n) verbindet man sich oft genug noch unverschlüsselt, obwohl auch dort ein Paßwort übertragen wird. So ging es zumindest mir, und ich habe mich am vergangenen Wochenende entschlossen, dagegen etwas zu unternehmen und auch die Verbindung zumindest zu meinem eigenen Newsserver zu verschlüsseln.
Das ist - mit dem INN 2.4.5-Paket aus Debian Lenny - eigentlich ganz einfach:
Ein SSL/TLS-fähiger nnrpd ist bereits vorhanden (nnrpd-ssl). Wer nicht das vorgenannte Paket verwendet, muß den INN (oder zumindest den nnrpd) ggf. mit "configure —with-openssl" noch einmal kompilieren.
Schlüssel muß man sich erzeugen, sofern noch nicht vorhanden. Vorhandene Zertifikate bzw. Schlüssel sollte man vielleicht am einfachsten kopieren; standardmäßig werden sie in /etc/news gesucht. Das ist verhandelbar respektive konfigurierbar, aber das Zertifikat und der Schlüssel müssen dem User news gehören und die Rechte 600 aufweisen.
Die Konfigurationsdatei /etc/news/sasl.conf muß editiert (oder ggf. angelegt) werden, um die korrekten Pfade zum Zertifikat und dem privaten Schlüssel des Servers aufzunehmen. "tls_cert_file" und "tls_key_file" sind die relevanten Parameter.
Danach muß der nnrpd-ssl nur noch veranlasst werden, auf Port 563 (NNTPS) zu lauschen. Das kann man u.a. über den (x)inetd erreichen, indem man bspw. folgende Konfigurationsdatei in /etc/xinet.d/ einwirft:
service nntps
{
socket_type = stream
protocol = tcp
wait = no
user = news
group = news
server = /usr/lib/news/bin/nnrpd-ssl
server_args = -S -p 563
}
Voraussetzung dafür ist, daß die /etc/services den Service "nntps" kennt.
Voila. Wer mag, kann auch noch eine CA daran anflanschen und bspw. Nutzer statt via Paßwort auch via Zertifikat authentifizieren, indem er die readers.conf entsprechend anpaßt, aber daran habe ich keinen Bedarf; mir genügt die Verschlüsselung der Verbindung zwischen Server und Client.
(Danke an Viktor Kafke für die entsprechenden Tips.)
Kommentare
Ansicht der Kommentare: Linear | Verschachtelt