# Fiche préparation ## Problématiques soumises - Qu'est ce qu'une API ? - Quelles sont aujourd'hui les différents types/schéma de conception/protocoles d'API sur le Web aujourd'hui ? - Quels sont les modèles d'authentification utilisés aujourd'hui avec les API sur le Web ? - Quels sont les risques associés à l'usage d'API pour la manipulation de services systèmes ? Quels sont les solutions de supervision et de détection des intrusions ? ## Qu'est ce qu'une API ? [Les services Web](https://fr.wikipedia.org/wiki/Service_web) ## Les différents protocoles - [Patron de conception REST - Wikipédia](https://en.wikipedia.org/wiki/Representational_state_transfer) - [Protocole SOAP - Wikipédia](https://fr.wikipedia.org/wiki/SOAP) - [Spécifications JSON-RPC2](http://www.jsonrpc.org/specification) - [Introduction à GraphQL](http://graphql.org/learn/) ## Les modèles d'authentification pour les services Web - [JSON Web Token](https://jwt.io/) - [AWS Authentication Scheme](http://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) - [What is an API Key ?](https://stackoverflow.com/questions/1453073/what-is-an-api-key) - [Generate client certificate with OpenSSL](https://gist.github.com/mtigas/952344) ## Sécurité des API Web - [Web API Security](https://en.wikipedia.org/wiki/Web_API_security) - [IPS - Fail2ban](https://github.com/fail2ban/fail2ban) - [IPS - Suricata](https://suricata-ids.org/)