Restreindre acces site local en 4G à 1 smartphone

Fermé
charlattend_65 Messages postés 1 Date d'inscription lundi 18 mai 2020 Statut Membre Dernière intervention 18 mai 2020 - 18 mai 2020 à 18:40
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 19 mai 2020 à 19:14
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
A voir également:

1 réponse

avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
19 mai 2020 à 19:14
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").
1