Hoe Denial of Service (CWE-400) in Node.js HTTP-server voorkomen?

Hoe Denial Of Service Cwe 400 In Node Js Http Server Voorkomen



Met de evolutie van de technologie op elk gebied zijn ook de kansen op gegevensverlies en cyberaanvallen toegenomen. Nieuwe technologieën spelen een cruciale rol op het gebied van ethische ontwikkeling en op dezelfde manier kunnen deze technologieën ook worden gebruikt om onethische acties op een nauwkeurigere en gemakkelijkere manier uit te voeren. Een dergelijke aanval die door een hacker kan worden uitgevoerd, is “ Denial of Service (CWE-400) ”.

In deze handleiding wordt de procedure uitgelegd om Denial of Service CWE-400 op de HTTP-server van Nodej te voorkomen.







Wat is Denial of Service van HTTP-server (CWE-400)?

Denial of Service (CWE-400) is een poging van de aanvaller om een ​​applicatie onbeschikbaar te maken voor oorspronkelijke gebruikers door de applicatie te overspoelen met botverkeer. Deze aanval wordt ook uitgevoerd door misbruik te maken van de aanwezige kwetsbaarheden in de applicatie om de applicatie veel langzamer te maken.



Zijn Node Js-applicaties kwetsbaar voor kwaadaardige aanvallen?

Ja, Node.js-applicaties kunnen net als andere software of applicaties kwetsbaar zijn voor kwaadaardige aanvallen. Hieronder vindt u enkele meest voorkomende en populaire soorten kwaadaardige aanvallen:



    • Denial of Service-aanvallen
    • Injectie-aanvallen
    • Cross-Site Scripting (XSS)-aanvallen
    • Sessie-kapingaanvallen

Hoe Denial of Service (CWE-400) in Node.js HTTP-server voorkomen?

Om denial of service op de HTTP-server van Node.js te voorkomen, moet het aantal verzoeken dat binnen een bepaald tijdsbestek wordt ontvangen van een enkel IP-adres worden beperkt. Op deze manier wordt het ontvangen verkeer via uw applicatie afgehandeld en zijn er ook verschillende andere methoden om de Denial of Service (CWE-400) in Node.js te beperken.





Methode 1: Gebruik van snelheidsbegrenzer

De snelheidsbegrenzer is de beste aanpak om de Denial-of-service-aanval specifiek te voorkomen, omdat deze het aantal verzoeken kan beperken dat per verzoek per raamkozijn kan binnenkomen:

const expObj = vereisen ( 'nadrukkelijk' ) ;
const Beperkend = vereisen ( 'Express-tarieflimiet' ) ;

const demoApp = expObj ( ) ;

const cusLim = Beperkend ( {
vensterMevrouw: 2 * 60 * 1000 , // vijftien minuten
maximaal: 100 ,
} ) ;
demoApp.gebruik ( cusLim ) ;


De beschrijving van de bovenstaande code is als volgt:



    • Installeer en importeer eerst de “ nadrukkelijk ' En ' express-snelheidslimiet ' in uw Node Js-project met behulp van de ' npm i 'commando en' vereisen() ”-methode respectievelijk.
npm ik druk uit


    • Maak vervolgens een uitdrukkelijke toepassing met de naam “ demoApp ” en maak een snelheidsbegrenzer door de vereiste waarden toe te wijzen voor “ ramenMevrouw ' En ' maximaal ” eigenschappen van de “ express-snelheidslimiet ' voorwerp.
    • De ' ramenMevrouw ” stelt de duur van de venstertijd in en “ maximaal ” stelt het maximale verzoek in dat kan worden ontvangen van één enkel IP-adres per venster.
    • Pas nu de “ gebruik() ”-methode die de snelheidsbegrenzer bevat met de “ demoApp ”-applicatie om het verzoek te beperken dat wordt ontvangen door de “demoApp”-applicatie.

Methode 2: Gebruik van time-outmethoden

De ' time-out 'methoden als' setTimeout() ', ' headersTime-out ', ' verzoek time-out ', ' time-out ', En ' keepAliveTimeout() ” worden gebruikt om de “ http-server ” server. Dit voorkomt Denial of Service (CWE-400) door een minimaal open venstertijdsbestek te bieden. Het verzoek is bijvoorbeeld verwijderd of het venster wordt gesloten na “ 3 ” seconden:

const server = http.createServer ( ( verzoek, res ) = > {
req.setTimeout ( 3000 ) ;
// Verzoek afhandelen
} ) ;

Aanvullende tips voor het beperken van de Denial of Service in Node Js

Er zijn enkele aanvullende tips die helpen bij het verminderen van de Denial of Service (CWE-400) op de HTTP-server van Nodej. Deze staan ​​hieronder vermeld:

    • De ' Omgekeerde proxy's ” moet worden gebruikt om verzoeken naar de Node Js-applicatie te verzenden of te ontvangen. Deze proxy's bieden caching, taakverdeling en IP-blacklisting, wat veel helpt bij het beperken van de DoS (CWE-400).
    • Het gebruik van een Content Delivery Network “ CDN ”helpt de DoS(CWE-400)-aanval te voorkomen door de code in meerdere delen te verdelen en deze afzonderlijk op meerdere servers te uploaden.
    • Het gebruik van een webapplicatie-firewall “ WAF 'beveiligt uw applicatie door verzoeken van een bekende kwaadaardige bron te blokkeren.
    • Het gebruik van een “ Loadbalancer ” verdeelt de hoeveelheid verzoeken gelijkmatig over alle servers, waardoor wordt voorkomen dat een enkele server overbelast raakt.

Opmerking: U kunt ook de authentieke documentatie van Node.js raadplegen voor meer informatie Denial of Service (CWE-400) .

Dat draait allemaal om het voorkomen van Denial of Service (CWE-400) in de Node.js HTTP-server.

Conclusie

Om Denial of Service (CWE-400) in Node.js HTTP Server te voorkomen, gebruikt u de “ Tariefbegrenzer ', ' Time-outmethoden ', ' Omgekeerde proxy's ', ' CDN's ', ' WAF ' En ' Loadbalancer technieken. Ze beperken het aantal verzoeken, sluiten het verzoekvenster, sturen het verzoek door naar een andere website, verdelen en uploaden de originele code naar meerdere servers en verdelen de belasting over elke server. Deze korte handleiding illustreert het proces om de Denial of Service (CWE-400) op de Node.js HTTP-server te beperken of te voorkomen.