DIE NETZ-ANWENDUNG ARCHITEKTUR

Dutch French Spanish Portuguese Italian German Japanese Chinese Korean Russian Arabic Bookmark and Share this Article Original English article
  

Netzanwendung Architektur am nähsten ungefähr das zentralisierte Modell des Rechnens, mit vielen verteilten “dünnen” Klienten, die gewöhnlich wenig mehr durchführen, als die Datendarstellung, die an einen zentralen starken “Bediener” anschließt, der den Hauptteil der Verarbeitung tut. Was Netzarchitektur abgesehen von traditionellen zentralisierten rechnenden Modellen einstellt (wie rechnendem Mainframe) ist, daß sie im wesentlichen auf der Technologie beruhen, die durch das World Wide Web, die Hypertext-Preisaufschlag-Sprache (HTML) popularisiert wird und sein Primärtransportmittel, Hypertext-Übergangsprotokoll (HTTP).

Obgleich HTML und HTTP eine typische Netzanwendung Architektur definieren, gibt es viel mehr zu einer Netz-APP als diese zwei Technologien.

Ein kurzes Wort über HTML

Obgleich HTML ein viel weniger kritischer Bestandteil der Netzanwendungen wird, während wir dieses schreiben, scheint es gerechtes’wouldn t angebracht, Erwähnung von ihm vollständig auszulassen, da sie zur frühen Entwicklung des Netzes so kritisch war. Wir’ll Geben ein sehr kurzer Überblick über die Sprache hier, da es einige umfangreiche vorhandene Zündkapseln gibt, die seinen jeden Aspekt umfassen. Unser Fokus ist auf den Sicherheit Implikationen von HTML.

Als Preisaufschlagsprache wird HTML durch sogenannte Umbauten definiert, die das Format oder die Fähigkeiten der Dokumentelemente definieren. Umbauten in HTML werden durch Winkelstützen < und > abgegrenzt, und können eine ausgedehnte Reihe Formate und Funktionalitäten definieren, wie in der HTML Spezifikation definiert. Ist hier ein einfaches Beispiel der grundlegenden HTML Dokumentstruktur:

< HTML >

< H1>This ist ein Erst-Niveau Header</H1 > < p>This ist das erste paragraph.</p > </HTML >

Wenn sie in einem web browser angezeigt werden, werden die Umbauten gedeutet und die Dokumentelemente werden das Format oder die Funktionalität gegeben, die durch die Umbauten definiert wird, wie in der folgenden Abbildung (wir ll’besprechen Netzdatenbanksuchroutinen kurz) gezeigt.

Wie wir in dieses Beispiel sehen können, wird der Text, der durch < H1 > </H1 > Haltewinkel umgeben wird, mit einem großen, fetten Schriftkegel formatiert, während der < p > </p > Text auf einem Format nimmt, das für den Körper des Dokumentes passend ist. So dient HTML hauptsächlich als die Datendarstellung Maschine einer Netzanwendung (Bediener und Klient-Seite).

Da wir’das ve, das, eine komplette Diskussion über die zahlreichen Umbauten gestützt wurden in das gegenwärtige HTMLspec gemerkt wurde, hier, aber nicht angebracht sein würden, wir merken, daß es einige Umbauten gibt, die zum gesundheitsschädlichen Effekt von den böswilligen Häckern benutzt werden können. Hängen am allgemeinsten mißbrauchte Umbauten mit dem Nehmen des Benutzereinganges zusammen (der mit dem < EINGANG > Umbau erfolgt ist, wouldn’t, das Sie kennen). Z.B. wird eine der am allgemeinsten mißbrauchten Eingang Arten versteckt “genannt,” die einen Wert spezifiziert, der nicht in der Datenbanksuchroutine angezeigt wird, aber erhält dennoch mit jeder möglicher anderen Dateneingabe bei der gleichen Form eingereicht. Versteckter Eingang kann in einem Klient-Seite Textherausgeber belanglos geändert werden und dann bekanntgegeben worden zurück zu dem Bediener—, wenn eine Netzanwendung spezifiziert, fangen die Waren, die Preis festsetzen, in auf versteckt, Sie können sehen, wo diese führen konnte. Ein anderer populärer Punkt des Angriffs ist HTML Formen für das Nehmen des eingegebenen Benutzers, wo Variablen (wie Kennwortlänge) wieder auf die Klient Seite eingestellt werden. Aus diesem Grund ziehen die meisten savvy Netzanwendungsentwickleren’t gesetzte kritische Variablen in HTML sehr viel mehr an.

Die meisten der Energie von HTML leitet von seinem Zusammenströmen mit HTTP ab. Wenn es mit HTTP s’Fähigkeit, HTML Dokumente zu senden und zu empfangen kombiniert wird, ist ein vibrant Protokoll für Kommunikationen möglich. In der Tat HTML gilt Über-HTTP als die Lingua Franca des Netzes heute.
Ironisch trotz der Eleganz und des frühen Einflusses von HTML, wird es durch andere Technologien ersetzt. Dieses liegt an einem von HTML s die meisten’offensichtlichen Beeinträchtigungen hauptsächlich: es ist ein statisches Format, das nicht schnell geändert werden kann, um den ständig verschiebennotwendigkeiten der Endbenutzer zu entsprechen. Die meisten Netzaufstellungsorte verwenden heute scripting Technologien, um Inhalt schnell zu erzeugen (diese werden im upcoming Abschnitt die “Netz-Anwendung besprochen”).
Schließlich hat die Überlegenheit einer anderen Preisaufschlagsprache auf dem Internet eine Abnahme im Gebrauch HTML gekennzeichnet und ihn schließlich völlig ersetzen kann. Obgleich sehr ähnlich HTML in seinem Gebrauch der Umbauten, Dokumentelemente zu definieren, Extensible Markup Language wird (XML) das Universalformat für strukturierendaten bezüglich des Netzes wegen seiner Dehnbarkeit und Flexibilität, Daten aller Arten darzustellen. XML ist gut auf seiner Weise zum Werden die neue Lingua Franca des Netzes, besonders in der Arena der Netzdienstleistungen.
O.K., genug über HTML. Lassen Sie’s auf den grundlegenden Bestandteil der Netzanwendungen dieses s an’vermutlich verschieben nicht wahrscheinlich auf Änderung zu jeder Zeit bald, HTTP.

Transport: HTTP

Wie wir’das erwähnte ve, Netzanwendungen groß durch ihren Gebrauch HTTP als das Mittel der Kommunikation zwischen Klienten und Bediener definiert werden. HTTP Version 1.0 ist ein verhältnismäßig einfaches, stateless, das ASCII-based Protokoll, das in RFC 1945 definiert wird (Version 1.1 wird in RFC 2616 umfaßt). Sie läßt gewöhnlich Über-TCP Tor 80 laufen, aber kann von jedem unbenutzten Tor bestehen. Jede seiner Eigenschaften—seine Einfachheit, Statelessness, Textunterseite, TCP 80 Betrieb—$$$IST wert, kurz zu überprüfen, da jede zu so zentral ist (in)security des Protokolls. Die Diskussion folgend ist ein sehr ausgedehnter Überblick; wir raten Lesern, das RFCs für anspruchsvolleres Detail zu beraten.

HTTP’s Einfachheit leitet von seinem begrenzten Satz der grundlegenden Fähigkeiten, des Antrags und der Antwort ab. HTTP definiert eine Einheit, um um ein Hilfsmittel zu bitten, und der Bediener bringt dieses Hilfsmittel zurück, wenn er in der LageIST. Betriebsmittel werden Uniform Resource Bezeichner (URIs) genannt und sie können von den statischen Textseiten bis zu dynamischem strömendem videoinhalt reichen. Ist hier ein einfaches Beispiel eines HTTP ERHALTEN Antrag und eine Bediener’s HTTP 200 O.K.-Antwort, demonstriert mit dem netcat Werkzeug. Zuerst schließt der Klient (in diesem Fall, netcat) an den Bediener auf TCP 80 an. Dann wird ein einfacher Antrag für das “URI” /test.html gebildet, gefolgt durch zwei Wagenrückläufe. Der Bediener reagiert mit einem anzeigenden Code, daß das Hilfsmittel erfolgreich zurückgeholt und die Daten des Hilfsmittels s’an den Klienten weiterleitet wurde.

C:\>nc - vv www.test.com 80

www.test.com [ 10.124.72.30 ] 80 (HTTP) öffnen sich

ERHALTEN Sie /test.html HTTP/1.0

O.K. HTTP/1.1 200

Datum: Mon, Feb 04 2002 01:33:20 GMT Bediener: Anschluß Apache/1.3.22 (Unix): Ende

Inhalt-Art: text/html

< HTML><HEAD><TITLE>TEST.COM</TITLE>etc.

HTTP ist folglich wie ein Hacker’s, das Traum—dort keine Notwendigkeit ist, mysteriöse Syntax zu verstehen, um Anträge zu erzeugen und dechiffriert ebenfalls den Kontext von Antworten. Praktisch jedermann kann ein ziemlich tüchtiger HTTP Hacker mit sehr wenig Bemühung werden.
Ausserdem ist HTTP kein—Konzept des Lernabschnittzustandes wird beibehalten durch das Protokoll selbst stateless. Das heißt, wenn Sie um ein Hilfsmittel bitten und eine gültige Antwort empfangen, bitten Sie dann andere, um den Bedienerrespekt dieses wie ein insgesamt unterschiedlicher und einzigartiger Antrag. Er behält nicht nichts wie ein Lernabschnitt bei oder versucht anders, die Vollständigkeit einer Verbindung mit dem Klienten beizubehalten. Dieses kommt auch in handliches für Häcker, da es keine Notwendigkeit gibt, mehrstufige Angriffe zu planen, um schwierige Lernabschnittwartung Einheiten zu emulieren, die—ein einzelner Antrag ein web server oder eine Anwendung zu seinen Knien holen kann.

HTTPis auch ein ASCII Text gründete Protokoll. Dieses arbeitet in Verbindung mit seiner Einfachheit, um sie approachable zu bilden zu jedermann, das lesen kann. Es gibt keine Notwendigkeit zu verstehen, daß komplizierte binäre kodierenentwürfe oder Übersetzer zu benutzen—alles, das ein Hacker wissen muß, innerhalb jedes Antrags und Antwort, im Klartext vorhanden ist.

Schließlich funktioniert HTTP über einem weithin bekannten TCP Tor. Obgleich es auf jedem möglichem anderen Tor eingeführt werden kann, versuchen fast alle Netzdatenbanksuchroutinen automatisch, an TCP 80 zuerst anzuschließen, so praktisch jedes web server hört auf diesem Tor außerdem (sehen Sie unsere Diskussion über SSL/TLS im folgenden Abschnitt für eine grosse Ausnahme zu diesem). Dieses hat große Verzweigungen für die beträchtliche Mehrheit einen Netzen, die hinter jenen magischen Vorrichtungen sitzen, die Brandmauern genannt werden, die uns vor allen Übel der äußeren Welt schützen sollen. Brandmauern und andere Netzarten der Sicherheitsleistung werden praktisch wehrlos gegen das Netz gemacht, das wenn sie, um zusammengebaut werden TCP 80 zu einem oder mehr Bedienern durch zu erlauben zerhackt. Und was schätzen Sie sind die allgemeinste Brandmauerkonfiguration auf dem Internet heute? Erlauben von von TCP 80, selbstverständlich—, wenn Sie eine Funktionsweb site wünschen, erhielten’Sie ve, es zugänglich zu bilden.

Selbstverständlich wir’bezüglich Sachen sehr viel allzu vereinfachen hier. Es gibt einige Ausnahmen und Qualifikationen, die man über die vorhergehende Diskussion über HTTP bilden könnte.

SSL /TLS

Eine der offensichtlichsten Ausnahmen ist, daß viele Netzanwendungen heute HTTP über einem anderen Protokoll einen Tunnel anlegen, das Secure Sockets Schicht (SSL) genannt wird. SSL kann für Transportierenschicht Verschlüsselung zur Verfügung stellen, damit ein Vermittler zwischen Klienten und Bedienerdose’t einfach Klartext HTTP Recht weg von der Leitung las. Anders als “die Verpackung” von von HTTP in einem schützenden Oberteil jedoch verlängert SSL nicht oder ändert im wesentlichen die grundlegende HTTP Verlangenantwort Einheit. SSL tut nichts für die gesamte Sicherheit einer Netzanwendung anders als, sie schwieriger zu bilden, dem Verkehr zwischen Klienten und Bediener heimlich zuzuhören. Wenn eine Zusatzeinrichtung des SSL Protokolls, das Klient-Seite Bescheinigungen genannt wird, eingeführt wird, dann kann der zusätzliche Nutzen der gegenseitigen Authentisierung verwirklicht werden (die Klient’muß s Bescheinigung durch eine Berechtigung unterzeichnet werden, die durch den Bediener vertraut wird). Jedoch wenige, wenn irgendwelche Aufstellungsorte auf dem Internet dies heute tun. Die neueste Version von SSL wird Transport-Schicht-Sicherheit (TLS) genannt. SSL/TLS funktioniert gewöhnlich über TCP Tor 443.

Zustand-Management: Plätzchen

Wir’ve blieben eine Spitze auf der Tatsache, daß HTTP selbst stateless ist, aber eine Anzahl von Einheiten sind begriffen worden, um es wie ein stateful Protokoll sich benehmen zu lassen. Die allgemein verwendete Einheit benutzt heute Daten benannte Plätzchen, die als Teil des HTTP ausgetauscht werden können
der request/response Dialog, zum des Klienten und Anwendung werden sie denken zu lassen wirklich über virtuelle Verbindung angeschlossen (diese Einheit wird völlig in RFC 2965 beschrieben). Plätzchen sind bester Gedanke von als Zeichen, den Bediener übergeben können einem Klienten, dem Klienten erlaubend, die Web site so lang zugänglich zu machen, wie sie das Zeichen für jeden Antrag darstellen. Sie können im Speicher vorübergehend gespeichert werden oder zur Scheibe dauerhaft geschrieben werden. Plätzchen sind nicht vollkommen (besonders wenn sie schlecht eingeführt werden) und es gibt die Ausgaben, die auf der Sicherheit und Privatleben verbunden sind mit dem Verwenden sie beziehen, aber keine andere Einheit ist weit schon angenommen geworden.

Authentisierung

Schließen Sie auf den Fersen von statefulness kommt das Konzept der Authentisierung. Welches’s der Gebrauch von Verfolgen Zustand, wenn Sie t’sogar anziehen, wissen wem’s mit Ihrer Anwendung? HTTP kann einige unterschiedliche Arten Authentisierung Protokolle einbetten. Sie schließen grundlegenden Klartext username/password mit ein, Base-64 kodiert (belanglos decodiert).

-   verdauen Sie  wie grundlegendes, aber Kennwörter sind durcheinandergemischt, damit die Klartextversion nicht abgeleitet werden kann.

-  Form-gründete  A, das gefertigtes Formular benutzt wird, um username/password (oder andere Bescheinigungen) einzugeben und mit kundenspezifischer Logik am rückseitigen Ende verarbeitet wird. Benutzt gewöhnlich ein Plätzchen, um angemeldeten “Zustand” beizubehalten.

-  NTLM  Microsoft’s eigenes Authentisierung Protokoll, eingeführt innerhalb HTTP request/response der Überschriften.

-  verhandeln Sie  A über neues Protokoll von Microsoft, das irgendeine Art Authentisierung oben spezifiziert, durch Klienten und Bediener dynamisch vereinbart zu werden erlaubt, und fügt zusätzlich Kerberos für Klienten mit Microsoft’s Internet Explorer Datenbanksuchroutineversion 5 oder grösseres hinzu.

-  Klient-Seite Bescheinigungen  , obgleich selten benutzt, SSL/TLS, stellt für eine Wahl, die die Echtheit einer digitalen Bescheinigung überprüft, die durch das web client dargestellt wird zur Verfügung und im Wesentlichen bildet es ein Authentisierung Zeichen.

- Microsoft Paß  A einzeln-Zeichen- im Service (SSI) laufen durch Microsoft Corporation, der die Netzaufstellungsorte (genannt Passport “Partners)”die Benutzer beglaubigen läßt, die auf ihrer Mitgliedschaft im Paßservice basieren. Die Einheit verwendet einen Schlüssel, der zwischen Microsoft und dem Partneraufstellungsort geteilt wird, um ein Plätzchen herzustellen, das einzigartig den Benutzer kennzeichnet.

Diese Authentisierung Protokolle lassen nach rechts Über-HTTP (oder SSL/TLS), mit Bescheinigungen einbetteten nach rechts im request/response Verkehr laufen.

Die Klienten, die Microsoft s’IIS zum web server verwendet grundlegende Authentisierung beglaubigt werden, werden verkörpert, als ob sie wechselwirkend angemeldet wurden.

Andere Protokolle

HTTP ist trügerisch es—s’Überraschen einfach, wieviel kreative Leute der Meilenzahl eine seine grundlegenden request/response Einheiten verlassen haben. Jedoch hat’es s nicht immer die beste Lösung zu den Problemen Anwendung Entwicklung und folglich noch kreativere Leute das grundlegende Protokoll in einer verschiedenen Reihe neuer dynamischer Funktionalität aufgewickelt.
Ein einfaches Beispiel ist was, mit non-ASCII-based zu tun zufriedenstellen verlangt durch einen Klienten. Wie erfüllt ein Bediener diesen Antrag, da er nur ASCII über HTTP sprechen kann? Das venerable Mehrfachinternet-Post-Verlängerungen (MIME) Format wird verwendet, um Binärdateien über HTTP zu bringen. MIME wird in RFC 2046 umrissen. Dieses ermöglicht einem Klienten, um fast irgendeine Art Hilfsmittel mit naher Versicherung zu bitten, daß der Bediener versteht, was er wünscht und den Gegenstand zum Klienten zurückbringt.

Selbstverständlich können Netzanwendungen zu irgendwelchen der anderen populären Internet-Protokolle, wie E-mail (smtp) und Datenumspeicherung (ftp) auch außerdem ausrufen. Viele Netzanwendungen beruhen auf eingebetteten E-mail Verbindungen, um Klienten verbunden zuSEIN.

Schließlich ist Arbeit immer im Gange, neue Protokolle der HTTP Suite hinzuzufügen. Eine der bedeutendsten neuen Hinzufügung ist Netz verteiltes Schreiben und Versioning (WebDAV). WebDAV wird in RFC 2518 definiert, das einige Einheiten für schreibenden und handhabenden Inhalt auf Remotenetzbedienern beschreibt. Persönlich ziehen wir’t denken an, daß dieses eine gute Idee, als Protokoll ist, das Schreiben Daten zu einem web server ist Mühe im Bilden miteinbezieht.

Dennoch wird WebDAV von Microsoft unterstützt und besteht bereits in ihren weit entfalteten Produkten, also ist eine Diskussion über seine Sicherheit Verdienste vermutlich an diesem Punkt strittig.

Das Web client

Der Standardnetzanwendung Klient ist das web browser. Es steht über HTTP (unter anderen Protokollen) in Verbindung und überträgt Hypertext-Preisaufschlag-Sprache (HTML), unter anderen Preisaufschlagsprachen. In der Kombination stellen HTML und HTTP die Daten verarbeitet durch das web server dar.

Wie HTTP ist das web browser auch trügerisch einfach. Wegen der Dehnbarkeit von HTML und von seinen Varianten, ist es möglich, viel Funktionalität innerhalb des scheinbar statischen Netzinhalts einzubetten.

Einige jener Fähigkeiten    basieren  um aktive  zufriedene  Technologien  wie Microsoft’s ActiveX und Sonne-Mikrosystem’s Java. Einen ActiveX Gegenstand in HTML einzubetten ist dieses einfache:

< Gegenstand id="scr"

       classid="clsid:06290BD5-48AA-11D2-8432-06008C3FBFC" > </Gegenstand >

Noch einmal in der Welt des Netzes, ist alles in ASCII. Wenn Sie übertragen werden in einem web browser, das was versteht, mit ActiveX zu tun, die Steuerung, die durch diesen Gegenstandumbau spezifiziert wird, wird entweder downloadet von der Remoteweb site oder geladen direkt von der lokalen Maschine, wenn sie bereits angebracht wird (viele ActiveX Kontrollen, kommen Sie preinstalled mit Windows und in Verbindung stehenden Produkten). Dann wird es auf Echtheit mit Microsoft s’Authenticode Technologie überprüft, und vorbei eine Anzeige wird angezeigt erklärend zurückfällt, wem digital die Steuerung und den Antrag dem Benutzer einer Wahrscheinlichkeit zu sinken, sie laufen zu lassen unterzeichnete. Wenn der Benutzer ja sagt, führt der Code durch. Etwas Ausnahmen dieses Verhaltens sind Kontrollen gekennzeichnetes “Safe für das Scripting,” die ohne irgendeine Benutzerintervention laufen.
HTMLis eine fähige Sprache, aber sie’s erhielten seine Beschränkungen. Über den Jahren, sind neue Technologien wie dynamische HTML und Art-Blätter aufgetaucht, um herauf den Blick und das Management der Datendarstellung zu würzen. Und, da wir’das ve, das, grundlegendere Änderungen gemerkt wird, z.Z. im Gange sind, da Extensible Markup Language (XML) langsam anfängt, HTML als die Sprache des Netzes’s der Wahl zu ersetzen.

Schließlich kann das web browser in anderen Protokollen sprechen, wenn es benötigt. Z.B. kann es mit einem web server über SSL sprechen, wenn dieser Bediener eine Bescheinigung benutzt, die durch eine der vielen Wurzelbehörden unterzeichnet wird, die Bescheinigungen mit populären kommerziellen Datenbanksuchroutinen versenden. Und es kann um andere Betriebsmittel wie ftp Dienstleistungen bitten. Wirklich ist das web browser eine der größten Waffen, die für Angreifer heute vorhanden sind.

Trotz der ganzer Bereifen vorhanden mit gegenwärtigen Netzdatenbanksuchroutinen, es’s noch die rohe HTTP/HTML Funktionalität, die der beste Freund’des Hackers s ist. Viele Informationen gleiten vorbei unter die hübsche Darstellung eines web browser, und in einigen Fällen, umformatieren sie surreptitiously einige Anträge, die verwendet werden konnten, um web serversicherheit zu prüfen (zum Beispiel, Microsoft’streift s Internet Explorer aus Punkt-Punkt-Schrägstrichen ab, bevor es einen Antrag sendet). Jetzt haben wir’Dose t das, während eines ernsten Sicherheit Berichts zu geschehen, kann wir?

Das Web server

Das web server wird einfach als HTTP Dämon (Service) der Klient Anträge für Betriebsmittel empfängt, durchführt etwas grundlegende Satzgliederung auf dem Antrag, das Hilfsmittel sicherzustellen besteht (unter anderem) und übergibt es dann weg zur Netzanwendung Logik für die Verarbeitung beschrieben. Wenn die Logik eine Antwort zurückbringt, bringt der HTTP Dämon sie zum Klienten zurück.

Es gibt viele populäre web serversoftwarepakete, die heute vorhanden sind. In unserer beratenen Arbeit sehen wir eine große Menge von Microsoft IIS, der Apache Software-Grundlage’s Apache HTTP Bediener (allgemein gerechter angerufener “Apache”), AOL/Netscape’s Unternehmen-Bediener und Sonne’s iPlanet. Eine Idee von was das Netz auf seine Bediener an jeder möglicher einer Zeit, laufen läßt Überprüfung aus der Netcraft Übersicht an http://www.netcraft.net erhalten.
Obgleich ein HTTP Bediener wie solch eine einfache Sache scheint, müssen wir noch einmal unterstreichen, daß zahlreiche Verwundbarkeit in den Netzbedienern über den Jahren aufgedeckt worden ist. So viele tatsächlich denen Sie überzeugend argumentieren konnten, daß web serververwundbarkeit das Zerhacken und Sicherheit zum internationalen Vorsprung während der neunziger Jahre fuhr.

Netz-Bediener gegen Netz-Anwendungen

Welches oben die oft-unscharfe Unterscheidung zwischen Netzbediener und Netzanwendungen holt. Tatsächlich ziehen viele Leute’t unterscheiden zwischen dem web server und den Anwendungen an, die auf es laufen. Dieses ist eine Hauptaufsicht, die—wir glauben, daß Verwundbarkeit entweder im Bediener oder anderwohin in der Anwendung wichtig ist.

Während wir’Re an ihm, s’auch sicherstellen lassen, versteht jeder die Unterscheidung zwischen zwei anderen Kategorien des Netzes und system-level Verwundbarkeit der Verwundbarkeit. Networkand system-level Verwundbarkeit funktioniert unterhalb der web- server und Netzanwendung. Sie sind Probleme mit dem Betriebssystem des web server oder die unsicheren Dienstleistungen, die auf ein System laufen, das auf dem gleichen Netz wie das web server sitzt. Entweder im Fall, kann Ausnutzung von Verwundbarkeit auf Netz- oder Systemebene zu Kompromiß eines web server und der Anwendung auch führen, die auf sie laufen. Deshalb wurden Brandmauern erfunden—, um Zugang zu alles zu blockieren, aber der Netzservice, damit Sie t’anziehen, müssen um die Eindringlinge soviel sich sorgen, die diese anderen Punkte in Angriff nehmen.

Wir holen diese Unterscheidungen oben, damit Leser erlernen, sich Sicherheit holistically zu nähern. Überall besteht eine Verwundbarkeit—sei es im Netz, System, web server, oder Anwendung—dort ist das Potential für Kompromiß.

Z.B. muß ein typischer Angriff das Netz überqueren und Leitung-Niveau Protokolle wie Ethernet und TCP/IP beschäftigen, dann, führt die System Schicht mit Haushaltungausgaben wie Paketwiederversammlung, und an durch, was wir die Service-Schicht nennen, wo Bediener wie der HTTP Dämon, durch zur Anwendung Logik leben, und schließlich zu den tatsächlichen Daten manipuliert durch die Anwendung. An irgendeinem Punkt während des Weges, konnte eine Verwundbarkeit, die in einer der Schichten besteht, ausgenutzt werden, um System oder Netzkompromiß zu verursachen.

Jedoch wie das OSI Modell, gibt die Abstraktion, die von den niedrigeren Schichten bereitgestellt wird, das Aussehen von logisch in Verbindung stehen über einem angrenzenden Mittel. Z.B. würde ein richtig eingeführter Angriff gegen einen HTTP Bediener einfach unobtrusively durch die Netz- und Systemsschichten reiten, dann kommt zu den Dienstleistungen überlagern, um seine Beschädigung zu tun. Die Anwendung und Datenschichten sind keine, das klügere, obgleich eine erfolgreiche Großtat des HTTP Bedieners führen kann, um System Kompromiß zusammenzuzählen, in diesem Fall die Daten vom Angreifer irgendwie besessen werden.

Die Netz-Anwendung

Der Kern einer modernen Web site ist seine Bediener-Seite Logik (obgleich die Klient-Seite Logik, die im web browser eingebettet wird noch, etwas schweres Anheben tut). Diese sogenannte “Nreihe” Architektur verlängert, wie normalerweise eine hübsche unverfälschte Sache einen HTTP Bediener und Umdrehungen es in eine dynamische Maschine der Funktionalität aussehen würde, die fast für eine nahtlose, stateful Anwendung überschreitet, daß Benutzer auf in Realzeit einwirken können.

Das Konzept “der Nreihe” ist zu einem Verständnis einer Netzanwendung wichtig. Im Gegensatz zu der einzelnen Schicht wird die Netz-APP Schichtdose selbst von vielen eindeutigen Schichten enthalten. Die stereotypische Darstellung ist die drei-überlagerte Architektur, enthalten von der Darstellung, von der Logik und von den Daten.
Die Darstellungsschicht stellt einen Service für das Nehmen des Einganges und das Anzeigen von von Resultaten zur Verfügung. Die Logikschicht nimmt den Eingang von der Darstellungsschicht und führt etwas Arbeit über sie (die Unterstützung der Datenschicht möglicherweise, erfordernd) durch und übergibt dann das Resultat zurück zu Darstellung. Schließlich liefert die Datenschicht die permanente Ablage der Informationen, die durch die Logikschicht gefragt werden oder aktualisiert werden kann und stellt eine Abstraktion damit Daten doesn’t Notwendigkeit, in die Logikschicht festverdrahtet zu sein bereit, und kann leicht aktualisiert werden (wir’ll besprechen die Datenschicht selbst in einem upcoming Abschnitt).

Um zu verstehen wie dieses alles zusammen arbeitet, lassen Sie’s mit einem Beispiel veranschaulichen. Betrachten Sie eine einfache Netzanwendung, die das Festplattenlaufwerk des lokalen web server nach den Dateinamen sucht, die den Text enthalten, der vom Benutzer geliefert wird und die Resultate anzeigt. Die Darstellungsschicht würde aus einer Form mit auffangen bestehen, um Eingang der Suchzeichenkette zu erlauben. Die Logikschicht konnte ein vollziehbares Programm sein, das die Eingang Zeichenkette nimmt, sicherstellt, daß sie doesn’t alle möglicherweise böswilligen Buchstaben enthält, und hervorruft den passenden Datenbankstecker, um einen Anschluß zur Datenschicht zu öffnen und eine Frage mit der Eingang Zeichenkette schließlich durchführen. Die Datenschicht konnte aus einer Datenbank bestehen, die einen Index aller Dateinamen speichert, die auf der lokalen Maschine Resident sind, aktualisiert in der Realzeit. Die Datenbankfrage bringt einen Satz zusammenpassende Aufzeichnungen zurück, und spuckt sie zurück zu der vollziehbaren Logikschicht. Die Logikschicht analysiert aus nicht notwendigen Daten im recordset und bringt dann die zusammenpassenden Aufzeichnungen zur Darstellungsschicht zurück, die sie in HTML einbettet, damit sie hübsch für den Endbenutzer auf ihrer Reiserückseite durch das web server zur Klient s Datenbanksuchroutine’formatiert werden.

Viele der Technologien verwendeten, Anwendungen wirklich zu errichten integrieren die Funktionalität von einer oder von mehr dieser Schichten, also sie’s häufig stark, um ein vom anderen in einer realistischen APP zu unterscheiden, aber sie’bezüglich dort. Z.B. Microsoft’s erlauben aktive Bediener-Seiten (Asp) Ihnen, Bediener-Seite Logik innerhalb der Webseiten in der Darstellungsschicht einzubetten, damit es keine Notwendigkeit gibt, ein eindeutiges vollziehbares zu haben, zum der Datenbankfragen durchzuführen.

Die Schlüsselsache, zum über alle diese Technologien zu verstehen ist, daß sie mehr wie executables anstatt Static arbeiten, Text gegründete HTML Seiten. Z.B. ein Antrag für a
PHP Index konnte wie dieses aussehen:

http://www.somesite.net/article.php?id=425&format=html

Wie Sie sehen können, ist die Akte article.php wie ein vollziehbares, mit den Einzelteilen auf der linken Seite des Fragezeichens laufen gelassenes gerechtes, das wie zusätzlicher Eingang oder Argumente behandelt wird. Wenn Sie article.php sich vorstellen, wie ein Windows vollziehbares (Anruf es article.exe) laufen gelassen von einer Befehl Linie, das vorhergehende Beispiel wie dieses aussehen konnte:

C:\>article.exe/id: 425/format: HTML

Häcker der Weltüberschuß vermutlich geben noch Dank für diese entscheidende Entwicklung in der Geschichte’des Netzes s, da sie Remotebenutzer die Fähigkeit, Code auf dem web server mit verbraucherbestimmtem Eingang laufen zu lassen liefert. Dieses setzt eine extrem große Belastung auf Netzanwendung Entwickler, um ihre Indexe und executables richtig zu entwerfen.

Es gibt auch einen vollständigen Wirt der Verkäufer, die sogenannte Netzanwendung Plattformen verpacken, die ein web server mit einem integrierten Entwicklung Klima (IDE) für Netzanwendung Logik kombinieren. Einige der populäreren Spieler in diesem Raum schließen BEA Systeme, Broadvision und andere mit ein.

Schließlich können mehrfache Anwendungen auf ein web server laufen. Dieses trägt zur Kompliziertheit der gesamten Netzarchitektur bei, die der Reihe nach die Gefahr der Sicherheit Belichtungen erhöht.

Die Datenbank

Manchmal gekennzeichnet, als das “rückseitige Ende,” die Datenschicht gewöhnlich die letzte Reihe in einer Nreihe Architektur bildet. Möglicherweise ist mehr als noch etwas, die Datenbank für die Entwicklung des Netzes von einem statischen, HTML-GEFAHRENEN Wesen in ein dynamisches, flüssiges Mittel für Information Retrieval und in einen Ehandel verantwortlich gewesen.

Die Verkäufer und die Plattformen innerhalb der Datenschicht sind über dem Netz heute ziemlich konstant: Sql (Microsoft und der non-Microsoft Vielzahl) und Orakel sind die dominierenden Spieler hier. Logikbestandteile rufen gewöhnlich eine bestimmte Datenbanksteckerschnittstelle hervor, um direkt mit Datenbanken zu sprechen, bilden Fragen, Updateaufzeichnungen und so weiter. Der allgemeinste Stecker, der heute benutzt wird, ist geöffnete Datenbank-Konnektivität oder ODBC.

Vollmächte

Eins der ersten usurpers des sauberen Ein-Klient-zu-einbediener Modells war die Netzvollmacht. Völker, die große Netze wie America Online (AOL) ausübten entschieden, daß ein Tag, den, anstatt, jedes von ihrem zu erlauben, umpteen Million einzelne Teilnehmer, um an den anzuschließen, Internet-Sache, sie würde einführen eine einzelne Einfahrt newfangled, durch die alle Anschlüsse überschreiten mußten. Diese Einfahrt würde den Ausgangsdatenbanksuchroutineantrag beenden und dann um das ursprüngliche Hilfsmittel im Namen des Klienten bittet. Dieses ließ die Einfahrt Sachen wie Pufferspeicher allgemein erbetener Internet-Inhalt, so Einsparungbandbreite, zunehmende Leistung tun und so weiter. Eine Einfahrt, die Anträge im Namen eines Klient Systems bildet, ist traditionsgemäß eine Vollmacht genannt worden. Vollmächte benehmen groß, sich wie annonciert, ersparen Bandbreite und verringern Bedienerlast, aber sie haben mindestens eine häßliche Nebenwirkung: die Zustandmanagement- oder -sicherheitseinheiten, die auf Klient QuellcIp address basieren, neigen, ganz beschmutzt herauf zu erhalten, wenn sie eine Vollmacht überqueren, da die Quelladresse des Klienten immer die Vollmacht ist-. Wie erklären Sie einen Klient’s Antrag von anderen? Gleichmäßiges schlechteres, wenn es in den Reihen als AOL eingeführt wird, kann ein Klient Antrag aus eine Vollmacht herauskommen, und ein zweiter Antrag kann aus andere herauskommen. Nehmenhauptpunkt: ziehen Sie’t bauen auf Klient-Seite Informationen an, wenn Sie Netzanwendung Zustandmanagement oder Sicherheitsmaßnahmen entwerfen.

Laden Sie Stabilisatoren

Während Sie sich vorstellen konnten, kam jemand bald oben mit einer ähnlichen Idee für die Bedienerseite der Netzgleichung. Last Stabilisatoren führen ein wenig wie die Rückvollmächte durch, handhaben die ankommende Last der Klient Anträge und verteilen sie über einem Bauernhof der identisch zusammengebauten Netzbediener. Der Klient weder weiß noch interessiert sich, wenn ein Bediener seinen Antrag oder anderer erfüllt. Dieses verbessert groß das scalability der Netzarchitektur, da eine theoretisch unbegrenzte Anzahl von Netzbedienern eingesetzt werden kann, um auf die ständig steigenden Anzahlen von Klient Anträgen zu reagieren.

Last ausgleichende Algorithmen können in statisches kategorisiert werden (wo Anträge auf eine vorbestimmte Art und Weise wie RundRound-robin verlegt werden) oder dynamisch (in, welchen Anträgen zu den Bedienern shunted, die auf irgendeinem variablem Last Faktor wie wenigen Anschlüssen oder schnellster Verbindung basieren).  Der Last Stabilisator selbst nimmt gewöhnlich auf einem kanonischen Namen wie www.company.com und verlegt dann Anträge auf virtuellen Bedienern, die möglicherweise nicht Internet-zugängliche Adressen haben können oder können.
Last ausgleichende Implementierungen, die wir allgemein in unsere Arbeit sehen, schließen Cisco lokalen Direktor und F5’s Gross-IP mit ein. Eine andere interessante Implementierung ist der Netz-Last ausgleichende (NLB) Entwurf von Microsoft. Sie basiert auf einer übertragenden Konzept- anstatt Antragwegewahl der Bitübertragungsschicht. Irgendwie es’s Art der wie Zusammenstoß’abfragung Vermeidung Architektur des Ethernets s. Es funktioniert so: Ein ankommender Antrag ist Sendung zum gesamten Bauernhof der Netzbediener. Gegründet auf einem internen Algorithmus, reagiert nur einer der Bediener. Der Rest der Klient’s Anträge werden dann auf diesem Bediener, wie anderen Last ausgleichenden Entwürfen verlegt. Microsoft’s Anwendung Mitte-Produktgebrauch diese Annäherung und wir denken sie’s, das elegant ist, obwohl wir der Hafen’t, der ihm gesehen wurde, viel entfalteten. Scalability wird groß erhöht, weil das ausgleichende Vorrichtung doesn’t Pakete verlegen müssen; es überträgt sie nur.
Was auch immer die Technologie einsetzte, neigen Last Stabilisatoren, das Leben härter zu bilden für Häcker. Weil ein gegebenes Antrag doesn’t immer zum gleichen Bediener gesendet erhalten, können Abtastverfahren unvorhersehbare Resultate erbringen.

Das Neue Modell: Netz-Dienstleistungen

Das Netz entwickelt ständig. Welches’s im Speicher für Netzanwendung Architektur in naher Zukunft? Da wir dieses schreiben, sind die Wörter auf’jeder s Lippen Netzdienstleistungen.

Netzdienstleistungen sind mit den selbständigen, modularen Netzanwendungen vergleichbar. Netzdienstleistungen basieren auf einem Satz viel-hyped Internet Standards-indevelopment. Jene Standards schließen die Netz-Service-Definition Sprache (WSDL), ein XMLformat für das Beschreiben von von Vermittlungsdiensten ein; die Universalbeschreibung, Entdeckung- und Integrations(UDDI) Spezifikation, ein Satz XML Protokolle und eine Infrastruktur für die Beschreibung und die Entdeckung der Netzdienstleistungen; und das einfache Gegenstand-Zugang Protokoll (SEIFE), ein XML-gegründetes Protokoll für Nachrichtenübermittlung und RPC-Art Kommunikation zwischen Netzdienstleistungen. (ist jedermann nicht überzeugtes XML spielt eine wichtige Rolle zukünftig des Netzes?) Diese drei Technologien wirksam einsetzend, können Netzdienstleistungen gemischt werden und zusammengebracht werden, um erfinderische Anwendungen, Prozesse und Wertketten herzustellen.

Webservices vermindern eine Menge diese Arbeit, weil sie ihre eigene Funktionalität beschreiben und heraus und dynamisch wechselwirkend suchen können mit anderen Netzservices über WSDL, UDDI und SEIFE. Netzdienstleistungen stellen folglich Mittel für unterschiedliche Organisationen zur Verfügung, ihre Anwendungen miteinander anzuschließen, um dynamisches Egeschäft über einem Netz zu leiten, egal was ihre Anwendung, Design oder Laufzeitklima (Asp, ISAPI, COM, J2EE, CORBA und so weiter).

WDSL, UDDI und SEIFE wuchsen aus gemeinschaftlichen Bemühungen zwischen Microsoft und vielen Verkäufern heraus (einschließlich IBM, Ariba, DevelopMentor und UserLand Software). Manyof die anderen großen Technologieurheber wie Sonne und Orakel sind auch an Bord des Netzservice-Paradewagens, also, obwohl die gegenwärtigen Standards möglicherweise nicht dasselbe in sechs Monaten schauen können, es’s freier Raum, daß Netzdienstleistungen hier für den Güterfernverkehr sind. Und selbstverständlich, gibt es ein vollständiges neues Getreide der Sicherheit Elende, wie diese neuen Technologien vom Kriechen auf dem Gehen bewegen.

dieses ist ein Artikel, der durch Fayad S. Bolkiah hinzugefügt wird


Verzicht: Unsere Web site ist nicht zu der Information verantwortlich, die durch diesen Artikel enthalten wird. Dieser Artikel reflektiert keineswegs die Ansichten, die Meinungen, die Gedanken oder den Glauben des Artikelverzeichnisstabes.

Übersetzung Nachricht: Der Artikel "DIE NETZ-ANWENDUNG ARCHITEKTUR" wurde mit einem automatisierten Übersetzungsdienst übersetzt. Wir entschuldigen herzlichst uns für alle mögliche Übersetzung Störungen, die auftraten. Danke für das Verstehen.


Online: 1687 users browsing the articles directory