Хабрахабр

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

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

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

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

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

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

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

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

И получил ответ от @cassowary714:

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

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

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

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

Новое место

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

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

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

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

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

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

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

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

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

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

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

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

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

У нас нет полей delete_at 😉

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

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

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

Что дальше?

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

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть