• Как надо исправлять утечки маршрутов

      Стоит оговориться, что нижеследующая история во многом уникальна.

      И вот как она начиналась. В течение примерно одного часа, начиная с 19.28 UTC вчера, 1 апреля 2020 года, крупнейший российский интернет-провайдер — Ростелеком (AS12389) — начал анонсировать сетевые префиксы крупнейших игроков интернета: Akamai, Cloudflare, Hetzner, Digital Ocean, Amazon AWS и других известных имен. До того момента как проблема была решена, пути между крупнейшими облачными провайдерами планеты были нарушены — Интернет «моргнул».

      Данная утечка маршрута вполне успешно распространялась через провайдера Rascom (AS20764), откуда через Cogent (AS174) и, спустя еще несколько минут, через Level3 (AS3356) распространилась по всему миру. Утечка была настолько серьезной, что почти все Tier-1 операторы были задеты аномалией.

      Выглядело это так:

      image

      Поверх такого:

      image
      Читать дальше →
    • Оказывается, интернет-бизнес выживает в текущих условиях. Почему? Удаленка в ДНК

        «В 1665 году Кембриджский университет закрылся из-за эпидемии чумы. Исааку Ньютону пришлось работать из дома. Он открыл дифференциальное и интегральное исчисление, а также закон всемирного тяготения».
        К сожалению, мы живем в выдающееся время. С наступлением 2020 года и эпидемией COVID-19 сотрудники по всему миру закрываются дома на карантин, стараясь изо всех сил поддерживать нормальное течение жизни, а значит, и продолжать работать. Но есть одно отличие от всех предыдущих инфекционных пандемий, которые пережило человечество — в этот раз у нас есть Интернет.

        Читать дальше →
      • Ежегодный отчет Qrator Labs о сетевой безопасности и доступности



          Есть у нас в Qrator Labs такая традиция — в начале, а февраль это точно не конец, каждого года публиковать отчет о годе предыдущем.

          Как и любая многолетняя сущность, она обрастает множеством сопутствующих историй. К примеру, уже стало «доброй» приметой, когда в начале января на наши корпоративные страницы заходит очередная DDoS-атака, которую мы не успеваем разобрать в отчете. 2020 год стал наполовину исключением — вектор атаки мы успели описать (TCP SYN-ACK-амплификация), но именно к нам, на qrator.net, гость пожаловал (и не один) только 18 января, зато сразу с гостинцами: 116 Gbps при 26 Mpps.

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

          Начнём мы с двух самых интересных нам тем прошлого года: SYN-ACK-амплификации и BGP-«оптимизации».
          Читать дальше →
        • Быстрый ENUM

            tl;dr


            github.com/QratorLabs/fastenum
            pip install fast-enum

            Зачем нужно перечисление (enum)


            (если вы все знаете — опуститесь до секции «Перечисления в стандартной библиотеке»)

            Представьте, что вам нужно описать набор всех возможных состояний сущностей в собственной модели базы данных. Скорее всего, вы возьмёте пачку констант, определенных прямо в пространстве имен модуля:
            # /path/to/package/static.py:
            INITIAL = 0
            PROCESSING = 1
            PROCESSED = 2
            DECLINED = 3
            RETURNED = 4
            ...

            … или как статические атрибуты класса:
            class MyModelStates:
              INITIAL = 0
              PROCESSING = 1
              PROCESSED = 2
              DECLINED = 3
              RETURNED = 4

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

            Однако, и константа модуля, и класс со статическими атрибутами страдают от внутренней природы объектов Python: все они изменяемы (мутабельны). Можно случайно присвоить значение своей константе во время выполнения, а отладка и откат сломанных объектов — отдельное приключение. Так что вы можете захотеть сделать пачку констант неизменяемыми в том смысле, что количество объявленных констант и их значения, на которые они отображаются, не будут изменяться во время выполнения программы.
            Читать дальше →
          • Как работает криптография на основе эллиптических кривых в TLS 1.3

              image

              Пара предупреждений читателю:

              Для того, чтобы (насколько это возможно) упростить процесс объяснения и сжать объем публикации, стоит сразу же сделать ключевую оговорку — все, что мы пишем, касаемо практической стороны рассматриваемой проблематики, корректно для протокола TLS версии 1.3. Это значит, что хотя ваш ECDSA сертификат и будет, при желании, работать с TLS 1.2, описание процесса хендшейка, наборов шифров и бенчмарков сделано на основании последней версии протокола TLS — 1.3. Как вы понимаете, это не относится к математическому описанию алгоритмов, лежащих в фундаменте современных криптографических систем.

              Данный материал был написан не математиком и даже не инженером — хотя они и помогали проложить дорожку сквозь математические дебри. Огромная благодарность сотрудникам Qrator Labs.

              (Elliptic Curve) Diffie-Hellman (Ephemeral)


              Наследие Диффи — Хеллмана в XXI веке

              Естественным образом, данная тема начинается не с Уитфилда Диффи и не с Мартина Хеллмана. Алан Тьюринг и Клод Шеннон сделали огромный вклад в теорию алгоритмов и теорию информации, равно как и в область криптоанализа. Диффи и Хеллман, в свою очередь, официально признаются авторами идеи криптографии с публичным ключом (также называемой асимметричной) — хотя теперь известно, что в Великобритании были также достигнуты серьезные результаты в этой области. Однако они оставались засекреченными длительное время — что делает двух джентльменов, упомянутых в подзаголовке, первопроходцами.

              В чем именно?
              Читать дальше →
              • +52
              • 18k
              • 7
            • Исследование Устойчивости Национальных Сегментов Интернета за 2019



                Данное исследование объясняет, каким образом отказ одной автономной системы (AS) влияет на глобальную связность отдельного региона, особенно в том случае, когда речь идет о крупнейшем провайдере интернета (ISP) данной страны. Связность интернета на сетевом уровне обусловлена взаимодействием между автономными системами. По мере увеличения количества альтернативных маршрутов между AS возникает устойчивость к отказам и повышается стабильность интернета в данной стране. Однако некоторые пути становятся более важными, по сравнению с остальными, и наличие как можно большего числа альтернативных маршрутов в итоге является единственным способом обеспечить надежность системы (в смысле AS).

                Глобальная связность любой AS, независимо от того, представляет ли она второстепенного поставщика интернета или международного гиганта с миллионами потребителей услуг, зависит от количества и качества его путей к Tier-1 провайдерам. Как правило, Tier-1 подразумевает международную компанию, предлагающую глобальную услугу IP-транзита и подключение к другим Tier-1 операторам. Тем не менее, внутри данного элитного клуба нет обязательства поддерживать такую связь. Только рынок может придать мотивацию таким компаниям безоговорочно соединяться друг с другом, обеспечивая высокое качество обслуживания. Достаточный ли это стимул? Мы ответим на этот вопрос ниже — в секции, посвященной связности IPv6.

                Если провайдер интернета теряет связь хотя бы с одним из собственных Tier-1 соединений, он, вероятнее всего, окажется недоступен в некоторых частях Земли.

                Измерение надежности интернета


                Представьте, что AS испытывает значительную сетевую деградацию. Мы ищем ответ на следующий вопрос: «Какой процент AS в этом регионе может потерять связь с Tier-1 операторами, тем самым утратив глобальную доступность»?
                Читать дальше →
              • Система управления конфигурацией сети фильтрации Qrator



                  TL;DR: Описание клиент-серверной архитектуры нашей внутренней системы управления конфигурацией сети, QControl. В основе лежит двухуровневый транспортный протокол, работающий с упакованными в gzip сообщениями без декомпрессии между эндпойнтами. Распределенные роутеры и эндпойнты получают конфигурационные апдейты, а сам протокол позволяет установку локализованных промежуточных релеев. Система построена по принципу дифференциального бэкапа (“recent-stable”, объясняется ниже) и задействует язык запросов JMESpath вместе с шаблонизатором Jinja для рендера конфигурационных файлов.

                  Qrator Labs управляет глобально распределенной сетью нейтрализации атак. Наша сеть работает по принципу anycast, а подсети анонсируются посредством BGP. Будучи BGP anycast-сетью, физически расположенной в нескольких регионах Земли мы можем обработать и отфильтровать нелегитимный трафик ближе к ядру интернета — Tier-1 операторам.

                  С другой стороны, быть географически распределенной сетью непросто. Коммуникация между сетевыми точками присутствия критически важна для провайдера услуг безопасности, для того чтобы иметь согласованную конфигурацию всех узлов сети, обновляя их своевременным образом. Поэтому с целью предоставить максимальный возможный уровень основной услуги для потребителя нам необходимо было найти способ надежно синхронизировать конфигурационные данные между континентами.
                  В начале было Слово. Оно быстро стало коммуникационным протоколом, нуждающимся в апдейте.
                  Читать дальше →
                • Построение и эксплуатация отказоустойчивой anycast-сети

                    Привет, Хабр! Ниже следует транскрипция доклада Евгения error2407 Богомазова (сетевой R&D инженер) и Дмитрия h8r Шемонаева (глава NOC) с прошедшего UPTIMEDAY. Видео в конце поста.


                    Сегодня мы бы хотели рассказать о том, какие проблемы возникают при построении сети anycast. Зачем мы полезли в это и чем там занимаемся.
                    Читать дальше →
                    • +36
                    • 5,7k
                    • 1
                  • Что-что случится 1 февраля 2020 года?

                      TL;DR: начиная с февраля 2020 года, DNS-серверы, не поддерживающие обработку DNS-запросов как по UDP, так и по TCP, могут перестать работать.

                      Это продолжение поста «Что-что случится 1 февраля?» от 24 января 2019 г. Читателю рекомендуется бегло ознакомиться с первой частью истории, дабы понимать контекст.

                      Бангкок, вообще, место на любителя. Конечно, там тепло, дёшево, и кухня интересная, и визы половине населения Земли туда не нужно получать заблаговременно, однако к запахам надо ещё привыкнуть, а городские улицы заставляют в лучшем случае вспомнить классику киберпанка.

                      В частности, пейзаж слева наблюдается недалеко от центра столицы Таиланда, через одну улицу от отеля Shangri-La, где 12-13 мая прошло 30-е собрание организации DNS-OARC, некоммерческой организации, занимающейся вопросами безопасности, стабильности и развития системы доменных имён DNS.

                      Слайды из программы DNS-OARC 30 в принципе рекомендуются к изучению всем, кого интересует работа DNS, однако самое, пожалуй, интересное — это то, чего в слайдах не было. А именно, 45-минутный круглый стол с обсуждением результатов DNS Flag Day, случившегося 1 февраля 2019 года.

                      А самое интересное в круглом столе — решение, что практика DNS Flag Day будет продолжена.
                      Читать дальше →
                      • +26
                      • 13,9k
                      • 6
                    • Мы включили TLS 1.3. Почему вам стоит сделать то же самое



                        В начале года, в отчете о проблемах и доступности интернета за 2018-2019 мы уже писали, что распространение TLS 1.3 неизбежно. Некоторое время назад мы сами развернули версию 1.3 протокола Transport Layer Security и, после сбора и анализа данных, наконец, готовы рассказать об особенностях этого перехода.

                        Председатели рабочей группы IETF TLS пишут:
                        «Вкратце, TLS 1.3 должен предоставить фундамент более безопасного и эффективного Интернета на следующие 20 лет».

                        Разработка TLS 1.3 заняла долгих 10 лет. Мы в Qrator Labs, вместе со всей остальной отраслью, внимательно следили за процессом создания протокола от первоначального проекта. За это время потребовалось написать 28 последовательных версий черновика для того, чтобы в конечном счёте в 2019 году свет увидел сбалансированный и удобный в развертывании протокол. Активная поддержка TLS 1.3 рынком уже очевидна: внедрение проверенного и надежного протокола безопасности отвечает требованиям времени.

                        По словам Эрика Рескорлы (технического директора Firefox и единственного автора TLS 1.3) в интервью The Register:
                        «Это полная замена TLS 1.2, использующая те же ключи и сертификаты, поэтому клиент и сервер могут автоматически общаться по TLS 1.3, если оба его поддерживают», — сказал он. «Уже есть хорошая поддержка на уровне библиотек, а Chrome и Firefox по умолчанию включают TLS 1.3».
                        Читать дальше →
                      • Все очень плохо или новый вид перехвата трафика

                          13 марта в рабочую группу RIPE по борьбе со злоупотреблениями поступило предложение рассматривать BGP-перехват (hijack) в качестве нарушения политики RIPE. В случае принятия предложения интернет-провайдер, атакованный с помощью перехвата трафика, получал бы возможность отправить специальный запрос для вывода злоумышленника на чистую воду. Если экспертная группа соберет достаточно подтверждающих доказательств, то такой LIR, являющийся источником BGP-перехвата, считался бы нарушителем и мог быть лишен статуса LIR. Были и некоторые аргументы против такого изменения.

                          В данной публикации мы хотим показать пример атаки, когда не только настоящий злоумышленник был под вопросом, но и весь список пострадавших префиксов. Более того, такая атака вновь поднимает вопросы по поводу мотивов будущих перехватов трафика такого типа.
                          Читать дальше →
                          • +42
                          • 26,3k
                          • 7
                        • Архитектура Рунета

                            Как знают наши читатели, Qrator.Radar неустанно исследует глобальную связность протокола BGP, равно как и региональную. Так как «Интернет» является сокращением от «interconnected networks» — «взаимосвязанных сетей», наилучшим способом обеспечения высоких качества и скорости его работы является богатая и разнообразная связность индивидуальных сетей, чье развитие мотивировано в первую очередь конкуренцией.

                            Отказоустойчивость интернет-соединения в любом отдельно взятом регионе или стране связана с количеством альтернативных маршрутов между автономными системами — AS. Однако, как мы уже неоднократно писали в наших исследованиях национальной устойчивости сегментов глобальной сети, некоторые пути становятся более важными по-сравнению с остальными (например, пути до Tier-1 транзитных провайдеров или AS, на которых размещены авторитативные DNS-серверы) — это значит, что наличие как можно большего числа альтернативных маршрутов в итоге является единственным жизнеспособным способом обеспечить надежность системы (в смысле AS).

                            В этот раз, мы поближе посмотрим на устройство интернет-сегмента Российской Федерации. Есть причины не сводить глаз с данного сегмента: согласно данным, которые предоставляет база данных регистратора RIPE, к РФ относится 6183 AS из 88664 зарегистрированных глобально, что составляет 6,87%.

                            Такой процент ставит Россию на второе место в мире по данному показателю, сразу после США (30,08% зарегистрированных AS) и перед Бразилией, владеющей 6,34% всех автономных систем. Эффекты, которые возникают вследствие изменений российской связности, могут наблюдаться в других странах, зависимых от или примыкающих к данной связности и, наконец, на уровне почти любого интернет-провайдера.
                            Читать дальше →
                          • Отчет о проблемах и доступности интернета в 2018-2019 годах


                              Здравствуй, Хабр!

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

                              Без лишних предисловий, ключевые выводы за прошлый год:
                              • Средняя длительность DDoS-атак упала до 2,5 часов;
                              • 2018 год показал наличие вычислительной силы, способной генерировать атаки интенсивностью сотни гигабит в секунду внутри одной страны или региона, подводя нас к краю «квантовой теории относительности пропускной способности»;
                              • Интенсивность DDoS-атак продолжает расти;
                              • Вместе с одновременным ростом доли атак с использованием HTTPS (SSL);
                              • Персональные компьютеры мертвы — большая часть современного трафика генерируется на мобильных устройствах, представляя собой задачу для организаторов DDoS и следующий вызов для компаний, занимающихся защитой сетей;
                              • BGP наконец стал вектором атаки, на 2 года позже ожидаемого нами срока;
                              • Манипуляции DNS по прежнему являются наиболее разрушительным вектором атаки;
                              • Мы ожидаем появления новых амплификаторов в будущем, таких как memcached и CoAP;
                              • «Тихих гаваней» в интернете больше не существует и все отрасли одинаково уязвимы перед кибератаками любого рода.

                              Под катом мы собрали наиболее интересные части отчета в одном месте, ознакомиться же с полной версией можно по ссылке. Приятного прочтения.
                              Читать дальше →
                              • +37
                              • 6,7k
                              • 2
                            • Что-что случится 1 февраля?

                                Не то что бы, конечно, это было первое обсуждение вопроса на Хабре. Однако до сего момента в основном обсуждались последствия, в то время как, на наш взгляд, куда интереснее первопричины.

                                Итак, на 1 февраля запланирован DNS Flag Day. Эффекты этого события будут наступать постепенно, однако всё же быстрее, чем некоторые компании сумеют к нему адаптироваться.

                                Что это такое? Говоря простым языком, это манифест основных мировых разработчиков DNS-серверов: компаний CZ.NIC, ISC, NLnet Labs и PowerDNS.

                                Производители программного обеспечения DNS уже давно столкнулись с проблемой: развитие системы доменных имён, добавление в неё новых функций, требующихся клиентам, решение вопросов безопасности — все эти процессы радикально замедляются ввиду кооперативной структуры системы DNS и необходимости поддерживать архаичные серверы, реализующие устаревшие версии протоколов (и даже это зачастую делающие с ошибками).
                                Читать дальше →
                              • «Два нефильтрованных» или легкий способ прострелить ногу

                                  Уже несколько раз в отчетах об инцидентах маршрутизации мы рассказывали о возможных последствиях отсутствия фильтров BGP-анонсов на стыках с клиентами. Подобная, некорректная, конфигурация большую часть времени будет работать совершенно нормально — до тех пор, пока в один прекрасный день не станет виновной в сетевой аномалии регионального или глобального масштаба. И позавчера, 25.11.2018, это случилось снова — на этот раз в России.

                                  В 13.00 UTC (16:00 по московскому времени) небольшой российский оператор Krek Ltd (AS57494) начал анонсировать префиксы между своими провайдерами, в результате перенаправив значительную часть трафика Ростелекома на свою сеть. Аномалия затронула более 40 тысяч префиксов — выдержать такую нагрузку сеть Krek, конечно, не могла. В результате от 10 до 20% пользователей на территории РФ потеряли доступ к тысячам сервисов, включая такие популярные как Amazon, Youtube, Вконтакте и онлайн-кинотеатру IVI.RU.
                                  image
                                  Читать дальше →
                                  • +23
                                  • 9,4k
                                  • 5
                                • Ускорение SQLAlchemy для архитектурных космонавтов


                                    Хабр, это доклад инженера-программиста Алексея Старкова на конференции Moscow Python Conf++ 2018 в Москве. Видео в конце поста.
                                    Всем привет! Меня зовут Алексей Старков — это я, в свои лучшие годы, работаю на заводе.
                                    Теперь я работаю в Qrator Labs. В основном, всю свою жизнь, я занимался C и C++ — люблю Александреску, «Банду Четырех», принципы SOLID — вот это всё. Что и делает меня архитектурным космонавтом. Последние пару лет пишу на Python, потому что мне это нравится.

                                    Собственно, кто такие «архитектурные космонавты»? Первый раз я встретил данный термин у Джоэля Спольски, вы наверное его читали. Он описывает «космонавтов», как людей, которые хотят построить идеальную архитектуру, которые навешивают абстракцию, над абстракцией, над абстракцией, которая становится все более и более общей. В конце концов, эти уровни идут так высоко, что описывают все возможные программы, но не решают никаких практических задач. В этот момент у «космонавта» (это последний раз, когда данный термин окружен кавычками) кончается воздух и он умирает.

                                    Я тоже имею тенденции к архитектурной космонавтике, но в этом докладе я расскажу немного о том, как это меня укусило и не позволило построить систему с необходимой производительностью. Главное — как я это поборол.

                                    Краткое содержание моего доклада: было / стало.
                                    Читать дальше →
                                    • +19
                                    • 6,9k
                                    • 3
                                  • ENOG 15: «Почему Интернет до сих пор онлайн?»

                                      Здравствуй, Хабр! Это — одновременно транскрипция и частичный перевод часовой сессии под названием «Почему Интернет до сих пор онлайн?» с пятнадцатой встречи «Евразийской группы сетевых операторов».

                                      Qrator Labs благодарит всех участников обсуждения: Алексея Семеняку, RIPE NCC; Игнаса Багдонаса, Equinix; Мартина Дж. Леви, Cloudflare; Александра Азимова, Qrator Labs и модератора Алексея Учакина из команды подкаста LinkmeUp за разрешение опубликовать данный текст.

                                      В данном обсуждении участвуют сетевые инженеры-исследователи, поэтому разговор идет в основном о междоменной маршрутизации. Видео в конце публикации. Приятного прочтения.
                                      Читать дальше →
                                      • +31
                                      • 7,4k
                                      • 2
                                    • Wrong, wrong, WRONG! methods of DDoS mitigation

                                        Хабр, это транскрипция выступления CTO Qrator Labs Тёмы ximaera Гавриченкова на RIPE77 в Амстердаме. Его название мы не смогли перевести на русский с сохранением смысла, а потому решили посодействовать Хабру в выходе на англоязычный рынок и оставили все, как есть


                                        Это цитата одной из моих любимых групп. Дэйв Гаан из Depeche Mode — живое доказательство того, что можно произнести слово “wrong” 65 раз за 5 минут и все равно оставаться рок-звездой. Давайте посмотрим, получится ли у меня.
                                        Читать дальше →
                                        • +35
                                        • 7,1k
                                        • 2
                                      • Генерация трафика в юзерспейсе


                                          Генерация трафика посредством MoonGen + DPDK + Lua в представлении художника

                                          Нейтрализация DDoS-атак в реальных условиях требует предварительных тестирования и проверки различных техник. Сетевое оборудование и ПО должно быть протестировано в искусственных условиях близких к реальным — с интенсивными потоками трафика, имитирующего атаки. Без таких экспериментов крайне затруднительно получить достоверную информацию о специфических особенностях и ограничениях, имеющихся у любого сложного инструмента.

                                          В данном материале мы раскроем некоторые методы генерации трафика, используемые в Qrator Labs.

                                          ПРЕДУПРЕЖДЕНИЕ

                                          Мы настойчиво рекомендуем читателю не пытаться использовать упомянутые инструменты для атак на объекты реальной инфраструктуры. Организация DoS-атак преследуется по закону и может вести к суровому наказанию. Qrator Labs проводит все тесты в изолированном лабораторном окружении.
                                          Читать дальше →
                                          • +37
                                          • 7,2k
                                          • 3
                                        • Исследование устойчивости национальных сегментов сети Интернет за 2018 год



                                            Данное исследование объясняет каким образом отказ одной автономной системы (AS) влияет на глобальную связность отдельного региона, особенно в том случае, когда речь идет о крупнейшем провайдере интернета (ISP) данной страны. Связность интернета на сетевом уровне обусловлена взаимодействием между автономными системами. По мере увеличения количества альтернативных маршрутов между AS возникает устойчивость к отказам и повышается стабильность интернета в данной стране. Однако, некоторые пути становятся более важными по-сравнению с остальными и наличие как можно большего числа альтернативных маршрутов в итоге является единственным жизнеспособным способом обеспечить надежность системы (в смысле AS).

                                            Глобальная связность любой AS, независимо от того, представляет ли она второстепенного поставщика интернета или международного гиганта с миллионами потребителей услуг, зависит от количества и качества его путей к Tier-1 провайдерам. Как правило, Tier-1 подразумевает международную компанию, предлагающую глобальную услугу IP-транзита и подключение к другим Tier-1 операторам. Тем не менее, внутри данного элитного клуба нет обязательства поддерживать такую связь. Только рынок может придать мотивацию таким компаниям безоговорочно соединяться друг с другом, обеспечивая высокое качество обслуживания. Достаточный ли это стимул? Мы ответим на этот вопрос ниже — в секции, посвященной связности IPv6.

                                            Если провайдер интернета теряет связь с хотя бы одним из собственных Tier-1 соединений, он, вероятнее всего, окажется недоступен в некоторых частях Земли.

                                            Краткие факты TL;DR:
                                            Румыния и Люксембург вышли из топ 20 с 11-го и 20-го места, соответственно, по итогам 2017 года;
                                            Сингапур прыгнул на 18 мест до 5-й позиции;
                                            Гонконг упал на 13 мест до 15 позиции;
                                            Нидерланды вошли в топ 20 на 17-ю позицию;
                                            18 из 20 стран остались в топ 20 по сравнению с прошлым годом.
                                            Читать дальше →
                                            • +43
                                            • 7,1k
                                            • 1

                                          Самое читаемое