DIE NETZ-ANWENDUNG ARCHITEKTUR
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.