Massachusetts Institute of Technology. Vorlesung # 6.858. "Sicherheit von Computersystemen." Nikolai Zeldovich, James Mickens. 2014 Jahr
Computer Systems Security ist ein Kurs zur Entwicklung und Implementierung sicherer Computersysteme. Die Vorträge behandeln Bedrohungsmodelle, Angriffe, die die Sicherheit gefährden, und Sicherheitstechniken, die auf jüngsten wissenschaftlichen Arbeiten basieren. Zu den Themen gehören Betriebssystemsicherheit, Funktionen, Informationsflussmanagement, Sprachsicherheit, Netzwerkprotokolle, Hardwaresicherheit und Sicherheit von Webanwendungen.
Vorlesung 1: „Einführung: Bedrohungsmodelle“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 2: „Kontrolle von Hackerangriffen“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 3: „Pufferüberläufe: Exploits und Schutz“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 4: „Trennung von Privilegien“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 5: „Woher kommen Sicherheitssysteme?“
Teil 1 /
Teil 2Vorlesung 6: „Chancen“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 7: „Native Client Sandbox“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 8: „Netzwerksicherheitsmodell“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 9: „Sicherheit von Webanwendungen“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 10: „Symbolische Ausführung“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 11: „Ur / Web-Programmiersprache“
Teil 1 /
Teil 2 /
Teil 3Vorlesung 12: Netzwerksicherheit
Teil 1 /
Teil 2 /
Teil 3 Student: Gibt es irgendeine Art von Signatur für nicht existierende Top-Level-Domains?
Professor: Ich denke schon. Eine Punktdomäne ist nur eine andere Domäne und implementiert denselben Mechanismus. Daher verwenden die Domänen "dot" und "dot.kom" heutzutage die DNS-SEC, und es gibt all diese Einträge, die beispielsweise besagen, dass .in der vorhandene Domainname ist und der Name "dot" auch existiert. und da ist nichts mehr zwischen ihnen. In den Top-Level-Domains sind all diese Dinge vorhanden.
Student: Warum ist uns neben der Gefahr von DoS-Angriffen die Wiederholung von Domain-Namen in mit.edu so wichtig?
Professor: Ich weiß es nicht genau. Auf jeden Fall verfügt AFS über eine Textdatei, in der alle diese MIT-Domänennamen aufgelistet sind. Ich denke jedoch, dass sich einige Unternehmen in diesem Sinne im Allgemeinen etwas unbehaglich fühlen, da sie häufig interne Namen haben, die im DNS enthalten sind und die nicht an Außenstehende weitergegeben werden können. Ich denke, dass dies tatsächlich ein unscharfer Bereich ist, der nie formalisiert wurde und der nicht genau erklärt, was DNS-Benutzer garantieren. Normalerweise wird angenommen, dass ein vertraulicher Name im Falle von DNS nicht bekannt gegeben wird.
Ich denke, dies ist ein weiterer Ort, an dem dieses System keine klare Spezifikation dafür hat, was es bieten sollte oder nicht.
Student: Ist es möglich, die Gültigkeitsdauer einer Signatur durch Hervorheben festzulegen?
Professor: Diese Dinge haben ein Ablaufdatum. Sie können beispielsweise unterschreiben, dass dieser Namenssatz eine Woche lang gültig ist, und dann können Clients, wenn sie eine synchronisierte Uhr haben, alte signierte Nachrichten ablehnen.
Wir können also davon ausgehen, dass wir Angriffe durch Erraten der TCP-SYN-Sequenznummern diskutiert haben. Ein weiteres interessantes Problem in Bezug auf TCP ist der DDoS-Angriff, bei dem die Tatsache ausgenutzt wird, dass sich der Server in einem bestimmten Zustand befindet. Wenn Sie sich diesen Handshake ansehen, der zuvor auf der Karte gezeichnet wurde, werden Sie feststellen, dass sich der Server beim Herstellen einer Verbindung zum Server die Seriennummer des SNc-Clients merken muss. Daher muss der Server eine Datenstruktur in einem separaten Block unterstützen, was zeigt, dass diese Sequenznummer für diese Verbindung verwendet wird.

Dies ist eine Art Tabelle, in der die SN-Sequenznummer gespeichert ist und die Client-Server-Verbindung die SNc-Sequenznummer hat. Der Grund, warum der Server diese Tabelle beibehalten sollte, besteht darin, dass der Server herausfinden muss, wie die richtige SNc-Sequenznummer später aussehen soll, z. B. SNc + 1. Darüber hinaus muss der Server auch SN-Nummern speichern, die viel wichtiger sind, da sie dem Server zeigen, dass die Verbindung mit dem „richtigen Mann“ hergestellt wurde.
Das Problem ist, dass diese Tabelle keinen echten Rand hat. Auf diese Weise können Sie Pakete von einem Computer abrufen, ohne zu wissen, wer sie sendet. Sie erhalten nur ein Paket, das wie C-> S aussieht, mit einer Quelladresse, die behauptet, C zu sein. Um diese Verbindung möglicherweise von dieser IP-Adresse zu akzeptieren, müssen Sie einen Eintrag in der Tabelle erstellen. Darüber hinaus existieren diese Datensätze für eine lange Zeit, weil möglicherweise jemand von einem sehr entfernten Ort aus eine Verbindung zu Ihnen herstellt und gleichzeitig viele Pakete verloren gehen. Im schlimmsten Fall kann es beispielsweise eine Minute dauern, bis jemand diesen TCP-Handshake beendet. Sie müssen diesen Status also relativ lange auf dem TCP-Stapel belassen, und es gibt keine Möglichkeit zu erraten, ob er gültig ist oder nicht.
Daher ist der häufigste DoS-Angriff gegen die meisten TCP-Stapel, die von Menschen entwickelt wurden, die einfache Übertragung einer großen Anzahl von Paketen. Wenn ich ein Angreifer bin, sende ich einfach eine große Anzahl von SYN-Paketen an einen bestimmten Server und lasse diese Tabelle überlaufen.
Das Problem ist, dass ein Angreifer bestenfalls dieselbe Quell-IP-Adresse verwendet. In diesem Fall können Sie einfach sagen, dass jedem Client nur zwei Einträge oder ähnliches gestattet sind. Und dann kann der Angreifer maximal 2 zwei Einträge in der Tabelle verwenden.
Das Problem ist natürlich, dass ein Angreifer IP-Adressen von Clients fälschen und sie zufällig aussehen lassen kann. Dann wird es für den Server sehr schwierig sein zu unterscheiden, wer versucht, eine Verbindung mit ihm herzustellen - ein Angreifer oder ein Client, von dem der Server noch nie zuvor gehört hat.
Wenn Sie sich also eine Site ansehen, die Verbindungen von überall auf der Welt akzeptieren sollte, ist dies ein großes Problem. Weil Sie entweder den Zugriff auf alle Personen verweigern oder den Status für die meisten gefälschten Verbindungsversuche speichern sollten.
Dies ist also ein Problem sowohl für TCP als auch für die meisten Protokolle, die eine Art Verbindungsinitiierung ermöglichen, bei der der Server den Status speichern muss. In TCP sind jedoch einige Korrekturen implementiert, über die wir gleich sprechen werden, und sie werden versuchen, dieses Problem zu beheben, das in TCP als SYN Flooding bezeichnet wird.

Im Allgemeinen ist dies ein Problem, das Sie kennen und in jedem Protokoll, das Sie entwickeln, vermeiden sollten. Sie müssen angeben, dass der Server den Status erst speichern soll, wenn er den Client authentifizieren und identifizieren kann. Denn erst nach der Clientauthentifizierung kann entschieden werden, ob eine Verbindung beispielsweise nur einmal hergestellt werden darf. In diesem Fall muss der Server den Status für diese Verbindung nicht speichern.
Das Problem ist, dass Sie die Erhaltung des Staates garantieren, noch bevor Sie wissen, wer sich mit Ihnen verbindet. Mal sehen, wie wir dem SYN-Flooding-Flood-Angriff entgegenwirken können, bei dem der Server zu viel Status ansammelt.
Sie können TCP beispielsweise erneut ändern, es ganz einfach mit Kryptografie oder etwas anderem reparieren oder ändern, was für das Speichern eines bestimmten Status verantwortlich ist. Tatsache ist jedoch, dass wir TCP so verwenden müssen, wie es ist. Könnten wir dieses Problem lösen, ohne das vorhandene TCP-Protokoll zu ändern?
Dies ist wiederum eine Übung, um herauszufinden, welche Tricks wir ausführen können oder welche Annahmen wir in Ruhe lassen und bei der Arbeit mit ihnen immer noch das vorhandene TCP-Header-Format einhalten können.
Der Trick besteht darin, einen intelligenten Weg zu finden, um einen zustandslosen Server zu erstellen, damit er diese Tabelle nicht im Speicher speichern muss. Dies kann durch sorgfältige Auswahl von SNs erfolgen, dh anstelle der zuvor berücksichtigten Formel und wo wir diese Funktion hinzufügen mussten, werden wir Seriennummern auf eine völlig andere Weise auswählen. Ich werde Ihnen die genaue Formel geben, und dann werden wir darüber sprechen, warum es wirklich interessant ist und welche guten Eigenschaften es hat.
Wenn der Server feststellt, dass er einem solchen Angriff ausgesetzt ist, wechselt er in den Modus, in dem er SNs anhand der Formel mit derselben Funktion F auswählt, die wir zuvor betrachtet haben.

Diese Funktion hat die Quell-IP-Adresse, die Ziel-IP-Adresse, die gleichen Dinge wie zuvor - Quellport, Zielport, Zeitstempel und Schlüssel. Und wir werden diese Funktion mit einem Zeitstempel kombinieren, der einige Minuten lang eher „grobkörnig“ ist. Es gibt eine Trennung zwischen diesen beiden Teilen des Headers - der Funktion und dem Zeitstempel, die nicht viele Bits benötigen. Ich habe vergessen, wie genau dieses Protokoll auf einem realen Computer funktioniert, aber Sie können sich vorstellen, dass der Zeitstempel 8 Bit benötigt und der Rest der Sequenznummernformel 24 Bit beträgt.
Warum ist das ein guter Plan? Was ist hier los? Warum wird diese seltsame Formel benötigt? Sie müssen sich daran erinnern, was wir versucht haben, aus Seriennummern zu erhalten. Hier passieren zwei Dinge.
Der erste ist der Schutz vor doppelten Paketen. Auf der Platine blieb eine Schaltung mit dieser Seriennummer im alten Stil, zu der wir eine Funktion hinzufügen, um das Duplizieren von Paketen aus früheren Verbindungen zu verhindern.

Es stellt sich heraus, dass Menschen keinen besseren Weg finden könnten, sich vor Angriffen wie SYN Flooding zu schützen, als diesen Aktionsplan zu verwenden, der in einigen Situationen gut funktioniert. Es war ein Plan, aber ein anderer Plan war eine zeitgestempelte Funktion, bei der wir diese Komponente des alten Stils aufgaben. Stattdessen konzentrieren wir uns darauf, sicherzustellen, dass diese Person der „richtige“ Client ist, wenn uns jemand diese ACK-Sequenznummer (SNs) als Antwort auf das Paket zur Verfügung stellt.
Sie erinnern sich, dass wir uns auf diesen Wert (SNs) verlassen, um IP-Spoofing-Angriffe zu verhindern. Wenn der Server diesen SN-Wert im zweiten Schritt an den Client sendet, erwarten wir, dass nur dieser Client uns im dritten Schritt den korrigierten SN-Wert senden kann, um die Verbindung herzustellen.
Aus diesem Grund mussten Sie diese Seriennummer in einer Tabelle speichern, denn wie würden Sie sonst wissen, ob dies eine echte Antwort oder eine Fälschung ist? Der Grund für die Verwendung dieser F-Funktion ist, dass wir diese Tabelle jetzt nicht im Speicher speichern können.
Wenn stattdessen der Verbindungsversuch angezeigt wird, der im ersten Schritt angezeigt wird, berechnen wir im zweiten Schritt die SNs mithilfe dieser Formel und senden sie einfach an den Client zurück, der uns kontaktieren möchte, und vergessen dann diese Verbindung.

Wenn dann das dritte Paket eintrifft und sein Wert (SNs) dem entspricht, was wir erwarten, bedeutet dies, dass jemand unsere Antwort im zweiten Schritt erhalten und schließlich an uns gesendet hat. Nach diesem dritten Schritt können wir schließlich den eigentlichen Datensatz für diese TCP-Verbindung in den Speicher stellen. Auf diese Weise können Sie die Persistenz des Servers verschieben, bis der Client den genauen Wert der Seriennummer sendet. Die Konstruktion einer solchen Konstruktion ermöglicht es zu überprüfen, ob der Client dem Server genau die Antwort gesendet hat, die von ihm erwartet wird, und keinen beliebigen Wert.
Student: Hält SNc nur eine begrenzte Zeit?
Professor: Ja, der Server speichert den SNc-Wert nicht dauerhaft, und das ist nicht so gut. Ich habe dies im Diagramm nicht gezeigt, aber hier am Ende der dritten Zeile befindet sich ein Feld, das zeigt, dass dieses Paket keine Daten enthält, aber die SNc-Sequenznummer nur enthält, weil es dieses Feld enthält.

Somit kann der Server den Wert von SNc wiederherstellen, da der Client ihn ohnehin in dieses Paket aufnehmen wird. Früher war es egal, aber jetzt ist es so, als ob es relevant wäre. Wir werden hier nichts überprüfen, aber die Existenz eines solchen Feldes ist an sich schon eine gute Sache. Es hat jedoch einige traurige Konsequenzen. Zum Beispiel, wenn Sie einige komplizierte Dinge verwenden, die hier missbraucht werden können. Dies ist jedoch nicht so schlimm wie das Überlaufen des Serverspeichers mit Clientanforderungen.
Denn das einzige, was uns Sorgen macht, ist die Freigabe des Speichers dieser Tabelle und das Vertrauen, dass die Verbindungen zu echten Kunden hergestellt werden. Und wenn dieser Kunde eine Million Verbindungen zu mir aufbaut, höre ich einfach auf, Anfragen von ihm anzunehmen. Das ist ganz einfach. Das Problem ist, dass gefälschte Adressen schwer von echten Kundenadressen zu unterscheiden sind.
Student: Muss ich einen Zeitstempel behalten?
Professor: Ja, da ist eine kluge Sache! Wenn wir im dritten Schritt den Wert der SNs erhalten, müssen wir herausfinden, wie die Eingabedaten für diese Funktion F berechnet werden, um zu überprüfen, ob dieser Wert korrekt ist. Daher nehmen wir den Zeitstempel am Ende des Pakets und verwenden ihn zur Berechnung innerhalb der Funktion. Alles andere können wir wiederherstellen. Wir wissen, wer uns gerade den dritten Schritt und das dritte Paket geschickt hat, wir haben alle diese Felder und unseren Schlüssel, der wiederum noch geheim ist, und den Zeitstempel der letzten 8 Bits der Sequenz. In diesem Fall kann es vorkommen, dass wir zu alte Zeitstempel ausschließen, indem wir einfach alte Verbindungen verbieten.
Student: Ich glaube, dass Sie dies verwenden, wenn Sie angegriffen werden, nur weil Sie 8 Sicherheitsbits verlieren oder aus einem anderen Grund?
Professor: Ja, das ist nicht sehr gut, es hat viele schlechte Eigenschaften. In gewisser Weise verlieren wir wirklich 8 Sicherheitsbits. Denn jetzt ist der unbestreitbare Teil nur noch 24 Bit statt 32.
Ein weiteres Problem ist, was passiert, wenn Sie bestimmte Pakete verlieren? In TCP wird allgemein angenommen, dass der Client möglicherweise auf nichts wartet, wenn das dritte Paket verloren geht. Oder entschuldigen Sie, vielleicht ist das Protokoll, das wir über diese TCP-Verbindung ausführen, ein Protokoll, das davon ausgeht, dass der Server zunächst etwas sagen möchte, also verbinde ich mich damit und höre einfach auf die Antwort. Und in SMTP sollte mir der Server zum Beispiel so etwas wie eine Begrüßung über das Protokoll senden. Angenommen, ich stelle eine Verbindung zum SMTP-Server her, sende das dritte Paket. Ich glaube, ich habe alles getan und warte nur darauf, dass der Server mir antwortet, zum Beispiel:
"Hallo, dies ist ein SMTP-Server, bitte senden Sie mir Ihre E-Mail!"
Dieses dritte Paket kann also verloren gehen. In echtem TCP merkt sich der Server, dass er im zweiten Schritt auf den Client geantwortet hat, aber nie ein drittes Antwortpaket von ihm erhalten hat. Daher sendet der Server dem Client erneut ein zweites Paket, um das dritte Paket neu zu starten. Wenn der Server keinen Status speichert, hat er natürlich keine Ahnung, was er senden soll. Dies macht das Herstellen einer Verbindung etwas problematisch, da beide Seiten einen gegenseitigen Schritt voneinander erwarten. Der Server weiß nicht einmal, dass der Client auf eine Antwort von ihm wartet, und der Client wartet auf die Antwort des Servers, obwohl er nicht antworten wird, weil er den Status nicht speichert. Daher ist dies ein weiterer Grund, warum Sie den Produktivmodus des Servers nicht ständig verwenden.
Student: Sie können auch Datenverlust haben, wenn Sie zwei sehr kurzlebige Verbindungen von einem Host unmittelbar nacheinander herstellen.
Professor: Ja natürlich. Eine andere Sache ist, dass wir uns geweigert haben, diesen alten Stil der ISN-Sequenznummer zu verwenden, was die Unabhängigkeit dieser mehreren Verbindungen in kurzer Zeit voneinander erhöht hat. Ich denke, hier gibt es eine Reihe von Kompromissen, wir haben gerade über drei davon gesprochen, daher gibt es noch ein paar Gründe zur Besorgnis.
Wenn wir ein Protokoll von Grund auf neu entwickeln könnten, um das Beste zu erreichen, könnten wir nur ein separates gutes 64-Bit-Volume für die F-Funktion und ein 64-Bit-Volume für den Zeitstempel haben und es dann ständig verwenden, ohne aufzugeben all diese schönen Dinge.
Student: Sollten die SNs im zweiten und dritten Schritt gleich sein?
Professor: Natürlich, weil der Server sonst nicht zu dem Schluss kommen kann, dass dieser Client unser Paket erhalten hat. Wenn der Server nicht überprüft, ob diese SNs dieselbe Bedeutung wie zuvor haben, kann dies sogar noch schlimmer sein, da ich im ersten Schritt eine Verbindung von einer beliebigen IP-Adresse fälschen und im zweiten Schritt diese Antwort erhalten könnte. Oder ich würde diese Antwort nicht einmal bekommen, weil sie an eine andere IP-Adresse gerichtet ist. Dann stelle ich im dritten Schritt eine Verbindung von einer anderen IP-Adresse her. In diesem Fall würde der Server die hergestellte Verbindung unterstützen, auf das Senden von Daten warten und so weiter.
Student: aber der Zeitstempel wird anders sein, oder? Wie kann der Server dies mithilfe eines neuen Zeitstempels nachzählen, wenn er den Status nicht speichert?
Professor: Wie gesagt, diese Zeitstempel sind ziemlich "grobkörnig" und werden in Minuten bewertet. Wenn Sie sich zur gleichen Minute verbinden, ist alles in Ordnung, wenn Sie sich am Rand der Minute verbinden - das ist schade.
Ein weiteres Problem bei dieser Schaltung ist, dass sie in vielerlei Hinsicht unvollkommen ist. Die meisten funktionierenden Systeme, einschließlich Linux, haben jedoch Möglichkeiten, zu viele Einträge in dieser Tabelle zu erkennen. Und wenn die Gefahr eines Überlaufs besteht, wechselt das System zu einem anderen Schema.
Student: Wenn ein Angreifer eine große Anzahl von IP-Adressen kontrolliert und das tut, was Sie gesagt haben, auch wenn Sie wechseln ...
Professor: Ja, Sie können wirklich wenig tun. Der Grund, warum sich dieses Schema so um uns kümmerte, war, dass wir die Angreifer und die „Guten“ herausfiltern oder irgendwie unterscheiden wollten. Wenn ein Angreifer mehr IP-Adressen hat und nur mehr Computer kontrolliert als die Guten, kann er sich mit unserem Server verbinden, mehrere Webseiten anfordern oder in Kontakt bleiben.
Und dann wird es für den Server sehr schwierig sein festzustellen, ob Anforderungen von legitimen Clients empfangen werden oder ob es nur ein Angreifer ist, der die Serverressourcen bindet. Sie haben also absolut Recht. Dieses Schema funktioniert nur, wenn der Angreifer eine geringe Anzahl von IP-Adressen hat und einen Effekt erzielen möchte.
Dies gibt Anlass zur Sorge, da einige Angreifer heute eine große Anzahl gehackter Computer von normalen Benutzern kontrollieren. Dies ermöglicht es ihnen, DoS mit einer Flotte von Maschinen auf der ganzen Welt zu erstellen, und es ist ziemlich schwierig, sich dagegen zu verteidigen.
Ich möchte noch eine interessante Sache erwähnen - die Verweigerung des DoS-Dienstes ist an sich schlecht, aber noch schlimmer, wenn die Protokolle selbst zu einem solchen Angriff beitragen. Der Angreifer weiß davon und greift vor allem Systeme mit Protokollen wie DNS an. Das DNS-Protokoll enthält einen Client, der eine Anforderung an den Server sendet, und der Server sendet eine Antwort an den Client zurück. In vielen Fällen ist die Antwortgröße in Byte viel größer als das Anforderungsvolumen.

Sie haben nach dem Server mit.edu gefragt. , , mit.edu — , mit.edu, , DNS SEC, .
100 , — 1000 . , «» - . , DNS- . 100 - DNS-, , , 1000 .
, . , TCP SYN Flooding, DNS- , . , , « ».
DNS. . , DNS-. , . .
: DNS- …
: , DNS- , - .
: , ?
: , DNS-, . DNS-, . 10 DNS-, , , , , . . , , DNS-, .
, DNS , , , . , .
, , , – , , , . , , . .
DNS- , . , , .
, : «, , »! , , DNS- .
, . - -, . DoS , . , , , , .

, , . , , , .
, , . .
, DHCP, . , , IP-. , , MIT DHCP, , , , IP-, , DNS-, , .
, DHCP DHCP-, , DHCP-. , , . , DHCP IP-, : «, DNS- »! DNS .
, . , BGP, IP-, . , , BGP, : «, IP-!», : „, , “.

, , , IP- . IP- , , IP- . IP- , . , . , , , IP-. , , .
DNS SEC. , , DNS, , . , , , , DNS SEC.
, , , . : , , , , , DoS — . .
Daher sollten Sie sich bemühen, solche Dinge wie SYN Flooding-Angriffe und RST-Angriffe zu vermeiden, mit denen Sie einen beliebigen Netzwerkbenutzer trennen können. Dies sind Dinge, die auf niedrigem Niveau wirklich schädlich sind und auf hohem Niveau schwer zu beheben sind. Sie gewährleisten jedoch mehr oder weniger die Integrität und Vertraulichkeit von Daten mithilfe von Verschlüsselung. Wir werden in der nächsten Vorlesung über Cerberus darüber sprechen, wie das geht.Die Vollversion des Kurses finden Sie hier .Vielen Dank für Ihren Aufenthalt bei uns. Gefällt dir unser Artikel? Möchten Sie weitere interessante Materialien sehen? Unterstützen Sie uns, indem Sie eine Bestellung
aufgeben oder Ihren Freunden empfehlen, einen
Rabatt von 30% für Habr-Benutzer auf ein einzigartiges Analogon von Einstiegsservern, das wir für Sie erfunden haben: Die ganze Wahrheit über VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s von $ 20 oder wie teilt man den Server? (Optionen sind mit RAID1 und RAID10, bis zu 24 Kernen und bis zu 40 GB DDR4 verfügbar).
VPS (KVM) E5-2650 v4 (6 Kerne) 10 GB DDR4 240 GB SSD 1 Gbit / s bis Dezember kostenlos, wenn Sie für einen Zeitraum von sechs Monaten bezahlen, können Sie
hier bestellen.
Dell R730xd 2 mal günstiger? Nur wir haben
2 x Intel Dodeca-Core Xeon E5-2650v4 128 GB DDR4 6 x 480 GB SSD 1 Gbit / s 100 TV von 249 US-Dollar in den Niederlanden und den USA! Lesen Sie mehr über
den Aufbau eines Infrastrukturgebäudes. Klasse mit Dell R730xd E5-2650 v4 Servern für 9.000 Euro für einen Cent?