Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Ce guide explique comment bloquer l'accès à certains répertoires d'un Hébergement Web pour certains visiteur / robot / aspirateur en filtrant et bloquant leurs adresses IP ou noms d'hôte.
Mettre en place des règles .htaccess
Créer un document .htaccess
à la racine de votre site et inscrire les règles destinées à bloquer certaines adresses IP ou certains bots.
Pour bloquer les visiteurs en fonction par exemple du début de leur adresse IP, utiliser la directive "deny from
":
Order Deny,Allow
Deny from 123.456.
Allow from all
Cela signifie que toutes les requêtes provenant d'une adresse IP commençant par "123.456.
" seront refusées, tandis que toutes les autres requêtes seront autorisées. Les utilisateurs bloqués recevront un message d'erreur HTTP 403 Forbidden
.
Bloquer une adresse IP spécifique
Order Allow,Deny
Deny from 123.456.789
Allow from all
Cela signifie qu'une seule adresse IP, 123.456.789
, est bloquée et toutes les autres adresses IP peuvent accéder au site.
Bloquer plusieurs adresses IP
Order Allow,Deny
Deny from 123.456.789
Deny from 987.654.321
Allow from all
Cela signifie que deux adresses IP, 123.456.789
et 987.654.321
, sont bloquées et toutes les autres adresses IP peuvent accéder au site.
Bloquer un bot par son user-agent
SetEnvIfNoCase User-Agent "BadBot" BadBot
Order Allow,Deny
Deny from env=BadBot
Allow from all
Cela signifie que tout bot identifié avec un user-agent "BadBot
" sera bloqué et tous les autres utilisateurs peuvent accéder au site.
Bloquer un accès à un dossier spécifique
Order Allow,Deny
Deny from all
Cela signifie que tous les accès au dossier "/dossier
" seront bloqués, indépendamment de l'adresse IP ou du user-agent. Un assistant pour une fonctionnalité similaire est disponible sur votre Manager Infomaniak.
Directives mod_rewrite
Vous pouvez également utiliser la directive mod_rewrite
pour bloquer certaines adresses IP ou certains bots dans un fichier .htaccess.
.htaccess
.Voici quelques exemples:
Bloquer une adresse IP spécifique
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.
RewriteRule ^(.*)$ - [F,L]
Cela signifie qu'une seule adresse IP, 123.456.789
, est bloquée et toutes les autres adresses IP peuvent accéder au site.
Bloquer plusieurs adresses IP
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\. [OR]
RewriteCond %{REMOTE_ADDR} ^987\.654\.321\.
RewriteRule ^(.*)$ - [F,L]
Cela signifie que deux adresses IP, 123.456.789
et 987.654.321
, sont bloquées et toutes les autres adresses IP peuvent accéder au site.
Bloquer un bot par son user-agent
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} BadBot [NC]
RewriteRule ^(.*)$ - [F,L]
Cela signifie que tout bot identifié avec un user-agent "BadBot
" sera bloqué et tous les autres utilisateurs peuvent accéder au site. Cela peut être utile pour empêcher les robots indésirables d'accéder à certaines pages ou de consommer des ressources inutilement.
Bloquer un accès à un dossier spécifique
RewriteEngine on
RewriteRule ^dossier/secret - [F,L]
Cela signifie que tous les accès au dossier "/dossier/secret
" seront bloqués, indépendamment de l'adresse IP ou du user-agent.
Bloquer et rediriger ailleurs
RewriteEngine On
RewriteCond %{REMOTE_ADDR} ^123\.456\.789\.
RewriteRule ^(.*)$ http://www.domain.xyz/blocked.html [L,R=301]
Cela signifie que toutes les requĂŞtes provenant de l'adresse IP 123.456.789
seront redirigées vers la page "blocked.html
" sur le site "www.domain.xyz
". La dernière partie de la ligne RewriteRule, [L,R=301]
indique que la redirection est permanente (R=301) et que c'est la dernière règle à être appliquée (L).
Vous pouvez ajouter plusieurs conditions RewriteCond
pour bloquer différentes adresses IP et rediriger vers différentes pages.
Prenez également connaissance de cet autre guide.
Ce guide explique pourquoi un compte FTP (et la plupart du temps l'Hébergement Web également) peut se retrouver soudainement bloqué.
Préambule
- Infomaniak utilise sur tous les serveurs mutualisés une solution antivirus pour lutter contre les envois de virus via FTP et scripts.
- L'antivirus permet de détecter:
- les éventuels piratages de comptes FTP
- l’envoi volontaire ou involontaire de fichiers (thèmes WordPress, modules frauduleux, etc.) contenant des lignes de codes ou des inclusions malveillantes
Détection de fichier malveillant
L’antivirus scanne tous les fichiers envoyés inférieurs à 1 Mo afin d'empêcher tout upload de virus / script de spam / etc.
En cas de détection d'un élément suspect, le mot de passe du compte FTP est automatiquement modifié et les fichiers incriminés sur le serveur sont verrouillés (FTPban).
Le serveur FTP renvoi alors au client FTP un message du type
550 Virus Detected and Removed: botnet.infomaniak.5.UNOFFICIAL
ou encore
550 Virus Detected and Removed: winnow.botnet.ff.trojans.15900.UNOFFICIAL
Que faire si le compte est bloqué ?
Si votre compte FTP est soudainement bloqué, vous recevez un e-mail ; suivez la procédure qui y sera indiquée afin de débloquer la situation. Notamment:
- Nettoyez votre site et analysez ce que vous souhaitiez envoyer sur le serveur.
- Vérifiez si les applications Web et CMS que vous utilisez sont à jour:
- La cause de la plupart des piratages vient d'un déficit de sécurité dans des applications Web obsolètes ou de mots de passe trop faibles.
Résoudre le problème définitivement
Pour éviter que votre site se fasse à nouveau pirater et bloquer, effectuez les actions suivantes:
Ne republiez en aucun cas les mêmes fichiers contaminés sur votre hébergement car le site serait à nouveau bloqué.
- Mettez à jour les applications Web (WordPress, Joomla, etc.) et les extensions utilisées.
- Supprimez les applications Web non utilisées.
- Changez le mot de passe de tous vos comptes FTP.
- Changez les mots de passe pour accéder aux applications Web (WordPress, Joomla, etc.).
- Changez le mot de passe des utilisateurs de bases de données MySQL.
- Supprimez les utilisateurs des bases de données MySQL que vous n'utilisez pas.
- Utilisez un mot de passe différent à chaque fois, complexe avec au minimum 8 caractères.
- Lancez un scan antivirus manuellement sur votre hébergement.
- Installez et utiliser un antivirus à jour (quel que soit le système d'exploitation).
- Prenez connaissance de cet autre guide si vous recherchez des informations sur la surveillance et résolution de failles dans les scripts hébergés.
Si votre site ne fonctionne pas après un nettoyage, il sera peut-être nécessaire de remplacer certains fichiers supprimés par des fichiers sains.
Simplifiez-vous la vie ! En cas de besoin, des partenaires locaux et référencés par Infomaniak peuvent s'occuper de ces démarches. Lancez un appel d'offres gratuit. Ils s'occupent de tout, vous libérant des détails techniques.
Ce guide explique comment désinstaller un Certificat SSL quel que soit son type, initialement installé depuis le Manager Infomaniak. Si votre certificat est de type payant et que vous souhaitez plutôt résilier l'offre en cours, prenez connaissance de cet autre guide.
Supprimer un certificat SSL
Pour désinstaller un certificat Infomaniak :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné:
- Cliquez sur le menu d'action ⋮ situé à droite de l'élément concerné.
- Cliquez sur Désinstaller:
- Confirmez la désinstallation du certificat.
Ce guide détaille les fonctionnalités disponibles en matière de gestion des bases de données relationnelles sur les hébergements Infomaniak.
Utilisation de Vues, Triggers, Procedures stockées et Routines
En ce qui concerne la gestion des bases de données relationnelles, la fonctionnalité des vues ("views") est disponible par défaut, permettant ainsi aux utilisateurs de créer des vues pour simplifier la gestion et la présentation des données.
Cependant, certaines fonctionnalités avancées, telles que…
- “triggers”
- procédures stockées ("stored procedures")
- routines
- et la création de fonctions
… ne sont disponibles que sur Serveurs Cloud.
Ces fonctionnalités permettent une manipulation plus fine et plus complexe des données, mais elles ne sont pas autorisées sur les serveurs mutualisés. Cette restriction est principalement due aux risques potentiels pour la stabilité de l’infrastructure. Une mauvaise configuration ou une utilisation excessive de ces fonctionnalités pourrait créer des boucles infinies ou des surcharges importantes, affectant non seulement les performances du serveur concerné, mais aussi l’expérience de tous les clients hébergés sur la même infrastructure.
Ce guide détaille l'erreur "Database connection error: could not connect to mysql
" qui peut survenir lors de modifications autour d'un hébergement Infomaniak sur lequel est installé l'app Web Joomla.
Préambule
- Pour que le site refonctionne, il faut vérifier et adapter certaines informations dans le fichier
configuration.php
de Joomla:- Le nom de la base de données MySQL — il s'agit souvent d'un préfixe qui a été ajouté devant le nom existant de la base et le nom d'utilisateur (par exemple
bddname
avant,abcd_bddname
après). - Le serveur hôte de la base de données MySQL (par exemple
mysql.domain.xyz
avant,abcd.myd.infomaniak.com
après). - Le nom d'utilisateur qui accède à la base de données MySQL (par exemple
userbdd
avant,abcd_userbdd
après). - Le chemin de deux répertoires
/tmp
et/logs
:
- Le nom de la base de données MySQL — il s'agit souvent d'un préfixe qui a été ajouté devant le nom existant de la base et le nom d'utilisateur (par exemple
Obtenir les informations actualisées
Pour les points 1, 2 et 3 du préambule ci-dessus:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur Base de données dans le menu latéral gauche.
- Retrouvez et conservez vos informations MySQL actuelles (besoin d'aide ?).
Pour le point 4 du préambule ci-dessus:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur Gérer sous Paramètres avancés:
- Sous l'onglet PHP | Apache, sous Informations PHP cliquez sur Afficher les Informations.
- A la ligne _SERVER['DOCUMENT_ROOT'] copiez le chemin Ă droite:
Modifier le fichier configuration.php de Joomla
Prérequis
- Créer un compte FTP (besoin d'aide ?).
- Se connecter par FTP (besoin d'aide ?).
Editez ensuite le fichier configuration.php qui se trouve dans le dossier racine de votre Joomla:
- Trouvez le paragraphe concerné et mettre à jour les 4 informations du préambule ci-dessus.
- Remplacez également l'ancien chemin (y compris "
www
") par le nouveau chemin:
- Sauvegardez le fichier ; votre Joomla se connectera désormais à la base de données correcte.
Vérifier les changements effectués
Sur l'interface de Joomla, il est possible de vérifier les chemins des dossiers /logs
et /tmp
:
- Pour le dossier
/logs
: allez sous Système / Configuration puis Système - Pour le dossier
/tmp
: allez sous Système / Configuration puis Serveur
Ce guide explique comment supprimer un site d'un Hébergement Web.
Préambule
- Une fois retiré, le site n'apparaitra donc plus sur Internet à son URL précédente.
- Le quota de sites à disposition sur votre hébergement regagnera un emplacement de libre.
Retirer un site d'un hébergement Web payant
Afin d'accéder aux Hébergements Web pour y retirer un site :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné.
- Cliquez sur le menu d'action ⋮ à droite de l'objet concerné dans le tableau qui s'affiche.
- Cliquez sur Retirer le site:
Délier un site d'un hébergement Starter gratuit
Un hébergement Starter (page Web basique) ne contient qu'un seul site qui est propre au nom de domaine lui-même, par conséquent il n'est pas possible comme pour les offres payantes de faire du multisite ni d'enlever un site pour en remettre un autre.
Vous pouvez cependant suivre la procédure ci-dessus et un avertissement vous proposera la résiliation de votre hébergement Starter:
Vous pouvez également directement résilier l'hébergement Starter:
- Ceci résiliera votre produit hébergement Web Starter uniquement, c’est-à -dire la partie concernant votre site Web sans impact sur les autres produits, messagerie ou nom de domaine par exemple.
- Vous devrez confirmez la demande de résiliation par e-mail sinon aucune donnée ne sera supprimée.
- Une confirmation de résiliation est envoyée aux éventuels autres administrateurs de l'Organisation.
- Les sauvegardes seront irrémédiablement supprimées lors de la résiliation, rendant toute restauration impossible.
Afin de résilier:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez sur le menu d'action ⋮ situé à droite de l'élément concerné.
- Sélectionnez l'option Résilier:
- Suivez la procédure jusqu'au bout.
Ce guide concerne les limites de temps de connexion aux bases de données MySQL sur les Hébergements Web Infomaniak dans le contexte d'une application Web utilisant PHP pour interagir avec la base de données.
Temps de connexion aux bases de données MySQL
Limité à 30 secondes réelles
Cela signifie que lorsqu'une connexion est établie entre l'application PHP et la base de données MySQL, elle dispose de 30 secondes pour effectuer toutes les opérations nécessaires avant que la connexion ne soit automatiquement fermée par le serveur MySQL.
Cette limite est généralement définie dans la configuration du serveur MySQL et peut être ajustée en fonction des besoins spécifiques de l'application.
Temps CPU de PHP
Limité à 10 secondes
Cette limite se réfère au temps CPU alloué à l'exécution des scripts PHP sur le serveur ; lorsqu'un script PHP est exécuté, le serveur Web alloue un certain temps CPU pour traiter ce script... donc si le script prend plus de 10 secondes pour s'exécuter, il sera interrompu automatiquement par le serveur Web pour éviter une consommation excessive des ressources du serveur.
En combinant ces deux limites, cela signifie que pour toute opération impliquant une connexion à une base de données MySQL depuis PHP, l'application dispose de 30 secondes réelles pour établir la connexion, exécuter les requêtes et traiter les résultats, tout en respectant la limite de 10 secondes de temps CPU alloué à l'exécution du script PHP.
Si une opération dépasse l'une de ces limites, elle peut être interrompue par le serveur MySQL ou le serveur Web, selon le cas, ce qui peut entraîner des erreurs ou des comportements inattendus dans l'application.
Ce guide explique comment effectuer des transferts de fichiers entre Hébergement Web et/ou Serveur Cloud de façon sécurisée et simplifiée.
Préambule
- Le FXP (File eXchange Protocol) est une méthode de transfert de fichiers directement entre deux serveurs FTP sans que les données ne transitent par le client local.
- Utilisant les commandes FTP PORT et PASV, il permet d'établir une connexion entre les deux serveurs pour un transfert de fichiers plus rapide et efficace, économisant ainsi la bande passante.
- Cette méthode peut cependant présenter des risques de sécurité si les connexions ne sont pas sécurisées par FTPS, et elle requiert une configuration plus complexe comparée aux transferts FTP traditionnels.
Transférer des données entre serveurs
FXP est activé par défaut sur Serveurs Cloud et hébergements Web (hors Starter).
Vous pouvez par exemple employer CrossFTP, un logiciel multiplateforme permettant de faire du FXP (mais également du FTP, SFTP, WebDav, S3, OpenStack Swift).
Ce guide explique comment modifier le mot de passe de gestion WordPress ou toute autre Application Web (Joomla, Drupal, Typo3, PrestaShop, ownCloud, etc.) installée via les outils Infomaniak inclus dans les offres d'Hébergement Web payantes.
Préambule
- Certaines applications permettent également un changement de mot de passe utilisateur directement depuis leur interface dédiée:
- Exemple: WordPress (gérer les utilisateurs, noms, mots de passe, rôles, etc.).
Modifier le mot de passe d'une app Web
Pour changer le mot de passe d'accès au panneau d'administration de votre application Web, effectuez les actions suivantes:
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné:
- Cliquez sur le menu d'action ⋮ situé à droite de l'Application Web concernée.
- Cliquez sur Paramètres de l'application:
- Cliquez sur Modifier Ă droite de l'Application:
- Sous Mot de passe entrez le nouveau mot de passe (pour la connexion avec l'identifiant indiqué au-dessus):
- Cliquez sur le bouton Enregistrer en bas de page.
Ce guide explique comment activer les fonctions suivantes sur Hébergement Web (en italique, Serveur Cloud uniquement):
proc_open
popen
exec()
shell_exec()
set_time_limit
passthru
system
Ces fonctions sont désactivées par défaut car elles représentent un risque de sécurité important en cas de piratage d'un site Web. Ne les activez qu'en cas de réel besoin (d'un script ou CMS ImageMagick, Typo3, CraftCMS, etc.).
Activer des fonctions PHP
Pour accéder à la gestion du site Web :
- Cliquez ici afin d'accéder à la gestion de votre produit sur le Manager Infomaniak (besoin d'aide ?).
- Cliquez directement sur le nom attribué au produit concerné:
- Cliquez sur Gérer sous Paramètres avancés:
- Cliquez sur l'onglet PHP / Apache.
- Cliquez sur les boutons à bascule (toggle switch) On/Off comme désiré:
- Cliquez sur le bouton Enregistrer pour valider les modifications.