it-swarm.com.de

Wie benötige ich einen IP-Bereich anstelle von 1 IP?

Meine IP-Änderungen haben eine andere D-Klasse, daher möchte ich einen Bereich festlegen:

123.123.123.xxx wobei das letzte Segment 0-255 sein kann.

Im Moment sagt Apache:

<RequireAny>
   Require ip 127.0.0.1
   Require ip ::1
</RequireAny>
22
user281497

Zunächst gehe ich davon aus, dass Sie Apache 2.4 trotz des "Apache-2.2" -Tags meinen, da die von Ihnen veröffentlichte Syntax von 2.4 stammt.

Aus der Apache-Dokumentation:

IP-Adresse ist eine IP-Adresse, eine teilweise IP-Adresse, ein Netzwerk/Netzmasken-Paar oder eine Netzwerk/nnn-CIDR-Spezifikation.

Ich nehme an, Sie meinen, Sie möchten eine/24 zulassen, da Klasse D Multicast-Adressen sind und klassisches Networking in den 90er Jahren gestorben ist. Um a/24 zuzulassen, können Sie eine der folgenden Optionen verwenden:

Require ip 123.123.123
Require ip 123.123.123.0/255.255.255.0
Require ip 123.123.123.0/24

Persönlich finde ich das letzte weniger mehrdeutig als das erste und leichter zu lesen als das zweite.

Dieser Abschnitt der Dokumentation ist möglicherweise hilfreich: http://httpd.Apache.org/docs/2.4/howto/access.html#Host

23
fukawi2

In Apache 2.2 und niedriger können Sie mit : arbeiten

Order deny,allow
Deny from all
Allow from 24.18    # allow access from home
Allow from 162.12   # allow access from work

in Ihrer .htacess direkt auf Basisebene (nicht innerhalb eines <directive>).

Ab Apache 2.4 und höher können Sie loslegen :

<RequireAny>
    #IPv4 range at my work
    Require ip 207.100
    #IPv4 range I usually get through my mobile provider
    Require ip 29.11
    #IPv6 from home
    Require ip 2a02:4126:2aa4::/48  
</RequireAny>

(alle Zahlen fiktiv, keine Sorge; -).

Ich benutze dies seit vielen Jahren, um meine Backend-Ordner vor 99% der potenziellen Benutzer zu schützen. (Funktioniert sehr gut, es sei denn, Sie sind ein begeisterter Blogger auf Reisen. Wenn Sie ein Google Mail-Nutzer sind: "Aktivität des letzten Kontos" Der Link ganz unten ist eine bequeme Möglichkeit, Ihre eigenen "IP-Gewohnheiten" herauszufinden.).

15
Frank Nocke

Hinweis: Ich lasse dies hier, da andere davon profitieren könnten. Es ist keine direkte Antwort auf die Frage.

Zum Beispiel:

IP 192.168.100.0/22 ​​erforderlich

funktioniert, während

IP 192.168.100.0/22 ​​#localnetwork erforderlich

scheitert!

Neustart der httpd-Ausgaben:

Job für httpd.service ist fehlgeschlagen, da der Steuerungsprozess mit Fehlercode beendet wurde. Weitere Informationen finden Sie unter "systemctl status httpd.service" und "journalctl -xe".

Es scheint also, dass keine Kommentare in dieser Zeile erlaubt sind .

1
Sorin Negulescu

Beachten Sie, dass Sie haben jetzt mit Apache 2.2 bestätigt, Apache 2.2 unterstützt weder Require ip Noch <RequireAny>. Wie in Übersicht über neue Funktionen in Apache HTTP Server 2.4 angegeben, kann die erweiterte Autorisierungslogik jetzt mithilfe der Anweisung Require und der zugehörigen Containeranweisungen wie <RequireAll>. " Ersteres gehört zu den Verbesserungen, die Apache 2.4 hinzugefügt wurden.

Um dies in Apache 2.2 zu beheben, müssen Sie wahrscheinlich Folgendes tun:

Order allow,deny
Allow from 123.123.123    

dadurch wird der gesamte angegebene Bereich abgerufen.

1
Colt

Die Anweisung Require von Apache wird während der Autorisierungsphase verwendet, um sicherzustellen, dass einem Benutzer der Zugriff auf eine Ressource gewährt oder verweigert wird. mod_authz_Host erweitert die Berechtigungstypen um ip, Host, Forward-DNS und Local. Andere Berechtigungstypen können ebenfalls verwendet werden, erfordern jedoch möglicherweise das Laden zusätzlicher Berechtigungsmodule.

Diese Autorisierungsanbieter wirken sich darauf aus, welche Hosts auf einen Bereich des Servers zugreifen können. Der Zugriff kann über den Hostnamen, die IP-Adresse oder den IP-Adressbereich gesteuert werden.

Da v2.4.8 Ausdrücke innerhalb des Hosts unterstützt werden, sind Anweisungen erforderlich. IP erforderlich

Der IP-Anbieter ermöglicht die Steuerung des Zugriffs auf den Server basierend auf der IP-Adresse des Remoteclients. Wenn IP-Adresse erforderlich angegeben ist, wird der Anforderung Zugriff gewährt, wenn die IP-Adresse übereinstimmt.

Eine vollständige IP-Adresse:

Require ip 10.1.2.3
Require ip 192.168.1.104 192.168.1.205

Eine IP-Adresse eines Hosts erlaubt den Zugriff

Eine teilweise IP-Adresse:

Require ip 10.1
Require ip 10 172.20 192.168.2

Die ersten 1 bis 3 Bytes einer IP-Adresse zur Subnetzbeschränkung.

Ein Netzwerk/Netzmasken-Paar:

Require ip 10.1.0.0/255.255.0.0

Ein Netzwerk a.b.c.d und eine Netzmaske w.x.y.z. Für feinkörnigere Subnetzeinschränkungen.

Eine Netzwerk/nnn CIDR-Spezifikation:

Require ip 10.1.0.0/16

Ähnlich wie im vorherigen Fall, außer dass die Netzmaske aus nnn höherwertigen 1 Bits besteht.

Beachten Sie, dass die letzten drei obigen Beispiele genau mit denselben Hosts übereinstimmen.

IPv6-Adressen und IPv6-Subnetze können wie folgt angegeben werden:

Require ip 2001:db8::a00:20ff:fea7:ccea
Require ip 2001:db8:1:1::a
Require ip 2001:db8:2:1::/64
Require ip 2001:db8:3::/48

Hinweis: Da die IP-Adressen beim Start analysiert werden, werden Ausdrücke zur Anforderungszeit nicht ausgewertet.

Quelle: https://httpd.Apache.org/docs/trunk/mod/mod_authz_Host.html

0
mohsen nazari