Kā veikt manuālu noteikšanu, izmantojot drošības pasākumus pakalpojumā Node.js

Ka Veikt Manualu Noteiksanu Izmantojot Drosibas Pasakumus Pakalpojuma Node Js



Ievainojamību noteikšana, koda aizsardzība pret visa veida kiberuzbrukumiem un atmiņas noplūdes novēršana ir programmētāja svarīgākie pienākumi. Šī kodā esošo ievainojamību noteikšana un prognozēšana ir ļoti sarežģīta un arī laikietilpīgs process. Tomēr ir vairākas pieejas, ar kurām Nodejs var veikt manuālu noteikšanu, kā arī lietojumprogrammas aizsardzības procesu.

Šajā rakstā tiks izskaidrotas pieejas manuālai noteikšanai ar drošības pasākumiem Nodejs, aptverot tālāk norādītās sadaļas.







    • Ātruma ierobežotāja izmantošana
    • TLS/SSL izmantošana datu pārraidei
    • Escape Outputs

Kā veikt manuālu noteikšanu, izmantojot drošības pasākumus pakalpojumā Node.js

Manuālā noteikšana tiek veikta, vairākas reizes pārskatot kodu, lai identificētu iespējamās problēmas kodā Node.js. Iespējamās problēmas tiek izgūtas, meklējot sintakses kļūdas, loģiskās kļūdas un tā tālāk. Pielietojums ' atkļūdotājs ' un ' linteres ” var izmantot arī, lai identificētu potenciālos draudus vai kļūdas, kas atrodas programmā Node.js.



Ir dažādas metodes, ar kurām kodu var aizsargāt no visa veida potenciālajiem pavedieniem, vienlaikus pagarinot koda kalpošanas laiku. Šīs metodes ir uzskaitītas zemāk:



1. metode: aizsargājiet programmu Node.js, izmantojot ātruma ierobežotāju

Lai novērstu jūsu lietojumprogrammas pakalpojumu atteikuma uzbrukumus un uzlabotu lietojumprogrammas veiktspēju, novēršot pārāk daudz pieprasījumu. Praktiskā īstenošana ir parādīta zemāk:





const izteikt = prasīt ( 'izteikt' ) ;
const rateLim = prasīt ( 'ekspress likmes ierobežojums' ) ;
const safeApp = express ( ) ;

// Definējiet ātrumu ierobežojošu starpprogrammatūru
const limiting = rateLim ( {
windowMs: 60 * 1000 ,
maks.: 100 , // Maksimālā prasība minūtē
ziņa: 'Atvainojiet! Likmes ierobežojums ir pārsniegts' ,
} ) ;
// Lietojiet ātrumu ierobežojošo starpprogrammatūru
safeApp.use ( ierobežojoši ) ;
// Definējiet maršrutu un atbildes apstrādātāju
safeApp.get ( '/' , ( pieprasījums, atbilde ) = > {
atbilde.nosūtīt ( 'Sveika Linuxhint kopiena!' ) ;
} ) ;

// Express servera inicializēšana
const localPort = process.env.PORT || 3000 ;
safeApp.klausīt ( vietējais ports, ( ) = > {
console.log ( ` Serveris ir startēts ar porta numuru: ${localPort}


Iepriekš minētajā kodā:

    • Vispirms importējiet ' izteikt ' un ' ekspreslikmes limits ' paketes galvenajā ' js ” failu. Inicializējiet ' izteikt () ' lietojumprogrammu un piešķiriet tai nosaukumu ' drošā lietotne ”.
    • Pēc tam definējiet ātrumu ierobežojošu starpprogrammatūru, nododot pielāgotās vērtības “ windowsMs ',' maks ', un ' ziņa ' rekvizīti sadaļā ' ekspreslikmes limits ” iepakojums.
    • Tagad izmantojiet šo ātruma ierobežotāju ātrā lietojumprogrammā, izmantojot ' izmantot () ” metode.
    • Pēc tam izmantojiet ' gūt() ” metodi, lai nosūtītu nejaušu ziņojumu kā pieprasījumu pa serveri.
    • Visbeidzot iestatiet porta numuru, izmantojot ' env.PORT ” rekvizītu un liek ātrā lietotnei klausīties norādīto porta numuru.

2. metode: aizsargājiet programmu Node.js, datu pārraidei izmantojot TLS/SSL

TLS/SSL ir drošas ligzdas slānis, kas šifrē datus, kas tiek pārsūtīti starp serveri un klientu. Tas aizsargā sensitīvus datus, piemēram, kredītkaršu numurus, no uzbrucēju pārtveršanas, kā arī palīdz izpildīt atbilstības prasības.



const fs = prasīt ( 'fs' ) ;
const izteikt = prasīt ( 'izteikt' ) ;
const httpsObj = prasīt ( 'https' ) ;

const safeApp = express ( ) ;
const opcijas = {
atslēga: fs.readFileSync ( 'key.pem' ) ,
sertifikāts: fs.readFileSync ( 'cert.pem' ) ,
} ;

const settingsServer = httpsObj.createServer ( opcijas, safeApp ) ;

safesafeApp.get ( '/' , ( pieprasījums, atbilde ) = > {
atbilde.nosūtīt ( 'Sveika Linuxhint kopiena!' ) ;
} ) ;

iestatījumiServeris.klausīties ( 8000 ) ;


Iepriekš minētā koda apraksts:

    • Sākotnēji importējiet nepieciešamo Node.js ' fs ',' izteikt ', un ' https ' atkarības savā projektā un inicializējiet 'ekspress' lietojumprogrammu ar nosaukumu ' drošā lietotne ”.
    • Tagad izveidojiet ' iespējas ' sarakstu un nododiet privātās atslēgas un sertifikāta failus' taustiņu ' un ' sert ” īpašības. Failus var izveidot, izmantojot ' openssl ” komandu, un šie faili palīdz nodrošināt savienojumus.
    • Visbeidzot izveidojiet serveri, izsaucot ' izveidotServeris() ' metodi un nododiet ' iespējas ” masīvs kā pirmais parametrs un ekspress lietotne kā otrais.
    • Lai lietotnei lietotu TSL/SSL autentifikāciju, nosūtiet vai saņemiet pieprasījumu, izmantojot ' gūt() ” metodi atbilstoši prasībām.

3. metode: aizsargājiet programmu Node.js, izmantojot izejas izejas

Lai novērstu jūsu Node.js lietojumprogrammu starpvietņu skriptu “ XSS ” uzbrukumiem, visizplatītākais un populārākais paņēmiens ir speciālo rakstzīmju aizbēgšana no izvades. Speciālās rakstzīmes tiek pārveidotas HTML formātā, lai novērstu XSS uzbrukumus, un konvertēšana tiek veikta, izmantojot “ escape-html ” iepakojuma objekts:

const escObj = prasīt ( 'escape-html' ) ;
const dummyStr = '' ;

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


Iepriekš minētā koda apraksts ir šāds:

    • Pirmkārt, ' escape-html pakete ir importēta galvenajā js ' fails un tā objekts vai gadījums tiek saglabāts ' escObj ” mainīgais.
    • Pēc tam nejauša koda rinda, kurā ir speciālās rakstzīmes, tiek saglabāta mapē dummyStr ” mainīgais.
    • Pēc tam ejiet garām ' dummyStr ' mainīgais ' escObj ” iekavas koda konvertēšanai tīrā HTML formātā.
    • Rezultāts tiek saglabāts mainīgajā ' counterStr ”, kas pēc tam tiek parādīts konsolē.

Iepriekš minētā koda izvade parāda, ka īpašās rakstzīmes, kas satur norādīto virkni, tagad tiek pārveidotas HTML kodēšanas formātā:


Tas viss attiecas uz manuālas noteikšanas veikšanu ar drošības pasākumiem pakalpojumā Nodejs.

Secinājums

Lai veiktu manuālu noteikšanu, vairākas reizes pārbaudiet kodu, vai tajā nav jebkāda veida sintakses vai loģiskās kļūdas, un veiciet vairākas kodu pārbaudes. Lai aizsargātu savu Node.js programmu no visa veida kiberuzbrukumiem vai novērstu datu noplūdi, izmantojiet “ Likmes ierobežotājs ',' TLS/SSL datu pārraidei ', un ' Escape Outputs ” paņēmieni. Šajā rokasgrāmatā ir ilustrēta manuālas noteikšanas veikšanas procedūra ar drošības pasākumiem pakalpojumā Node.js.