NNTPS

xinetd nnrpd wird für den Port 119 vom innd gestartet. Bei Fedora ist nnrpd -S nicht mit einkompiliert, da wird man sich das RPM selber bauen müssen (siehe unten). Aber für den Fall, dass der inn sowieso schon --with-openssl kompiliert wurde und ein Zertifikat bei der Installation mit make cert erstellt wurde, dann genügt: cat /etc/xinetd.d/nntps service nntps { disable = no socket_type = stream protocol = tcp user = news wait = no server = /usr/lib/news/bin/nnrpd server_args = -S per_source = 4 instances = 200 log_on_success += DURATION HOST USERID } der Eintrag im Kasten zum Starten von nttps. inetd Und wer statt des xinetd den openbsd-inetd benutzt, editiert '/etc/inetd.conf': nntps stream tcp6 nowait news /usr/sbin/tcpd /usr/lib/news/bin/nnrpd-ssl -S nntps stream tcp4 nowait news /usr/sbin/tcpd /usr/lib/news/bin/nnrpd-ssl -S Zertifikat erstellen cat /etc/news/makecert.ssl SSLBIN=/usr/bin/ NEWSUSER=news NEWSGROUP=news PATHLIB=/usr/lib/news/lib ## Install a certificate for TLS/SSL support. cert: $(SSLBIN)/openssl req -new -x509 -nodes \ -out $(PATHLIB)/cert.pem -days 366 \ -keyout $(PATHLIB)/key.pem chown $(NEWSUSER) $(PATHLIB)/cert.pem chgrp $(NEWSGROUP) $(PATHLIB)/cert.pem chmod 640 $(PATHLIB)/cert.pem chown $(NEWSUSER) $(PATHLIB)/key.pem chgrp $(NEWSGROUP) $(PATHLIB)/key.pem chmod 600 $(PATHLIB)/key.pem sasl.conf cat /etc/news/sasl.conf tls_ca_path: /usr/lib/news/lib tls_cert_file: /usr/lib/news/lib/cert.pem tls_key_file: /usr/lib/news/lib/key.pem Certifikation Request CONFIG=/etc/news/custom_openssl.cnf cat >> /etc/news/custom_openssl.cnf << EOF # -------------- BEGIN custom openssl.cnf ----- HOME = /etc/news oid_section = new_oids [ new_oids ] [ req ] default_days = 730 # how long to certify for default_keyfile = /usr/lib/news/lib/key.pem distinguished_name = req_distinguished_name encrypt_key = no string_mask = nombstr req_extensions = v3_req # Extensions to add to certificate request [ req_distinguished_name ] commonName = Common Name (eg, YOUR name) commonName_default = news.newsserver.example commonName_max = 64 [ v3_req ] subjectAltName=DNS:newsX.open-news-network.org # -------------- END custom openssl.cnf ----- EOF Certification Request Datei erstellen HOST=news HOME=/etc/news openssl req -batch -config $CONFIG -newkey rsa:2048 -out $HOME/${HOST}_csr.pem cat $HOME/${HOST}_csr.pem Bei http://www.cacert.org/ oder http://www.startssl.com/ sich mit dem Inhalt von news_csr.pem ein Serverzertifkat holen und den Inhalt des Zertifikats in cert.pem einfügen: vi /usr/lib/news/lib/cert.pem CA.pem von der CA runterladen nach /usr/lib/news/lib/ legen und in der sasl.conf angeben z.B: tls_ca_path: /usr/lib/news/lib tls_ca_file: /usr/lib/news/lib/root.crt tls_cert_file: /usr/lib/news/lib/cert.pem tls_key_file: /usr/lib/news/lib/key.pem Debian Debian hat als Besonderheit nicht nnrpd sondern nnrpd-ssl als extra Binary. cat > /etc/xinetd.d/nntps << "EOF" # description: NNTP over SSL service nntps { disable = no socket_type = stream protocol = tcp user = news wait = no server = /usr/lib/news/bin/nnrpd-ssl server_args = -S per_source = 4 instances = 200 log_on_success += DURATION HOST USERID } EOF Fedora Fedora.src.rpm besorgen und inn.spec anpassen. Fedora10 mit verlageerten home auf /home/news statt /var/lib/news, da das Fedora-rpm ohne ssl-Support ausgeliefert wird und deswegen "nntp -S" nicht geht. Dieses Specfile hier beinhaltetet inn-2.4.5.filter_nnrpd.patch, der beim Sourcerpm nicht dabei ist. cat /home/compileuser/rpm/SPECS/inn.spec Summary: The InterNetNews (INN) system, an Usenet news server Name: inn Version: 2.4.5 Release: opennews4%{?dist} #see LICENSE file for details License: GPL+ and BSD and MIT and Public Domain Group: System Environment/Daemons URL: http://www.isc.org/products/INN/ Source0: ftp://ftp.isc.org/isc/inn/inn-%{version}.tar.gz Source2: inn-default-distributions Source4: inn-cron-expire Source5: inn-cron-rnews Source7: inn-cron-nntpsend Source8: innd.init Source10: inn-faq.tar.gz Patch: inn-2.4.3.rh.patch Patch2: inn-2.4.1.perl.patch Patch3: inn-2.4.1.headusage.patch Patch4: inn-2.4.1.pie.patch Patch6: inn-2.4.1.posix.patch Patch7: inn-2.4.3.warn.patch Patch8: inn-2.4.2-makedbz.patch Patch9: inn-2.4.3.rcreaderaddrinuse.patch Patch10: inn-2.4.3-nologinshell.patch Patch11: inn-2.4.5-dynlib.patch Patch12: inn-2.4.5.filter_nnrpd.patch BuildRequires: perl-devel python db4-devel byacc krb5-devel pam-devel e2fsprogs-devel BuildRequires: perl(ExtUtils::Embed) Requires(pre): shadow-utils Prereq: chkconfig, grep, coreutils, sed Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: bash >= 2.0, inews # XXX white out bogus perl requirement for now Provides: perl(::usr/lib/innshellvars.pl) Buildroot: %(mktemp -ud %{_tmppath}/%{name}