Bonjour,
J'ai remarqué un problème de connexion à l'administration de Joomla, du fait de la configuration de mon serveur VPS. ( Un Vhost par domaine, chaque Vhost écoute sur ipv4 + ipv6. )
Mon Virtualhost comprend le paramétrage suivant pour protéger le lien de connexion à l'administration de Joomla :
# Autoriser uniquement mon IP locale ipv4 / ipv6 pour l'accès à l'administration.
<Directory /var/www/joomla-site1.domain.ext/administrator>
Require all denied
# Ne fonctionne plus pour autoriser la connexion administrator depuis que le serveur Apache2.4 est configuré en ipv6 :
Require ip xx.xxx.xx.xxx
# Permet la connexion en ipv6 :
Require ip aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh
</Directory>
Le problème est le suivant :
L'adresse ipv6 semble changer plus souvent que l'adresse ipv4.
Au changement de mon adresse locale ipv6, je ne peux plus me connecter à l'administion de joomla, même si mon adresse ipv4 est autorisée.
En effet, ipv6 prend le dessus et la correspondance avec ipv4 ne correspondra donc pas avec l'adresse ipv4 autorisée, ni avec l'ancienne adresse ipv6 autorisée.
Il faut donc modifier la configuration du serveur manuellement pour autoriser ma nouvelle adresse ipv6, si je souhaite me connecter à l'administration de Joomla.
Il est possible de forcer la navigation en ipv4 ou en ipv6 de différentes façon.
Une des solution est de modifier le fichier hosts sur la machine client pour forcer l'utilisation de ipv4 ou de ipv6 sur certains domaines à consulter.
# Forcer ipv4 ou ipv6 depuis le fichier /etc/hosts de la machine du client.
# Plus simple et plus rapide à mettre en oeuvre pour des tests de configuration serveur.
sudo nano /etc/hosts
# L'adresse ipv4 indiquée va obliger le navigateur a consulter la ressource en ipv4.
# La configuration serveur autorisant mon adresse locale ipv4, si elle n'a pas changée, permettra la connexion à l'administration de Joomla, sans avoir à modifier la configuration du serveur.
xx.xxx.xx.xxx joomla-site1.domain.ext
aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh joomla-site2.domain.ext
# Cela résout mon problème d'accès à l'administration de Joomla, en utilisant ipv4 au lieu de ipv6.
# Je n'ai donc pas besoin de me connecter au serveur pour mettre à jour la nouvelle adresse ipv6 locale autorisée.
J'ai regardé du côté des plugins de Firefox pour switcher entre ipv4 et ipv6.
Je n'ai trouvé aucun plugin certifié par mozilla.
J'ai également vu qu'il est possible de modifier la configuration de Firefox de la façon suivante :
# Première solution avec Firefox :
# Désactiver ipv6 :
about:config
Rechercher "ipv6"
Clic droit sur network.dns.disable.IPv6
Sélectionner "Inverser"
# Deuxième solution avec Firefox :
# Forcer ipv4 :
# Ajouter un domaine a utiliser en ipv4
about:config
network.dns.ipv4OnlyDomains
Le paramétrage du navigateur client ne me semble pas approprié.
L'utilisation de plugins tiers sur Firefox non plus.
Je n'ai pas trouvé de ressources PHP / Javascript me permettant de switcher entre mon ipv4 locale et mon ipv6 locale.
Je n'ai jamais vu de telles fonctionnalités sur aucun espace de connexion.
Le script PHP suivant va afficher l'adresse ip locale de l'utilisateur, soit une adresse ipv4, soit une adresse ipv6.
$ip = $_SERVER['REMOTE_ADDR'];
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
$ipv4 = $ip;
} elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$ipv6 = $ip;
}
echo "Votre IPv4 est : $ipv4 <br/>";
echo "Votre IPv6 est : $ipv6 <br/>";
Le script complet devrait afficher ipv4 ET ipv6 :
Des sites proposent d'afficher l'adresse ipv4 et ipv6 du client.
Il semblerait qu'ils aient paramétrés 2 ou 3 virtualhost pour cela : ipv4+ipv6 / ipv4 / ipv6
J'ai remarqué que je n'ai pas rencontré de difficultés de connexion sur d'autres sites - autres que Joomla - protégés de la même façon.
Exemple ici : https://github.com/pluxml/PluXml/tree/master/core/admin
Je protège le répertoire /core/admin de la même façon que celui pour joomla/administrator
Je n'ai pas étudié le mécanisme de connexion, mais, quand mon ipv6 est rafraichie, je fini en 403 sur joomla/administrator, alors que j'arrive à m'identifier sur PluXML/core/admin
<Directory /var/www/amis-sh.fr/core/admin/>
Require all denied
Require ip xx.xxx.xx.xxx
Require ip aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh
Peut être que la création d'un plugin Joomla permettant au client de switcher entre ipv4/ipv6 pour se connecter à l'administration de Joomla pourrait être une bonne idée ?
Cela pourrait peut être aider, et, permettre au client de switcher entre ipv4 / ipv6 et ainsi faciliter les tests de futurs utilisateurs et administrateurs.
Je n'ai rien vu de la sorte sur https://extensions.joomla.org
Si vous avez des informations pour permettre la connexion en ipv4 OU ipv6 à l'administration de Joomla, selon le choix de l'utilisateur, merci de partager vos infos.
J'ai remarqué un problème de connexion à l'administration de Joomla, du fait de la configuration de mon serveur VPS. ( Un Vhost par domaine, chaque Vhost écoute sur ipv4 + ipv6. )
Mon Virtualhost comprend le paramétrage suivant pour protéger le lien de connexion à l'administration de Joomla :
# Autoriser uniquement mon IP locale ipv4 / ipv6 pour l'accès à l'administration.
<Directory /var/www/joomla-site1.domain.ext/administrator>
Require all denied
# Ne fonctionne plus pour autoriser la connexion administrator depuis que le serveur Apache2.4 est configuré en ipv6 :
Require ip xx.xxx.xx.xxx
# Permet la connexion en ipv6 :
Require ip aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh
</Directory>
Le problème est le suivant :
L'adresse ipv6 semble changer plus souvent que l'adresse ipv4.
Au changement de mon adresse locale ipv6, je ne peux plus me connecter à l'administion de joomla, même si mon adresse ipv4 est autorisée.
En effet, ipv6 prend le dessus et la correspondance avec ipv4 ne correspondra donc pas avec l'adresse ipv4 autorisée, ni avec l'ancienne adresse ipv6 autorisée.
Il faut donc modifier la configuration du serveur manuellement pour autoriser ma nouvelle adresse ipv6, si je souhaite me connecter à l'administration de Joomla.
Il est possible de forcer la navigation en ipv4 ou en ipv6 de différentes façon.
Une des solution est de modifier le fichier hosts sur la machine client pour forcer l'utilisation de ipv4 ou de ipv6 sur certains domaines à consulter.
# Forcer ipv4 ou ipv6 depuis le fichier /etc/hosts de la machine du client.
# Plus simple et plus rapide à mettre en oeuvre pour des tests de configuration serveur.
sudo nano /etc/hosts
# L'adresse ipv4 indiquée va obliger le navigateur a consulter la ressource en ipv4.
# La configuration serveur autorisant mon adresse locale ipv4, si elle n'a pas changée, permettra la connexion à l'administration de Joomla, sans avoir à modifier la configuration du serveur.
xx.xxx.xx.xxx joomla-site1.domain.ext
aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh joomla-site2.domain.ext
# Cela résout mon problème d'accès à l'administration de Joomla, en utilisant ipv4 au lieu de ipv6.
# Je n'ai donc pas besoin de me connecter au serveur pour mettre à jour la nouvelle adresse ipv6 locale autorisée.
J'ai regardé du côté des plugins de Firefox pour switcher entre ipv4 et ipv6.
Je n'ai trouvé aucun plugin certifié par mozilla.
J'ai également vu qu'il est possible de modifier la configuration de Firefox de la façon suivante :
# Première solution avec Firefox :
# Désactiver ipv6 :
about:config
Rechercher "ipv6"
Clic droit sur network.dns.disable.IPv6
Sélectionner "Inverser"
# Deuxième solution avec Firefox :
# Forcer ipv4 :
# Ajouter un domaine a utiliser en ipv4
about:config
network.dns.ipv4OnlyDomains
Le paramétrage du navigateur client ne me semble pas approprié.
L'utilisation de plugins tiers sur Firefox non plus.
Je n'ai pas trouvé de ressources PHP / Javascript me permettant de switcher entre mon ipv4 locale et mon ipv6 locale.
Je n'ai jamais vu de telles fonctionnalités sur aucun espace de connexion.
Le script PHP suivant va afficher l'adresse ip locale de l'utilisateur, soit une adresse ipv4, soit une adresse ipv6.
$ip = $_SERVER['REMOTE_ADDR'];
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
$ipv4 = $ip;
} elseif (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
$ipv6 = $ip;
}
echo "Votre IPv4 est : $ipv4 <br/>";
echo "Votre IPv6 est : $ipv6 <br/>";
Le script complet devrait afficher ipv4 ET ipv6 :
Des sites proposent d'afficher l'adresse ipv4 et ipv6 du client.
Il semblerait qu'ils aient paramétrés 2 ou 3 virtualhost pour cela : ipv4+ipv6 / ipv4 / ipv6
J'ai remarqué que je n'ai pas rencontré de difficultés de connexion sur d'autres sites - autres que Joomla - protégés de la même façon.
Exemple ici : https://github.com/pluxml/PluXml/tree/master/core/admin
Je protège le répertoire /core/admin de la même façon que celui pour joomla/administrator
Je n'ai pas étudié le mécanisme de connexion, mais, quand mon ipv6 est rafraichie, je fini en 403 sur joomla/administrator, alors que j'arrive à m'identifier sur PluXML/core/admin
<Directory /var/www/amis-sh.fr/core/admin/>
Require all denied
Require ip xx.xxx.xx.xxx
Require ip aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh
Peut être que la création d'un plugin Joomla permettant au client de switcher entre ipv4/ipv6 pour se connecter à l'administration de Joomla pourrait être une bonne idée ?
Cela pourrait peut être aider, et, permettre au client de switcher entre ipv4 / ipv6 et ainsi faciliter les tests de futurs utilisateurs et administrateurs.
Je n'ai rien vu de la sorte sur https://extensions.joomla.org
Si vous avez des informations pour permettre la connexion en ipv4 OU ipv6 à l'administration de Joomla, selon le choix de l'utilisateur, merci de partager vos infos.