Squid Reverse Proxy, DMZ, Weiterleitung von Nicht-http-Anforderungen

1154
Kaël

Ich habe tatsächlich ein Problem mit einem Netzwerkprotokollproblem.

Ich habe eine eigene Domain, eine eigene DMZ und externe Benutzer. In meiner DMZ habe ich einen Reverse Proxy, der die HTTP-Verbindung sehr gut handhabt. Mein externer Benutzer kann meinen internen Webserver perfekt treffen.

Ich möchte jedoch gerne wissen, ob es Squid möglich ist, dasselbe mit einer MSSQL / PGSQL-Anfrage (oder auch mit jeglicher Art von Verbindung) auszuführen.

So wie mein externer Client, der meinen Reverse-Proxy trifft, der einfach zu meinem realen Server cache_peer wird?

Grüße.

0
Ich kann mir nicht vorstellen, dass ein Web-Proxy eine Anfrage an einen SQL-Server bearbeitet. Wenn Sie z. B. SQL-Anforderungen an Port 80 haben (was seltsam ist), benötigen Sie möglicherweise eine Art Server, der die Art der Anforderung überprüft und an den richtigen Server weiterleitet. barlop vor 8 Jahren 0
Ja, es war eine sehr seltsame Lösung, aber ich hatte eine schlechte Wahl ... damals war netfilter meine einzige Lösung. :) Kaël vor 8 Jahren 0
hast du dann iptables benutzt? Sie können Ihre eigene Frage beantworten, indem Sie angeben, welche iptables-Regeln Sie verwendet haben. Dies wäre für die Menschen nützlich und Sie können Ihre eigene Antwort akzeptieren. Haben Sie eine Deep Packet Inspection durchgeführt? hört sich interessant an barlop vor 8 Jahren 0
Leider war es nur eine reine Weiterleitung an den richtigen Server. Die einzige Sicherheit, die ich hatte, war die Quelle / das Ziel. In Bezug auf die Anwendung kann nur der Server, der Pakete empfängt, die Integrität überprüfen. Kaël vor 8 Jahren 0

1 Antwort auf die Frage

1
Kaël

Aufgrund der Umgebung war meine einzige Wahl eine reine Weiterleitung mit iptables.

Da wir keine DPI hatten, war alles vorwärts abhängig von 3 Filtern:

  • Quelle
  • Ziel
  • Hafen

Da es transparent sein musste, mussten wir die Zieldomäne mithilfe der Hostdatei als Proxy-Server festlegen. Für das Ziel sind keine Änderungen erforderlich.


# My SQL try to contact the dest. SQL (who is in fact, my proxy) so I changed the destination to the real one iptables -t nat -A PREROUTING -i eth0 -s [YOUR_INTERNAL_SERVER] -p tcp --dport 15432 -j DNAT --to-destination [YOUR_DESTINATION_SERVER]  # Little restriction iptables -t filter -A FORWARD -p tcp --dport 15432 -m state --state NEW -j ACCEPT iptables -t filter -A FORWARD -p tcp --dport 15432 -m state --state ESTABLISHED -j ACCEPT iptables -t filter -A FORWARD -p tcp --sport 15432 -m state --state ESTABLISHED -j ACCEPT  # If they contact my SQL, I set the source as my relay so my server could reply back. iptables -t nat -A POSTROUTING -o eth0 -d [YOUR_INTERNAL_SERVER] -p tcp --dport 15432 -j SNAT --to-source [YOUR_PROXY]