Maintenant que nous connaissons les moyens courants par lesquels les hackers peuvent attaquer votre API, examinons les meilleures pratiques en matière de sécurité des API que vous pouvez utiliser pour protéger votre API contre toute compromission.
- Authentification multifactorielle
L’authentification à deux facteurs (2FA) est la méthode la plus couramment utilisée pour renforcer la sécurité des applications Web et des API.
Avec l’authentification à deux facteurs, un utilisateur reçoit un code par SMS ou par courrier électronique en cas de tentative de connexion à partir d’un site distant ou d’un autre appareil. L’utilisateur doit donc disposer de ce code avant de pouvoir accéder à votre compte.
Ainsi, même si un attaquant obtient l’accès aux données de connexion d’un certain utilisateur, il ne pourra pas accéder au compte à moins de deviner le code 2FA, ce qui est très peu probable.
Il est également important d’encourager les utilisateurs à changer leurs mots de passe ou même leur adresse électronique s’ils sont informés d’une tentative de connexion à leur compte qui n’a pas été effectuée par eux.
Toutes les applications web les plus populaires que nous connaissons, notamment Facebook, Gmail et Amazon, utilisent le 2FA pour renforcer la sécurité de leurs utilisateurs.
2. Cryptez toutes vos data
Un autre moyen pratique d’empêcher les hackers de compromettre vos API consiste à crypter tout le trafic entrant et sortant de vos serveurs. C’est l’un des moyens les plus efficaces de lutter contre les attaques de type “man in the middle”.
Même si le hacker a accès aux data pendant leur transit, elles n’auront aucun sens pour lui puisqu’elles sont cryptées.
Utilisez le protocole SSL (Secure Sockets Layer) ou TLS (Transport Layer Security) pour vous assurer que toutes les data envoyées et reçues par vos serveurs sont cryptées.
3. Utilisez un maillage de services
Un maillage de services est une couche d’infrastructure dédiée qui assure une communication sécurisée entre les infrastructures d’applications conteneurisées. L’utilisation d’un maillage de services permet d’appliquer différentes couches de gestion et de contrôle lors de l’acheminement des demandes d’un service donné au suivant.
Avec un maillage de services, la sécurité est gérée plus efficacement, en combinant les capacités de sécurité et d’exploitation dans une couche d’infrastructure transparente entre les applications conteneurisées et le réseau.
Comme de plus en plus d’applications adoptent l’architecture microservices, l’utilisation de maillages de services devient l’un des moyens les plus efficaces de garantir une communication sécurisée entre les différents services et API.
4. Utiliser la philosophie de la confiance zéro
Cette philosophie part du principe qu’il peut y avoir des attaquants tant à l’extérieur qu’à l’intérieur du réseau, de sorte que tous les utilisateurs ou machines doivent être vérifiés avant d’obtenir l’accès au réseau.
Traditionnellement, les réseaux avaient une certaine forme de périmètre et tous les éléments à l’intérieur de ce périmètre étaient fiables et ceux à l’extérieur ne l’étaient pas.
Avec la philosophie de la confiance zéro, aucun élément n’est fiable, que ce soit à l’intérieur ou à l’extérieur du périmètre ; ils doivent tous être vérifiés avant de se voir accorder un quelconque niveau d’accès.
Avec cette philosophie, l’accent sur la sécurité est déplacé de l’emplacement vers des utilisateurs, des machines et des ressources spécifiques.
L’utilisation de la philosophie de confiance zéro garantit que les API authentifient tous les utilisateurs et toutes les applications (à l’intérieur comme à l’extérieur), leur accordent le moins de privilèges possible et surveillent de près tout comportement anormal.
5. Limitation de débit
La limitation du débit impose une limite au nombre de demandes ou à la quantité de data qu’un client donné peut consommer. Grâce à la limitation du débit, un seul client ne peut pas submerger l’API avec un nombre excessif de demandes.
Les limites de débit sont généralement calculées en requêtes par seconde. Cette stratégie est spécifiquement utilisée pour faire face aux attaques DDoS sur les API.
La limitation du débit permet également d’équilibrer l’accès et la disponibilité en gérant et en régulant les connexions des utilisateurs.
L’utilisation de cette stratégie limitera considérablement l’impact des attaques DDoS sur votre API.
6. Tirez parti d’OAuth
OAuth, qui signifie “Open Authentication”, est un protocole qui permet aux services tiers d’échanger des informations sans exposer les informations d’identification de l’utilisateur. En utilisant OAuth, vous protégerez les informations sensibles des utilisateurs contre les hackers.
7. Utilisez les notifications push
Un autre moyen efficace de renforcer la sécurité de votre API consiste à utiliser des notifications push qui sont envoyées par le système récepteur sur le téléphone de l’utilisateur.
Les utilisateurs peuvent configurer le système de notification push lorsqu’ils s’inscrivent pour la première fois sur l’application.
Ainsi, chaque fois qu’il y a une tentative de connexion à l’aide d’un autre appareil, l’utilisateur reçoit une notification push.
Ce système ne permet pas de lutter directement contre l’attaque, mais il notifie l’utilisateur, ce qui lui permet de se défendre et d’éviter que son compte ne soit compromis par l’attaquant.