Шифруйте все в облачных сервисах!

В облачной среде ваши данные, разумеется, где-то хранятся; просто вы не имеете точной информации о том, где именно они располагаются. Однако вы обладаете некоторыми базовыми знаниями, в том числе:

± ваши данные находятся внутри гостевой операционной системы, работающей на виртуальной машине, и у вас есть механизмы контроля за доступом к этим данным;

± сетевой трафик, которым обмениваются ваши виртуальные экземпляры, невидим для других виртуальных хостов;

± для большинства облачных сервисов хранения данных доступ к данным является по умолчанию частными (защищенным). Тем не менее, многие из них, включая и Amazon S3, дают вам возможность открыть к этим данным публичный доступ.

Шифрование сетевого трафика

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

Шифрование резервных копий

Когда вы формируете наборы данных для резервного копирования, вам следует шифровать их с использованием криптостойкого алгоритма, например такого, как Pretty Good Privacy (PGP)1. После этого вы можете хранить их в умеренно защищенной облачной среде наподобие Amazon S3, или даже в полностью незащищенной среде.

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

1 См. https://secure.wikimedia.org/wikipedia/ru/wiki/PGP, https://secure.wikimedia.org/wikipedia/en/wiki/Pretty_Good_Privacy, http://www.pgp.com/, http://pgpru.com/, http://www.pgpi.org/products/pgp/versions/freeware/. — Прим. перев.

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

Шифрование файловых систем

Каждый используемый вами виртуальный сервер будет монтировать эфемерные устройства хранения данных (например, такие как раздел /mnt на экземплярах UNIX в EC2) или устройства блочного хранения данных. В среде EC2 отсутствие шифрования эфемерных устройств представляет умеренный риск, потому что система Xen в EC2 затирает эфемерные устройства нулями при завершении работы экземпляра. Но моментальные снимки блочных устройств хранения данных располагаются в Amazon S3 и остаются незашифрованными, если только вы не предпримете специальных мер по их шифрованию.

ПРИМЕЧАНИЕ

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

Наиболее безопасный подход к обоим сценариям заключается в монтировании эфемерных устройств и устройств блочного хранения с использованием зашифрованной файловой системы (encrypted filesystem). В облачной среде управление запуском виртуального сервера с использованием зашифрованных файловых систем оказывается проще и предлагает более высокий уровень защищенности.

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

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

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

Рис. 5.1. Процесс запуска виртуального сервера, монтирующего зашифрованные файловые системы

Источник: Риз Дж., Облачные вычисления: Пер. с англ. — СПб.: БХВ-Петербург, 2011. — 288 с.: ил.

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете промотать до конца и оставить ответ. Pinging в настоящее время не допускается.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100