Jak provést ruční detekci s ochrannými prvky v Node.js

Jak Provest Rucni Detekci S Ochrannymi Prvky V Node Js



Detekce zranitelností, ochrana vašeho kódu před všemi typy kybernetických útoků a zabránění únikům paměti jsou nejdůležitějšími povinnostmi programátora. Tato detekce a predikce vašich zranitelností uložených uvnitř kódu je velmi obtížná a také časově náročný proces. Existuje však několik přístupů, kterými lze v Nodejs provést ruční detekci spolu s procesem zabezpečení aplikace.

Tento článek vysvětlí přístupy k provádění ruční detekce se zabezpečením v Nodejs tím, že pokryje následující sekce:







    • Použití omezovače rychlosti
    • Použití TLS/SSL pro přenos dat
    • Únikové výstupy

Jak provést ruční detekci s ochrannými prvky v Node.js

Ruční detekce se provádí opakovanou kontrolou kódu, aby se identifikovaly potenciální problémy v kódu Node.js. Potenciální problémy se vyhledávají hledáním syntaktických chyb, logických chyb a tak dále. Použití ' debugger ' a ' linters ” lze také využít k identifikaci potenciálních hrozeb nebo chyb uložených v programu Node.js.



Existují různé metody, kterými lze kód ochránit před nejrůznějšími potenciálními vlákny a zároveň prodloužit životnost vašeho kódu. Tyto metody jsou uvedeny níže:



Metoda 1: Zabezpečte program Node.js využitím omezovače rychlosti

Zabránit vaší aplikaci útokům typu denial-of-service a zlepšit výkon vaší aplikace tím, že zabráníte příliš velkému počtu požadavků. Praktické provedení je uvedeno níže:





const express = vyžadovat ( 'vyjádřit' ) ;
const rateLim = vyžadovat ( 'expres-rate-limit' ) ;
const safeApp = expresní ( ) ;

// Definujte middleware omezující rychlost
const omezující = rateLim ( {
windowMs: 60 * 1000 ,
max: 100 , // Max požad. za min
zpráva: 'Promiňte! Je překročen limit sazby' ,
} ) ;
// Použijte middleware omezující rychlost
safeApp.use ( omezující ) ;
// Definujte obslužnou rutinu trasy a odpovědi
safeApp.get ( '/' , ( vyžádat odpověď ) = > {
odpověď.odeslat ( 'Ahoj komunitě Linuxhint!' ) ;
} ) ;

// Inicializace expresního serveru
const localPort = process.env.PORT || 3000 ;
safeApp.poslouchat ( localPort, ( ) = > {
konzole.log ( ' Server byl spuštěn na portu číslo: ${localPort}


Ve výše uvedeném kódu:

    • Nejprve importujte „ vyjádřit ' a ' expresní sazba-limit „balíčky do hlavního“ js “. Inicializujte „ vyjádřit() “ aplikace a přiřaďte jí název “ safeApp “.
    • Dále definujte middleware omezující rychlost předáním vlastních hodnot pro „ windowsMs ',' max ', a ' zpráva “ vlastnosti v “ expresní sazba-limit “balíček.
    • Nyní použijte tento omezovač rychlosti přes expresní aplikaci pomocí „ použití() “ metoda.
    • Poté použijte „ dostat() ” způsob odeslání náhodné zprávy jako požadavku přes server.
    • Nakonec nastavte číslo portu pomocí „ env.PORT ” a zajistí, aby expresní aplikace naslouchala zadanému číslu portu.

Metoda 2: Zabezpečte program Node.js využitím TLS/SSL pro přenos dat

TLS/SSL je zabezpečená vrstva soketu, která šifruje data přenášená mezi serverem a klientskou stranou. To chrání citlivá data, jako jsou čísla kreditních karet, před zachycením útočníky a také vám to pomůže splnit požadavky na dodržování předpisů:



const fs = vyžadovat ( 'fs' ) ;
const express = vyžadovat ( 'vyjádřit' ) ;
const httpsObj = vyžadovat ( 'https' ) ;

const safeApp = expresní ( ) ;
const možnosti = {
klíč: fs.readFileSync ( 'key.pem' ) ,
cert: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingServer = httpsObj.createServer ( možnosti, safeApp ) ;

safesafeApp.get ( '/' , ( vyžádat odpověď ) = > {
odpověď.odeslat ( 'Ahoj komunitě Linuxhint!' ) ;
} ) ;

nastaveníServer.poslouchat ( 8000 ) ;


Popis výše uvedeného kódu:

    • Nejprve naimportujte požadovaný Node.js “ fs ',' vyjádřit ', a ' https “závislosti ve vašem projektu a inicializujte „expresní“ aplikaci s názvem „ safeApp “.
    • Nyní vytvořte „ možnosti 'vypsat a předat soubory pro soukromý klíč a certifikát' klíč ' a ' cert vlastnosti. Soubory lze vytvořit pomocí „ openssl ” a tyto soubory pomáhají při zabezpečení připojení.
    • Nakonec vytvořte server vyvoláním příkazu „ createServer() “ a předejte “ možnosti ” pole jako první parametr a express app jako druhý.
    • Chcete-li na aplikaci použít ověřování TSL/SSL, odešlete nebo přijměte požadavek pomocí „ dostat() “ metoda podle požadavků.

Metoda 3: Zabezpečte program Node.js využitím únikových výstupů

Jak zabránit vaší aplikaci Node.js ve skriptování mezi weby “ XSS ” útoky, nejčastější a nejoblíbenější technikou je únik speciálních znaků z výstupu. Speciální znaky jsou převedeny do formátu HTML, aby se zabránilo útokům XSS a převod se provádí pomocí „ escape-html 'Objekt balíčku:

const escObj = vyžadovat ( 'escape-html' ) ;
const dummyStr = '' ;

const modStr = escObj ( dummyStr ) ;
konzole.log ( counterStr ) ;


Popis výše uvedeného kódu je následující:

    • Za prvé, „ escape-html “ balíček je importován do hlavního “ js “ soubor a jeho objekt nebo instance jsou uloženy v „ escObj “proměnná.
    • Dále se náhodný řádek kódu obsahující speciální znaky uloží do „ dummyStr “proměnná.
    • Poté předejte „ dummyStr 'proměnná uvnitř ' escObj ” závorka pro převodní kód do čistého formátu HTML.
    • Výsledek je uložen v proměnné ' counterStr “, který se poté zobrazí na konzole.

Výstup výše uvedeného kódu ukazuje, že speciální znaky obsahující zadaný řetězec jsou nyní převedeny do formátu kódování HTML:


To je vše o provádění ruční detekce se zabezpečením v Nodejs.

Závěr

Chcete-li provést ruční detekci, několikrát zkontrolujte kód, zda neobsahuje nějaké syntaktické nebo logické chyby, a proveďte několik testů kódu. Chcete-li ochránit svůj program Node.js před všemi druhy kybernetických útoků nebo zabránit úniku dat, použijte „ Omezovač rychlosti ',' TLS/SSL pro přenos dat ', a ' Únikové výstupy “techniky. Tato příručka ilustruje postup provádění ruční detekce se zabezpečením v Node.js.