Product SiteDocumentation Site

5.5. Absichern des Druckerzugriffs (die lpd- und lprng-Problematik)

Stellen Sie sich vor, Sie kommen zur Arbeit und der Drucker spuckt endlose Mengen von Papier aus, weil jemand eine DoS-Attacke gegen Ihren Drucker-Daemon durchfhrt. Unangenehm, oder?
In jeder UNIX-Druck-Architektur muss es einen Weg geben, um die Daten des Clients zu dem Druck-Server zu schicken. Traditionell machen dies lpr und lp so, dass das Client-Kommando die Daten in das Spool-Verzeichnis kopiert oder symbolisch verlinkt (weshalb diese Programme normalerweise SUID oder SGID sind).
Um jede Gefahr zu vermeiden, sollen Sie Ihren Druck-Server besonders sicher halten. Dies heit, dass Sie Ihren Druckdienst so konfigurieren mssen, dass er nur Auftrge von vertrauenswrdigen Rechnern annimmt. Hierzu mssen Sie die Rechner, von denen Sie Druckauftrge entgegennehmen mchten, in die Datei /etc/hosts.lpd eintragen.
Allerdings akzeptiert der lpr-Daemon auch, wenn Sie dies getan haben, Verbindungen auf Port 515 auf jeder Schnittstelle. Sie sollten sich berlegen, ob Sie Verbindungen von Netzwerken/Rechnern, die nicht drucken drfen, mittels Firewall blocken wollen (der lpr-Daemon kann nicht so konfiguriert werden, dass er nur auf eine bestimmte IP-Adresse lauscht).
Sie sollten Lprng gegenber lpr vorziehen, da er so konfiguriert werden kann, dass er Zugangskontrolle ber IP beherrscht. Und Sie knnen spezifizieren, auf welche Schnittstelle er sich binden soll (wenn auch etwas sonderbar).
Wenn Sie Ihren Drucker nur lokal auf Ihrem System benutzen, werden Sie diesen Dienst nicht ber ein Netzwerk anbieten wollen. Sie sollten dann berlegen, ein anderes Druck-System, wie zum Beispiel das aus dem Paket cups oder http://pdq.sourceforge.net/, das auf den Zugriffsrechten des Gertes /dev/lp0 beruht, einzusetzen.
Bei cups werden die Druckauftrge mit dem HTTP-Protokoll zum Server bertragen. Dadurch muss der Client nicht ber spezielle Privilegien verfgen, aber dies erfordert, dass der Server auf irgendeinem Port lauscht.
Wenn Sie cups jedoch nur lokal benutzen mchten, knnen Sie ihn so konfigurieren, dass er nur auf der Loopback-Schnittstelle lauscht, indem Sie Folgendes in Ihrer /etc/cups/cupsd.conf ndern:
Listen 127.0.0.1:631
Es gibt noch andere Sicherheitsoptionen in dieser Konfigurationsdatei, wie zum Beispiel das Erlauben oder Verweigern von Netzwerken oder Rechnern. Wenn Sie sie allerdings nicht bentigen, belassen Sie es am besten dabei, einfach nur den Port, auf dem gelauscht wird, einzuschrnken. Cups liefert auch Dokumentation ber den HTTP-Port. Wenn Sie diese potenziell ntzlichen Informationen einem Angreifer von auerhalb nicht enthllen wollen (und der Port offen ist), fgen Sie auerdem Folgendes hinzu:
<Location />
 Order Deny,Allow
 Deny From All
 Allow From 127.0.0.1
</Location>
Die Konfigurationsdatei kann so angepasst werden, dass zustzliche Fhigkeiten einschlielich SSL- und TLS-Zertifikate oder Verschlsselung mglich werden. Die Handbcher finden Sie unter http://localhost:631/ oder http://cups.org.
FIXME: Add more content (the article on http://www.rootprompt.org provides some very interesting views).
FIXME: Check if PDG is available in Debian, and if so, suggest this as the preferred printing system.
FIXME: Check if Farmer/Wietse has a replacement for printer daemon and if it's available in Debian.