Как выполнить ручное обнаружение с использованием мер безопасности в Node.js

Kak Vypolnit Rucnoe Obnaruzenie S Ispol Zovaniem Mer Bezopasnosti V Node Js



Обнаружение уязвимостей, защита вашего кода от всех видов кибератак и предотвращение утечек памяти — самые важные обязанности программиста. Такое обнаружение и прогнозирование ваших уязвимостей, находящихся внутри кода, является очень сложным и трудоемким процессом. Однако существует несколько подходов, с помощью которых в Nodejs можно выполнить ручное обнаружение наряду с процессом защиты приложения.

В этой статье будут объяснены подходы к выполнению ручного обнаружения с использованием мер безопасности в Nodejs, охватывая следующие разделы:







    • Использование ограничителя скорости
    • Использование TLS/SSL для передачи данных
    • Выходные выходы

Как выполнить ручное обнаружение с использованием мер безопасности в Node.js

Обнаружение вручную выполняется путем многократной проверки кода для выявления потенциальных проблем в коде Node.js. Потенциальные проблемы выявляются путем поиска синтаксических ошибок, логических ошибок и т. д. Использование ' отладчик ' и ' линтеры » также можно использовать для выявления потенциальных угроз или ошибок внутри программы Node.js.



Существуют различные методы, с помощью которых код можно защитить от всевозможных потенциальных потоков, одновременно увеличивая время жизни вашего кода. Эти методы перечислены ниже:



Способ 1. Защитите программу Node.js с помощью ограничителя скорости

Чтобы защитить ваше приложение от атак типа «отказ в обслуживании» и повысить производительность вашего приложения за счет предотвращения слишком большого количества запросов. Практическая реализация показана ниже:





константный экспресс = требуется ( 'выражать' ) ;
constrateLim = требуется ( 'экспресс-лимит скорости' ) ;
константное безопасное приложение = экспресс ( ) ;

// Определите промежуточное программное обеспечение, ограничивающее скорость
константное ограничение = скоростьLim ( {
окноМс: 60 * 1000 ,
Макс: 100 , // Максимальный запрос в минуту
сообщение: 'Извини! Превышен лимит скорости' ,
} ) ;
// Примените промежуточное программное обеспечение, ограничивающее скорость
SafeApp.use ( ограничивающий ) ;
// Определите обработчик маршрута и ответа
SafeApp.get ( '/' , ( ответ на запрос ) '=' > {
ответ.отправить ( «Привет, сообщество Linuxhint!» ) ;
} ) ;

// Инициализация экспресс-сервера
const localPort = процесс.env.PORT || 3000 ;
SafeApp.listen ( локальныйПорт, ( ) '=' > {
консоль.log ( ` Сервер запустился на порту: ${localPort}


В приведенном выше коде:

    • Сначала импортируйте « выражать ' и ' экспресс-ограничение скорости ” пакеты в основной “ js ' файл. Инициализируйте « выражать() » приложение и присвойте ему имя « SafeApp ».
    • Затем определите промежуточное программное обеспечение, ограничивающее скорость, передав пользовательские значения для « WindowsMs ', ' Макс ', и ' сообщение ” свойства в “ экспресс-ограничение скорости ' упаковка.
    • Теперь примените этот ограничитель скорости к экспресс-приложению, используя « использовать() метод.
    • Затем используйте « получать() ” метод для отправки случайного сообщения в качестве запроса через сервер.
    • Наконец, установите номер порта, используя « окр.ПОРТ » и заставить экспресс-приложение прослушивать указанный номер порта.

Способ 2. Защитите программу Node.js, используя TLS/SSL для передачи данных

TLS/SSL — это уровень защищенных сокетов, который шифрует данные, передаваемые между сервером и клиентом. Это защищает конфиденциальные данные, такие как номера кредитных карт, от перехвата злоумышленниками, а также помогает вам соблюдать требования соответствия:



const fs = требуется ( 'фс' ) ;
константный экспресс = требуется ( 'выражать' ) ;
const httpsObj = требуется ( «https» ) ;

константное безопасное приложение = экспресс ( ) ;
константные параметры = {
ключ: fs.readFileSync ( 'key.pem' ) ,
сертификат: fs.readFileSync ( 'серт.pem' ) ,
} ;

const SettingServer = httpsObj.createServer ( опции, SafeApp ) ;

SafesafeApp.get ( '/' , ( ответ на запрос ) '=' > {
ответ.отправить ( «Привет, сообщество Linuxhint!» ) ;
} ) ;

настройкаServer.listen ( 8000 ) ;


Описание приведенного выше кода:

    • Первоначально импортируйте необходимый Node.js « фс ', ' выражать ', и ' https зависимости в вашем проекте и инициализируйте «экспресс-приложение» с именем « SafeApp ».
    • Теперь создайте « параметры «составьте список и передайте файлы для секретного ключа и сертификата» ключ ' и ' сертификат ' характеристики. Файлы можно создать с помощью команды « OpenSSL », и эти файлы помогают защитить соединения.
    • Наконец, создайте сервер, вызвав команду « создатьСервер() ” и передайте метод “ параметры массив в качестве первого параметра и выражение app в качестве второго.
    • Чтобы применить аутентификацию TSL/SSL к приложению, отправьте или получите запрос, используя « получать() » метод в соответствии с требованиями.

Способ 3. Защитите программу Node.js, используя выходные данные Escape

Чтобы предотвратить использование в вашем приложении Node.js межсайтового сценария « XSS »-атаки, наиболее распространенным и популярным методом является экранирование специальных символов из вывода. Специальные символы преобразуются в формат HTML для предотвращения атак XSS, а преобразование выполняется с помощью команды « escape-html » объект пакета:

const escObj = требуется ( 'escape-html' ) ;
константа dummyStr = '' ;

const modStr = escObj ( dummyStr ) ;
консоль.log ( counterStr ) ;


Описание приведенного выше кода выглядит следующим образом:

    • Во-первых, « escape-html ” пакет импортируется в основной “ js ” файл и его объект или экземпляр хранятся в “ escObj ' переменная.
    • Далее случайная строка кода, содержащая специальные символы, сохраняется в файле « dummyStr ' переменная.
    • После этого пройдите « dummyStr ” переменная внутри “ escObj круглая скобка для преобразования кода в чистый формат HTML.
    • Результат сохраняется в переменной « counterStr », который затем отображается на консоли.

Вывод приведенного выше кода показывает, что специальные символы, содержащие предоставленную строку, теперь преобразуются в формат кодировки HTML:


Это все, что касается ручного обнаружения с использованием мер безопасности в Nodejs.

Заключение

Чтобы выполнить обнаружение вручную, проверьте свой код несколько раз на наличие синтаксических или логических ошибок любого типа и выполните несколько тестов кода. Чтобы защитить вашу программу Node.js от всех видов кибератак или предотвратить утечку данных, используйте команду « Ограничитель скорости ', ' TLS/SSL для передачи данных ', и ' Выходные выходы » техники. В этом руководстве проиллюстрирована процедура выполнения ручного обнаружения с использованием мер безопасности в Node.js.