Ist es schlechte Praxis, auf 0.0.0.0 zu hören? Warum?

2194
Joao Milasch

Angenommen, ich möchte eine Software bereitstellen, die als Server fungiert, und Szenarien vermeiden, in denen Schnittstellen ersetzt, IP-Adressen geändert werden usw.

Die Art der Umgebung, in der diese Software bereitgestellt wird, ist etwas dynamisch. Der Computer kann in verschiedene Netzwerke gebracht werden.

Ich entscheide mich dann dafür, die Adresse 0.0.0.0 zu konfigurieren, um an den konfigurierten Port und die erledigten Jobs zu binden.

Werden Netzwerkadministratoren die Stirn runzeln? (Ich hatte den Eindruck, sie würden). Wenn ja warum?

Ich hoffe, dies ist keine meinungsbasierte Frage und es gibt Fakten, die Antworten unterstützen.

4
Ich glaube nicht, dass es eine objektive Antwort auf die Frage gibt, aber ich hätte damit kein Problem, vorausgesetzt, ich hätte die Möglichkeit, an eine bestimmte Schnittstelle zu binden, wenn ich einen Grund dafür habe. In der von Ihnen beschriebenen Situation ist eine weniger explizite Bindung definitiv in Ordnung. Frank Thomas vor 8 Jahren 0
Geben Sie den Netzwerkadministratoren die Option, an welche IP-Adresse sie gebunden werden soll. barlop vor 8 Jahren 1

2 Antworten auf die Frage

4
barlop

Ich entscheide mich dann dafür, die Adresse 0.0.0.0 zu konfigurieren, um an den konfigurierten Port und die erledigten Jobs zu binden.

Werden Netzwerkadministratoren die Stirn runzeln?

Es wäre schlechte Praxis, wenn es nicht notwendig ist.

Für einige Netzwerke kann es erforderlich sein. Und du wirst es nicht wissen. Es ist nicht deine Entscheidung zu treffen.

Geben Sie den Netzwerkadministratoren die Option, an welche IP-Adresse sie gebunden werden soll.

Anmerkung zur Klarstellung hinzugefügt

Sie entscheiden nicht, an welche IP-Adresse gebunden werden soll, und geben dem Netzwerkadministrator nicht die Option, diese zu ändern (was sich anhört, als würden Sie darüber sprechen). Es ist gut für Sie, einen Standard anzubieten.

kann nicht sagen ich stimme zu Viele Core-Linux-Dienste sind standardmäßig an 0.0.0.0 gebunden, und es ist absolut zu 100% Aufgabe des Entwicklers / Packagers, sicherzustellen, dass für alle Konfigurationseinstellungen ein gültiger und allgemein akzeptierter Standardwert bereitgestellt wird, bis ein Administrator das Überschreiben wählt es (z. B. nicht nur die Entscheidung des Entwicklers zu treffen, sondern auch ihre Verantwortung dafür). Frank Thomas vor 8 Jahren 1
@FrankThomas Es liegt in der Verantwortung des Entwicklers, einen Standard festzulegen (es ist unmöglich, dass jemand anderes es ist), aber es ist nicht die Aufgabe des Entwicklers, zu entscheiden, ohne dem Netzwerkadministrator die Option zu geben. barlop vor 8 Jahren 0
@ barlop Warum wäre es eine schlechte Praxis, wenn nicht notwendig? Basiert es nur auf der Tatsache, dass man den Port an allen Schnittstellen zuordnen würde und nicht für andere potenzielle Dienste verfügbar machen würde? Ich würde davon ausgehen, dass unterschiedliche Dienste in den gleichen Ports für unterschiedliche Schnittstellen zu Verwirrung führen könnten (zumindest für mich), wenn Probleme diagnostiziert werden. Joao Milasch vor 8 Jahren 0
@JoaoMilasch Ein Grund für das Binden eines Servers an das LAN, auch wenn eine Firewall die Verbindungen einschränken kann. Wenn die Firewall den Zugriff auf den Server nicht einschränkt, können sich die, die dies nicht tun sollten, verbinden. Es ist also eine zweite Verteidigungslinie. barlop vor 8 Jahren 0
@JoaoMilasch und es ist nicht möglich, dass sie unterschiedliche / mehr Server an derselben Portnummer, sondern an verschiedenen Schnittstellen betreiben, um lediglich Ports zu speichern. Es gibt so viele Portnummern 65535, dass ein solcher Stunt nicht notwendig wäre und für viele verwirrend wäre und daher zweifellos als schlechte Praxis betrachtet würde. Wenn ein System über viele Netzwerkkarten verfügte und von jedem erwartet wurde, dass ein anderer Server ausgeführt wird, wäre das Ausführen dieser anderen Server wahrscheinlich keine schlechte Praxis - es wäre nicht verwirrend, wenn dies erwartet oder dokumentiert würde. Es könnte jedoch verrückt sein üben, wenn es keinen Grund dafür gibt !. barlop vor 8 Jahren 0
2
tastytea

Das hängt davon ab, welche Schnittstellen auf der Maschine verfügbar sind. Wenn Sie jeweils nur eine aktive Schnittstelle haben, die von außen erreichbar ist, spielt es keine Rolle.

Wenn Sie über mehr aktive Schnittstellen verfügen, z. B. in den Subnetzen 10.0.0.0/24 und 10.0.1.0/24 und Sie möchten, dass nur Personen aus dem Subnetz 10.0.0.0/24 eine Verbindung herstellen können, müssen Sie entweder jedes Mal Ihren Dienst neu starten Holen Sie sich eine neue IP oder binden Sie sie an 0.0.0.0 und blockieren Sie den Verkehr mithilfe einer Firewall.

Man könnte argumentieren, dass im zweiten Fall, wenn Sie an 0.0.0.0 binden, Sie einen zusätzlichen Punkt für einen möglichen Ausfall (die Firewall) einführen, aber ich würde sagen, dass das Risiko vernachlässigbar ist.

Ich schätze die Antwort, obwohl ich die Technik verstehe. Die Diskussion, die ich anspreche, ist, warum es im Allgemeinen eine schlechte Praxis wäre. Joao Milasch vor 8 Jahren 0
Oh, ich habe es falsch verstanden, sorry. Ich stimme Frank Thomas und Barlop in dieser Angelegenheit zu. tastytea vor 8 Jahren 0