Überall drucken

Drucken mit dem Internet Printing Protocol

Praxis & Tipps | Praxis

Der von Windows 2000 und XP Professional mitgelieferte Webserver IIS lässt sich als Druckserver im Internet Printing Protocol konfigurieren, über den auch Linux und Mac OS X ihre Seiten zu Papier bringen.

Um mit einem Drucker Verbindung aufzunehmen, der an einen anderen Computer angeschlossen ist, verwendet Windows normalerweise Druckerfreigaben, die mit Remote Procedure Calls (RPC) und Microsofts SMB-Protokoll arbeiten. Mit dem Internet Printing Protocol (IPP) existiert bereits seit dem Jahr 2000 ein als RFC standardisiertes Verfahren, um Druckaufträge via HTTP an Netzwerkdrucker zu senden. IPP bietet einige Vorteile gegenüber den Windows-Freigaben: Im Internet überwindet das Standard-Web-Protokoll mühelos Proxies, Router und Firewalls. Auch Linux und Mac OS X können solche Druckserver ohne spezielle Software nutzen, denn ihr Drucksystem CUPS verwendet ebenfalls IPP als Standardprotokoll.

Dieser Beitrag zeigt, wie Sie Microsofts Webserver IIS als Druckserver konfigurieren. Auf Wunsch sichert der Server den Zugang zu den Druckern mit Benutzername und Passwort und verschlüsselt die Verbindung mit SSL, sodass auch bei der Übermittlung via Internet niemand die Ausdrucke mitlesen kann. Das erlaubt etwa Außendienstmitarbeitern, unterwegs Dokumente direkt an einen Drucker in der Firmenzentrale zu schicken.

Für die Verwaltung der freigegebenen Drucker stellt der IIS ein praktisches Webinterface zur Verfügung. Das erspart Administratoren, die viele Drucker betreuen, jedes Gerät auf ihrem Windows-Desktop zu installieren, nur um gelegentlich einen Druckauftrag zu löschen.

Internet Printing Protocol

IPP ist ein Anwendungsprotokoll, das seine Befehle mittels HTTP 1.1 versendet. Anders als WebDAV, das einen Web- zum Dateiserver aufbohrt, sodass man schreibend auf Webverzeichnisse zugreifen kann, definiert IPP keine neuen HTTP-Methoden und -Header. Stattdessen verpackt es seine Befehle und Daten mit einer einfachen Binärkodierung in HTTP-POST-Anfragen. Der neue Content-Typ heißt "application/ipp". An der Entwicklung von IPP waren Firmen wie Adobe, Xerox, Lexmark und HP beteiligt, die das Protokoll in eigene Produkte integriert haben.

Die IPP-Spezifikation lehnt sich an das Druckmodell "Document Printing Application" (DPA, ISO 10175) an. Die als experimentell bezeichnete Version 1.0 vom April 1999 (RFC 2565 bis 2569, 2639) legt fest, wie ein IPPClient Drucker finden kann, den Status eines Druckers abruft, ihm Druckjobs übergibt und sie abbricht. Erst die im September 2000 nachgeschobene Version 1.1 trägt den Status "Standard" (RFC 2910, 2911, 3196 und 3510) und erweitert IPP um zusätzliche Verwaltungsbefehle, etwa um alle Drucker gemeinsam anzuhalten und sämtliche Druckaufträge zu löschen. Der IPP-Standard schlägt vor, dass der IPP-Server am Port 631 lauschen sollte, daran hält sich auch das Unix-Drucksystem CUPS. Der IIS dagegen nimmt Druckaufträge über den HTTP-Port 80 beziehungsweise 443 bei SSL-Verbindungen entgegen. Selbst in der Ausgabe 6.0 von Windows Server 2003 implementiert der Internet Information Server nur Version 1.0 der IPP-Spezifikation.

Der Webserver IIS lässt sich bei Windows 2000 und XP Professional als Windows-Komponente in der Software-Rubrik der Systemsteuerung nachinstallieren. Hier selektieren Sie die "Internet-Informationsdienste (IIS)" und klicken anschließend auf die "Details". Bei Windows 2000 und XP Professional ist die Option "WWW-Dienst/Virtuelles Verzeichnis für Drucker" bereits aktiviert. Unter Windows Server 2003 muss man die Option "Internet Printing" manuell auswählen. Erforderlich ist außerdem die Verwaltungsoberfläche "Snap-In Internet-Informationsdienste". Nach einem Neustart aktiviert Windows den Web- und damit auch gleich den IPP-Server. Um einen Drucker freizugeben, genügt es, in seinem Eigenschaften-Dialog die Seite "Freigabe …" auszufüllen. Ohne weitere Anweisungen erstellt der IIS dann die IPP-Konfiguration.

Der Name, unter dem man den Drucker im Netzwerk bekannt macht, darf keine Leer- oder Sonderzeichen enthalten, sonst quittiert der Webserver den Zugriff mit einem Fehler. Sollen andere Windows-Versionen mit Treibern beliefert werden, sobald sie auf den Drucker zugreifen, fügt man sie mit dem Knopf "Zusätzliche Treiber" hinzu. Die Übermittlung der Druckertreiber funktioniert mit IPP auch via HTTP. Der Eigenschaften-Dialog der Freigabe nimmt auf dem Reiter "Allgemein" den Standort des Druckers und einen Kommentar entgegen. Diese Informationen zeigt auch das Web-Interface des IPP-Servers, das auf dem Server-PC beim Aufruf der URL http://localhost/printers erscheint.

Der IIS Lockdown Wizard kann den Webserver per Knopfdruck sicher konfigurieren und alle nicht benötigten Dienste abschalten. Für den IPP-Druckserver deaktiviert man unter "Script Maps" nur die Blockade von ASP und "Internet printing".

Damit der Druck-Webserver anderen Computern zugänglich ist, muss man bei Windows XP mit Service Pack 2 noch ein Loch in die Firewall bohren. Dazu richten Sie in der Firewall-Konfiguration der Systemsteuerung Ausnahmen für den HTTP-Port 80 ein. Für SSL-Verbindungen muss der Port 443 freigeschaltet sein. Soll der Server zusätzlich auch über die herkömmliche Technik Druckaufträge entgegennehmen oder Verzeichnisse freigeben, aktivieren Sie bei den Ausnahmen das Kontrollkästchen für die "Datei- und Druckerfreigabe". Vorsicht: Wenn sich Ihr PC über eine DFÜ-Verbindung direkt ins Internet einwählt, öffnen Sie damit diese Ports ohne weitere Gegenmaßnahmen auch für ungebetene Besucher.

Wenn der Druckserver nicht nur dem lokalen Netzwerk dienen soll, sondern auch via Internet erreichbar ist, sollten Sie regelmäßig die aktuellen Sicherheits-Updates einspielen und ihn mit Microsofts Werkzeug IIS Lockdown Wizard wasserdicht konfigurieren. Der Assistent bringt Konfigurationsvorlagen für verschiedene Anwendungsszenarien mit und schaltet alle nicht benötigten Funktionen ab. Das Werkzeug ändert Einträge in der Konfigurationsdatenbank des IIS (Metabase), setzt Zugriffsrechte im Dateisystem und installiert den Request-Filter URLScan, der alle eingehenden HTTP-Anfragen überprüft und nur die erwünschten Methoden, Header und Dateiendungen passieren lässt.

Die folgenden Schritte beschreiben die für IPP erforderlichen Einstellungen. Wenn der Webserver noch andere Dienste bereitstellen soll, müssen Sie die Konfiguration selbst anpassen. Der Artikel Speicher im WWW beschreibt, welche zusätzlichen Einstellungen nötig sind, wenn Sie den IIS auch als WebDAV-Server betreiben möchten.

Nach dem Start des Lockdown Wizard wählen Sie das Server-Template "Dynamic Web Server (ASP enabled)", denn die Web-Oberfläche der Druckeradministration verwendet ASP-Seiten. In dieser Vorlage sind die für IPP nötigen Optionen allerdings deaktiviert. Um die Einstellungen anzupassen, aktivieren Sie die Checkbox "View template settings" und klicken auf "Weiter". Auf der Seite "Internet Services" ist nur "Web service (HTTP)" auszuwählen. Unter "Script Maps" dürfen die Optionen "Active Server Pages (.asp)" und "Internet printing" nicht markiert sein. Auf den weiteren Seiten des Assistenten können Sie die Default-Einstellungen übernehmen.

Der Webserver kann kontrollieren, welche Besucher auf die Druckerfreigaben und die Weboberfläche zugreifen dürfen. Relevant ist dafür einerseits die im IIS gewählte Authentifizierungsmethode, mit der die Anwender ihre Anmeldedaten übermitteln, und zum anderen die für das Druckerobjekt gültigen Zugriffsrechte.

Die Authentifizierungsmethode stellt man in der Computerverwaltung des Servers ein. Im Zweig "Dienste und Anwendungen" finden Sie die IIS-Administration unter "Internet Informationsdienste". Die Authentifizierungsmethode für die Weboberfläche und alle freigegebenen Drucker legen Sie in den Eigenschaften des Ordners "Printers" der Standard-Website fest. Auf der Seite "Verzeichnissicherheit" klicken Sie dazu unter "Steuerung des anonymen Zugriffs und der Authentifizierung" auf den Knopf "Bearbeiten".

Der IIS unterstützt mehrere Methoden der Authentifizierung, von denen wir nur die drei wichtigsten vorstellen: Beim "Anonymen Zugriff" fordert der IIS vom Client keine Anmeldedaten und greift mit den Rechten des Benutzers IUSR_computername auf die Drucker zu. Wenn die Berechtigungen in den Eigenschaften des Druckerobjekts so eingestellt sind, dass "jeder" den Drucker verwenden darf, gilt das mit dieser Einstellung für alle, die den Server über Port 80 erreichen. Der anonyme Zugriff ist für lokale Netzwerke praktisch, in denen man den Nutzerkreis nicht einschränken möchte.

Bei der "Standardauthentifizierung" fordert der Webserver vom Client eine Benutzerkennung und ein Passwort an. Mit dieser Methode können sich auch andere Betriebssysteme gegenüber dem Windows-Server ausweisen, denn sie gehört bereits zum Standardrepertoire von HTTP 1.0. Allerdings gehen dabei sowohl die Druckdaten als auch Benutzername und Passwort unverschlüsselt als BASE64-String über die Leitung.

Per Standardauthentifizierung können sich auch Linux und Mac OS beim IIS ausweisen. Dabei ist es empfehlenswert, die Verbindung mit SSL zu sichern, sonst gehen Passwörter und Druckdaten unverschlüsselt über die Leitung.

Um die Verbindung mit SSL abzusichern, muss man im IIS ein Serverzertifikat installieren. Für den Einsatz in kleineren Netzen reicht ein einfaches, selbst signiertes Zertifikat aus. Ein solches lässt sich mit Microsofts Werkzeug SelfSSL leicht erstellen, das im Resource Kit für den IIS 6.0 enthalten ist. SelfSSL haben wir im Artikel Speicher im WWW beschrieben. Im einfachsten Fall genügt der Befehl selfssl /V:1825 auf der Kommandozeile: Nach einer Sicherheitsabfrage importiert SelfSSL dabei das neue Zertifikat automatisch in den IIS. Beim Zugriff auf die Weboberfläche per https:// warnt der Browser dann, das selbst erstellte Zertifikat sei möglicherweise unsicher. Diese Warnung kann man ignorieren. Wenn man sich vergewissert hat, dass es sich beim Gegenüber tatsächlich um den eigenen IIS handelt, importiert man das Zertifikat am besten dauerhaft in den eigenen Webbrowser.

Soll der Zugriff auf alle IPP-Drucker ausschließlich über SSL stattfinden, müssen Sie diese Option in den Eigenschaften des Ordners "Printers" in der IIS-Managementkonsole vorgeben. Unter "Verzeichnissicherheit/Sichere Kommunikation/Bearbeiten …" aktivieren Sie dazu den Schalter "Sicheren Kanal verlangen (SSL)".

In einer reinen Windows-Umgebung bietet die "Integrierte Windows-Authentifizierung" einen guten Kompromiss zwischen Komfort und Sicherheit. Wenn Client und Server Zugriff auf ein Active Directory haben oder Mitglieder derselben Domäne sind, authentifizieren sich die Windows-Systeme ohne Zutun des Anwenders via Kerberos oder NTLM. Steht kein zentraler Windows-Server bereit, fragt der Client den Anwender nach den Login-Daten. Die NTLM-Methode funktioniert allerdings nicht ohne weiteres über Proxies hinweg.

Wenn der IIS fertig konfiguriert ist, erscheinen im Webbrowser beim Aufruf der URL http://<i>SERVER</i>/printers alle auf dem Server freigegebenen Drucker. Nach einem Klick auf einen Druckernamen kann man seine Aufträge löschen, den Drucker anhalten, ihn wieder starten oder seine Eckdaten einsehen. Wer die Seite mit dem Internet Explorer besucht, hat auch die Option, sich mit dem Drucker zu verbinden und ihn damit im lokalen System als Netzwerkdrucker zu installieren.

Bei der Herstellung der Verbindung über den Web-Browser im lokalen Netz prüft Windows allerdings zunächst, ob sich der Server nicht doch via RPC ansprechen lässt – und zieht dieses Verfahren, wenn möglich, IPP vor. Die Art der Verbindung lässt sich am Namen des entfernten Druckers ablesen: Wenn das Icon des Druckers "Druckername an http:// …" heißt, verwendet Windows das Internet-Protokoll. Wenn die Adresse mit \\Server beginnt, ist RPC/SMB im Spiel.

Auch der Installationsassistent für Drucker und Faxgeräte kann IPP-Verbindungen herstellen. Wenn Sie den Assistenten bitten, einen neuen "Netzwerkdrucker" einzurichten, nimmt er auf der folgenden Dialogseite als dritte Option die URL des IPP-Druckers im Format

http://SERVER/printers/DRUCKERNAME/.printer
Auch Linux und Mac OS X können mit ihrem Drucksystem CUPS die freigegebenen Drucker einbinden. Beim Mac klappt das allerdings nur über die Weboberfläche.

entgegen. Auch Windows 2000 hat den Client für IPP-Drucker an Bord, für Windows 9x stellt Microsoft die nötige Software kostenlos bereit (Win95; Win98).

Linux und Mac OS X können über ihr Drucksystem CUPS direkt mit dem IPP-Server Kontakt aufnehmen, ohne dass dafür zusätzliche Software nötig wäre. In der lokalen Weboberfläche von CUPS, die normalerweise unter der URL http://localhost:631 zu erreichen ist, wählt man als Verbindungsmethode für den neuen Drucker "Internet Printing Protokoll (HTTP)". Allerdings bietet der Unix-Dienst kein Eingabefeld für die Anmeldedaten, wenn der Server per Standardauthentifizierung abgesichert ist. Die lassen sich aber in die Drucker-URL einfügen. Das folgende Beispiel stellt die Verbindung mit einem SSLServer her:

http://NAME:PASSWORT@SERVER:443/printers/DRUCKERNAME/.printer

Das Protokoll https:// akzeptierte die Mac-Version von CUPS bei unseren Versuchen nicht, die Verbindung kam stattdessen mit http:// und der Angabe des SSL-Ports 443 zustande. Ist der Serverzugang nicht mit SSL gesichert, lässt man den SSL-Port einfach weg.

Wenn der Drucker trotz der beschriebenen Schritte kein Papier ausspuckt, sind die Protokolldateien des IIS und des URLScan-Moduls die erste Anlaufstelle für die Fehlersuche. Die IIS-Logdateien findet man im Verzeichnis %SystemRoot%\System32\Logfiles\W3SVC1. URLScan protokolliert abgewiesene Verbindungen im Verzeichnis

%SystemRoot%\System32\inetsrv\urlscan.
Mit einer Weboberfläche des IPP-Servers müssen Administratoren nicht mehr jeden Drucker der Firma auf ihrem Desktop installieren, um klemmende Druckjobs zu löschen.

Wenn der Drucker lokal auf dem Server funktioniert, sich aber nicht über IPP ansprechen lässt, kann man den Fehler eventuell beheben, indem man den virtuellen Ordner des Druckers in der IIS-Verwaltung löscht. Die Druckerordner finden Sie unter Websites/Standardwebsite/Druckername. Wenn man mit der linken Maustaste darauf klickt, erscheint stets eine Fehlermeldung, das ist aber normal. Über das Kontextmenü lässt sich das Verzeichnis trotzdem löschen. Sobald der Systemdienst "Druckerwarteschlange" neu startet, erstellt der IIS seine virtuellen Druckerordner neu.

Falls die Installation des Druckertreibers auf einem Client geklappt hat, Windows beim Drucken aber meckert, dass noch kein Drucker installiert sei, dann enthält der Freigabename des Druckers wahrscheinlich ein Leer- oder Sonderzeichen. Wenn Sie die Verbindung zum IPP-Server über einen Proxy herstellen, sollten Sie sicherstellen, dass in den Proxy-Optionen des Internet Explorer die Option "HTTP 1.1 über Proxy-Verbindungen verwenden" gesetzt ist. (rek)

Windows druckt auf CUPS

Mit dem in Windows enthaltenen IPP-Client lassen sich auch Drucker nutzen, die an ein Unix-System angeschlossen sind, das mit dem Drucksystem CUPS arbeitet. Die für die Verbindung nötige URL sieht allerdings etwas anders aus, denn CUPS nimmt Druckaufträge, anders als der IIS, auf dem eigentlich im IPP-Standard vorgesehenen Port 631 entgegen:

http://SERVER:631/printers/DRUCKERNAME

Auch in Mac OS X gibt man über CUPS Drucker frei. Dort lautet die URL allerdings wieder anders: /printers/ ist ab Mac OS X Version 10.3 durch /ipp/ zu ersetzen. Bei den älteren Versionen lautete der Zugriffspfad http://SERVER:631/DRUCKERNAME – nicht nur Microsoft strapaziert Standards.

Anzeige