La sécurité web : une priorité absolue
En 2024, une entreprise sur trois subit une cyberattaque, et 60% des PME qui en sont victimes ferment dans les 6 mois. Le coût moyen d'une breach est de 4,45M€, sans compter les dégâts de réputation. Pourtant, 90% des attaques exploitent des vulnérabilités connues et évitables. Sécuriser votre site n'est plus optionnel : c'est une responsabilité business et légale (RGPD).
Panorama des menaces 2024
Types d'attaques courantes
- Injection SQL : Manipulation base de données via formulaires
- XSS (Cross-Site Scripting) : Injection code malveillant JavaScript
- CSRF (Cross-Site Request Forgery) : Actions non autorisées au nom utilisateur
- DDoS : Saturation serveur pour rendre site inaccessible
- Brute force : Tentatives répétées de connexion
- Malware : Code malveillant infectant site
- Phishing : Vol identifiants via faux sites
- Zero-day exploits : Vulnérabilités inconnues exploitées
Conséquences business
- Financières : Vol données bancaires, rançon, amendes RGPD
- Opérationnelles : Site down, perte productivité
- Réputationnelles : Perte confiance clients, bad press
- Légales : Poursuites, sanctions CNIL
- Données : Vol propriété intellectuelle, secrets commerciaux
Fondations sécurité (essentiels)
1. HTTPS obligatoire
Chiffrement de toutes les communications.
Pourquoi HTTPS
- Chiffre données en transit (mots de passe, infos paiement)
- Authentifie identité du site (certificat SSL/TLS)
- Google privilégie sites HTTPS (facteur ranking)
- Navigateurs affichent "Non sécurisé" sans HTTPS
Mise en place
- Obtenir certificat SSL/TLS (Let's Encrypt gratuit)
- Configurer serveur pour HTTPS
- Rediriger HTTP → HTTPS (301 permanent)
- HSTS header (forcer HTTPS navigateurs)
- Vérifier mixed content (ressources HTTP sur page HTTPS)
2. Mises à jour systématiques
90% des breaches exploitent vulnérabilités connues.
Que mettre à jour
- CMS : WordPress, Drupal, etc. (dès sortie patch)
- Plugins/extensions : Désinstaller inutilisés, update actifs
- Thèmes : Uniquement sources officielles
- Serveur : PHP, Node.js, dépendances
- Dependencies : npm packages, libraries
Automatisation
- Auto-updates WordPress core (sécurité uniquement)
- Dependabot GitHub (alertes vulnérabilités)
- Monitoring CVE (Common Vulnerabilities and Exposures)
3. Authentification forte
Sécuriser accès admin et utilisateurs.
Mots de passe
- Politique stricte : 12+ caractères, mixte majuscules/minuscules/chiffres/symboles
- Gestionnaire mots de passe : 1Password, Bitwarden (générer aléatoires)
- Pas de réutilisation : Unique par service
- Rotation régulière : Tous les 3-6 mois pour comptes critiques
2FA (Two-Factor Authentication)
- Obligatoire pour admins
- Apps TOTP : Google Authenticator, Authy
- Backup codes en cas perte device
- SMS moins sûr (SIM swapping) mais mieux que rien
4. Sauvegardes automatiques
Assurance en cas d'attaque ou erreur.
Stratégie backup 3-2-1
- 3 copies : Production + 2 backups
- 2 médias différents : Serveur + cloud
- 1 offsite : Géographiquement séparé
Fréquence
- Quotidien : Sites e-commerce, données critiques
- Hebdomadaire : Sites vitrine, blogs
- Avant modifications : Toujours backup avant update majeure
Que sauvegarder
- Base de données complète
- Fichiers site (code, uploads)
- Configurations serveur
Tester restauration
- Vérifier backups mensuellement
- Simuler restauration sur environnement test
- Documenter procédure
Sécurité applicative
5. Protection contre injections SQL
Empêcher manipulation base de données.
Bonnes pratiques développement
- Prepared statements : Jamais concaténer SQL avec input utilisateur
- ORM/Query builders : Sequelize, TypeORM (protection intégrée)
- Validation input : Whitelist caractères autorisés
- Principe moindre privilège : User DB avec permissions minimales
6. Prévention XSS
Bloquer injection scripts malveillants.
Défenses XSS
- Échapper output : Encoder HTML entities affichage user input
- Content Security Policy : Header CSP restreindre sources scripts
- HTTP-only cookies : Empêcher accès JS aux cookies sensibles
- Validation input : Sanitize données côté serveur
- Frameworks modernes : React, Vue échappent par défaut
7. Protection CSRF
Vérifier légitimité requêtes.
Implémentation
- CSRF tokens : Token unique par session/form
- SameSite cookies : Attribut SameSite=Strict ou Lax
- Vérification origin/referer : Checker origine requête
- Frameworks : Express CSRF, Django CSRF (built-in)
8. Limitation taux (Rate limiting)
Prévenir abus et brute force.
Limites recommandées
- Login attempts : 5 tentatives / 15 min puis blocage
- API calls : 100 requêtes / heure par IP (ajuster selon usage)
- Form submissions : 3 soumissions / minute
Solutions
- Express-rate-limit (Node.js)
- Django-ratelimit (Python)
- Cloudflare Rate Limiting (WAF)
Infrastructure et serveur
9. Firewall applicatif (WAF)
Filtrer trafic malveillant avant qu'il atteigne application.
Solutions WAF
- Cloudflare : CDN + WAF gratuit basique
- Sucuri : Spécialisé WordPress
- AWS WAF : Si infrastructure AWS
- ModSecurity : Open-source pour Apache/Nginx
Protections WAF
- Blocage IPs malveillantes connues
- Règles OWASP Top 10
- Protection DDoS Layer 7
- Challenge bot (CAPTCHA)
10. Configuration serveur sécurisée
Hardening de l'infrastructure.
Headers sécurité HTTP
- Content-Security-Policy : Restreindre sources ressources
- X-Frame-Options : DENY (anti-clickjacking)
- X-Content-Type-Options : nosniff
- Strict-Transport-Security : HSTS forcer HTTPS
- Referrer-Policy : Contrôler infos referer
- Permissions-Policy : Désactiver features inutiles (géoloc, caméra)
Configuration PHP
- display_errors = Off (production)
- expose_php = Off
- disable_functions (fonctions dangereuses)
- open_basedir restriction
11. Protection DDoS
Résister aux attaques par saturation.
Niveaux défense
- Layer 3-4 (Network) : Hébergeur/Cloudflare (volumétrie)
- Layer 7 (Application) : WAF + rate limiting
- CDN : Distribution charge géographiquement
- Autoscaling : Augmenter ressources automatiquement
12. Monitoring et alertes
Détecter intrusions rapidement.
Que monitorer
- Logs serveur : 401, 403, 500 errors spike
- Trafic inhabituel : Pic soudain requêtes
- Tentatives login : Failed authentications
- Modifications fichiers : Integrity monitoring
- Performance : CPU/RAM anormaux (crypto-mining)
Outils
- Uptime monitoring : UptimeRobot, Pingdom
- Security scanning : Sucuri SiteCheck, Qualys SSL Labs
- SIEM : Splunk, ELK Stack (enterprise)
- Alertes : Email/Slack pour événements critiques
Sécurité WordPress spécifique
13. Hardening WordPress
WordPress alimente 43% du web = cible favorite hackers.
Mesures essentielles
- Changer préfixe tables : wp_ → custom_abc_
- Désactiver XML-RPC : Si non utilisé (attaques brute force)
- Limiter tentatives login : Plugin Limit Login Attempts
- Cacher version WP : Remove version meta tag
- Désactiver file editing : define('DISALLOW_FILE_EDIT', true);
- wp-config.php sécurisé : Permissions 400, au-dessus web root si possible
Plugins sécurité recommandés
- Wordfence : Firewall + malware scanner
- iThemes Security : Hardening complet
- Sucuri Security : Monitoring + hardening
Conformité RGPD
14. Protection données personnelles
Obligations légales Europe.
Principes RGPD
- Minimisation : Collecter strict nécessaire
- Consentement : Opt-in explicite (pas pré-coché)
- Transparence : Politique confidentialité claire
- Durée conservation : Limiter rétention données
- Droit accès/suppression : Procédure utilisateur
- Sécurité : Mesures techniques et organisationnelles
Mise en conformité
- Audit données collectées
- Politique confidentialité détaillée
- Cookie banner conforme (pas wall)
- Registre traitements (obligatoire > 250 employés)
- DPO si nécessaire (Data Protection Officer)
- Procédure breach notification (72h CNIL)
15. Chiffrement données
Protéger données au repos et en transit.
En transit
- HTTPS/TLS 1.3 (toutes communications)
- SSH pour accès serveur (jamais FTP)
- VPN pour connexions admin distance
Au repos
- Base de données : Chiffrement at-rest (MySQL, PostgreSQL)
- Mots de passe : Bcrypt/Argon2 (jamais plain text ou MD5)
- Informations sensibles : Chiffrement application-level (AES-256)
- Backups : Chiffrés avant stockage offsite
Réponse aux incidents
16. Plan de réponse incident
Procédure en cas de breach.
Phases réponse
- Détection : Identifier compromission (monitoring, alertes)
- Confinement : Isoler systèmes affectés
- Éradication : Supprimer malware, patcher vulnérabilité
- Récupération : Restaurer depuis backup propre
- Post-mortem : Analyser cause, améliorer défenses
Contacts d'urgence
- Développeur/Agence web
- Hébergeur
- Expert sécurité (si disponible)
- CNIL (si données personnelles)
- Clients affectés (obligation RGPD 72h)
17. Nettoyage après infection
Restaurer site compromis.
Étapes nettoyage
- Backup site infecté : Pour analyse forensique
- Scanner malware : Sucuri SiteCheck, Wordfence
- Identifier fichiers modifiés : Comparer dates, hashes
- Restaurer depuis backup propre : Avant infection
- Update tout : CMS, plugins, thèmes, dépendances
- Changer tous mots de passe : Admin, DB, FTP, SSH
- Régénérer clés : WordPress salts, API keys
- Scanner à nouveau : Vérifier propreté
"Après une tentative d'attaque DDoS, nous avons implémenté Cloudflare et renforcé notre sécurité. Depuis 18 mois, zéro incident malgré 10K+ tentatives bloquées mensuellement." - CTO e-commerce 5M€ CA
Tests de sécurité
18. Audits réguliers
Évaluer posture sécurité.
Fréquence
- Trimestriel : Scan automatisé vulnérabilités
- Annuel : Audit complet par expert
- Avant lancement : Pentest projet majeur
- Après incident : Audit post-breach
Outils scan gratuits
- OWASP ZAP : Scanner open-source
- Nikto : Web server scanner
- WPScan : Spécifique WordPress
- SSL Labs : Test config SSL/TLS
- Security Headers : Vérifier headers HTTP
19. Pentesting
Simulation attaque par experts.
Types de tests
- Black box : Testeur sans connaissance interne
- White box : Accès code source et architecture
- Gray box : Connaissance partielle
Scope typique
- Authentification et autorisation
- Injection (SQL, XSS, etc.)
- Configuration serveur
- Gestion session
- Logique métier
- APIs et intégrations
Formation et sensibilisation
20. Culture sécurité équipe
Humain = maillon faible.
Formation continue
- Sensibilisation phishing (tests simulés)
- Bonnes pratiques mots de passe
- Détection emails suspects
- Procédures sécurité (qui contacter, quoi faire)
- Coding sécurisé pour développeurs (OWASP Top 10)
Budget sécurité
Investissement minimal
- SSL/TLS : 0€ (Let's Encrypt)
- Backups : 10-50€/mois
- WAF basique : 0€ (Cloudflare free)
- Monitoring : 0-50€/mois
- Plugin sécurité WP : 0-200€/an
- Total : 120-600€/an (vital minimum)
Investissement recommandé
- WAF premium : 200-500€/mois
- Pentest annuel : 3 000-10 000€
- Consultant sécurité : 1 000-3 000€/jour
- Outils monitoring avancés : 500-2 000€/mois
- Assurance cyber : 1 000-5 000€/an
Checklist sécurité complète
Essentiels (faire immédiatement)
- Activer HTTPS partout
- Mettre à jour CMS, plugins, serveur
- Configurer backups automatiques quotidiens
- Activer 2FA pour tous admins
- Installer WAF (Cloudflare minimum)
- Changer mots de passe faibles
- Scanner malware
Avancé (dans les 30 jours)
- Configurer headers sécurité HTTP
- Implémenter rate limiting
- Audit permissions fichiers serveur
- Monitoring et alertes
- Politique confidentialité RGPD
- Plan de réponse incident
Expert (ongoing)
- Pentesting annuel
- Formation équipe sécurité
- Audits trimestriels
- Veille vulnérabilités
- Amélioration continue
La sécurité web n'est jamais "terminée" - c'est un processus continu d'amélioration et de vigilance. Mais avec ces fondations solides, vous réduisez drastiquement votre surface d'attaque et vous protégez contre 95% des menaces courantes. Chez WEMAX, nous intégrons la sécurité dès la conception de chaque projet et accompagnons nos clients dans le maintien d'une posture sécuritaire robuste.



