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: 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.