Kuidas vältida teenuse keelamist (CWE-400) Node.js HTTP-serveris?

Kuidas Valtida Teenuse Keelamist Cwe 400 Node Js Http Serveris



Tehnoloogia arenguga igas valdkonnas on paranenud ka andmete kadumise ja küberrünnakute võimalused. Uutel tehnoloogiatel on eetilise arengu vallas ülitähtis roll ja samamoodi saab neid tehnoloogiaid kasutada ka ebaeetiliste toimingute täpsemaks ja lihtsamaks tegemiseks. Üks selline rünnak, mida häkker teha saab, on ' Teenuse keelamine (CWE-400) ”.

See juhend selgitab protseduuri, kuidas vältida Nodejs HTTP-serveris CWE-400 teenuse keelamist.







Mis on HTTP-serveri (CWE-400) teenuse keelamine?

Teenuse keelamine (CWE-400) on ründaja katse muuta rakendus algkasutajatele kättesaamatuks, ujutades rakenduse üle robotiliiklusega. See rünnak viiakse läbi ka rakenduse olemasolevate turvaaukude ärakasutamisel, et muuta rakendus palju aeglasemaks.



Kas Node Js rakendused on pahatahtlike rünnakute suhtes haavatavad?

Jah, Node.js rakendused võivad olla pahatahtlike rünnakute suhtes haavatavad nagu iga teinegi tarkvara või rakendus. Allpool on toodud mõned kõige levinumad ja populaarsemad pahatahtlike rünnakute tüübid.



    • Teenuse keelamise rünnakud
    • Süstimise rünnakud
    • Saididevahelise skriptimise (XSS) rünnakud
    • Seansi kaaperdamise rünnakud

Kuidas vältida teenuse keelamist (CWE-400) Node.js HTTP-serveris?

Teenuse keelamise vältimiseks Node.js HTTP-serveris tuleb piirata ühelt IP-aadressilt teatud aja jooksul vastuvõetud päringute arvu. Sel viisil käsitletakse teie rakenduse kaudu vastuvõetud liiklust ja teenuse keelamise (CWE-400) leevendamiseks Node.js-is on ka mitmeid muid meetodeid.





1. meetod: kiiruse piiraja kasutamine

Kiiruse piiraja on parim viis teenuse keelamise rünnaku konkreetseks ärahoidmiseks, kuna see võib piirata päringute arvu, mis võivad saabuda igast päringust aknaraami kohta:

const expObj = nõua ( 'väljendama' ) ;
const Piirang = nõua ( 'kiirmäär' ) ;

const demoApp = expObj ( ) ;

const cusLim = Piirav ( {
windowMs: 2 * 60 * 1000 , // viisteist minutit
max: 100 ,
} ) ;
demoApp.use ( cusLim ) ;


Ülaltoodud koodi kirjeldus on järgmine:



    • Esmalt installige ja importige ' väljendada ” ja „ kiirkiiruse piirmäär ' oma Node Js projektis kasutades ' npm i ' käsk ja ' nõua () ” meetodil.
npm ma väljendan


    • Järgmisena looge kiirrakendus nimega ' demoApp ' ja looge kiiruse piiraja, määrates '' jaoks vajalikud väärtused windowsMs ” ja „ max ' omadused kiirkiiruse piirmäär ” objekt.
    • ' windowsMs ' määrab akna aja kestuse ja ' max ” määrab maksimaalse päringu, mida saab ühelt IP-aadressilt ühe akna kohta vastu võtta.
    • Nüüd rakendage ' kasuta () ' meetod, mis sisaldab kiiruse piirajat koos ' demoApp ” rakendus, et piirata rakenduse „demoApp” saadud päringut.

2. meetod: ajalõpu meetodite kasutamine

' aeg maha 'meetodid nagu ' setTimeout() ', ' headersTimeout ', ' requestTimeout ', ' aeg maha ”, ja „ keepAliveTimeout() ' kasutatakse väljumiseks või lõpetamiseks http-server ” server. See hoiab ära teenuse keelamise (CWE-400), pakkudes minimaalse avatud akna ajaraami. Näiteks taotlus on kustutatud või aken suletakse pärast ' 3 ” sekundit:

const server = http.createServer ( ( req, res ) = > {
req.setTimeout ( 3000 ) ;
// Taotluse käsitlemine
} ) ;

Täiendavad näpunäited teenuse keelamise leevendamiseks sõlmes Js

Siin on mõned täiendavad näpunäited, mis aitavad leevendada teenuse keelamist (CWE-400) Nodejs HTTP-serveris. Need on loetletud allpool:

    • ' Pöördpuhverserverid ” tuleks kasutada taotluste saatmiseks või vastuvõtmiseks Node Js rakendusele. Need puhverserverid pakuvad vahemällu salvestamist, koormuse tasakaalustamist ja IP musta nimekirja lisamist, mis aitab palju DoS-i (CWE-400) leevendamisel.
    • Sisu edastamise võrgustiku kasutamine ' CDN ” aitab ära hoida DoS(CWE-400) rünnakut, jagades koodi mitmeks tükiks ja laadides need mitmesse serverisse eraldi üles.
    • Veebirakenduse tulemüüri kasutamine ' WAF ” kaitseb teie rakendust, blokeerides päringud teadaolevast pahatahtlikust allikast.
    • ' Koormuse tasakaalustaja ” jagab päringute koormuse ühtlaselt kõigi serverite vahel, vältides ühe serveri ülekoormamist.

Märge: Lisateabe saamiseks võite vaadata ka Node.js autentset dokumentatsiooni Teenuse keelamine (CWE-400) .

See kõik puudutab teenuse keelamise (CWE-400) vältimist Node.js HTTP-serveris.

Järeldus

Teenuse keelamise (CWE-400) vältimiseks Node.js HTTP-serveris kasutage ' Rate Limiter ', ' Timeout meetodid ', ' Pöördpuhverserverid ', ' CDN-id ', ' WAF ” ja „ Koormuse tasakaalustaja ” tehnikaid. Need piiravad päringute arvu, sulgevad päringuakna, suunavad päringu teisele veebisaidile, jagavad ja laadivad üles algkoodi mitmesse serverisse ning tasakaalustavad vastavalt iga serveri koormust. See kiirjuhend on illustreerinud protsessi teenuse keelamise (CWE-400) leevendamiseks või vältimiseks Node.js HTTP-serveris.