- PVSM.RU - https://www.pvsm.ru -

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

Примечание переводчика. Simple Analytics [1] — сервис аналитики для веб-сайтов, ориентированный на приватность (в некотором роде противоположность Google Analytics)

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

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

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

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

Я написал такой комментарий [4] к пул-реквесту на GitHub [5]:

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

И получил ответ [6] от @cassowary714 [7]:

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

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

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

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

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

Новое место

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

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

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

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

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

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

Исландия

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что дальше?

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

Автор: Дата-центр "Миран"

Источник [22]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ssh/333989

Ссылки в тексте:

[1] Simple Analytics: https://simpleanalytics.com/

[2] EasyList: https://easylist.to/

[3] подчиняемся: https://github.com/simpleanalytics/cdn.simpleanalytics.io/blob/fae87364ae6dc2e26827fb9438745a8ac0c8024d/hello.js#L41-L42

[4] такой комментарий: https://github.com/easylist/easylist/pull/1855#issuecomment-440241758

[5] пул-реквесту на GitHub: https://github.com/easylist/easylist/pull/1855

[6] ответ: https://github.com/easylist/easylist/pull/1855#issuecomment-440251257

[7] @cassowary714: https://github.com/cassowary714

[8] хостинг-провайдеру: https://www.reg.ru/?rlink=reflink-717

[9] списком стран, которые отметились цензурой и слежкой за пользователями: https://en.wikipedia.org/wiki/Internet_censorship_and_surveillance_by_country#Reporters_Without_Borders

[10] Five Eyes: https://en.wikipedia.org/wiki/Five_Eyes

[11] источники: https://en.wikipedia.org/wiki/List_of_people_under_Five_Eyes_surveillance#cite_ref-8

[12] Дайте знать: https://simpleanalytics.com/feedback

[13] Freedom on the Net 2018: https://freedomhouse.org/report/countries-net-freedom-2018

[14] «О защите данных»: https://www.personuvernd.is/information-in-english/greinar/nr/438

[15] ISNIC: https://www.isnic.is/en/domain/rules

[16] Ansible: https://en.wikipedia.org/wiki/Ansible_(software)

[17] 1984: https://1984hosting.com/

[18] Dropbear: https://matt.ucc.asn.au/dropbear/dropbear.html

[19] диска в оперативной памяти для начальной инициализации: https://en.wikipedia.org/wiki/Initial_ramdisk

[20] мягкое удаление: http://abstraction.blog/2015/06/28/soft-vs-hard-delete

[21] мы прямо говорим об этом: https://simpleanalytics.com/deleted

[22] Источник: https://habr.com/ru/post/472374/?utm_source=habrahabr&utm_medium=rss&utm_campaign=472374