Iptables reverse-proxy Zugriff "einschränken"
Moin,
ich hab verschiedene Webserver die über einen nginx reverse-proxy nach außen erreichbar sind. Ich habe es schon probiert mit dem Parametern -s (IP-Adressbereich) und -d (domainname). Da die -d aber im endeffekt auf die selbe IP-Adresse zeigen funktioniert das nicht. Gibt es noch destination Parameter, die nicht automatisch vom DNS namen (xxx01.xxx.xx) die IP-Adresse (xxx.xxx.xxx.xxx) und dann den ersten A-Record nehmen (xxx02.xxx.xx)? Wenn ich iptables -L mache steht das genauso da, wie ich es im vorherigen Satz geschrieben hab.
Ich hoffe ihr habt eine entsprechende Lösung! Der reverse-proxy dient "noch" als zentrale Anlaufstelle für die Anfragen aller Webservices von mir und es währe nicht vorteilhaft, wenn ich einen relevanten Dienst von außen erreichbar mache.
Viele Grüße
nurweilesgeht
ich hab verschiedene Webserver die über einen nginx reverse-proxy nach außen erreichbar sind. Ich habe es schon probiert mit dem Parametern -s (IP-Adressbereich) und -d (domainname). Da die -d aber im endeffekt auf die selbe IP-Adresse zeigen funktioniert das nicht. Gibt es noch destination Parameter, die nicht automatisch vom DNS namen (xxx01.xxx.xx) die IP-Adresse (xxx.xxx.xxx.xxx) und dann den ersten A-Record nehmen (xxx02.xxx.xx)? Wenn ich iptables -L mache steht das genauso da, wie ich es im vorherigen Satz geschrieben hab.
Ich hoffe ihr habt eine entsprechende Lösung! Der reverse-proxy dient "noch" als zentrale Anlaufstelle für die Anfragen aller Webservices von mir und es währe nicht vorteilhaft, wenn ich einen relevanten Dienst von außen erreichbar mache.
Viele Grüße
nurweilesgeht
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 563427
Url: https://administrator.de/contentid/563427
Ausgedruckt am: 23.11.2024 um 16:11 Uhr
5 Kommentare
Neuester Kommentar
Moin,
was genau willst du denn Einschränken? Deine Ausführungen dazu sind etwas wirr...
Du kannst in der INPUT Chain am externen Interface alles verbieten was nicht Zielport 80/443 (oder was du auch immer vernwendest) ist, und du kannst in der OUTPUT Chain auf dem internet Interface alles was nicht den Ziel-IPs und Ports entspricht droppen.
lg,
Slainte
was genau willst du denn Einschränken? Deine Ausführungen dazu sind etwas wirr...
Du kannst in der INPUT Chain am externen Interface alles verbieten was nicht Zielport 80/443 (oder was du auch immer vernwendest) ist, und du kannst in der OUTPUT Chain auf dem internet Interface alles was nicht den Ziel-IPs und Ports entspricht droppen.
lg,
Slainte
Moin,
du könntest einfach im Nginx den Zugriff erlauben bzw. blocken. Wie das steht, kannst du hier nachlesen.
Gruß,
Dani
du könntest einfach im Nginx den Zugriff erlauben bzw. blocken. Wie das steht, kannst du hier nachlesen.
Gruß,
Dani
Nein — du willst HTTP-Zugriffe regulieren, also macht das sinnvollerweise der HTTP-Server.
iptables filtert nur auf IP- und Port-Ebene, aber nicht auf der Hostname-Ebene von HTTP-Anfragen. Aus Sicht von iptables ist der Inhalt des Pakets vollkommen uninteressant
Dass man bei HTTP die aufgerufenen Hostnames unterscheiden kann ist ein spezielles Feature von HTTP. In den IP- oder TCP-Paketen hat man diese Info nicht.
iptables filtert nur auf IP- und Port-Ebene, aber nicht auf der Hostname-Ebene von HTTP-Anfragen. Aus Sicht von iptables ist der Inhalt des Pakets vollkommen uninteressant
Dass man bei HTTP die aufgerufenen Hostnames unterscheiden kann ist ein spezielles Feature von HTTP. In den IP- oder TCP-Paketen hat man diese Info nicht.