Node.js HTTP Sunucusunda Hizmet Reddi (CWE-400) Nasıl Önlenir?

Node Js Http Sunucusunda Hizmet Reddi Cwe 400 Nasil Onlenir



Teknolojinin her alanda gelişmesiyle birlikte veri kaybı ve siber saldırı olasılıkları da arttı. Yeni teknolojiler etik gelişim alanında hayati bir rol oynamakta ve aynı şekilde bu teknolojiler etik dışı eylemlerin daha doğru ve kolay gerçekleştirilmesi için de kullanılabilmektedir. Bir bilgisayar korsanının yapabileceği bu tür saldırılardan biri “ Hizmet Reddi(CWE-400) ”.

Bu kılavuz, Nodejs HTTP sunucusunda CWE-400 hizmet reddini önleme prosedürünü açıklamaktadır.







HTTP sunucusunun Hizmet Reddi (CWE-400) nedir?

Hizmet Reddi (CWE-400), saldırganın uygulamayı bot trafiğiyle doldurarak uygulamayı orijinal kullanıcılar için kullanılamaz hale getirme girişimidir. Bu saldırı aynı zamanda uygulamayı daha yavaş hale getirmek için uygulamanın yerleşik güvenlik açıklarından yararlanılarak da gerçekleştirilir.



Node J Uygulamaları Kötü Amaçlı Saldırılara Karşı Savunmasız Mıdır?

Evet, Node.js uygulamaları da diğer yazılımlar veya uygulamalar gibi kötü niyetli saldırılara karşı savunmasız olabilir. En yaygın ve popüler Kötü Amaçlı saldırı türlerinden bazıları aşağıda belirtilmiştir:



    • Hizmet Reddi Saldırıları
    • Enjeksiyon Saldırıları
    • Siteler Arası Komut Dosyası Çalıştırma (XSS) Saldırıları
    • Oturum Ele Geçirme Saldırıları

Node.js HTTP Sunucusunda Hizmet Reddi (CWE-400) Nasıl Önlenir?

Node.js HTTP sunucusunda hizmet reddini önlemek için, belirli bir zaman dilimi içinde tek bir IP adresinden alınan istek sayısının kısıtlanması gerekir. Bu şekilde uygulamanız üzerinden alınan trafik işlenir ve Node.js'de Hizmet Reddi'ni (CWE-400) azaltmak için başka yöntemler de vardır.





Yöntem 1: Hız Sınırlayıcının Kullanımı

Hız sınırlayıcı, hizmet reddi saldırısını özellikle önlemek için en iyi yaklaşımdır; çünkü pencere çerçevesi başına her istekten gelebilecek isteklerin sayısını sınırlayabilir:

const expObj = gerektirir ( 'ifade etmek' ) ;
const Sınırlama = gerektirir ( 'ekspres hız sınırı' ) ;

const demoApp = expObj ( ) ;

const cusLim = Sınırlama ( {
pencere: 2 * 60 * 1000 , // on beş dakika
maksimum: 100 ,
} ) ;
demoApp.use ( cusLim ) ;


Yukarıdaki kodun açıklaması şu şekildedir:



    • İlk önce “” dosyasını yükleyin ve içe aktarın. ifade etmek ' Ve ' ekspres oran limiti ” Node Js projenizde “ npm i ” komutu ve “ gerekmek() ” yöntemi sırasıyla.
npm ifade ediyorum


    • Daha sonra “adlı bir ekspres uygulama oluşturun. demoUygulama ” ve “ için gerekli değerleri atayarak bir hız sınırlayıcı oluşturun WindowsM'ler ' Ve ' maksimum ''in özellikleri ekspres oran limiti ' nesne.
    • WindowsM'ler ” pencere zaman süresini ayarlar ve “ maksimum ”, pencere başına tek bir IP adresinden alınabilecek maksimum isteği ayarlar.
    • Şimdi “uygula” kullanmak() ” ile hız sınırlayıcıyı içeren yöntem demoUygulama “demoApp” uygulamasının aldığı isteği sınırlamak için uygulama.

Yöntem 2: Zaman Aşımı Yöntemlerinin Kullanımı

zaman aşımı “ gibi yöntemler setTimeout() ', ' başlıklarZaman aşımı ', ' istek zaman aşımına uğradı ', ' zaman aşımı ', Ve ' hayatta kalma zaman aşımı() ''den çıkmak veya sonlandırmak için kullanılır http sunucusu ”sunucusu. Bu, minimum açık pencere zaman dilimi sağlayarak Hizmet Reddi'ni (CWE-400) önleyecektir. Örneğin istek silinmiş ya da pencere şu saatten sonra kapatılacak: 3 ” saniye:

const sunucusu = http.createServer ( ( talep, res ) = > {
req.setTimeout ( 3000 ) ;
// Talebin işlenmesi
} ) ;

Düğüm J'lerde Hizmet Reddinin Azaltılmasına Yönelik Ek İpuçları

Nodejs HTTP sunucusunda hizmet reddini (CWE-400) azaltmaya yardımcı olacak bazı ek ipuçları vardır; bunlar aşağıda listelenmiştir:

    • Ters Proxy'ler Node Js uygulamasına istek göndermek veya almak için kullanılmalıdır. Bu proxy'ler önbelleğe alma, yük dengeleme ve IP kara listeye alma özellikleri sunarak DoS'yi (CWE-400) azaltmada çok yardımcı olur.
    • İçerik Dağıtım Ağının Kullanımı “ CDN ”, kodu birden fazla parçaya bölerek ve bunları birden fazla sunucuya ayrı ayrı yükleyerek DoS(CWE-400) saldırısının önlenmesine yardımcı olur.
    • Web Uygulaması Güvenlik Duvarının Kullanımı “ WAF ” bilinen bir kötü amaçlı kaynaktan gelen istekleri engelleyerek uygulamanızı korur.
    • Bir 'kullanımı Yük dengeleyici ”, bir istek yükünü tüm sunuculara eşit olarak dağıtarak tek bir sunucunun aşırı yüklenmesini önler.

Not: Daha fazla bilgi almak için Node.js'nin orijinal belgelerine de göz atabilirsiniz. Hizmet Reddi(CWE-400) .

Bunların hepsi Node.js HTTP sunucusunda Hizmet Reddi'nin (CWE-400) önlenmesiyle ilgilidir.

Çözüm

Node.js HTTP Sunucusunda Hizmet Reddini (CWE-400) önlemek için “ Hız Sınırlayıcı ', ' Zaman Aşımı Yöntemleri ', ' Ters Proxy'ler ', ' CDN'ler ', ' WAF ' Ve ' Yük dengeleyici ” teknikleri. İstek sayısını sınırlandırırlar, istek penceresini kapatırlar, isteği başka bir web sitesine yönlendirirler, orijinal kodu bölüp birden fazla sunucuya yüklerler ve her sunucu üzerindeki yükü sırasıyla dengelerler. Bu hızlı kılavuz, Node.js HTTP sunucusundaki Hizmet Reddi'ni (CWE-400) azaltma veya önleme sürecini göstermektedir.