GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zugriff auf einen virtuellen Apache-Host nur aus dem lokalen Netzwerk zulassen

Leute, die in dieser Antwort landen, beachten bitte, dass dies spezifisch für Apache 2.2 ist.

Apache 2.4 hat diese Anweisungen als veraltet markiert.

Der neue Weg führt über das Modul mod_authz_host und die Require Richtlinien. (Link)

In Apache 2.4 sollten Sie das tun

<Directory /var/www/ncp-web/>
  Require host localhost
  Require ip 127.0.0.1
  Require ip 192.168
  Require ip 10
</Directory>

, und entfernen Sie alle Allow-Anweisungen.


Einfach. Stellen Sie einfach so etwas in Ihrer Hauptkonfiguration oder Ihrer virtuellen Konfiguration ein:

<Directory /var/www/path/to/your/web/documents>

  Order Deny,Allow
  Deny from all
  Allow from 127.0.0.1 ::1
  Allow from localhost
  Allow from 192.168
  Allow from 10
  Satisfy Any

</Directory>

Die <Directory></Directory> Die Anweisung besagt im Wesentlichen:„Verwenden Sie diese Regeln für alles in diesem Verzeichnis. Und durch „dieses Verzeichnis“, das sich auf /var/www/path/to/your/web/documents bezieht die ich in diesem Beispiel festgelegt habe, aber geändert werden sollte, damit sie mit dem lokalen Verzeichnispfad Ihrer Website übereinstimmt.

Weiter innerhalb der <Directory></Directory> Bereich ändern Sie das standardmäßige Apache-Verhalten, das Allow ist alles standardmäßig auf Order Deny,Allow . Als nächstes stellen Sie Deny from all ein from verweigert allen den Zugriff. Darauf folgen die Allow from Anweisungen, die den Zugriff von 127.0.0.1 ::1 erlauben (IP-Adresse des lokalen Hosts), localhost (der Localhost selbst). Das ist alles Standardmaterial. Seit Zugriff von localhost wird für viele interne Systemprozesse benötigt.

Was folgt, ist das, was Ihnen wichtig ist.

Die Allow from für 192.168 sowie 10 erlaubt den Zugriff von beliebigen/allen Netzwerkadressen innerhalb des Netzwerkbereichs, dem diese Nummern vorangestellt sind.

Also durch Angabe von 192.168 das bedeutet im Grunde, wenn ein Benutzer eine Adresse wie 192.168.59.27 hat oder 192.168.1.123 sie können die Website sehen.

Und ähnlich mit dem Allow from für 10 Präfix stellt sicher, dass, wenn jemand eine IP-Adresse von 10.0.1.2 hat oder sogar 10.90.2.3 sie können den Inhalt sehen.

So ziemlich alle internen Netzwerke der Welt verwenden entweder den 192.168 Bereich oder etwas in 10 Angebot. Nichts Äußeres. Mit dieser Kombination erreichen Sie also Ihr Ziel, den Zugriff auf die Außenwelt zu blockieren, aber nur den Zugriff innerhalb Ihres lokalen Netzwerks zuzulassen.


Fügen Sie diesen Abschnitt in Ihre virtuelle Host-Direktive ein:

<Location /mypathurl>
    Order deny,allow
    Deny from all
    Allow from 192.168.1.10
</Location>

Ersetzen Sie Ihre IP oben. Dies sollte nicht für die Sicherheit auf finanzieller Ebene verwendet werden, FYI.


Linux
  1. Installieren Sie den Apache-Webserver unter Linux Mint 13 / Linux Mint 14

  2. So greifen Sie vom Host auf den Netzwerk-Namespace des Docker-Containers zu

  3. Messen Sie den Datenverkehr aus dem Apache-Zugriffsprotokoll

  4. So greifen Sie vom lokalen Netzwerk aus auf den Webserver zu, der auf WSL (Windows Subsystem for Linux) ausgeführt wird

  5. SSH:In einem privaten Netzwerk, wie Sie vom Quellcomputer auf den Remote-Computer zugreifen, ohne den öffentlichen SSH-Schlüssel zu verwenden

Ssh-Portweiterleitung, um von überall auf den Heimcomputer zuzugreifen?

So richten Sie virtuelle Apache-Hosts unter Ubuntu 20.04 ein

Netzwerk-Fehlerbehebung über die Befehlszeile mit TShark

So richten Sie die Apache Virtual Host-Konfiguration ein (mit Beispielen)

Listen Sie nur die Gerätenamen aller verfügbaren Netzwerkschnittstellen auf

Wie kann man ssh erlauben, Benutzer nur aus dem lokalen Netzwerk zu rooten?