GNU/Linux >> Tutoriels Linux >  >> Linux

Autoriser l'accès à un hôte virtuel Apache à partir du réseau local uniquement

Les personnes qui atterrissent dans cette réponse, veuillez noter que cela est spécifique à Apache 2.2.

Apache 2.4 a rendu ces directives obsolètes.

La nouvelle méthode utilise le module mod_authz_host et le Require directives. (lien)

Dans Apache 2.4, vous devriez faire

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

, et supprimez toutes les directives Autoriser.


Facile. Définissez simplement quelque chose comme ceci dans votre configuration principale ou votre configuration virtuelle :

<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>

Le <Directory></Directory> La déclaration dit essentiellement :"Utilisez ces règles pour tout ce qui se trouve dans ce répertoire. Et par "ce répertoire" qui fait référence au /var/www/path/to/your/web/documents que j'ai défini dans cet exemple, mais qui doit être modifié pour correspondre au chemin du répertoire local de votre site.

Suivant dans le <Directory></Directory> zone vous modifiez le comportement Apache par défaut qui Allow est tout par défaut à Order Deny,Allow . Ensuite, vous définissez Deny from all de refuse l'accès à tout le monde. Suivent les Allow from déclarations qui autorisent l'accès à partir de 127.0.0.1 ::1 (adresse IP de l'hôte local), localhost (l'hôte local lui-même). C'est tout ce qui est standard. Depuis l'accès depuis le localhost est nécessaire pour de nombreux processus système internes.

Ce qui suit est ce qui compte pour vous.

Le Allow from pour 192.168 ainsi que 10 autorisera l'accès à partir de toutes les adresses réseau dans la plage de réseau précédée de ces numéros.

Donc en indiquant 192.168 cela signifie essentiellement si un utilisateur a une adresse comme 192.168.59.27 ou 192.168.1.123 ils pourront voir le site Web.

Et de même en utilisant le Allow from pour le 10 préfixe assure que si quelqu'un a une adresse IP de 10.0.1.2 ou même 10.90.2.3 ils pourront voir le contenu.

Presque tous les réseaux internes dans le monde utilisent soit le 192.168 plage ou quelque chose dans le 10 intervalle. Rien d'extérieur. Ainsi, l'utilisation de cette combinaison vous permettra d'atteindre votre objectif de bloquer l'accès au monde extérieur, mais n'autorisera l'accès qu'à partir de votre réseau local.


Ajoutez cette section dans votre directive d'hôte virtuel :

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

Remplacez votre IP ci-dessus. Cela ne doit pas être utilisé pour la sécurité au niveau financier, pour votre information.


Linux
  1. Comment accéder à l'espace de noms réseau du conteneur Docker à partir de l'hôte

  2. Mesurer le trafic à partir du journal d'accès apache

  3. Comment accéder au serveur Web qui s'exécute sur WSL (sous-système Windows pour Linux) à partir du réseau local

  4. Répertorier uniquement les noms de périphérique de toutes les interfaces réseau disponibles

  5. SSH :dans un réseau privé, comment accéder à la machine distante à partir de la machine source sans utiliser la clé publique ssh

Transfert de port Ssh pour accéder à la machine domestique depuis n'importe où ?

Comment configurer des hôtes virtuels Apache sur Ubuntu 20.04

Dépannage réseau à partir de la ligne de commande avec TShark

Comment configurer la configuration de l'hôte virtuel Apache (avec exemples)

Obtenir des adresses d'interface réseau local en utilisant uniquement proc ?

Comment autoriser ssh à rooter l'utilisateur uniquement à partir du réseau local ?