Hvordan forhindrer man Denial of Service (CWE-400) i Node.js HTTP Server?

Hvordan Forhindrer Man Denial Of Service Cwe 400 I Node Js Http Server



Med udviklingen af ​​teknologi på alle områder er chancerne for tab af data og cyberangreb også blevet forbedret. Nye teknologier spiller en afgørende rolle inden for etisk udvikling, og på samme måde kan disse teknologier også bruges til at udføre uetiske handlinger på en mere præcis og nem måde. Et sådant angreb, der kan udføres af en hacker, er ' Denial of Service (CWE-400) ”.

Denne vejledning forklarer proceduren for at forhindre lammelsesangreb CWE-400 i Nodejs HTTP-server.







Hvad er Denial of Service af HTTP-server (CWE-400)?

Denial of Service (CWE-400) er et forsøg fra hackeren på at gøre en applikation utilgængelig for originale brugere ved at oversvømme applikationen med bottrafik. Dette angreb udføres også ved at udnytte de eksisterende sårbarheder i applikationen til at gøre applikationen meget langsommere.



Er Node Js-applikationer sårbare over for ondsindede angreb?

Ja, Node.js-applikationer kan være sårbare over for ondsindede angreb ligesom enhver anden software eller applikation. Nogle mest almindelige og populære typer af ondsindede angreb er angivet nedenfor:



    • Denial of Service-angreb
    • Injektionsangreb
    • Cross-Site Scripting (XSS) angreb
    • Sessionkapringangreb

Hvordan forhindrer man Denial of Service (CWE-400) i Node.js HTTP Server?

For at forhindre lammelsesangreb i Node.js HTTP-server, skal antallet af anmodninger modtaget fra en enkelt IP-adresse inden for en specificeret tidsramme begrænses. På denne måde bliver den modtagne trafik over din applikation håndteret, og der er også forskellige andre metoder til at afbøde Denial of Service (CWE-400) i Node.js.





Metode 1: Brug af Rate Limiter

Takstbegrænseren er den bedste tilgang til specifikt at forhindre Denial-of-service-angrebet, da den kan begrænse antallet af anmodninger, der kan ankomme fra hver anmodning pr. vinduesramme:

const expObj = kræve ( 'udtrykke' ) ;
const Begrænsende = kræve ( 'express-rate-limit' ) ;

const demoApp = expObj ( ) ;

const cusLim = Begrænsende ( {
vindueMs: 2 * 60 * 1000 , // femten minutter
max: 100 ,
} ) ;
demoApp.brug ( cusLim ) ;


Beskrivelsen af ​​ovenstående kode er som følger:



    • Først skal du installere og importere ' udtrykke ' og ' ekspres-takst-grænse ' i dit Node Js-projekt ved hjælp af ' npm i ' kommando og ' kræve() henholdsvis ”metoden.
npm jeg udtrykker


    • Opret derefter en ekspresapplikation med navnet ' demoApp ' og opret en hastighedsbegrænser ved at tildele de nødvendige værdier for ' windowsMs ' og ' max ' egenskaber af ' ekspres-takst-grænse ” objekt.
    • Det ' windowsMs ' indstiller vinduets varighed og ' max ” indstiller den maksimale anmodning, der kan modtages fra en enkelt IP-adresse pr. vindue.
    • Anvend nu ' brug() ' metode, der indeholder hastighedsbegrænseren med ' demoApp ”-applikation for at begrænse anmodningen modtaget af “demoApp”-applikationen.

Metode 2: Brug af timeout-metoder

Det ' tiden er gået 'metoder som' setTimeout() ', ' headersTimeout ', ' bed om pause ', ' tiden er gået ', og ' keepAliveTimeout() ' bruges til at afslutte eller afslutte ' http-server ' server. Dette vil forhindre Denial of Service (CWE-400) ved at give en minimumsperiode for åbent vindue. For eksempel er anmodningen blevet slettet, eller vinduet lukkes efter ' 3 ' sekunder:

const server = http.createServer ( ( kræve, res ) = > {
req.setTimeout ( 3000 ) ;
// Håndtering af anmodning
} ) ;

Yderligere tips til at afbøde Denial of Service i Node Js

Der er nogle yderligere tips, der hjælper med at afbøde lammelsesangrebet (CWE-400) i Nodejs HTTP-server, disse er anført nedenfor:

    • Det ' Omvendte fuldmagter ” skal bruges til at sende eller modtage anmodninger til Node Js-applikationen. Disse proxyer tilbyder caching, belastningsbalancering og IP-blacklisting, hvilket hjælper meget med at afbøde DoS(CWE-400).
    • Brugen af ​​et indholdsleveringsnetværk ' CDN ” hjælper med at forhindre DoS(CWE-400)-angrebet ved at opdele koden i flere bidder og uploade dem separat på flere servere.
    • Brugen af ​​en webapplikations firewall ' WAF ” beskytter din applikation ved at blokere anmodninger fra en kendt ondsindet kilde.
    • Brugen af ​​en ' Load Balancer ” fordeler en belastning af anmodninger jævnt på tværs af alle servere, hvilket forhindrer en enkelt server i at blive overbelastet.

Bemærk: Du kan også tjekke den autentiske dokumentation af Node.js for at få flere oplysninger om Denial of Service (CWE-400) .

Det handler om forebyggelse af Denial of Service (CWE-400) i Node.js HTTP-server.

Konklusion

For at forhindre Denial of Service (CWE-400) i Node.js HTTP Server, skal du bruge ' Satsbegrænser ', ' Timeout-metoder ', ' Omvendte fuldmagter ', ' CDN'er ', ' WAF ' og ' Load Balancer ” teknikker. De begrænser antallet af anmodninger, lukker anmodningsvinduet, omdirigerer anmodningen til et andet websted, deler og uploader den originale kode i flere servere og afbalancerer belastningen over hver server hhv. Denne hurtige guide har illustreret processen til at afbøde eller forhindre Denial of Service (CWE-400) i Node.js HTTP-server.