Attaquons-nous à la protection d'un site ! Sur Internet on ne connaît pas son ennemi, donc la meilleure défense c'est la prévention ! On ne s'immunise pas automatiquement après une attaque et l'on ne guéri pas avec une simple restauration qui comporterait égement la faille de sécurité.
Deux tâches distinctes sont à prendre en compte : la protection et la sauvegarde.
Les conseils seront différents que l'on exploite :
un site développé sur-mesure (ou presque car on utilise toujours des librairies externes et des copies de code)
un site utilisant des solutions du marché, libres ou payantes
Les protections
failles de sécurités : rechercher les failles classiques de sécurités au niveau de l'upload de fichiers, injection SQL. Ce la concerne les développement sur-mesure. Il est illusoire de réaliser un tel travail sur des développements tiers, d'autant qu'ils sont régulièrement mise à jour
intégrité des fichier sources : les virus modifient les fichiers sources et ajoutent leurs propres fichiers. Le scan et le calcule de CRC de l'ensemble de fichiers sources permet de s'assurer qu'aucune modification n'ait eu lieue en dehors du cadre du développement et des mises à jours officielles. Cela sera d'autant plus important pour les sites utilisant des développements tiers, dont il n'aura pas été possible d'inspecter le code. Ne pas se fier à des outils tiers ou des plugins sensibles eux-mêmes aux attaques, le développement sur-mesure de ce type d'outil est un bel exercice à pratiquer.
fichiers externes : ils sont aussi important à contrôler, mais la tâche est plus difficile. Leurs sources peuvent etre variées : upload par les Internautes, cache applicatif, fichiers temporaires. Le calcule de CRC n'étant pas applicable ici, il faudra mettre en place des règles de sécurité pour les fichiers à uploader, et des systèmes de flush régulier pour les fichiers de cache et temporaires et des système de parsing des fichiers pour reconnaissance de patternes (ici on est dans le domaine de l'anti virus)
l'accès aux fichiers : on quitte le domaine du code pour celui de l'hébergement, il va de soi que les accès doivent se faire en SFTP, que les différents comptes utilisateurs doivent être maîtrisés. Et une attention particulière est à apporter aux droits appliqués à chaque dossiers et fichiers, afin qu'un script malveillant puissent faire le moins de dégâts.
La base de données : une attention similaire doit être adoptée pour votre base de données. Elle peut contenir également du code exécutable comme du javascript et stocker des documents joints potentiellement altérés :
l'intégrité de sa structure doit être contrôlée
ses données initiales peuvent être validées par un calcule de CRC
ses données variables, tout comme les fichiers uploadés, doivent être analysés
ses accès utilisateurs limités
le système de sauvegarde doit être automatisé, et se restauration facilité en cas de besoin
Les sauvegardes (et restaurations)
sauvegarde : les sauvegardes sont à réaliser, si possible de façon automatique en fonction de l'activité du site. Elles devront prendre en compte les droits sur les fichiers.
restauration : la fonction de restauration est quasi tout aussi importante. Elle doit être réalisée rapidement et testée régulièrement tant dans l'intégrité des données que le fonctionnement du système de restauration. Pour les besoins des tests et pour le cas d'une restauration réelle, la préparation d'un environnement dédié est nécessaire (base de données, FTP, sous domaine et son certificat)
Stockage : penser à différentes méthodes et lieux de stockage des sauvegardes, cela sort du cadre de l'urgence liée à la corruption d'un site, mais ce type de service peut-être proposé aux clients.
Les autres ressources
Fichier et bases de données sont les ressources auxquelles ont pense en 1er à protéger et sauvegarder, mais d'autres éléments sont nécessaire au fonctionnement d'un site Internet comme, la présence de Cron, l'ouverture à des API, le paramétrage d serveur apache, l'utilisation de CDN. Ces paramétrages doivent être consignés au même titre que les fichiers et la base de données, dans le cas où le site doit être réinstaller sur un autre environnement.
Une note positive pour conclure
La mise en place de ces tâches peut paraitre excessive la plupart du temps (et on le souhaite), mais les sauvegardes régulières trouvent toujours leur intérêt dans les possibilités de restauration en cas d'erreur de manipulation (du client ou de l'agence web), ce service peut également être proposé et est un gage de qualité permettant d'adresser des clients ayant ces exigences.
🍪 68000 utilise des cookies pour ses tests AdWords, Analytics et de ce système
68000 ?