В этом коротком сообщении рассказывается о том, как использование частного прокси-сервера npm помогает улучшить контроль и безопасность при использовании пакетов JavaScript в общем и npm в частности.
- Хотите визуализировать зависимости вашего пакета?
- Обеспечить соблюдение политик безопасности?
- Управлять своей зависимостью от общедоступного реестра npm?
Прочтите, чтобы узнать, почему вам следует подумать о настройке и использовании прокси-сервера npm.
Заявление об ограничении ответственности: я изначально разместил расширенную версию этой статьи на bytesafe.dev 9 апреля 2020 г. Чтобы прочитать полную версию этой статьи с более подробными сведениями о преимуществах использования Bytesafe в качестве поставщика частного реестра, щелкните здесь
Почему прокси npm - хорошая идея
Миллионы разработчиков используют общедоступный реестр npm каждый день, и с его 1,3 миллионами пакетов он является важным активом в экосистеме JavaScript (недавние новости о том, что GitHub приобрел npm, Inc, только подчеркивают это).
Но с удобством общедоступного реестра npm и скоростью разработки, которую влекут за собой все эти доступные пакеты с открытым исходным кодом, есть недостатки для отслеживания и управления всеми этими зависимостями.
Поэтому принятие мер для улучшения контроля над зависимостями и общей безопасности при использовании npm является необходимостью для любой организации, которая хочет управлять своей цепочкой поставок кода (а не слепо доверять коду из Внешние источники).
И одна из первых вещей, которые обычно упоминаются для улучшения безопасности npm, - это использование прокси-сервера npm.
Контроль над зависимостями - как?
Есть несколько способов, которыми прокси-сервер npm обеспечивает лучший контроль зависимостей:
- Центральный реестр: прокси-сервер npm действует как центральный реестр для всех необходимых версий пакетов. Частные и публичные вместе, возможно, из нескольких источников вверх по течению.
- Визуализация зависимостей: наличие всех необходимых пакетов в одном месте позволяет выявить потенциальные проблемы. Кроме того, прокси кэширует ваши пакеты, избавляя от опасений, что основная версия пакета будет неопубликована в будущем.
- Единый источник: все разработчики используют один и тот же реестр прокси-серверов, а все пользователи используют один и тот же источник и версии пакета. Устранение потенциальной проблемы бессознательного построения с разными версиями зависимости.
Повышенная безопасность - как?
Использование прокси-сервера npm позволяет разделить вашу организацию и внешний мир JavaScript.
- Политики. прокси-сервер npm представляет собой важный уровень, на котором вы можете применять политики безопасности, необходимые вашей организации.
- Соответствие лицензии: все зависимости в одном месте для проверки или поиска проблемных лицензий.
- Сканирование безопасности: проверьте зависимости на предмет известных уязвимостей и проблем безопасности.
Использование Bytesafe в качестве прокси
Размещенные в Bytesafe частные реестры npm по умолчанию работают как прокси-серверы npm. Все, что требуется, - это настроенный восходящий поток в ваш реестр. Включение преимуществ прокси-сервера npm и дополнительных преимуществ, которые Bytesafe предлагает вашему рабочему процессу (кстати, Bytesafe доступен как бесплатная учетная запись).
При использовании Bytesafe разработчики настраивают свой npm client
для взаимодействия с частным реестром Bytesafe вместо (по умолчанию) общедоступного реестра.
Поскольку клиент npm больше не связан напрямую с общедоступным реестром, это приводит к следующему рабочему процессу:
Разработчики публикуют / устанавливают версии пакетов в частный реестр Bytesafe и из него - без прямого взаимодействия с публичным реестром. Нет необходимости изменять какое-либо поведение или шаблоны использования. Использование штатных инструментов и клиентов.
Реестр прокси содержит все общедоступные и частные пакеты и все необходимые зависимости. Если требуется версия пакета, которой нет в реестре прокси, она извлекается из восходящего потока.
Реестры Upstreams предоставляют реестр прокси с версиями пакетов (при необходимости) и являются целью для отправки пакетов с прокси. Апстримы могут быть как одним, так и несколькими реестрами.
Резюме
Настройка и использование прокси-сервера npm - это простой и эффективный способ контролировать зависимости JavaScript и повышать безопасность при использовании npm. Не влияя на рабочий процесс разработчиков и не меняя его. Если ваша организация хочет контролировать и управлять цепочкой поставок кода, вам следует настроить прокси-сервер npm.
Bytesafe предлагает размещенные, частные, надежные и бесплатные частные реестры npm, которые помогают вашей организации / команде совместно работать над вашим кодом JavaScript. Кроме того, Bytesafe предлагает постоянно растущий список политик и подключаемых модулей, которые призваны упростить рабочий процесс JavaScript (например, замораживание состояний реестра, автоматическая пересылка версий пакетов в апстримы, сканирование безопасности и т. Д.)
Для получения дополнительной информации посетите Bytesafe.