Essayer gratuitement
4 min lecture Guide 371 of 877

Pratiques de Développement Sécurisé

La sécurité est la responsabilité de tous, pas seulement celle de l'équipe sécurité. Les bonnes pratiques de sécurité sont intégrées dans les workflows de développement, pas ajoutées à la fin. Ce guide couvre les pratiques de sécurité pratiques pour les équipes de développement.

Sécurité dans le SDLC

PhaseActivité Sécurité
ConceptionModélisation menaces
CodeCodage sécurisé, revue
BuildSAST, scan dépendances
TestDAST, test pénétration
DéploiementScan container, secrets
ExécutionMonitoring, patching

Codage Sécurisé

Pratiques de Développement

CODAGE SÉCURISÉ
═══════════════

VALIDATION DES ENTRÉES:
─────────────────────────────────────
Toujours valider:
├── Input utilisateur
├── Paramètres API
├── Uploads de fichiers
├── Headers
├── Ne jamais faire confiance aux entrées
└── Liste blanche plutôt que liste noire

Exemple:
// Mauvais
const userId = req.params.id;
db.query(`SELECT * FROM users WHERE id = ${userId}`);

// Bon
const userId = parseInt(req.params.id, 10);
if (isNaN(userId)) throw new Error('Invalid ID');
db.query('SELECT * FROM users WHERE id = ?', [userId]);

ENCODAGE DES SORTIES:
─────────────────────────────────────
├── Encodage HTML pour contexte HTML
├── Encodage URL pour URLs
├── Paramétrage SQL pour requêtes
├── Encodage conscient du contexte
└── Prévenir les injections

AUTHENTIFICATION:
─────────────────────────────────────
├── Utiliser des bibliothèques éprouvées
├── Exigences mot de passe fort
├── Rate limiting sur login
├── Gestion sessions sécurisée
├── MFA quand approprié
└── Ne pas créer le vôtre

AUTORISATION:
─────────────────────────────────────
├── Vérifier à chaque requête
├── Application côté serveur
├── Principe du moindre privilège
├── Ne pas se fier au client
└── Contrôle d'accès explicite

GESTION DES SECRETS:
─────────────────────────────────────
├── Jamais dans le code
├── Variables d'environnement
├── Gestionnaires secrets (Vault, AWS Secrets)
├── Rotation régulière
├── Différent par environnement
└── Secrets protégés

Revue de Code

Focus Sécurité

REVUE CODE SÉCURITÉ
═══════════════════

CHECKLIST REVUE:
─────────────────────────────────────
Pour chaque PR:
├── ☐ Validation entrées présente
├── ☐ Pas de secrets codés en dur
├── ☐ SQL paramétré
├── ☐ Vérifications auth en place
├── ☐ Données sensibles protégées
├── ☐ Gestion erreurs sécurisée
├── ☐ Logging assaini
└── Revue consciente de la sécurité

DRAPEAUX ROUGES:
─────────────────────────────────────
Surveiller:
├── Concaténation de chaînes dans requêtes
├── eval() ou similaire
├── Mots de passe/clés codés en dur
├── Vérifications auth manquantes
├── Contrôles sécurité désactivés
├── CORS trop permissif
├── Données sensibles dans les logs
└── Patterns mauvais connus

VÉRIFICATIONS AUTOMATISÉES:
─────────────────────────────────────
Portes CI/CD:
├── SAST bloque sur problèmes critiques
├── Scan dépendances bloque vulnérabilités
├── Détection secrets empêche commits
├── Scan container vérifie images
└── Échoue vite, corrige tôt

Solutions Connexes