Restreindre acces site local en 4G à 1 smartphone

Signaler
Messages postés
1
Date d'inscription
lundi 18 mai 2020
Statut
Membre
Dernière intervention
18 mai 2020
-
Messages postés
18440
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
19 mai 2020
-
Bonjour,
J'ai installé chez moi un site apache sur windows 10 qui tourne très bien.
J'ai besoin d'y acceder depuis l'exterieur en 4G avec mon smartphone

Il se trouve que ca fonctionne bien en wifi local avec la directive require all granted (que je dois restreindre avec une partie de mon ip locale genre "Require ip 192.168.1"), mais des que je coupe le wifi (du smart pour tester en 4 G ) le fichier acces.log me met ça:
i19-lef01-ix2-176-180-92-197.ft.lns.abo.bbox.fr - - [18/May/2020:18:12:39 +0200] "GET /qi/ HTTP/1.1" 200 61100
i19-lef01-ix2-176-180-92-197.ft.lns.abo.bbox.fr - - [18/May/2020:18:12:46 +0200] "GET /favicon.ico HTTP/1.1" 200 202575
g3t59-h01-176-145-90-230.dsl.sta.abo.bbox.fr - - [18/May/2020:18:17:01 +0200] "GET / HTTP/1.1" 200 5854
g3t59-h01-176-145-90-230.dsl.sta.abo.bbox.fr - - [18/May/2020:18:18:16 +0200] "GET /qi/ HTTP/1.1" 200 61100
mey69-h01-176-145-66-131.dsl.sta.abo.bbox.fr - - [18/May/2020:18:22:40 +0200] "GET /qi/ HTTP/1.1" 200 61100
mey69-h01-176-145-66-131.dsl.sta.abo.bbox.fr - - [18/May/2020:18:22:44 +0200] "GET /favicon.ico HTTP/1.1" 200 202575


Donc ça marche car j'ai configuré la redirection de ports sur l'interface de la BBox,
Donc oui dans fichier vhost, j'ai une directive "require all granted"

Mais je ne sais pas faire selon les explications de l'aide en ligne pour avoir dans la directive un truc du genre
require *-176-145-*.dsl.sta.abo.bbox.fr
Peut être faudrait ainsi il mapper tout ou partie de l'ip externe associée au smart en 4G, en utilisant des caractères génériques

J'y bosse et vous remercie pour toute aide substantielle
Configuration: Windows / Firefox 76.0

1 réponse

Messages postés
18440
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
19 mai 2020
4 179
Bonjour,

La directive Require permet l'utilisation d'expression, celles-ci étant documentées et illustrées ici :
https://httpd.apache.org/docs/2.4/en/expr.html

Tu peux donc utiliser la variable
REMOTE_HOST
(qui correspond au nom d'hôte du visiteur) avec l'opérateur
-strmatch
afin d'utiliser des caractères comme « * ».

Sur cette page :
https://httpd.apache.org/docs/2.4/en/howto/access.html
Tu as aussi un exemple avec l'utilisations de « If ».

Si tu souhaites autoriser un bloc d'adresses IP, je te déconseille l'utilisation du nom d'hôte (résolution DNS inversée) et plutôt utiliser les adresses IP + le masque de sous-réseau adéquat.

Exemple pour autoriser toutes les IP 176.145.*.* :
Require ip 176.145.0.0/16


Exemple pour autoriser toutes les IP 176.145.90.* :
Require ip 176.145.90.0/24


Ta technique de contrôle basée sur l'adresse IP n'est pas très "sûre" :
- Avec 176.145.0.0/16, tu autorises quand même 65534 adresses IP.
- Même si tu en autorisais une seule (176.145.90.230), encore faut-il t'assure que ton accès à Internet ne se fasse pas à l'aide d'un CG-NAT, ce qui est fort probable sur une connexion 4G mobile. Cela signifie que plusieurs personnes partagent cette même IP.
- Une adresse IP n'est pas une preuve d'identité.

Je te recommande plutôt de mettre en place une authentification par mot de passe ("auth basic").