Å oppdage sårbarheter, beskytte koden din mot alle typer nettangrep og forhindre minnelekkasjer er de viktigste oppgavene til en programmerer. Denne oppdagelsen og forutsigelsen av dine sårbarheter som ligger inne i koden er svært vanskelig og også en tidkrevende prosess. Imidlertid er det flere tilnærminger som manuell gjenkjenning sammen med prosessen med å beskytte applikasjonen kan gjøres i Nodejs.
Denne artikkelen vil forklare tilnærmingene for å utføre manuell deteksjon med sikkerhetstiltak i Nodejs ved å dekke avsnittene nedenfor:
-
- Bruk av Rate Limiter
- Bruk av TLS/SSL for dataoverføring
- Escape-utganger
Slik utfører du manuell deteksjon med sikkerhetstiltak i Node.js
Den manuelle gjenkjenningen utføres ved å gå gjennom koden flere ganger for å identifisere potensielle problemer i Node.js-koden. De potensielle problemene hentes ved å søke etter syntaksfeil, logiske feil og så videre. Bruken av ' feilsøker ' og ' linters ” kan også brukes til å identifisere potensielle trusler eller feil som ligger inne i Node.js-programmet.
Det finnes forskjellige metoder som koden kan beskyttes mot alle slags potensielle tråder mens du forlenger levetiden til koden din. Disse metodene er listet opp nedenfor:
Metode 1: Beskytt Node.js-programmet ved å bruke Rate Limiter
For å forhindre applikasjonen din fra tjenestenektangrep og forbedre ytelsen til applikasjonen din ved å forhindre for mange forespørsler. Den praktiske gjennomføringen er vist nedenfor:
const express = kreve ( 'uttrykke' ) ;
const rateLim = krever ( 'express-rate-limit' ) ;
const safeApp = ekspress ( ) ;
// Definer en hastighetsbegrensende mellomvare
const limiting = rateLim ( {
vinduMs: 60 * 1000 ,
maks: 100 , // Maks krav per min
beskjed: 'Beklager! Satsgrensen er overskredet' ,
} ) ;
// Bruk den hastighetsbegrensende mellomvaren
safeApp.use ( begrensende ) ;
// Definer en rute og responsbehandler
safeApp.get ( '/' , ( forespørsel, svar ) = > {
respons.send ( 'Hei Linuxhint-fellesskap!' ) ;
} ) ;
// Initialiserer Express-serveren
const localPort = process.env.PORT || 3000 ;
safeApp.listen ( localPort, ( ) = > {
console.log ( ` Server har startet på portnummer: ${localPort}
I koden ovenfor:
-
- Først importerer du ' uttrykke ' og ' ekspresstakstgrense 'pakker til hoved' js ' fil. Initialiser ' uttrykke() '-applikasjon og gi den navnet ' safeApp '.
- Definer deretter en hastighetsbegrensende mellomvare ved å sende de egendefinerte verdiene for ' windowsMs ', ' maks ', og ' beskjed ' egenskaper i ' ekspresstakstgrense '-pakken.
- Bruk nå denne satsbegrenseren over ekspressapplikasjonen ved å bruke ' bruk() 'metoden.
- Deretter bruker du ' få() ” metode for å sende en tilfeldig melding som forespørsel over serveren.
- Sett til slutt portnummeret ved å bruke ' env.PORT ”-egenskapen og få ekspressappen til å lytte til det angitte portnummeret.
Metode 2: Beskytt Node.js-programmet ved å bruke TLS/SSL for dataoverføring
TLS/SSL er et sikkert socketlag som krypterer dataene som overføres mellom server- og klientsiden. Dette beskytter sensitive data som kredittkortnumre fra å bli fanget opp av angripere, og det hjelper deg også med å oppfylle samsvarskrav:
const fs = krever ( 'fs' ) ;
const express = kreve ( 'uttrykke' ) ;
const httpsObj = krever ( 'https' ) ;
const safeApp = ekspress ( ) ;
const alternativer = {
nøkkel: fs.readFileSync ( 'key.pem' ) ,
sertifisering: fs.readFileSync ( 'cert.pem' ) ,
} ;
const settingServer = httpsObj.createServer ( alternativer, safeApp ) ;
safesafeApp.get ( '/' , ( forespørsel, svar ) = > {
respons.send ( 'Hei Linuxhint-fellesskap!' ) ;
} ) ;
settingServer.listen ( 8000 ) ;
Beskrivelsen av koden ovenfor:
-
- Importer først den nødvendige Node.js ' fs ', ' uttrykke ', og ' https '-avhengigheter i prosjektet ditt og initialiser 'express'-applikasjonen med navnet ' safeApp '.
- Lag nå en ' alternativer ' liste og send filene for privat nøkkel og sertifikat ' nøkkel ' og ' cert ' egenskaper. Filene kan lages ved å bruke ' openssl kommandoen og disse filene hjelper til med å sikre tilkoblingene.
- Til slutt oppretter du en server ved å påkalle ' createServer() '-metoden og bestå ' alternativer ” array som den første parameteren og express app som den andre.
- For å bruke TSL/SSL-autentisering over applikasjonen, send eller motta forespørselen ved å bruke ' få() ” metode i henhold til krav.
Metode 3: Beskytt Node.js-programmet ved å bruke Escape-utgangene
For å forhindre at Node.js-applikasjonen din skripter på tvers av nettsteder ' XSS ”-angrep, er den vanligste og mer populære teknikken å unnslippe spesialtegn fra utdataene. Spesialtegnene konverteres til HTML-formatet for å forhindre XSS-angrep og konverteringen gjøres via ' escape-html ' pakkeobjekt:
const escObj = krever ( 'escape-html' ) ;const dummyStr = '' ;
const modStr = escObj ( dummyStr ) ;
console.log ( counterStr ) ;
Beskrivelsen av koden ovenfor er som følger:
-
- Først, ' escape-html 'pakken importeres til hoved' js '-filen og dens objekt eller forekomst er lagret i en ' escObj variabel.
- Deretter lagres en tilfeldig kodelinje som inneholder spesialtegn i en ' dummyStr variabel.
- Deretter passerer du ' dummyStr ' variabel inne i ' escObj ” parentes for konverteringskode til rent HTML-format.
- Resultatet lagres i en variabel ' counterStr ” som deretter vises på konsollen.
Utdataene fra koden ovenfor viser at spesialtegnene som inneholder den angitte strengen nå er konvertert til HTML-kodingsformat:
Det handler om å utføre manuell deteksjon med sikkerhetstiltak i Nodejs.
Konklusjon
For å utføre manuell gjenkjenning, se gjennom koden flere ganger for alle typer syntaks eller logiske feil og utfør flere tester over koden. For å beskytte Node.js-programmet ditt mot alle slags cyberangrep eller for å forhindre lekkasje av data, bruk ' Satsbegrenser ', ' TLS/SSL for dataoverføring ', og ' Escape-utganger 'teknikker. Denne veiledningen har illustrert prosedyren for å utføre manuell deteksjon med sikkerhetstiltak i Node.js.