Jak przeprowadzić ręczne wykrywanie z zabezpieczeniami w Node.js

Jak Przeprowadzic Reczne Wykrywanie Z Zabezpieczeniami W Node Js



Wykrywanie podatności, ochrona kodu przed wszelkiego rodzaju cyberatakami i zapobieganie wyciekom pamięci to najważniejsze obowiązki programisty. Wykrywanie i przewidywanie luk znajdujących się w kodzie jest procesem bardzo trudnym i czasochłonnym. Istnieje jednak kilka podejść, za pomocą których można przeprowadzić ręczne wykrywanie wraz z procesem zabezpieczania aplikacji w Nodejs.

W tym artykule wyjaśniono podejścia do ręcznego wykrywania z zabezpieczeniami w Nodejs, omawiając poniższe sekcje:







    • Korzystanie z ogranicznika szybkości
    • Stosowanie protokołu TLS/SSL do transmisji danych
    • Wyjścia ucieczki

Jak przeprowadzić ręczne wykrywanie z zabezpieczeniami w Node.js

Ręczne wykrywanie odbywa się poprzez wielokrotne przeglądanie kodu w celu zidentyfikowania potencjalnych problemów w kodzie Node.js. Potencjalne problemy są wykrywane poprzez wyszukiwanie błędów składniowych, błędów logicznych i tak dalej. Sposób użycia ' debuger ' I ' linters ” można również wykorzystać do identyfikacji potencjalnych zagrożeń lub błędów występujących w programie Node.js.



Istnieją różne metody ochrony kodu przed wszelkiego rodzaju potencjalnymi wątkami, jednocześnie wydłużając czas życia kodu. Metody te są wymienione poniżej:



Metoda 1: Zabezpiecz program Node.js, korzystając z ogranicznika szybkości

Aby zapobiec atakom typu „odmowa usługi” na Twoją aplikację i poprawić wydajność aplikacji, zapobiegając zbyt wielu żądaniom. Praktyczną realizację pokazano poniżej:





const express = wymagaj ( 'wyrazić' ) ;
stała stawkaLim = wymagaj ( „limit-stawki-ekspresowej” ) ;
const SafeApp = express ( ) ;

// Zdefiniuj oprogramowanie pośredniczące ograniczające szybkość
ograniczenie stałe = limit szybkości ( {
oknoPani: 60 * 1000 ,
maks.: 100 , // Maksymalne zapotrzebowanie na min
wiadomość: 'Przepraszam! Przekroczono limit stawki” ,
} ) ;
// Zastosuj oprogramowanie pośredniczące ograniczające szybkość
SafeApp.use ( ograniczające ) ;
// Zdefiniuj procedurę obsługi trasy i odpowiedzi
SafeApp.get ( „/” , ( wymagać odpowiedzi ) = > {
odpowiedź.wyślij ( „Witajcie, społeczność Linuxhint!” ) ;
} ) ;

// Inicjowanie serwera Express
const localPort = proces.env.PORT || 3000 ;
bezpiecznaAplikacja.słuchaj ( port lokalny, ( ) = > {
konsola.log ( ` Serwer został uruchomiony na porcie o numerze: ${lokalnyPort}


W powyższym kodzie:

    • Najpierw zaimportuj „ wyrazić ' I ' limit stawki ekspresowej ” pakuje do głównego „ js ' plik. Zainicjuj „ wyrazić() ”aplikację i nadaj jej nazwę” bezpiecznaAplikacja ”.
    • Następnie zdefiniuj oprogramowanie pośredniczące ograniczające szybkość, przekazując niestandardowe wartości dla „ oknaPani „”, „ maks ', I ' wiadomość ” właściwości w „ limit stawki ekspresowej ' pakiet.
    • Teraz zastosuj ten ogranicznik szybkości w aplikacji ekspresowej, korzystając z opcji „ używać() ' metoda.
    • Następnie skorzystaj z opcji „ Dostawać() ” metoda wysyłania losowej wiadomości jako żądania przez serwer.
    • Na koniec ustaw numer portu za pomocą przycisku „ środowisko PORT ” i spraw, aby aplikacja ekspresowa nasłuchiwała określonego numeru portu.

Metoda 2: Zabezpiecz program Node.js, wykorzystując protokół TLS/SSL do transmisji danych

TLS/SSL to bezpieczna warstwa gniazd, która szyfruje dane przesyłane między serwerem a stroną klienta. Chroni to wrażliwe dane, takie jak numery kart kredytowych, przed przechwyceniem przez atakujących, a także pomaga spełnić wymagania dotyczące zgodności:



const fs = wymagaj ( „fs” ) ;
const express = wymagaj ( 'wyrazić' ) ;
const httpsObj = wymagaj ( „https” ) ;

const SafeApp = express ( ) ;
opcje stałe = {
klucz: fs.readFileSync ( „klucz.pem” ) ,
certyfikat: fs.readFileSync ( „cert.pem” ) ,
} ;

const ustawienieServer = httpsObj.createServer ( opcje, bezpiecznaAplikacja ) ;

SafeSafeApp.get ( „/” , ( wymagać odpowiedzi ) = > {
odpowiedź.wyślij ( „Witajcie, społeczność Linuxhint!” ) ;
} ) ;

ustawienieSerwer.słuchaj ( 8000 ) ;


Opis powyższego kodu:

    • Początkowo zaimportuj wymagany plik Node.js „ fs „”, „ wyrazić ', I ' https ” w swoim projekcie i zainicjuj aplikację „ekspresową” nazwą „ bezpiecznaAplikacja ”.
    • Teraz utwórz „ opcje ”wymień i przekaż pliki klucza prywatnego i certyfikatu” klucz ' I ' certyfikat ' nieruchomości. Pliki można tworzyć za pomocą „ otwierasl ”, a te pliki pomagają w zabezpieczeniu połączeń.
    • Na koniec utwórz serwer, wywołując opcję „ utwórz serwer() ” i przekazać metodę „ opcje ” jako pierwszy parametr i express app jako drugi.
    • Aby zastosować uwierzytelnianie TSL/SSL w aplikacji, wyślij lub odbierz żądanie za pomocą przycisku „ Dostawać() ” metoda zgodnie z wymaganiami.

Metoda 3: Zabezpiecz program Node.js, wykorzystując dane wyjściowe ucieczki

Aby uniemożliwić aplikacji Node.js wykonywanie skryptów między witrynami „ XSS ”, najczęstszą i bardziej popularną techniką jest ucieczka znaków specjalnych z wyjścia. Znaki specjalne są konwertowane do formatu HTML, aby zapobiec atakom XSS, a konwersja odbywa się za pomocą „ escape-html ” obiekt pakietu:

const escObj = wymagaj ( „scape-html” ) ;
const manekinStr = '' ;

const modStr = escObj ( manekinStr ) ;
konsola.log ( licznikStr ) ;


Opis powyższego kodu wygląda następująco:

    • Po pierwsze ' escape-html ” pakiet jest importowany do głównego „ js ”, a jego obiekt lub instancja jest przechowywana w pliku „ escObj ' zmienny.
    • Następnie losowa linia kodu zawierająca znaki specjalne jest przechowywana w pliku „ manekinStr ' zmienny.
    • Następnie przekaż „ manekinStr ” zmienna wewnątrz „ escObj ” nawias do kodu konwersji do czystego formatu HTML.
    • Wynik zapisywany jest w zmiennej „ licznikStr ”, który następnie zostanie wyświetlony na konsoli.

Dane wyjściowe powyższego kodu pokazują, że znaki specjalne zawierające podany ciąg znaków są teraz konwertowane do formatu kodowania HTML:


Chodzi o ręczne wykrywanie z zabezpieczeniami w Nodejs.

Wniosek

Aby przeprowadzić wykrywanie ręczne, przejrzyj kod kilka razy pod kątem błędów składniowych lub logicznych i wykonaj wiele testów kodu. Aby zabezpieczyć swój program Node.js przed wszelkiego rodzaju cyberatakami lub zapobiec wyciekowi danych, użyj opcji „ Ogranicznik szybkości „”, „ TLS/SSL do transmisji danych ', I ' Wyjścia ucieczki ”techniki. W tym przewodniku przedstawiono procedurę ręcznego wykrywania z użyciem zabezpieczeń w Node.js.