it-swarm.com.de

Ist die HTTP TRACE-Methode eine Sicherheitslücke?

Ich habe hier auf dieser Site viele Posts gesehen, die Ratschläge zum Deaktivieren der HTTP TRACE-Methode gaben, um Cross Site Tracing zu verhindern. Ich habe versucht, das Gleiche zu tun. Aber wenn ich die Apache-Dokumentation lese, gibt es den gegenteiligen Rat:

Hinweis

Trotz gegenteiliger Behauptungen ist TRACE keine Sicherheitslücke und es gibt keinen triftigen Grund, es zu deaktivieren. Dies führt zwangsläufig dazu, dass Ihr Server nicht konform ist.

Welchem ​​soll ich folgen?

35

Eines der klügsten Sicherheitsprinzipien besagt, dass das, was nicht verwendet wird, deaktiviert werden sollte.

Die ersten Fragen sind also: Wirst du es wirklich benutzen? Müssen Sie es aktivieren?

Wenn Sie die Methode TRACE nicht verwenden, sollte sie meiner Meinung nach ausgeschaltet sein. Es verhindert, dass Ihre App nicht nur gegen XST , sondern auch gegen unentdeckte Schwachstellen im Zusammenhang mit diesem Kanal, die in Zukunft gefunden werden können, funktioniert.

28
boleslaw.smialy

Um einen TRACE - Befehl an einen bestimmten Server zu senden, müssen Sie das Recht dazu haben, was normalerweise durch die Same-Origin Policy (die berühmte "SOP") verhindert wird. Wenn ein bösartiges JavaScript, das Ihr Cookie vor Ort stehlen soll example.com, Eine TRACE Anfrage an example.com Senden kann, hat dieses böse JavaScript bereits gewonnen und Sie sind es in tieferen Schwierigkeiten. Das Deaktivieren von TRACE löst das eigentliche Problem nicht (und dieses Problem ist clientseitig).

Um eine empörende Analogie zu ziehen: Es gibt Menschen, die andere ermorden, indem sie sie mit Messern erstechen. Würde das Verbot von Messern das Problem wirklich lösen? (Ich benutze hier Messer und keine Waffen, weil es ziemlich offensichtlich ist, dass Messer sehr nützliche Werkzeuge für andere Aufgaben als das Ermorden von Menschen sind, z. B. benutze ich täglich Messer zum Kochen; das Gleiche gilt nicht für Waffen. Ebenso das HTTP TRACE Methode ist ein nützliches Debugging-Tool.)

21
Tom Leek

Welchem ​​soll ich folgen?

Sie werden Ihre Website scannen, was ... Jährlich? Vierteljährlich? Monatlich, wöchentlich? Und das wird bei all diesen Scans angezeigt. Bis Sie Ihren Scanner anweisen, diese Prüfung zu überspringen oder eine Ausnahme zu machen. An diesem Punkt bleibt er dort, bis ein Dritter einen Scan für Sie durchführt oder einer Ihrer Partner Ihre Site scannt und unterlegt Ihre Nase als "Wie können Sie einen so grundlegenden Checklistenpunkt unadressiert lassen?

Umgekehrt werden Sie auf Übereinstimmung mit der HTTP-Spezifikation überprüft ... niemals. Sie müssen TRACE tatsächlich verwenden ... so gut wie nie. Die praktischen Auswirkungen auf die Interoperabilität mit Ihren Kunden werden ... nada sein.

Ich verstehe und stimme dem Punkt von @ Tom-Leek zu, dass es sich nicht um ein großes Sicherheitsproblem handelt. Ich bin jedoch nicht der Meinung, dass der Nachteil der Deaktivierung winzig ist und der Nachteil der Deaktivierung darin besteht, viel Ärger zu vermeiden, der sonst in Ihrem Schoß landen würde.

Ich bin nicht der einzige, der so denkt - weshalb Apache in 1.3.34 und 2.0.55 eine Direktive hinzugefügt hat, um TRACE einfach auszuschalten:

TraceEnable Off

Hier ist eine gute Seite, auf der darüber diskutiert wird , einschließlich manueller Testschritte.

14
gowenfawr