Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 20(106)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6

Библиографическое описание:
Зотов Е.В., Занина Е.С. ВЫБОР И ОБОСНОВАНИЕ ИСПОЛЬЗОВАНИЯ СОВРЕМЕННЫХ СРЕДСТВ ДЛЯ СЕРВЕРНОЙ РАЗРАБОТКИ // Студенческий: электрон. научн. журн. 2020. № 20(106). URL: https://sibac.info/journal/student/106/181787 (дата обращения: 29.03.2024).

ВЫБОР И ОБОСНОВАНИЕ ИСПОЛЬЗОВАНИЯ СОВРЕМЕННЫХ СРЕДСТВ ДЛЯ СЕРВЕРНОЙ РАЗРАБОТКИ

Зотов Егор Вячеславович

магистрант, кафедра информационных технологий и вычислительных систем, Московский государственный технологический университет “СТАНКИН”,

РФ, г. Москва

Занина Екатерина Сергеевна

магистрант, кафедра информационных технологий и вычислительных систем, Московский государственный технологический университет “СТАНКИН”,

РФ, г. Москва

АННОТАЦИЯ

В статье рассматриваются современные методы разработки серверных приложений. Данные методы подходят для автоматизации любых бизнес-процессов.

 

Ключевые слова: разработка ПО, серверные приложения приложения, Node.js, MongoDB.

 

Node.js — JavaScript-платформа, транслирующая JavaScript-код в машинный код. Для этого используется движок JavaScript Chrome V8 [1]. Программная платформа Node.js в основном предназначена для создания легко масштабируемых серверных приложений. В отличие от традиционных подходов к серверным реализациям, в основе Node.js лежит событийно-ориентированное и реактивное программирование, с неблокирующим вводом/выводом.

MongoDB — это документно-ориентированная база данных написанная на языке C++. Основной особенностью является отсутствие необходимости описания схем таблиц. Данные хранятся в json-подобных документах и могут в процессе разработки дополняться новыми полями. Классифицирована как NoSQL [2]. Ниже будут рассмотрены преимущества базы данных MongoDB.

Nginx — это HTTP-сервер и обратный прокси-сервер. Может использоваться как почтовый сервер и TCP/UDP прокси-сервер общего назначения [3]. Позиционируется производителем как лёгкий и не перегруженный функциями. Обслуживает большую часть сайтов доменных зон ru, su, рф.

Длительное время с ним работают Яндекс, Вконтакте, Рамблер, Mail.ru. Nginx имеет встроенные возможности балансировки нагрузки и работа с ним в общем случае проще, чем работа с Apache, который является 1-ым по популярности веб-сервером в мире. Nginx можно использовать как звено для балансировки нагрузки между другими серверами добавив несколько строк в конфигурационный файл. Компания Netflix использовала Nginx в качестве веб-сервера для своего высоконагруженного потокового видео.

Рабочие процессы Nginx обслуживают множество соединений одновременно. Они выполняют цикл обработки событий от дескрипторов (Событийно-ориентированное программирование). Полученные данные разбираются с помощью конечного автомата. Разобранный запрос последовательно обрабатывается цепочкой модулей, задаваемой конфигурацией. Ответ клиенту формируется в буферах, которые хранят данные либо в памяти, либо указывают на отрезок файла. Буферы объединяются в цепочки, определяющие последовательность, в которой данные будут переданы клиенту. Если операционная система поддерживает эффективные операции ввода-вывода, такие как writev и sendfile, то nginx применяет их по возможности.

HTTPS является расширением протокола HTTP. В его основе лежит HTTP протокол, работающий через шифрованные транспортные механизмы. Данные, которые проходят по протоколу HTTPS, защищены от атак, основанных на прослушивании сетевого соединения: снифферских и атак типа man-in-the-middle, при условии, что сертификат сервера проверен и ему можно доверять [4].

Снифферская атака — это такая атака, в которой трафик перехватывается с помощью сетевой карты посредника. Такой тип атак был популярен, когда трафик передавался с помощью хабов, так как хаб транслировал весь входящий трафик на все устройства сети. Данная проблема была решена использованием коммутаторов, так как в отличие от хабов, трафик в коммутаторе направленный и идёт строго от узла источника к узлу назначения. Несмотря на то что частично данные попадают на другие узлы, этот трафик малоэффективно анализировать.

Man-in-the-middle — это вид атаки, в которой трафик перехватывается злоумышленником и ретранслируется по назначению, в итоге злоумышленник получает данные которые пытаются передать от одного узла к другому, копирует или изменяет их и отправляет по назначению. Данная уязвимость актуальна при использования ассиметричных схем шифрования.

Пример перехвата данных при использовании ассиметричного шифрования: Необходимо отправить данные из узла A в узел B, в то время как узел C является злоумышленником и пытается перехватить данные.

  • узел A и B отправляют свои открытые ключи;
  • ключи перехватывается узлом C внедряясь в обмен ключами между A и B;
  • узел C отправляет A и B свой открытый ключ, сохраняя ключи A и B для шифрования перехваченных сообщений;
  • узел A отправляет данные, зашифрованные как ему кажется открытым ключом узла B, что но на самом деле является подменённым ключом узла C;
  • узел C получает зашифрованные данные и расшифровывает их своим секретным ключом;
  • узел C копирует или изменяет эти данные;
  • узел C зашифровывает данные открытым ключом узла B , чтобы узел B мог расшифровать их;
  • узел B отправляет данные шифруя их подменённым открытым ключом узла A (ключ узла C).

Далее узел C таким же образом пересылает данные от B к A и продолжает перехватывать все последующие данные, поэтому важно, чтобы Узел A знал определённо, что он пользуется открытым ключом узла B. Это объясняет необходимость того, что сертификат сервера должен быть проверен и ему можно доверять. Поэтому возникает необходимость в центре сертификации.

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

 

Список литературы:

  1. Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine [электронный ресурс] // Nodejs. 2018. URL: https://nodejs.org/en/ (дата обращения: 10.05.2020).
  2. What is MongoDB? [электронный ресурс] // MongoDB. 2018. URL: https://www.mongodb.com/what-is-mongodb (дата обращения: 10.05. 2020).
  3. Nginx [электронный ресурс] // nginx. 2018. URL: https://nginx.ru/ru/ (дата обращения: 11.05.2018).
  4. What is HTTPS? [Электронный ресурс] // instantssl. 2018. URL: https://www.instantssl.com/ssl-certificate-products/https.html (дата обращения: 11.мая. 2020).

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.