2016-08-15 2 views
0

Ich arbeite an einer Browsererweiterung, die (GET und POST) Daten mit meinem MEAN Server (-> node.js) austauschen soll. Ich habe mich gefragt, wie ich die serverseitigen API-Routen sichern kann, um DDOS-Angriffe und ähnliche Bedrohungen zu vermeiden, die durch das Umgehen meiner Erweiterung und das direkte Senden/Anfordern von Daten durch bösartige Software/Server/Personen entstehen.Browser Extension: wie sichere API Aufrufe

ich mehrere Token zu verwenden beabsichtigt, die in jedem Anruf enthalten sein muß (GET/POST über HTTPS-Verbindung):

  • statische Dehnung ID hash die unsichtbar in meiner Verlängerung hartcodiert wird und wissen aufgelistet auf der Serverseite, wie ext_id: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855

  • die Menge der Anfrage pro Benutzer/Verlängerung in einem gegebenen Zeitraum

  • gehashten Begrenzungs und gesalzene Benutzerdaten (vom Benutzer über ein Eingabefeld innerhalb der Erweiterung Präferenzen und lokal gespeichert), wie beispielsweise Benutzername: e3b0c44298fc1c149 [...], Passwort: da39a3ee5e6b4b0d3255bfe [...]

Ich habe gehofft, für einige Eingaben und konstruktive Kritik von erfahrenen Experten in diesem Bereich, um diesen Ansatz zu bestätigen oder zu verbessern oder vielleicht sogar vernünftige Alternativen vorzuschlagen.

+0

Diese Frage wird möglicherweise ausführlich auf dem [Information Security StackExchange] (http://security.stackexchange.com/) beantwortet. Wenn Sie eine solche Frage dort stellen, lassen Sie in dieser Frage zumindest einen Link dazu. – Makyen

+0

Ok, danke für den Hinweis. –

Antwort

0

Ziel ist es, ungültige Anfragen schnell verwerfen zu können. Der höchste Return on Investment, den Sie erzielen, ist durch Caching und progressive Verzögerungen.

Das heißt, eine Sache, die Sie tun können, ist Hash oder verschlüsseln Sie einen Wert mit jeder Anfrage, kombiniert mit einem Zeitstempel. Das bedeutet, dass jede Anfrage, die der Kunde macht, einen eindeutigen Wert hat, der auf der Zeit basiert, zu der er eingereicht wurde. Daher muss jede Anfrage, die sie machen, eindeutig sein. Dies bietet auch ein wenig zusätzliche Sicherheit für den Benutzer bei der Verhinderung von Replay-Angriffen.

0

um DDOS zu vermeiden, greift

API-Ebene Einschränkungen helfen gegen DoS langsam (ressourcenintensive) APIs-Angriffe nutzen. Für diesen Fall sollten eine einfache Login-Anforderung und eine Ratenbegrenzung pro Benutzer ausreichen.

Sie sind nutzlos gegen Angriffe, die einfach Ihre Netzwerkverbindung, Kernel-Ressourcen (TCP-Verbindungen) sättigen oder die TLS-Schicht (Verschlüsselungs-Handshake) oder den Netzwerk-IO-Teil Ihrer Anwendung angreifen.

entstehen durch Umgehen meiner Erweiterung und direkt Senden/Anfordern von Daten durch bösartige Software/Server/Einzelpersonen.

[...] ID-Hash, die unsichtbar im Inneren meiner Erweiterung hartcodiert ist

Im Wesentlichen, was Sie plannning es nicht möglich ist. Die Browser verwenden offene Protokolle und sind debuggbar. Alles, was eine Erweiterung sendet, kann mit einem Skript repliziert werden.

Mit dem Versuch, die Erweiterung so zu spezialisieren, dass sie nicht von externer Software repliziert werden kann, fordert man im Grunde, unzerstörbares DRM zu erfinden.

+0

Ok, hab es soweit ... stattdessen schlage ich vor, dass ich was machen soll? =) –

+0

siehe meinen 2. Satz – the8472

Verwandte Themen