Почему мы перенесли серверы в Исландию

Автор оригинала: Adriaan van Rossum
  • Перевод
Примечание переводчика. Simple Analytics — сервис аналитики для веб-сайтов, ориентированный на приватность (в некотором роде противоположность Google Analytics)

Как основатель Simple Analytics, я всегда помнил о важности доверия и прозрачности для наших клиентов. Мы несём ответственность за них, чтобы они могли спать спокойно. Выбор должен быть оптимальным с точки зрения конфиденциальности и посетителей, и клиентов. Так, одним из важнейших для нас вопросом стал выбор местоположения серверов.

В последние несколько месяцев мы постепенно переместили наши серверы в Исландию. Хочу объяснить, как всё происходило, и, самое главное, почему. Это был непростой процесс, и я хотел бы поделиться нашим опытом. В статье есть некоторые технические детали, которые я попытался написать понятным языком, но прошу прощения, если они слишком технические.

Зачем переносить серверы?


Всё началось с того, что наш сайт добавили в EasyList. Это список доменных имен для блокировщиков рекламы. Я спросил, почему нас добавили, ведь мы не отслеживаем посетителей. Мы даже подчиняемся настройке «Не отслеживать» (Do Not Track) в браузере.

Я написал такой комментарий к пул-реквесту на GitHub:
[...] Так что если мы продолжим блокировать хорошие компании, которые уважают конфиденциальность пользователей, какой в этом смысл? Думаю, что это неправильно, не следует помещать каждую компанию в список только потому, что она отправляет запрос. […]

И получил ответ от @cassowary714:
Все с вами согласны, но я не хочу, чтобы мои запросы отправлялись в американскую компанию (в вашем случае Digital Ocean […]

Сначала мне не понравился ответ, но в обсуждении с сообществом мне указали на его правоту. Правительство США в самом деле может получить доступ к данным наших пользователей. В то время наши серверы действительно работали у Digital Ocean, они могли просто вытащить наш диск и прочитать данные.


Есть техническое решение проблемы. Вы можете сделать так, что украденный (или отсоединённый по какой-либо причине) диск становится непригоден для других. Полное шифрование затруднит доступ в отсутствие ключа (примечание: ключ только у Simple Analytics). По-прежнему можно получить небольшие фрагменты данных, физически считывая оперативную память сервера. Сервер не может работает без оперативной памяти, так что в этом отношении приходится довериться хостинг-провайдеру.

Это заставило меня задуматься, куда переместить наши серверы.

Новое место


Я начал искать в этом направлении и наткнулся на страницу в Википедии со списком стран, которые отметились цензурой и слежкой за пользователями. Там есть список «врагов интернета» от международной негосударственной организации «Репортёры без границ», которая находится в Париже и выступает за свободу прессы. Страна классифицируется как враг интернета, когда «не только подвергает цензуре новости и информацию в интернете, но и проводит почти систематические репрессии в отношении пользователей».

Помимо этого списка, существует альянс под названием Five Eyes aka FVEY. Это союз Австралии, Канады, Новой Зеландии, Великобритании и США. В последние годы документы показали, что они намеренно шпионят за гражданами друг друга и обмениваются собранной информацией, чтобы обойти законодательные ограничения на шпионаж внутри страны (источники). Бывший сотрудник АНБ Эдвард Сноуден охарактеризовал FVEY как «наднациональную разведывательную организацию, которая не подчиняется законам своих стран». Есть и другие страны, работающие вместе с FVEY в других международных кооперативах, включая Данию, Францию, Нидерланды, Норвегию, Бельгию, Германию, Италию, Испанию и Швецию (так называемые 14 Eyes). Я не смог найти доказательств, что альянс 14 Eyes злоупотребляет собранными разведданными.


После этого мы решили, что не будем хостится ни в одной из стран из списка «врагов интернета» и точно пропустим страны из альянса 14 Eyes. Факта коллективной слежки достаточно, чтобы отказаться от хранения там данных наших клиентов.

Относительно Исландии вышеупомянутая страница Википедии гласит следующее:

Конституцией Исландии запрещена цензура, и существует прочная традиция защиты свободы выражения мнений, которая распространяется и на Интернет. […]

Исландия


Во время поиска лучшей страны с точки защиты приватности Исландия появлялась снова и снова. Поэтому я решил тщательно изучить её. Пожалуйста, имейте в виду, что я не говорю по-исландски, из-за чего мог упустить важную информацию. Дайте знать, если у вас есть какая-то информация по теме.

Согласно отчёту Freedom on the Net 2018 от Freedom House, по уровню цензуры Исландия вместе с Эстонией набрали 6/100 баллов (чем меньше, тем лучше). Это лучший результат. Имейте в виду, что оценивались не все страны.

Исландия не является членом Европейского союза, хотя входит в Европейскую экономическую зону и согласилась следовать законодательству в области защиты прав потребителей и предпринимательского права, аналогичному законодательству других государств-членов. Сюда входит Закон об электронных сообщениях (Electronic Communications Act 81/2003), который ввёл требования к хранению данных.

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

Хотя Исландия в целом следует законам Европейской экономической зоны, у неё свой подход к защите приватности. Например, исландский закон «О защите данных» поощряет анонимность пользовательских данных. Интернет-провайдеры и хостеры не несут юридической ответственности за контент, который они размещают или передают. Согласно исландскому законодательству, за законность использования домена .is несёт ответственность регистратор доменной зоны (ISNIC). Правительство не накладывает никаких ограничений на анонимное общение и не требует регистрации при покупке SIM-карт.



Ещё одно преимущество переезда в Исландию — климат и расположение. Серверы выделяют много тепла, а среднегодовая температура в Рейкьявике (столица Исландии, где расположено большинство центров обработки данных) составляет 4,67 °C, так что это отличное место для охлаждения серверов. На каждый ватт для работы серверов и сетевого оборудования уходит пропорционально очень мало ватт на охлаждение, освещение и другие накладные расходы. Кроме того, Исландия является крупнейшим в мире производителем «чистой» энергии на душу населения и вообще крупнейшим производителем электроэнергии на душу населения, с примерно 55 000 кВт•ч на человека в год. Для сравнения, средний показатель по ЕС менее 6000 кВт•ч. Большинство хостеров в Исландии получают 100% электроэнергии из возобновляемых источников.

Если вы проведёте прямую линию от Сан-Франциско до Амстердама, то пересечёте Исландию. У Simple Analytics большинство клиентов из США и Европы, поэтому есть смысл выбрать именно это географическое положение. Дополнительные плюсы в пользу Исландии — законы, защищающие приватность, и экологический подход.

Перенос серверов


Во-первых, нужно было найти местного хостинг-провайдера. Их довольно много, и действительно трудно определить лучшего. У нас не было ресурсов, чтобы попробовать всех, поэтому мы написали несколько автоматических скриптов (Ansible) для настройки сервера, чтобы легко перейти к другому хостеру в случае необходимости. Мы остановились на компании 1984 с девизом «Защищаем приватность и гражданские права с 2006 года». Нам понравился этот девиз, и мы задали им несколько вопросов, как они будут обрабатывать наши данные. Они успокоили нас, так что мы продолжили установку основного сервера. И они используют электричество только из возобновляемых источников.


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

Вот почему мы добавили перед главным сервером примитивный дополнительный сервер. Он просто получает запросы на просмотр страниц и отправляет их непосредственно на главный сервер. Если основной сервер упал, то дополнительный сервер сохранит запросы в собственной БД и будет повторять их до тех пор, пока не получит ответ. Таким образом, после сбоя питания нет потери данных.

Вернёмся к загрузке сервера. Когда загружается зашифрованный главный сервер, нам нужно ввести пароль. Но мы не хотим ехать в Исландию или просить кого-то там войти в серверную, по очевидным причинам. Для удалённого доступа к серверу обычно используется защищённый протокол SSH. Но эта программа доступна только во время работы сервера или компьютера, а нам нужно подключиться до полной загрузки сервера.

Так мы нашли Dropbear, очень маленький SSH-клиент, который можно запустить с диска в оперативной памяти для начальной инициализации (initramfs). И можно разрешить внешние соединения по SSH. Теперь не нужно лететь в Исландию, чтобы загрузить наш сервер, ура!

Переезд на новый сервер в Исландии занял у нас пару недель, но мы рады, что наконец сделали это.

Хранить только необходимые данные


Мы в Simple Analytics живём по принципу «Хранить только необходимые данные», собирая минимальное их количество.

В веб-приложениях часто практикуется мягкое удаление данных. Это означает, что данные на самом деле не удаляются, а просто становятся недоступными для конечного пользователя. Мы этого не делаем — если вы удалите свои данные, они исчезнут из нашей базы данных. Мы используем жёсткое удаление. Примечание: они останутся в зашифрованных резервных копиях в течение максимум 90 дней. В случае ошибки мы можем их восстановить.

У нас нет полей delete_at ;-)

Для клиентов важно знать, какие данные хранятся, а какие удаляются. Когда кто-то удаляет свои данные, мы прямо говорим об этом. Пользователь и его аналитика удаляются из базы данных. Мы также удаляем кредитную карту и письмо от Stripe (провайдера платежей). Мы сохраняем историю платежей, которая необходима для уплаты налогов, и храним наши файлы журналов и резервные копии баз данных в течение 90 дней.


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

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

Что дальше?


Когда мы улучшили приватность, немного увеличилась скорость загрузки скриптов, встроенных в веб-страницы. Это имеет смысл, потому что раньше они размещались на CDN CloudFlare, это набор серверов по всему миру, ускоряющих загрузку для всех. Сейчас мы думаем поднять очень простой CDN с зашифрованными серверами, которые будут отдавать только наш JavaScript и временно хранить запросы веб-страниц перед отправкой на главный сервер в Исландии.
Дата-центр «Миран»
405,06
Решения для аренды и размещения ИТ-инфраструктуры
Поделиться публикацией

Комментарии 33

    0
    Почему они VPS называют «серверами»?
      +14

      S for server.

        +2
        Это понятно. Не понятно как можно говорить о безопасности такого уровня, когда ты покупаешь виртуальную машину. Я до конца был уверен, что в статье речь о физическом сервере (и даже не одном). Но потом понял, что DO ведь тоже виртуальные сервера предоставляет. Короче статья оказалась скорее юридическая, чем техническая…
          0
          А у меня создалось впечатление что речь все-таки не о VPS, а об аренде реальных серверов, иначе непонятен акцент то на мегаваттах, то на альтернативах типа «просить пойти в серверную».
          Но статья ниочемная, конечно.

          Имхо тот кто настолько боится выдачи хостером его БД правительству должен придумать что-то интереснее чем просто хостинг в юрисдикции без зашкваров.
      +5
      Исландия сама по себе прекрасна. И далеко не только в природном отношении.
      Особенно впечатляет с какого дна они поднялись за 100 лет. У Лакснесса просто интереснейшие образы так напоминиющие как Салтыкова-Щедрина, так и современную Россию.
      Сумели они найти верное направление, и всё, что написано в статье про Исландию — это следствие этой находки.

      И язык свой замечательный почти неизменным сохранили на протяжении тысячи лет.

        +1
        Надо к ним Milfgard отправить на экскурсию, чтобы потом нам всем здесь со вкусом рассказал. А потом у нас будет второй текст на тему «почему мы оставили серверы в России, а сами уехали в Исландию».
          +3
          Готово — habr.com/ru/post/412385
            +4
            Вот я понимаю, лучший автор на Хабре. Почувствовал боль читателя, построил машину времени, метнулся назад, съездил, написал, отчитался )

            Спасибо огоромное!
            +1
            edit: я буду обновлять комментарии перед тем как писать свой.
          +8
          Мы остановились на компании 1984

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


          У этой компании, по крайней мере публично, нет услуг выделенного сервера, а практичность шифрования vps под большим вопросом, с учетом что в любой момент времени можно сделать слепок памяти в 3 клика
            +1

            Есть даже готовые тулзы, которые вытаскивают мастер ключ LUKS из дампа памяти, насколько я помню.

              0
              Интересно, а диск с bitLocker можно так же прочитать?
                0

                Почему нет? Принципиально он ничем не отличается. Мастер-ключ дешифруется из заголовка зашифрованного тома и хранится в памяти. В том же LUKS вроде бы применили какое-то дополнительное шифрование его в памяти, но нужно понимать что это просто обфускация, запутывание следов.


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

            +7
            Тем не менее, всё это никак не помогло убрать сайт из Easyprivacy. Потому что это подписка против аналитики. Неважно, насколько компания уважает конфиденциальность. Это именно подписка, содержащая домены, которые «отправляют запрос».
              +2
              Много вопросов к статье возникает. Начиная от того, что про 14 eyes доказательств злоупотребления не нашлось, но у них решили не хоститься (Л — логика), решив, что хоть «14» — не «5», но мельдоний — это мельдоний слежка — есть слежка.

              Дальше сравнивают Эстонию и Исландию, и обе не достают пользоваталей слежкой, но одна — в ЕС, другая — не совсем чтобы в ЕС, т.е. на «ЕС-ность» можно было и не кивать?

              Ок, провели прямую между Амстердамом и Сан-Франциско до Амстердама, и попали в Исландию. Карта вроде говорит другое:

              image

              главное, чтобы рисовали не линейкой, а по дуге большого круга, а еще лучше — по пути кабелей по дну:

              image

              и там не все кабели заходят в Исландию.

              В общем, как-то «несерьезно серьезно» народ защищался, и это при том, что вроде как прятать ему нечего, а из списка блокировщика его их все равно вряд ли исключат.

              Про adblock-ры они бы просто юзеров спросили: даже если мы хорошие, вы хотите, чтобы при посещении сайта были несколько запросов к нам, или сэкономите себе трафик и время? Я бы — так отказался, будь они хоть трижды «ориентированны на приватность».
                +7
                Пять копеек про карту — они замеряли на глобусе, так что их кратчайшая «прямая» сильно больше имеет шансов быть кратчайшей.

                Но, конечно кабели — не самолёты — лежат там, где их положили, а не по нарисованной прямой.
                  0
                  Ну и НЙ не СФ.
                  +1
                  image
                  как то так
                    0
                    Много вопросов к статье возникает. Начиная от того, что про 14 eyes доказательств злоупотребления не нашлось, но у них решили не хоститься (Л — логика), решив, что хоть «14» — не «5», но мельдоний — это мельдоний слежка — есть слежка.

                    А мне кажется разумная позиция. Если 5 Eyes и 9 Eyes гарантированно следят, то на каких основаниях 14 не будут? То есть тут будет скорее презумпция виновности.
                      +1
                      Понятно, что кабеля далеко не все через Исландию идут. Точнее даже так, вообще не идут. Прямого кабеля из Исландии в США просто нет. Есть кабель через Гренландию и потом по Канаде через ещё пару кабелей. Так как всё-таки Исландия в стороне находится от основных путей, как географически, так и по важности для всемирного интернета. А у авторов вообще забавная карта, так лихо провели кабель прям посередине Гренландии, где горы и ледники, а потом по арктической части Канады. Естественно, что там никто никогда прокладывать кабель не будет.
                        0
                        Авторы показали кратчайшее расстояние между СФ и Амстердамом, а не кабеля.
                          +1
                          А с какой целью? Чтобы показать отличное географическое положение Исландии для клиентов из США и ЕС. Только вот клиенты же не по радио соединяются с серверами, а по этим самым кабелям, которые никакого отношения к этой линии кратчайшего расстояния не имеют.
                      +8
                      Эх… В последнем абзаце вы перевели как-то совсем на 180градусов:

                      «Когда мы улучшили приватность, немного увеличилась скорость загрузки скриптов, встроенных в веб-страницы.»

                      «While we improved the privacy of our platform we noticed a slight increase in loading time for our embed scripts»

                      Увеличивается время загрузки, а скорость уменьшается. И именно это логично, так как Исландия на порядочном расстоянии от США.
                        +1
                        Было бы разумно пользователям из США грузить скрипты из США, можно и телеметрию там принимать, все равно реалтайм она не нужна, это же не High Frequency Trading.
                        Можно еще вспомнить что и в Азии люди живут. Они может привыкли «страдать» (+100 ms latency для веб-сайта как бы first world problems), но не обязаны.
                        Что опять приводит нас к тому, что CDN — хорошо :)
                        0
                        Для удалённого доступа к серверу обычно используется защищённый протокол SSH. Но эта программа доступна только во время работы сервера или компьютера, а нам нужно подключиться до полной загрузки сервера.

                        Неужели с этими хостерами всё настолько печально, что они не предоставляют Out-Of-Band доступ к консоли виртуального сервера?
                          0
                          Я недавно сделал так — Поставил у себя комп дома и настроил как надо. Потом купил самый дешевый хостинг и прокинул 80 порт через SSH. То есть клиент заходит на хостинг и перенаправляется на мой комп.

                          VPS:
                          /etc/ssh/sshd_config
                          GatewayPorts yes

                          MyComputer:
                          ssh -R 0.0.0.0:80:localhost:80 user@myVPS

                            +1
                            Замечательно, пока у вас максимум один посетитель и ему наплевать на задержки. Я долгое время сидел через HTTP-прокси, проброшенный через SSH-туннель, и это было то ещё удовольствие. Все коннекты мультиплицируются через одно TCP-соединение, и возникает существенная по сравнению с прямым подключением задержка.
                              0
                              Для стартапа нормально. Клиентов мало пока. Имеем за ~300 руб/мес нормальную мощность компа, выставленную в сеть. В основном нагрузка идет на железо изза обработки данных на java. Экономия > 1000 руб в месяц.
                                0
                                Я на стенде как-то игрался с SSH туннелями в плане скорости/надежности — ну не очень оно. В какой-то момент при увеличении скорости потока или количества коннектов, оно начинает дико жрать ресурсы сервера и неожиданно отваливаться. Причем весьма скромное увеличение, на моем тестовом железе хватило что-то в районе 3-4 метров в секунду в один поток с попытками установки второго соединения, чтобы стабильно положить туннель.
                                Ну не предназначено оно для этого. Тут лучше попробовать поиграть с нормальными vpn туннелями.
                              +1
                              Все здорово. SSH только вот зачем наружу выставили…
                              www.shodan.io/host/185.112.146.187
                                0
                                Только у меня сейчас не грузится сайт 1984hosting.com?

                                Странно как-то.
                                  +1
                                  Исландия прекрасна! Я была там один раз. Люди добрейшие, внимательные, всегда помогут, подскажут. Природа — супер! Воздух чистейший. Не пожалела нисколько, что побывала там
                                    0
                                    Закон применяется к поставщикам телекоммуникационных услуг и предусматривает хранение записей в течение шести месяцев. В нём также говорится, что компании могут предоставлять информацию о телекоммуникациях только в уголовных делах или по вопросам общественной безопасности и что такая информация не может быть предоставлена никому, кроме полиции или прокуратуры.


                                    Я не смог найти в Electronic Communications Act 81/2003 упоминания про необходимость хранения данных до полугода. Наверняка, просто плохо ищу. Покажите, пожалуйста, пальцем, где там об этом

                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

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