Einführung
Der Benutzerkatalog OPC4 kann über eine unverschlüsselte (HTTP) oder verschlüsselte (HTTPS) Verbindung genutzt werden. Für die Sicherheit der übertragenen Daten ist eine Verschlüsselung der benutzerbezogenen Daten ausreichend. Die Bibliotheken im GBV handhaben den Zugang zum OPC4 verschieden. Generell ist es dem Benutzer möglich, zwischen einer verschlüsselten oder unverschlüsselten Übertragung zu wählen.
Mit der Integration von Inhalten aus Fremdquellen sowie der Einführung weiterer personalisierter Dienste sollte eine möglichst exakte Trennung von unverschlüsselter und verschlüsselter Übertragung möglich sein.
So haben Bibliotheken, die ihren OPC4 mit HTTPS betreiben, mit einigen Erweiterungen ab der OPC4-Version 2.2.11 Probleme, da hier Inhalte von HTTPS- und HTTP-Webseiten gemischt werden. Im Ergebnis gibt es unschöne Anzeigen durch den Webbrowser, weil i.d.R. eine Option gesetzt ist, die verhindern soll, dass eine unsichere Webseite auf Informationen der sicheren Inhalte zugreift.
Beispiel IE8-Sicherheitswarnung |
Ein Beispiel ist das Buch 4000 Jahre Algebra mit dem Coverdienst der VZG, der unter der Adresse http://ws.gbv.de/covers/ nur als HTTP angeboten wird und damit fest in <lib>_zzgbv_2_2_11_6.asc, HERMES#SEARCH#HTML#TITLE_PRESENTATION# eingebunden ist.
Zum Vergleich den Permalink des gleichen Buches im OPAC+ der BSB: http://opacplus.bsb-muenchen.de/search?isbn=3-540-43554-9 Hier wird beim HTTPS-Zugang auch das Cover über HTTPS vom eigenen Host opacplus.bsb-muenchen.de angeboten.
Beispiele - OPC4 im GBV
Hier exemplarische einige Bibliotheken mit der über ihre Homepage angeboteten Standardnutzungsoption des OPC4:
Bibliothek | (Haupt-) Katalog | Einstieg über Homepage in die Katalogrecherche | Einstieg aus Katalog in die Benutzerdaten |
SUB Göttingen | [1] | HTTP | HTTP |
UB Ilmenau | [2] | HTTP | HTTP |
SUB Hamburg | [3] | HTTPS | HTTPS |
UB Magdeburg | [4] | HTTPS | HTTPS |
TIB/UB Hannover | [5] [6] | HTTP | HTTPS |
UB Rostock | [7] | HTTP | HTTPS |
(Stand: 21.07.10)
Konfiguration
UB Rostock
Für den OPC4-Zugang wird ein Webserver betrieben, der als Proxy und Applikationsserver vor dem eigentlichen auf dem LBS-Server befindlichen HTTP-Server läuft. Durch die Firewall wird IP-Adressen- und Port-basiert gefiltert, so dass nur den eingetragenen IP-Adressen/Subnetzen der Zugang zum LBS-Server gewährt wird und der Proxy-/Applikationsserver nur über die Ports 80 und 443 zu erreichen ist.
Einsatz eines OPC4-Proxy-/Applikationsservers |
Proxy-/Applikationsserver
Der Proxy- und Applikationsserver katalog.uni-rostock.de verbindet die Anfrage des WEB-Clients über Port 80 oder 443 mit dem HTTP-Server des OPC4 auf Port 8080. Außerdem werden bestimmte Applikationen ausgeführt (i.d.R. php-/perl-Scripts und -Programme), die in den Betrieb des OPC4 weitestgehend, z.B. als <iframe> in den OPC4 oder als eigene Anwendung mit OPC4-like-Oberfläche, integriert sind.
- Beispiel <iframe>
Neuerwerbungen mit myBibRSS: http://katalog.ub.uni-rostock.de/DB=1/LNG=DU/NEWPUB
- Beispiel Applikation in eigenem Fenster
Aufsatzlieferdienst: https://katalog.ub.uni-rostock.de/ald?lang=de
Apache-Konfigurationsdateien
Die RewriteConditions/Rules des Proxy-/Applikationsservers in httpd-vhosts.conf und httpd-ssl.conf erlauben das Ausführen der Skripts- und Programme unter der Adresse des virtuellen Hosts und sperren den Googlebot über die Datei robot.txt aus, da dieser sonst die Katalogstatistik verfälscht. Das Wartungsscript wartung.php kann bei Bedarf als RewriteRule gesetzt werden.
Die folgenden RewriteConditions/Rules aus httpd-vhosts.conf gewährleisten die ausschließliche Benutzung der Loan-Funktionen über HTTPS:
... # Loan-functions ever use HTTPS! RewriteCond %{REQUEST_URI} /loan.*$ [NC] RewriteCond %{SERVER_PORT} !443$ RewriteRule ^(.*) https://katalog.ub.uni-rostock.de/$1 [NE] ...
- httpd-vhosts.conf
... <VirtualHost 199.99.99.99:80> ... RewriteEngine On ProxyRequests Off # Add headers for PSI to refer back to this proxy RequestHeader set X-Server-Base http://katalog.ub.uni-rostock.de RequestHeader set X-Image-Base http://katalog.ub.uni-rostock.de # Handle image requests locally RewriteRule ^/.*\.(gif|ico|jpg|png)$ - [L] # Proxy only for Catalogue <ProxyMatch ^http://199.99.99.100:8080/.*$> Allow from All Order Allow,Deny </ProxyMatch> RewriteCond %{SERVER_NAME} !katalog.ub.uni-rostock.de RewriteRule ^/(.*)$ http://katalog.ub.uni-rostock.de/ # Loan-functions ever use HTTPS! RewriteCond %{REQUEST_URI} /loan.*$ [NC] RewriteCond %{SERVER_PORT} !443$ RewriteRule ^(.*) https://katalog.ub.uni-rostock.de/$1 [NE] # Proxy other requests to PSI RewriteCond %{REQUEST_URI} !^.*/(ubscript-php|ubscript-cgi|ubscript-mybibrss)/.*$ RewriteCond %{REQUEST_URI} !^.*/robots.txt RewriteRule ^/(.*)$ http://199.99.99.100:8080/$1 [P,L] # --- RewriteRule ^/(.*)$ http://katalog.ub.uni-rostock.de/ubscript-php/wartung.php # Map redirects to the proxy ProxyPassReverse / http://katalog.ub.uni-rostock.de/ </VirtualHost> ...
- httpd-ssl.conf
... <VirtualHost 199.99.99.99:443> ... RewriteEngine On ProxyRequests Off # Add headers for PSI to refer back to this proxy RequestHeader set X-Server-Base https://katalog.ub.uni-rostock.de:443 RequestHeader set X-Image-Base https://katalog.ub.uni-rostock.de:443 # Handle image requests locally RewriteRule ^/.*\.(gif|ico|jpg|png)$ - [L] # Proxy only for Catalogue <ProxyMatch "^http://199.99.99.100:8080/.*$"> Allow from All Order Allow,Deny </ProxyMatch> RewriteCond %{SERVER_NAME} !katalog.ub.uni-rostock.de RewriteRule ^/(.*)$ https://katalog.ub.uni-rostock.de/ # Proxy other requests to PSI RewriteCond %{REQUEST_URI} !^.*/(ubscript-php/|ubscript-cgi/|ubscript-ald/|ubscript-mybibrss/|ald).*$ RewriteCond %{REQUEST_URI} !^.*/robots.txt RewriteRule ^/(.*)$ http://199.99.99.100:8080/$1 [P,L] # --RewriteRule ^/(.*)$ https://katalog.ub.uni-rostock.de/ubscript-php/wartung.php # Map redirects to the proxy ProxyPassReverse / https://katalog.ub.uni-rostock.de:443/ </VirtualHost> ...
- robots.txt
User-agent: * Disallow: /
Modifikation OPC4 Templates
Innerhalb des Katalogs werden nur noch relative Pfade (ohne http(s)...) verwendet, damit beide Versionen (SSL-Port443 und Nicht-SSL-Port80) bedient werden können.
Durch die Modifikation von SSL_MODE_BORROWER_ADR und MODE_BORROWER kann realisiert werden, dass die Recherche im OPC4 unverschlüsselt, der Zugang zur Startseite der Loan-Funktionen /loan/DB=1/LNG=DU/USERINFO_LOGIN dann aber verschlüsselt ausgeführt wird.
Bei Benutzung der entsprechenden RewriteConditions/Rules in httpd-vhost.conf ist diese Modifkation der OPC4-Templates nicht notwendig !
- <lib>_classprf.asc
... [HERMES#CLASSPRF##] ... \SSL_MODE_BORROWER_ADR=https://katalog.ub.uni-rostock.de ... \\ [HERMES#CLASSPRF#1#DU] ... \SSL_MODE_BORROWER_ADR=https://katalog.ub.uni-rostock.de ... \\ ...
- <lib>_zzgbv_2_2_11_6.asc
... ! 12-05-06 : js : Fuer SSL-LoanFunction in [HERMES##HTML_URLS#] - \MODE_BORROWER eingefuegt : ! ... <%if not(%empty(%classoption(SSL_MODE_BORROWER_ADR)))><%classoption(SSL_MODE_BORROWER_ADR)><%end> ... ! und Link mit LNG, DB explizit aufgebaut ! (in hro_classprf.asc gesetzt: \SSL_MODE_BORROWER_ADR=https://katalog.ub.uni-rostock.de) ... [HERMES##HTML_URLS#] ... \MODE_BORROWER=<%if equal(%environ(HMSLBS_VERSION),"4")>http://<%environ(HMSLBS_SERVER)><%environ(HMSLBS_ROOT)>/startBorrowerInfo.php?USR=<%variable(OUSUSER)>&BES=<%variable(DB)>&LAN=<%variable(LNG)><%else><%if not(%empty(%classoption(SSL_MODE_BORROWER_ADR)))><%classoption(SSL_MODE_BORROWER_ADR)><%end>/loan/DB=<%variable(DB)>/<%if variable(LNG)>LNG=<%variable(LNG)><%elsif variable(LANGCODE)><%variable(LANGCODE)><%end>/USERINFO_LOGIN<%end> ... \\ ...
Modifikation Skripts
Die Skripts müssen ggf. zwischen HTTP/HTTPS unterscheiden können. Dieses kann unter Verwendung der Umgebungsvariablen realisiert werden, z.B. in perl: $ENV{"HTTP_X_SERVER_BASE"}. Hier das Beispiel des perl-Skripts zur Generierung des Katalogmenüs:
- wwwopc4menu
... # Bitte die Pfade lokal anpassen ... $ENV{IMAGEBASE} = $ENV{"HTTP_X_SERVER_BASE"} . "/img_psi/2.0/menu"; ...
- opc4menu.DU
DEF NAME Katalogmenü Lokales Bibliothekssystem DEF LOGO lbs_en3.gif DEF HOMEURL /ubscript-cgi/wwwopc4menu DEF OPC4STD http://katalog.ub.uni-rostock.de/ DEF OPC4 http://katalog.ub.uni-rostock.de/ DEF OPC4_SSL https://katalog.ub.uni-rostock.de/ DEF GBVVND http://www.gbv.de/gsomenu/?id=natdb& DEF GBVDB http://www.gbv.de/gsomenu/?id=home& DEF UBHOME http://www.ub.uni-rostock.de/ub/index_x DEF NBHOME http://www.hs-nb.de/biblio/bib_deut.htm DEF GVK http://www.gbv.de/gsomenu/opendb.php?db=2.1& DEF GVKP http://www.gbv.de/gsomenu/opendb.php?db=2.2& DEF OLC http://www.gbv.de/gsomenu/opendb.php?db=2.3& DEF ARCHOL http://archiv.ub.uni-rostock.de/index.php?lang=de DEF ARCHOM http://www.ub.uni-rostock.de/ub/xAboutUs/archiv_x ... DEF RKR OPC4 Regional Katalog Rostock DB=1/LNG=DU/ ...
Weblinks
- Diese Seite wurde zuletzt am 14. Dezember 2011 um 09:16 Uhr geändert.