«Если вы не параноик, это еще не означает, что за вами никто не следит». Развитие Интернета перевело это высказывание на качественно новый уровень. Следить уже можно, не выходя из дома, а всю информацию добровольно предоставит сам объект наблюдения. Люди выкладывают в сеть свои личные данные, но не всегда задумываются о том, кому они могут быть доступны. Логин/пароль и «Показывать только друзьям» успокаивают. Создается иллюзия, что мы контролируем приватность собственных данных. Но есть еще администраторы и органы власти, которые узнают всё, что их интересует, без спроса и без вашего ведома.
Это проблема всех систем, централизованно обслуживающих множество клиентов. Например, любая популярная социальная сеть имеет единое хранилище данных (возможно, распределенное), которое доступно в служебных целях для некоторого круга лиц. Пользователи постепенно начинают осознавать угрозу: появляются пиринговые социальные сети (см. ссылки в статье про Пандору), но они с трудом пробивают себе дорогу.
Аналогичная ситуация с приватностью имеет место и для систем мониторинга транспорта. Для них можно предложить принципиально другой подход, который позволит пользователю полностью контролировать доступ к своим данным. Идея проста – предоставить каждому свой собственный
Следи за собой, будь осторожен!
Системы GPS мониторинга плодятся как грибы после дождя. Можно придумать десяток сценариев их использования. Например, компания следит за собственным автопарком, супруги — друг за другом, родители — за детьми, дети — за собачками, кто-то еще — просто за собственной машиной. Обычным для таких систем является web-интерфейс, позволяющий с любого устройства, подключенного к Интернету, узнать не только, где объект наблюдения находится сейчас, но и посмотреть историю его перемещений (треки) или статистику. Это удобно, но безопасно ли?
Только не говорите, что до ваших передвижений никому нет дела! Треки могут поведать слишком много об образе вашей жизни: где и когда вы бываете и, потенциально, что там делаете. Где вы живете, где работаете? В какие магазины ходите? В какое время вас обычно нет дома? Находитесь ли вы сейчас на даче или в отпуске в другой стране? И уже как-то не хочется размещать эти данные на чужом сервере. Хорошо бы завести свой собственный и хранить всё под личным надзором.
Такая услуга тоже предлагается на рынке. Многие компании готовы за определенное вознаграждение установить систему мониторинга на ваш сервер. Если он, конечно, у вас есть (судя по статистике, скорее нет). А где гарантия, что он подходит, совместим по операционной системе и установленным компонентам? И вряд ли у вас возникнет желание кого-то туда пускать что-то настраивать. Выход один: завести отдельный сервер исключительно для мониторинга. Но не всякий IT-специалист сможет развернуть свой сервер и грамотно (!) его настроить, а для обычного среднестатистического пользователя или компании, обходящейся без сисадмина, это вообще кажется неподъемной — по сложности или по деньгам — задачей. Поэтому процесс получения и настройки сервера должен быть максимально автоматизирован, а стоимость владения — не очень большой. Таким образом, речь идет о персональной системе мониторинга транспорта, ориентированной как раз на обычных людей (возможно, вообще далеких от IT) или на небольшие компании.
Легкость, доступная лишь облакам
К счастью, есть на свете провайдеры облачных услуг. Можно воспользоваться сервисами AWS, среди которых есть EC2 Micro Instance — виртуальный облачный сервер минимальной мощности, вполне достаточной для наблюдения за десятком объектов. Не менее приятно, что он предоставляется бесплатно на пробный период, т. е. на целый год.
Обычно для создания сервера нужно указать один из множества виртуальных модулей AMI, содержащих образы уже настроенных операционных систем, и задать целый ряд параметров. Для неподготовленного человека это нелегко, а для продвинутого — занудно, хоть и занимает при известной сноровке минут 20. Для системы мониторинга понадобится заранее подготовленный AMI и полностью автоматизированный процесс его инсталляции и установки системы.
Остается проблема регистрации на Амазоне и предварительной настройки учетной записи. Здесь без усилий со стороны пользователя не обойтись. На самом деле, все, что требуется — это заполнить несколько форм и расставить галочки в нужных местах в консоли управления. Для хабрачитателя это может показаться пустяком, но, повторимся, речь идет о самых обычных пользователях. Для них заполнение форм, особенно не локализованных, может стать нетривиальной задачей. В каком формате вводить свой телефон? Зачем у адреса 2 строки? Что делать, если нет банковской карты или не хочется указывать ее данные? В общем, нужна подробная пошаговая инструкция, созданная по результатам наблюдения за тестовой группой пользователей.
В результате пользователь получает файл с ключами, сгенерированный AWS. Эти ключи передаются на сервер установки системы, чтобы через 5 минут получить параметры доступа к своему новенькому серверу. За это время скрипты устанавливают AMI, создают хранилища Amazon S3 (Simple Storage Service) для данных и резервного копирования, настраивают сервер и его компоненты, генерируют случайные пароли, запускают систему мониторинга и отправляют пользователю параметры доступа.
Может показаться, что передача ключей является узким местом с точки зрения безопасности, ведь инсталляционные скрипты вполне могут сохранить их в какой-нибудь базе. Поэтому настоящим параноикам лучше самостоятельно поменять все ключи и пароли после установки — уже без помощи третьих лиц.
Domus sua cuique est tutissimum refugium
(~ мой дом — моя крепость)
Использование персонального сервера дает дополнительные преимущества:
- На общем сервере проблемы одного клиента могут сказаться на остальных. Здесь же система ваша, и никого постороннего там быть не может.
- Теоретическая безопасность оказывается выше за счет меньшего количества потенциально уязвимых мест: доступных скриптов, запросов, форм для ввода. Зайдя на ваш сайт, посторонний человек не сможет пройти дальше первой страницы без аутентификации.
- Возможности другого применения сервера никак не ограничиваются. При желании и некотором опыте можно хранить там любые данные или поднять запасной FTP. А можно вообще забыть про мониторинг транспорта — неплохой способ получить настроенный сервер за 5 минут.
И это даже не самое главное. Есть ощущение, что концепция персональных серверов может кардинально изменить весь Интернет. Поэтому было бы очень интересно узнать мнение профессионалов о таком подходе.
Система мониторинга, реализующая указанные принципы, уже разработана в рамках «proof-of-concept», она бесплатна и доступна для ознакомления, но прежде, чем дорабатывать ее и представлять широкой публике, хотелось подвергнуть идею испытанию и получить от хабрасообщества порцию конструктивной критики ее безопасности и слабых мест.
Автор: M1Q4