The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Репозиторий NPM семь часов был недоступен через прокси

29.05.2018 22:20

Изменения в настройках сервера репозитория NPM привели к неработоспособности сервиса. Проблему усложняло то, что столкнувшиеся с проблемой пользователи были введены в заблуждение странным сообщением об ошибке "ERR! 418 I'm a teapot", которое возвращалось в ответ на попытки обновления или установки пакетов. При этом страница status.npmjs.org показывала, что все подсистемы отвечают и работают в штатном режиме, а откат на прошлую версию NPM на стороне клиента не решал проблемы.

Разбор ситуации показал, что проблема затрагивает только пользователей, использующих прокси, как правило работающих из корпоративных сетей или с использованием виртуальных машин. Спустя семь часов проблема была исправлена. Далее выяснилось, что запросы с использованием HTTPS, отправленные через прокси, приходят с указанием номера порта в заголовке Host (registry.npmjs.org:443), в то время как разработчики NPM добавили строгие проверки и рассчитывали увидеть только registry.npmjs.org. Странный код ошибки 418 возвращался для проблем неопределённого характера и был составлен по мотивам шутки, опубликованной 1 апреля в RFC 2324.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выявлена попытка включения бэкдора в популярный NPM-пакет mailparser
  3. OpenNews: Выпуск серверной JavaScript-платформы Node.js 10 и пакетного менеджера NPM 6
  4. OpenNews: Критическая проблема в NPM 5.7, приводящая к смене прав доступа на системные каталоги
  5. OpenNews: Сбой антиспам-системы привёл к коллапсу в репозитории NPM
  6. OpenNews: Более половины npm-пакетов могли быть скомпрометированы из-за ненадёжных паролей доступа
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48681-npm
Ключевые слова: npm
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (26) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 22:29, 29/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +19 +/
    >>>NPM
    >>ERR! 418 I'm a teapot
    >странным кодом и сообщением

    Ничего странного. Всё нормально. Что не так?

     
     
  • 2.22, Аноним (-), 06:01, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В nginx обычно 418 использую для перехвата вариантов из if через return и error_page, удобно.
     
     
  • 3.28, yukra (ok), 19:32, 01/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    В nginx не рекомендуется использовать if: https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
    Вместо этого лучше использовать map: https://habr.com/post/231277/
     

  • 1.2, Аноним (-), 23:26, 29/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    NPM та ещё шарага, жаль nodejs foundation им доверились когда-то.
     
  • 1.3, Аноним (-), 23:30, 29/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    NPM та ещё шарага, жаль nodejs foundation им доверились когда-то.
     
     
  • 2.5, Олег (??), 23:50, 29/05/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Они друг друга стоят..
     
  • 2.8, index0h (ok), 02:23, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Г-н Эскобар глупость не скажет (18+) https://www.youtube.com/watch?v=giC3-LnnV4c
     
     
  • 3.18, Аниним (?), 09:50, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Прямо неделя замшелых баянов на ОН.
     

  • 1.4, кверти (ok), 23:42, 29/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А есть тут эксперты по этой хрени? Как, например, организовать свой репозиторий из ПУБЛИЧНЫХ пакетов? Это нужно для закрытого сегмента сети.
     
     
  • 2.12, Кэп (?), 08:09, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Nexus
     
     
  • 3.16, кверти (ok), 09:14, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ох ты ж ё...Дя прям таки бесценный совет! А купить jfrog artifactory не посоветуешь? Я не спрашивал какой менеджер мне взять, я спросил как это всё реализовать, например, через тот же nexus. Меня интересует реализация.
     
     
  • 4.20, KonstantinB (ok), 17:37, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    https://blog.theodo.fr/2016/01/speed-up-npm-install-with-a-nexus-proxy-to-cach
     
  • 2.23, Shcoder (?), 21:46, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    на слуху у меня был только этот https://www.npmjs.com/package/sinopia
     

  • 1.6, Xasd (ok), 00:05, 30/05/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > запросы с использованием HTTPS, отправленные через прокси

    это что ещё за такой прокси -- для HTTPS ?

     
     
  • 2.7, Crazy Alex (ok), 00:48, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А что не так?
     
  • 2.9, truetrup (?), 04:26, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Вероятно, имеется ввиду reverse-proxy, напр. nginx. И да, как админ на аутсорсе часто вижу неправильно приготовленный nginx шлющий всякое в заголовках.
     
  • 2.10, Аноним (-), 07:11, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Прозрачный. А что не так? Системный и файрфоксовый прокси всегда работал и для https, без mitm, естественно. Включая всякие расширения, от foxyproxy с возложением поиска прокси на тебя, до фригатов и прочих зондо-проксей со встроенными.
     
     
  • 3.14, Анонимус2 (?), 09:01, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Без mitm нельзя заголовки поменять, так что либо непрозрачный прокси и клиент шлет разные заголовки в зависимости от настроек, либо mitm
     
  • 3.15, Xasd5 (?), 09:09, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    какой нахрн *прозрачный* прокси для https?

    что за чушь вы тут несёте?

    кто напустил на форум админов?

     
     
  • 4.17, Анонимус2 (?), 09:40, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Нашёлся я смотрю главный админ всея опеннета http://bfy.tw/IMnB
     
     
  • 5.19, Xasd (ok), 10:25, 30/05/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Нашёлся я смотрю главный админ всея опеннета http://bfy.tw/IMnB

    а дальше-то куда нажимать?

    ато по твоей ссылке выпадает список сайтов щёлкнув на парочку из которых -- предложили *убить* клиентскую систему (что кстати является весьма *НЕ_прозрачным), скомпрометировав там список TLS-сертификатов.. и нужно быть полным идиотом-пользователем чтобы сделать такое у себя на компе (даже пусть на рабочем.. хотя НЕ! на рабочем этого ВООБЩЕ делать нельзя, ибо там ответственности больше).

    может что-то более конкретное предложишь? ато вдруг я тыкнул не на ту ссылку?

    # P.S.: и не забуть написать пару слов про "Public Key Pinning" (HPKP) и про "Certificate Transparency" (CT)

     
     
  • 6.25, Stax (ok), 00:29, 01/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > # P.S.: и не забуть написать пару слов про "Public Key Pinning"
    > (HPKP)

    Так оно же сдохло: https://www.leaderssl.ru/news/452-google-planiruyut-udalit-podderzhku-http-pub

     
  • 2.21, Аноним (-), 02:10, 31/05/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Есть https прокси с недавних пор. Пару лет хромиум умеет. Вот curl недавно научился, а больше никто из софта.
     
     
  • 3.24, Stax (ok), 00:26, 01/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Что конкретно тут значит "хромиум умеет"? Подключиться к проксе и сказать ей "CONNECT куда-нибудь:443" и дальше пускать шифрованный поток как бы все браузеры и клиенты всегда умели...
     
     
  • 4.26, Аноним (-), 05:01, 01/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    ну 1 ссылка же, ну

    https://daniel.haxx.se/blog/2016/11/26/https-proxy-with-curl/

     
     
  • 5.27, Stax (ok), 16:44, 01/06/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эм. Вы это серьезно?? Причем тут вообще https-сессия *до* прокси, когда мы обсуждаем проксирование https-соединения до сервера? То, что до прокси https вообще ни на что тут не влияет, прокся ровно так же не может вмешиваться в соединение (и не сможет поставить заголовок Host, как в примере выше). Там ровно такой же CONNECT и дальше шифрованный трафик, про который прокся ничего не знает.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру