Ako zabrániť odmietnutiu služby (CWE-400) na serveri HTTP Node.js?

Ako Zabranit Odmietnutiu Sluzby Cwe 400 Na Serveri Http Node Js



S vývojom technológií v každej oblasti sa tiež zlepšili šance na stratu údajov a kybernetické útoky. Nové technológie zohrávajú dôležitú úlohu v oblasti etického rozvoja a rovnakým spôsobom je možné tieto technológie použiť aj na presnejšie a jednoduchšie vykonávanie neetických akcií. Jedným z takýchto útokov, ktoré môže vykonať hacker, je „ Denial of Service (CWE-400) “.

Táto príručka vysvetľuje postup, ako zabrániť odmietnutiu služby CWE-400 na serveri HTTP Nodejs.







Čo je odmietnutie služby HTTP servera (CWE-400)?

Denial of Service (CWE-400) je pokus útočníka zneprístupniť aplikáciu pre pôvodných používateľov tým, že ju zahltí návštevnosť robotov. Tento útok sa vykonáva aj využitím existujúcich zraniteľností aplikácie, aby bola aplikácia oveľa pomalšia.



Sú aplikácie Node Js zraniteľné voči škodlivým útokom?

Áno, aplikácie Node.js môžu byť zraniteľné voči škodlivým útokom rovnako ako akýkoľvek iný softvér alebo aplikácia. Niektoré najbežnejšie a najobľúbenejšie typy škodlivých útokov sú uvedené nižšie:



    • Útoky odmietnutia služby
    • Injekčné útoky
    • Cross-Site Scripting (XSS) útoky
    • Útoky únosov relácie

Ako zabrániť odmietnutiu služby (CWE-400) na serveri HTTP Node.js?

Aby sa zabránilo odmietnutiu služby na HTTP serveri Node.js, je potrebné obmedziť počet požiadaviek prijatých z jednej IP adresy v rámci špecifikovaného časového rámca. Týmto spôsobom sa spracuje prijatá prevádzka cez vašu aplikáciu a existujú aj rôzne iné metódy na zmiernenie odmietnutia služby (CWE-400) v Node.js.





Metóda 1: Použitie obmedzovača rýchlosti

Obmedzovač rýchlosti je najlepším spôsobom, ako konkrétne zabrániť útoku odmietnutia služby, pretože môže obmedziť počet požiadaviek, ktoré môžu prísť z každej požiadavky na rám okna:

const expObj = vyžadovať ( 'expresné' ) ;
const Obmedzenie = vyžadovať ( 'expres-rate-limit' ) ;

const demoApp = expObj ( ) ;

const cusLim = Obmedzenie ( {
windowMs: 2 * 60 * 1000 , // pätnásť minút
max: 100 ,
} ) ;
demoApp.use ( cusLim ) ;


Popis vyššie uvedeného kódu je nasledujúci:



    • Najprv nainštalujte a importujte súbor „ expresné “ a „ expresný limit “ vo vašom projekte Node Js pomocou „ npm a “príkaz a “ vyžadovať() “, resp.
npm vyjadrujem sa


    • Ďalej vytvorte expresnú aplikáciu s názvom „ demoApp “ a vytvorte obmedzovač rýchlosti priradením požadovaných hodnôt pre „ windowsMs “ a „ max “vlastnosti “ expresný limit “objekt.
    • ' windowsMs “nastavuje trvanie okna a “ max ” nastavuje maximálnu požiadavku, ktorá môže byť prijatá z jednej IP adresy na okno.
    • Teraz použite „ použiť() ” metóda obsahujúca obmedzovač rýchlosti s “ demoApp ” na obmedzenie žiadosti prijatej aplikáciou “demoApp”.

Metóda 2: Použitie metód časového limitu

' čas vypršal “metódy ako “ setTimeout() ',' headersTimeout ',' requestTimeout ',' čas vypršal “ a „ keepAliveTimeout() “ sa používajú na ukončenie alebo ukončenie „ http-server “server. Tým sa zabráni odmietnutiu služby (CWE-400) poskytnutím minimálneho časového rámca otvoreného okna. Napríklad požiadavka bola vymazaná alebo sa okno zatvorí po „ 3 ”sekundy:

const server = http.createServer ( ( req, req ) = > {
req.setTimeout ( 3000 ) ;
// Vybavovanie žiadosti
} ) ;

Ďalšie tipy na zmiernenie odmietnutia služby v Node Js

Existuje niekoľko ďalších tipov, ktoré pomáhajú zmierniť odmietnutie služby (CWE-400) na serveri Nodejs HTTP, sú uvedené nižšie:

    • ' Reverzné proxy “ by sa malo používať na odosielanie alebo prijímanie požiadaviek do aplikácie Node Js. Tieto servery proxy ponúkajú ukladanie do vyrovnávacej pamäte, vyrovnávanie záťaže a čierne listiny IP, čo veľmi pomáha pri zmierňovaní DoS (CWE-400).
    • Používanie siete na doručovanie obsahu “ CDN ” pomáha predchádzať útoku DoS (CWE-400) rozdelením kódu na viacero častí a ich oddeleným nahrávaním na viacero serverov.
    • Používanie brány firewall webovej aplikácie “ WAF ” chráni vašu aplikáciu blokovaním požiadaviek zo známeho škodlivého zdroja.
    • Využitie „ Load Balancer ” rovnomerne rozdeľuje záťaž požiadaviek na všetky servery, čím zabraňuje preťaženiu jedného servera.

Poznámka: Môžete si tiež pozrieť autentickú dokumentáciu Node.js, kde získate ďalšie informácie Denial of Service (CWE-400) .

To je všetko o prevencii odmietnutia služby (CWE-400) na serveri Node.js HTTP.

Záver

Ak chcete zabrániť odmietnutiu služby (CWE-400) na serveri Node.js HTTP Server, použite „ Obmedzovač rýchlosti ',' Metódy časového limitu ',' Reverzné proxy ',' siete CDN ',' WAF “ a „ Load Balancer “techniky. Obmedzujú počet požiadaviek, zatvárajú okno so žiadosťou, presmerujú požiadavku na inú webovú stránku, rozdeľujú a nahrávajú pôvodný kód na viacero serverov a vyrovnávajú zaťaženie každého servera. Táto rýchla príručka ilustruje proces na zmiernenie alebo zabránenie odmietnutia služby (CWE-400) na serveri Node.js HTTP.