Listing 1: Linux als VM-Guest
02658 *********************************************************** 02659 *** L390VM07 *** FIREWALL PORTIERUNG ********************* 02660 *********************************************************** 02661 USER L390VM07 PASSWORT 500M 512M G (1) 02662 AUTOLOG AUTOLOG1 (2) 02663 OPTION QUICKDSP 02664 SHARE ABS 3% (3) 02665 IPL CMS (4) 02666 CONSOLE 009 3270 (5) 02667 SPOOL 00C 2540 READER A (6) 02668 SPOOL 00D 2540 PUNCH A (7) 02669 SPOOL 00E 1403 X (8) 02670 LINK MAINT 190 190 RR (9) 02671 LINK MAINT 19D 19D RR 02672 LINK MAINT 19E 19E RR 02673 LINK TCPMAINT 592 592 RR 02674 * OSA TCP/IP 02675 DEDICATE 112 1012 (10) 02676 DEDICATE 113 1013 02677 MDISK 191 3390 6061 0600 LINUX3 MW ALL WPAS MPAS (11) 02678 MDISK 291 3390 1451 0200 VMSPG2 MR ALL WPAS MPAS 02679 MDISK 192 3390 0925 0180 VMSWK9 MR ALL WPAS MPAS 02680 * 193 + 293 für Development + Frozen Releaselevel - wechselweise 02681 MDISK 193 3390 1105 1000 VMSWK9 MR ALL WPAS MPAS 02682 MDISK 293 3390 0001 1000 LINUX4 MR ALL WPAS MPAS
Wozu das Ganze?
Vor der Entwicklung eines neuen Produkts sollte immer die Frage stehen: Wer braucht es und warum? Die Argumentation ist – nach anfänglicher Verwunderung über die ungewöhnliche Kombination – relativ einfach. Die Großrechner sollen schließlich als große Web-, Mail-, News- und sonstige Server ihren Dienst verrichten und haben außer der Unternehmens-Firewall keinen Schutz.
Das ist in solchen Umgebungen nicht akzeptabel. Die Alternative zu einer Firewall auf dem Großrechner ist eine Firewall vor dem Großrechner, die natürlich auch so ausgelegt sein muss, dass sie 24 Stunden am Tag zur Verfügung steht. Diese Nebenbedingung katapultiert die Kosten sofort in mittlere fünfstellige Euro-Bereiche.
Bei einer Firewall auf dem Mainframe gibt es keine zusätzliche Hardware, die ausfallen könnte. Das Operating betreut die Firewall zusammen mit den übrigen virtuellen Rechnern und kann bei Störungen selbst aktiv werden. Klar ist, dass eine Firewall auf einem Großrechner nur den Mainframe und dessen virtuelle Maschinen schützen kann und keinesfalls als Ersatz für eine Firmen-Firewall zu sehen ist.
Der Schutz im Großrechner wirkt nicht nur gegen Angriffe aus dem Internet, auch Zugriffe aus dem Intranet lassen sich entsprechend filtern. Die Einzelsysteme können sich sogar voreinander schützen. Außerdem kann die Firewall als VPN-Gateway dienen – damit sind verschlüsselte Verbindungen auch zu Systemen möglich, die dies von sich aus nicht vorsehen. Beispielsweise lassen sich die 3270-Sitzungen (Telnet-Protokoll auf Zeilenbasis) verschlüsseln, um Benutzernamen und Passwörter abgesichert zu übertragen.

Abbildung 1: Bereits die Größe eines eServers der zSeries von IBM ist beeindruckend. Im Bild: Cyril Price und Kyle Vankleeck neben einer z900.
Im Großrechner ist vieles anders
Wer zum ersten Mal mit Großrechnern arbeitet, dem wird schnell klar, dass diese Architektur wenig mit einem PC zu tun hat. Bei einem PC trennt Betriebssystem und Hardware nicht gerade besonders viel, der Firewall-Spezialist kann den Rechner also gleich mitbetreuen. Bei einem Mainframe liegt zwischen der Firewall und ihrem Betriebssystem auf der einen und der Hardware auf der anderen Seite noch ein komplettes Softwaresystem, das man nicht mal schnell nebenher booten kann.
Für die Installation sind daher zwei Experten nötig, einmal für den Rechner einmal für die Firewall. Auch der geforderte Support ist bei Großrechnern typischerweise anders; eine 24-Stunden-Betreuung mit kurzen Reaktionszeiten unterscheidet sich doch sehr stark von der Mo-Fr/9-17-Mentalität.
Als nach langer und reiflicher Überlegung (eine Nacht) die Entscheidung für eine Entwicklung gefallen und die Dauer für die Portierung auch beschlossen war (zwei bis fünf Tage – ist ja Linux), vereinbarten wir einen Termin zu einem ersten Versuch.
Ein Erlebnisbericht: Die Portierung
Wie entwickelt man eine Firewall für einen Großrechner, wenn man gerade keinen Mainframe übrig hat und die Entwicklung zentral für alle Plattformen auf einem Entwicklungsrechner laufen soll? Man nimmt einen Cross-Compiler, schließlich gibt es ja den Gcc. Eine IBM-Entwicklerseite[1] stellt dazu jede Menge Tipps und Patches bereit. Also sucht man in den verschiedenen Archiven nach den Grundversionen (Debian) für die Patches und holt sie, dann geht alles nach Anleitung: Binutils auspacken, patchen, übersetzen und installieren, Gcc 2.95.3 (nicht 3.0) ebenso, den Kernel cross-kompilieren, dann die Glibc und so weiter.





