Page tree
Skip to end of metadata
Go to start of metadata


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]HTTPHTTP
UB Ilmenau[2]HTTPHTTP
SUB Hamburg[3]HTTPSHTTPS
UB Magdeburg[4]HTTPSHTTPS
TIB/UB Hannover[5] [6]HTTPHTTPS
UB Rostock[7]HTTPHTTPS

(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/
...

  • Diese Seite wurde zuletzt am 14. Dezember 2011 um 09:16 Uhr geändert.
  • No labels