Upload
emlyn
View
85
Download
1
Embed Size (px)
DESCRIPTION
JIGSAW Webserver. Marc Fenselau Michael Imiolczyk. Inhalt. 4. Jigsaw Proxy 4.2 Jigsaw Proxy 4.3 Proxy Client& Server+ Smart Cache 5. Security 5.1 Jigsaw Sicherheit 5.2 Features 5.3 Fazit 6. Vor und Nachteile 5.1 Vorteile 5.2 Nachteile 5.3 Letzter Überblick - PowerPoint PPT Presentation
Citation preview
JIGSAW WebserverJIGSAW Webserver
Marc Fenselau
Michael Imiolczyk
1. Filter 1.1 Was sind Filter? 1.2 Übersicht 1.3 Beispiel „RessourcFilter und
Filtered Ressource“1.4 Weitere Filter
2. Performance 2.1 Gründe 2.2 Gerüchte 2.3 Vier Benchmark Tests 2.4 Fazit
3. Cache Management beim Jigsaw3.1 Was ist das?3.2 Genau3.3 Belegt und verbessert
InhaltInhalt
4. Jigsaw Proxy
4.2 Jigsaw Proxy
4.3 Proxy Client& Server+ Smart Cache
5. Security
5.1 Jigsaw Sicherheit
5.2 Features
5.3 Fazit
6. Vor und Nachteile
5.1 Vorteile
5.2 Nachteile
5.3 Letzter Überblick
7. Ein kleines Java- Webserver- Programm
Jigsaw WebserverJigsaw Webserver
Was sind Filter?
Priorität bei einem Server (Webserver): Implementierte Authentifizierungs- Sicherheitsmechanismen
Filter sind stellen ein Mechanismus dar, der sich allgemein für die verschiedenen Absicherungen für den Jigsaw nutzen lassen
Jigsaw Filter sind „ladbare“ Module, außerhalb des „Haupt Code Stroms“ Können in der Serverlaufzeit geladen/ Entladen werden Jigsaw Filter laufen innerhalb eines „Thread“ Können so den „Thread flow“ des Jigsaw kontrollieren können Kontrolle über den
Zugang auf verschiedene interne Ressourcen des Jigsaw ausüben
Filter
Jigsaw WebserverJigsaw Webserver
Was sind Filter?
Sehr umfangreiches Thema Es gibt sehr viele verschiedene Filter beim Jigsaw Das Konzept der Filter erlaubt beim Jigsaw mehr als nur Absicherung Es können auch eigene Filter hinzugefügt/ programmiert werden
Alle Ressourcen lassen sich mit einem Filter versehen Ein Filter ist auch eine Ressource = Objekt = Klasse Ab der Version 2, werden Filter mit den Protokoll- Frames der angefragten Ressource
assoziiert Filter sichern zuerst mal den Zugang und den Zugriff auf Ressourcen Filter können diese, den Zugriff, manipulieren/ Verändern
Filter
Jigsaw WebserverJigsaw Webserver
1. Beispiel: Die Klasse RessourceFilter und die Klasse FilteredRessource
Die RessourceFilter Klasse definiert seine eigenen Attribute und ist die Oberklasse aller Filter
Abhängigkeiten/ Wo liegt die Oberklasse der Filter ?
Filter
Jigsaw WebserverJigsaw Webserver
1. Übersicht
Filter
Jigsaw WebserverJigsaw Webserver
1. Übersicht
Filter
Jigsaw WebserverJigsaw Webserver
1. Übersicht
Filter
Jigsaw WebserverJigsaw WebserverFilter
Jigsaw WebserverJigsaw WebserverFilter
Jigsaw WebserverJigsaw Webserver
Noch ein paar wichtige Filter:
Die Klasse BasicAuthentifikationFilter aus Httpd = Benutzerkennung und Passwort
GenericAuthFilter Klasse = Die Requests nach ip – adressen authentiziert (Standard), oder mit einem (bzw. Beides) MD5 Hash - Algorithmus
Der AccessLimit Filter CacheFilter LoggerFilter
Filter
Jigsaw WebserverJigsaw Webserver
Zusammengefasst:
Filter sollen Authentifizierung, Sicherheit, Information, Schutzbereiche, Bandbreite, bzw. den abgesicherten Webserververkehr ermöglichen
Neuheit: Nicht nur Bereiche, sondern jedes Objekt lässt sich mit Filter versehen. Weil Filter ausserhalb des Stroms von Hauptcode laufen, können diese dem
Jigsaw nicht schaden Aber können den „Thread flow“ vom jigsaw kontrollieren
Filter
Jigsaw WebserverJigsaw Webserver
Gründe (The Need for Speed)
Anstieg der Internet – Benutzer bis heute Leitungen immer schneller http Anfragen verursachen Internet Traffic Neue, starke Webserver – Architekturen sind gefragt Verfügbarkeit Schnelligkeit und Intelligenz der Webserver
Performance
Jigsaw WebserverJigsaw Webserver
Und Java – Webserver, bzw. der Jigsaw?
Die Gerüchte: Bytecode + Interpretation Ausführung = Langsam Java Virtuell Maschine JIT – Compiler Das gilt für alle Java - Webserver Aber was, wenn alles läuft?
Performance
Jigsaw WebserverJigsaw Webserver
Und der Jigsaw genau?
Hier ist es sehr schwer aktuelle Ergebnisse zu finden (Wird getestet) Der Jigsaw ist der Nachfolger des CERN – Server (W3C) Ein „Experiment für neue Technologien“ Also kein „echter Webserver“ für den „echten“ Einsatz?
Performance
Jigsaw WebserverJigsaw Webserver
4 ausführliche Benchmark - Tests
Performance
Jigsaw WebserverJigsaw Webserver
Test Nr. 1 von der W3.org:
Eine ältere Jigsaw Version, 1.0 alpha 1 und 3 vs. Apache 1.1.1 und den Vorläufer CERN 3.0
Performance Jigsaw vs. Apache vs. CERN
Jigsaw WebserverJigsaw Webserver
Test Nr. 2 : Open Source Web Servers: Performance on a Carrier-Class Linux Platform vom Ericson Research Institut, Kanada, von Ibrahim Haddad
Jigsaw 2.0.1 vs. Tomcat 3.0.1 vs. Apache 1.3.14 und 2.08a auf einem Linux Cluster (Red Hat) von 1 CPU (Server) – 16 CPU‘s (Intel P3- 500Mhz., 512MB RAM pro Server)
Tomcat 3.1 wird hier ohne Apache als „Standalone“ benutzt
Performance Jigsaw vs. Tomcat
Jigsaw WebserverJigsaw Webserver
Test Nr. 2 : Open Source Web Servers: Performance on a Carrier-Class Linux Platform vom Ericson Research Institut, Kanada, von Ibrahim Haddad
Der Apache ist im Moment die Nr. 1, was Benchmarks angeht
Performance
Jigsaw WebserverJigsaw Webserver
Test Nr.3: Aktuellerer Test von der Zeitschrift iX, wie sieht der Jigsaw im Vergleich mit den anderen Java- Webservern aus?
Test der Servlet- Engines von 3 Java Plugins und 3 reinen Java Servern Jigsaw 2.0.3 vs. Suns Java Webserver 2.0 vs. jetty von Mortbay vs. Plugins: jrun,
Allaires, jserv auf Apache 1.3.6 und 1.3.9 Benchmarks: Requests in der Sekunde für 3 Servlets Bekanntes Servlet: „Hello World“ Der Jigsaw Server im “Hello World” Test auf Platz 1 Handelte hier 262 Requests in der Sekunde 181 R/s- 184 R/s für „File Test“ = Platz 2 Erstes Fazit: Der Jigsaw wird immer besser und schneller
Performance Jigsaw vs. Javaserver
Jigsaw WebserverJigsaw Webserver
Test Nr.4: Analyse der Jigsaw 2.0.1 vs. Apache 1.3.4 Architektur, Universität Waterloo
Tesattribute: Performance und technische Flexibilität
Performance Jigsaw vs. Apache
SAAM Siemens
Scale Scale
Performance Apache + -
Jigsaw + -
Technology Flexibility Apache +/- M
Jigsaw + M
Jigsaw WebserverJigsaw Webserver
Fazit
Neue Versionen haben den Älteren immer etwas voraus Der Jigsaw ist heute fast genauso schnell wie der Apache C vs. Java? Jigsaw besitzt angeblich auch um die 10 C- Module Vorteil Jigsaw: Flexibilität durch Java, automatische Plattformunabhängigkeit Der Jigsaw ist eine neue Technologie und mittlerweile, wie der Apache auch, als
Webserver absolut tauglich Warum ist das so?
Performance Jigsaw vs. Apache
Jigsaw WebserverJigsaw WebserverCache Management
Jigsaw WebserverJigsaw Webserver
Was ist das?
Studie: 90%- 95% der Zugriffe auf einem Webserver erfolgen auf nur 10% der verschiedenen Dokumente
Was passiert, wenn diese 10% ermittelt würden, und dem Client direkt zur Verfügung stehen würden?
Der 1. Grund der guten Performance = Der Jigsaw cached die Ressourcen = Objekte
Cache Management
Jigsaw WebserverJigsaw Webserver
Genau:
Jigsaw lädt eine Jigsaw- Resource = Objekt erst dann, wenn auf sie zugegriffen wird
Nach dem Zugriff bleibt die Ressource im Cache Bei erneutem Zugriff auf die Ressource = Kein Festplattenzugriff nötig Der Jigsaw legt eine Tabelle an über den Cache Zusätzlich legt der Jigsaw einen Cache über die Requests an So wird kein neuer Prozess gestartet Nach einer Zeitspanne ohne Request auf das Dokument wird es aus dem Cache
entfernt und auf die Festplatten geschrieben
Cache Management
Jigsaw WebserverJigsaw Webserver
Belegt und verbessert durch Experimente:
P- Jigsaw Cluster und Cooperatives Caching Proxy Smart Cache Versuch Ergebnis: Der Jigsaw gewinnt nochmals 30% - 50% an Performance
Cache Management
Jigsaw WebserverJigsaw Webserver
Proxy und Java:
Jigsaw Proxy
Jigsaw WebserverJigsaw Webserver
Proxy und Java:
Jigsaw Proxy
Methode: PUTWird aber von den meisten BrowsernNICHT unterstützt!
Jigsaw WebserverJigsaw Webserver
Proxy und Java:
Jigsaw Proxy
Jigsaw WebserverJigsaw Webserver
Jigsaw Proxy
Jigsaw Proxy
Jigsaw WebserverJigsaw Webserver
Proxy Client und Server+ Smart Cache
Jigsaw Proxy
Jigsaw WebserverJigsaw Webserver
Proxy Client und Server+ Smart Cache beim Jigsaw
Leistungssteigerung beim Jigsaw ~ 50% Sicherheit durch sehr gute Client, wie auch Server – Proxy Funktion des Jigsaw
Jigsaw Security
Jigsaw WebserverJigsaw Webserver
Sicherheit des Jigsaw Webserver
Eigentlich gut durchdachtes Sicherheitskonzept mit Filtern Sicherheit durch sehr gute Client, wie auch Server – Proxy Funktion des Jigsaw Aber …
Jigsaw Security
Jigsaw WebserverJigsaw Webserver
Sicherheit des Jigsaw Webserver
Jede Software hat Ihre „Bugs“, auch wenn Sie in Java geschrieben ist Auch der Jigsaw, gerade als experimenteller, ist verwundbar, trotzt des sehr gut
durchdachten Sicherheitskonzeptes Schwachstellen: DOS device DoS execute arbitrary code on the system Jigsaw Httpd Proxy server Cross Site Scripting
Jigsaw Security
Jigsaw WebserverJigsaw Webserver
Sicherheit - Features des Jigsaw Webserver
Filter Unterstützung von: SSH, SSL, MD5
Jigsaw Security
Jigsaw WebserverJigsaw Webserver
Fazit
Filterkonzept = + Authentifizierung = + Datensicherheit = + Verwundbarkeit gegen Attacken = Mittelmaß Datensicherung = - Absicherung fehlerhafte Administration = - Weitere kritische Punkte: Offener Quellcode, der Vorteil eigene Klassen hinzuzufügen Aber: Hier ist fast jede Software irgendwann betroffen gewesen, oder ist es heute noch. Deshalb kann die
Sicherheit als gut bewertet werden (IIS Heute noch Bugs)
Jigsaw Security
Jigsaw WebserverJigsaw Webserver
Vorteile
Automatische Plattformunabhängigkeit durch Java Das Konzept „neue Technologie“ läßt sich in der Zukunft gut auf kommende Hardware und Software
Technologien übertragen Umsonst, Open Source + Updates Httpd 1.1 Unterstützung, + Multiprotokollfähig Caching Portabel und erweiterbar Metadaten Einfachste Installation Objektorientiert Beispiel P - Jigsaw Offener Quellcode, Skalierung Sicherheit Dynamische Kommunikation in der Zukunft möglich (error 404) Sehr ausführliche Dokumentation Sehr gute Unterstützung von IPV6 durch Java
Jigsaw Vor und Nachteile zusammengefasst
Jigsaw WebserverJigsaw Webserver
Nachteile
Schwere, ungewohnte Administration Konfigartionsschwierigkeiten Absturz Caching In der Zukunft bei Erweiterung ellenlange Klassennamen Zuständigkeiten sind nicht eindeutig Sehr schwer andere Informationen über den Jigsaw zu bekommen, als vom W3C Viele kleine Module Unübersichtlichkeit in der Zukunft möglich
Jigsaw Vor und Nachteile zusammengefasst
Jigsaw WebserverJigsaw Webserver
Aber
Supermöglichkeit zum experimentieren für Forschung und Studenten
Jigsaw Vor und Nachteile zusammengefasst
Jigsaw WebserverJigsaw Webserver
Der Jigsaw entspricht fast der Architektur eines Referenzservers, letzte Eckdaten
105,725 Zeilen Java code ( etwas C code ) 606 Module: 600 .java files und 10 .c &.h files 174.5 Zeilen code pro Modul im Durchschnitt
Jigsaw letztes Bild
Jigsaw WebserverJigsaw WebserverJigsaw Ende
Auf Wiedersehen und vielen Dank fürs Zuhören!