Kuinka estää palvelunesto (CWE-400) Node.js HTTP -palvelimessa?

Kuinka Estaa Palvelunesto Cwe 400 Node Js Http Palvelimessa



Tekniikan kehittyessä kaikilla aloilla myös tietojen katoamisen ja kyberhyökkäysten mahdollisuudet ovat parantuneet. Uudet teknologiat ovat keskeisessä asemassa eettisen kehityksen alalla ja samalla tavalla näitä teknologioita voidaan käyttää myös epäeettisten toimien suorittamiseen tarkemmin ja helpommin. Yksi tällainen hyökkäys, jonka hakkeri voi tehdä, on ' Palvelunesto (CWE-400) ”.

Tämä opas selittää toimenpiteen, jolla estetään palvelunesto CWE-400 Nodejs HTTP -palvelimessa.





Mikä on HTTP-palvelimen palvelunesto (CWE-400)?

Palvelunesto (CWE-400) on hyökkääjän yritys estää sovellus alkuperäisten käyttäjien käytettävissä täyttämällä sovellus robottiliikenteellä. Tämä hyökkäys suoritetaan myös hyödyntämällä sovelluksen haavoittuvuuksia sovelluksen hidastamiseksi.



Ovatko Node Js -sovellukset alttiina haitallisille hyökkäyksille?

Kyllä, Node.js-sovellukset voivat olla alttiina haitallisille hyökkäyksille, kuten mikä tahansa muu ohjelmisto tai sovellus. Jotkut yleisimmistä ja suosituimmista haitallisista hyökkäyksistä on lueteltu alla:



    • Palvelunestohyökkäykset
    • Injektiohyökkäykset
    • Cross-Site Scripting (XSS) -hyökkäykset
    • Istuntokaappaushyökkäykset

Kuinka estää palvelunesto (CWE-400) Node.js HTTP -palvelimessa?

Palveluneston estämiseksi Node.js HTTP-palvelimessa yhdestä IP-osoitteesta tietyn ajanjakson sisällä vastaanotettujen pyyntöjen määrää on rajoitettava. Tällä tavalla sovelluksesi kautta vastaanotettu liikenne käsitellään, ja Node.js:n palvelunestoa (CWE-400) voidaan myös vähentää useilla muilla tavoilla.





Tapa 1: Nopeudenrajoittimen käyttö

Nopeudenrajoitin on paras tapa erityisesti estää palvelunestohyökkäys, koska se voi rajoittaa kustakin pyynnöstä tulevien pyyntöjen määrää ikkunakehystä kohti:

const expObj = vaatia ( 'ilmaista' ) ;
const Rajoitus = vaaditaan ( 'pikakorkorajoitus' ) ;

const demoApp = expObj ( ) ;

const cusLim = Rajoitus ( {
windowsMs: 2 * 60 * 1000 , // viisitoista pöytäkirja
max: 100 ,
} ) ;
demoApp.use ( cusLim ) ;


Yllä olevan koodin kuvaus on seuraava:



    • Asenna ja tuo ensin ' ilmaista ' ja ' pikahintaraja ' Node Js -projektissa käyttämällä ' npm i 'komento ja ' vaatia() ” menetelmällä.
npm ilmaisen


    • Luo seuraavaksi pikasovellus nimeltä ' demoApp ' ja luo nopeuden rajoitin määrittämällä vaaditut arvot ' windowsMs ' ja ' max ' ominaisuudet ' pikahintaraja ”objekti.
    • ' windowsMs ' määrittää ikkunan keston ja ' max ” määrittää enimmäispyynnön, joka voidaan vastaanottaa yhdestä IP-osoitteesta ikkunaa kohden.
    • Käytä nyt ' käyttää() ' menetelmä, joka sisältää nopeudenrajoittimen ' demoApp ' -sovellus rajoittaa 'demoApp' -sovelluksen vastaanottamaa pyyntöä.

Tapa 2: Aikakatkaisumenetelmien käyttö

' Aikalisä 'menetelmiä, kuten' setTimeout() ', ' headersTimeout ', ' Pyynnön aikakatkaisu ', ' Aikalisä ”, ja ” KeepAliveTimeout() ' käytetään poistumaan tai lopettamaan ' http-palvelin ”palvelin. Tämä estää palveluneston (CWE-400) tarjoamalla avoimen ikkunan vähimmäisajan. Esimerkiksi pyyntö on poistettu tai ikkuna suljetaan ' 3 ”sekuntia:

const server = http.createServer ( ( req, res ) = > {
req.setTimeout ( 3000 ) ;
// Käsittelypyyntö
} ) ;

Lisävinkkejä Node Js:n palveluneston lieventämiseen

On olemassa muutamia lisävinkkejä, jotka auttavat vähentämään palvelunestoa (CWE-400) Nodejs HTTP -palvelimessa. Nämä on lueteltu alla:

    • ' Käänteiset välityspalvelimet ' tulee käyttää pyyntöjen lähettämiseen tai vastaanottamiseen Node Js -sovellukselle. Nämä välityspalvelimet tarjoavat välimuistin, kuormituksen tasapainottamisen ja IP:n mustan listan, mikä auttaa paljon vähentämään DoS:ää (CWE-400).
    • Sisällönjakeluverkoston käyttö ' CDN ” auttaa estämään DoS(CWE-400)-hyökkäyksen jakamalla koodin useisiin osiin ja lataamalla ne erikseen useille palvelimille.
    • Web-sovelluksen palomuurin käyttö ' WAF ' suojaa sovellustasi estämällä pyynnöt tunnetusta haitallisesta lähteestä.
    • ' Load Balancer ” jakaa pyyntökuorman tasaisesti kaikkien palvelimien kesken, mikä estää yhtä palvelinta ylikuormitumasta.

Huomautus: Voit myös tarkistaa Node.js:n aidon dokumentaation saadaksesi lisätietoja Palvelunesto (CWE-400) .

Siinä kaikki palveluneston (CWE-400) estämisestä Node.js HTTP-palvelimessa.

Johtopäätös

Estä palvelunesto (CWE-400) Node.js HTTP -palvelimessa käyttämällä ' Rate Limiter ', ' Aikakatkaisumenetelmät ', ' Käänteiset välityspalvelimet ', ' CDN:t ', ' WAF ' ja ' Load Balancer ' tekniikat. Ne rajoittavat pyyntöjen määrää, sulkevat pyyntöikkunan, ohjaavat pyynnön toiselle verkkosivustolle, jakavat ja lataavat alkuperäisen koodin useille palvelimille ja tasapainottavat kunkin palvelimen kuormitusta. Tämä pikaopas on havainnollistanut prosessia, jolla vähennetään tai estetään palvelunesto (CWE-400) Node.js HTTP-palvelimessa.