Introduction aux APIs ReST
- Architectures n-tiers, applications et API s.
- Les différences essentielles entre une API REST et une API SOA.
- H.A.T.E.O.A.S. Gestion des ressources et liens hypermedia.
Travaux pratiques
Conception d’une API flexible, scalable, résiliente et performante.
Bonnes pratiques
- Conventions et bonnes pratiques.
- Techniques et Stratégies de Versioning.
- Bonnes approches de conception et de développement.
Travaux pratiques
Définition et conception d’une API ReST.
La boîte à outils
- API Mock.
- Conception d’APIs ReST avec OpenAPI et Swagger.
- Utilisation de Postman ou Insomnia.
- Environnement de test et outils (JSON Generator. JSON Server).
Travaux pratiques
Spécification d’une API ReST avec Swagger. Implémentation et test d’une API ReST.
Rappels sur la sécurité
- Les grands principes de la sécurité informatique. Menaces et impacts potentiels.
- Spécificités des APIs : Farming et Throttling.
- BFA et IA : les nouvelles menaces.
- Les différentes injections (XSS, BSI, XSRF, RFI, XPi,…).
- Exposition de données sensibles. Sécurisation des accès.
- Désérialisation non sécurisée. Composants vulnérables.
- Logging et monitoring.
- Présentation de l'OWASP TOP 10.
- Découvrir le Pentesting.
- Introduction à Restler-Fuzzer.
Travaux pratiques
Présentation de quelques solutions de sécurisation de sites web.
Authentification et autorisation
- Sécurité de l’authentification.
- Système de logging.
- Sécurité côté serveur.
- CORS (Cross-Origin Resource Sharing) et CSRF (Cross-Site Request Forgery).
- Canonicalization, Escaping et Sanitization.
- Gestion des permissions : Role-Based Acces vs. Resource-based access.
- Authentification avec OAuth2 et OpenID Connect : vocabulaire et workflow.
Travaux pratiques
Recherche et exploitation de vulnérabilités d’authentification et d’autorisation.
Middleware et JWT (JSON Web Token)
- Rappels sur la cryptographie.
- Les grands principes de JWT.
- Risques et vulnérabilités intrinsèques.
Travaux pratiques
Challenge sur une API non sécurisée.
Les Tests d’API
- Les 10 domaines de tests d’une API.
- Avantages et limites des tests d’API one shot.
- Construire une API Testable by design.
- Les tests de durcissement.
- Les exigences en tests de conformité d’API.
- Les pratiques éprouvées pour réduire les coûts des tests.
Travaux pratiques
Tests d’une API avec Postman, création d’un scénario de test Data Driven, et intégration CLI dans Newman.
API Management
- Les avantages des solutions d’API Management.
- Gravitee : APIm opensource moderne et efficace.
- API Access Management, API Design, API Management, API Deployment et API Observability.
Travaux pratiques
Utiliser une solution d’API Management pour déployer une API.