Comment empêcher le déni de service (CWE-400) dans le serveur HTTP Node.js ?

Comment Empecher Le Deni De Service Cwe 400 Dans Le Serveur Http Node Js



Avec l’évolution de la technologie dans tous les domaines, les risques de perte de données et de cyberattaques se sont également améliorés. Les nouvelles technologies jouent un rôle essentiel dans le domaine du développement éthique et de la même manière, ces technologies peuvent également être utilisées pour accomplir des actions contraires à l’éthique de manière plus précise et plus simple. Une de ces attaques qui peuvent être commises par un pirate informatique est « Déni de service (CWE-400) ».

Ce guide explique la procédure pour empêcher le déni de service CWE-400 dans le serveur HTTP Nodejs.







Qu'est-ce que le déni de service du serveur HTTP (CWE-400) ?

Le déni de service (CWE-400) est une tentative de l'attaquant de rendre une application indisponible pour les utilisateurs d'origine en inondant l'application de trafic de robots. Cette attaque est également réalisée en exploitant les vulnérabilités résidentes de l'application pour rendre l'application beaucoup plus lente.



Les applications Node Js sont-elles vulnérables aux attaques malveillantes ?

Oui, les applications Node.js peuvent être vulnérables aux attaques malveillantes, comme tout autre logiciel ou application. Certains types d’attaques malveillantes les plus courants et les plus populaires sont indiqués ci-dessous :



    • Attaques par déni de service
    • Attaques par injection
    • Attaques par script intersite (XSS)
    • Attaques de détournement de session

Comment empêcher le déni de service (CWE-400) dans le serveur HTTP Node.js ?

Pour éviter le déni de service sur le serveur HTTP Node.js, le nombre de requêtes reçues d'une seule adresse IP dans un délai spécifié doit être limité. De cette manière, le trafic reçu sur votre application est géré et il existe également diverses autres méthodes pour atténuer le déni de service (CWE-400) dans Node.js.





Méthode 1 : Utilisation du limiteur de débit

Le limiteur de débit constitue la meilleure approche pour prévenir spécifiquement les attaques par déni de service, car il peut limiter le nombre de requêtes pouvant provenir de chaque requête par trame de fenêtre :

const expObj = exiger ( 'exprimer' ) ;
const Limitation = exiger ( 'limite de taux express' ) ;

const démoApp = expObj ( ) ;

const cusLim = Limitation ( {
fenêtreMme : 2 * 60 * 1000 , // quinze minutes
maximum : 100 ,
} ) ;
demoApp.use ( cusLim ) ;


La description du code ci-dessus est la suivante :



    • Tout d’abord, installez et importez le «  exprimer ' et ' limite de taux express ' dans votre projet Node Js en utilisant le ' npm i ' commande et ' exiger() ' méthode respectivement.
npm j'exprime


    • Ensuite, créez une application express nommée « démoApp » et créez un limiteur de débit en attribuant les valeurs requises pour « WindowsMme ' et ' maximum « propriétés du » limite de taux express ' objet.
    • Le ' WindowsMme ' définit la durée de la fenêtre et ' maximum ' définit la requête maximale pouvant être reçue d'une seule adresse IP par fenêtre.
    • Maintenant, appliquez le « utiliser() » méthode contenant le limiteur de débit avec le « démoApp ' pour limiter la demande reçue par l'application ' demoApp '.

Méthode 2 : utilisation de méthodes de délai d'attente

Le ' temps mort « des méthodes comme » setTimeout() ', ' en-têtesTimeout ', ' requestTimeout ', ' temps mort ', et ' keepAliveTimeout() ' sont utilisés pour quitter ou terminer le ' serveur http ' serveur. Cela empêchera le déni de service (CWE-400) en fournissant un délai minimum de fenêtre d'ouverture. Par exemple, la demande a été supprimée ou la fenêtre sera fermée après « 3 ' secondes :

const serveur = http.createServer ( ( demande, résolution ) = > {
req.setTimeout ( 3000 ) ;
// Demande de traitement
} ) ;

Conseils supplémentaires pour atténuer le déni de service dans Node Js

Il existe quelques conseils supplémentaires qui aident à atténuer le déni de service (CWE-400) dans le serveur HTTP Nodejs, ceux-ci sont répertoriés ci-dessous :

    • Le ' Proxy inversés ' doit être utilisé pour envoyer ou recevoir des requêtes à l'application Node Js. Ces proxys offrent une mise en cache, un équilibrage de charge et une liste noire IP, ce qui aide beaucoup à atténuer le DoS (CWE-400).
    • L’utilisation d’un réseau de diffusion de contenu » CDN ' aide à prévenir l'attaque DoS (CWE-400) en divisant le code en plusieurs morceaux et en les téléchargeant séparément sur plusieurs serveurs.
    • L’utilisation d’un pare-feu d’application Web » WAF » protège votre application en bloquant les requêtes provenant d’une source malveillante connue.
    • L’utilisation d’un « Équilibreur de charge ' répartit uniformément une charge de requêtes sur tous les serveurs, évitant ainsi qu'un seul serveur soit surchargé.

Note: Vous pouvez également consulter la documentation authentique de Node.js pour obtenir plus d'informations sur Déni de service (CWE-400) .

Il s’agit de la prévention du déni de service (CWE-400) sur le serveur HTTP Node.js.

Conclusion

Pour empêcher le déni de service (CWE-400) dans le serveur HTTP Node.js, utilisez le «  Limiteur de débit ', ' Méthodes d'expiration ', ' Proxy inversés ', ' CDN ', ' WAF ' et ' Équilibreur de charge »techniques. Ils limitent le nombre de requêtes, ferment la fenêtre de requête, redirigent la requête vers un autre site Web, divisent et téléchargent le code d'origine sur plusieurs serveurs et équilibrent la charge sur chaque serveur respectivement. Ce guide rapide a illustré le processus pour atténuer ou empêcher le déni de service (CWE-400) dans le serveur HTTP Node.js.