5 апреля, 2012
Амбиции, лень и жадность в IT-бизнесе.
// или почему и как мы решили защищать виртуальные среды.
Амбиции, лень и жадность двигают технический прогресс. Ну, ещё случаются гениальные прозрения неизвестного происхождения — их можно списать на исключение, подтверждающее правило. За последние 10 лет в IT произошло много всего разного, но в основном надувались, лопались и снова надувались пузыри. На этом грустном фоне есть несколько примеров обратного – как технологии проходили все стадии от концепта до индустриального мейнстрима. Один из самых интересных случаев – виртуализация.
Для начала — ликбез. Кому неймётся сразу к главному – кликайте сюда.
Идея виртуализации проста и в этой простоте она гениальна.
Представьте, что в автобусе есть только 1 пассажирское место и водитель по одиночке перевозит народ из пункта А в пункт Б. Да, бред, но до широкого распространения виртуализации с серверами было именно так. Имея одну «железку», сервис-провайдер мог сдать её в аренду только целиком. Как результат – цены зашкаливали, мощности простаивали, прогресс буксовал. Плохо.
Виртуализация позволила буквально «нарезать» физическое оборудование на много виртуальных (но оттого не менее полноценных) компьютеров. Например, вместо того, чтобы арендовать в ЦОД дорогостоящий сервер, клиент мог купить там ровно столько мощностей (процессорная мощность, память, диск, сеть), сколько ему необходимо для конкретной задачи. Ещё пример: каждому бизнес-приложению (CRM, ERP, веб-сайт, почтовый шлюз и т.д.) можно больше не покупать отдельные физические серверы, а установить их на «виртуалки» на одной-единственной «железке».
Преимущества?
Главное — более высокое КПД использования оборудования. Как следствие – сокращение расходов на IT-инфраструктуру (и чем больше организация, тем больше экономия) при сохранении приемлемого качества сервисов (а бывает, что качество даже растёт). Прицепом и маленькой тележкой к этому идут безопасность (спорный момент – см.ниже), отказоустойчивость, управляемость и особняком «зелёная» тема — энергоэффективность.
Немудрено, что эта технология быстро стала стандартом: виртуализацию для серверов уже используют около 80% крупных компаний. Сегодня она уже не просто свершившийся факт, но и драйвер развития отрасли в целом: на чём, как вы думаете, «живут» «облака»?
Разумеется, для разработчиков корпоративного софта стало правилом сразу делать специальные версии программ, оптимизированных для работы в разных виртуальных средах. Так что развернуть виртуальную машину и поставить туда софт (базу данных или почтовый сервер, например) стало не просто делом нескольких минут, но и доступным любому пользователю. Казалось бы, вот он прорыв и скоро всё станет по-другому, «жить станет проще и веселее». Однако постепенно начали вылезать разные неприятные косяки. Пожалуй, самые жаркие дебаты разгорелись вокруг вопроса о безопасности. У него много разных аспектов (спорных и не очень), но мы здесь сконцентрируемся на одном — защите от вредоносов.
В принципе, поставить антивирус «руками» на отдельно стоящую «виртуалку» можно и он там будет нормально отрабатывать. Проблема всплывает, когда на физическом сервере много виртуальных машин (и каждой нужна защита). А если это ЦОД или крупная организация, у которых сотни и тысячи серверов и все они виртуализированы, то проблема разрастается до масштабов корпоративного ЧП. Напомню, сейчас именно эти клиенты и являются основными потребителями технологий виртуализации.
Так в чём проблема?
Во-первых, антивирусные агенты потребляют системные ресурсы каждой защищённой «виртуалки». Во-вторых, одновременный запуск некоторых задач (например, сканирование по расписанию) на многих машинах приводит к сильной деградации производительности, а в некоторых случаях даже «подвисанию» физического сервера (эффект AV-Storm). В-третьих, многократно выполняются одни и те же действия, например — обновление баз данных антивируса (эффект I/O-Storm). Наконец, появляется сильный «головняк» с управлением – как отслеживать появление новых «виртуалок», настраивать каждый отдельный антивирус, распространять политики безопасности, переводить виртуальные машины с одного физического сервера на другой без потери защиты и пр.?
Конечно, все эти неприятности можно обойти трудоёмкой настройкой и умелыми ручками. Но стоит ли тогда овчинка выделки?
В общем, эти недостатки стандартного подхода к антивирусной защите вполне могут перевесить преимущества виртуализации. Действительно, работать без защиты глупо, а с защитой трудно. Это безобразие мы терпеть не могли и разработали KSV — специальное решение для VMware, премьера которого случилась на последнем Цебите.
Не буду грузить тонкостями и подробностями KSV – описание есть здесь. Плюс хорошие документы по проблеме здесь и здесь [PDF].
Две главные фичи этого продукта, которые лечат все перечисленные выше недостатки – «безагентовый» (agent-less) антивирус и интеграция в единую систему управления защитой.
Начнём с первой.
Как я говорил — раньше антивирус приходилось ставить на каждую «виртуалку» (вытекающие последствия — выше). А с помощью KSV сканирование файлов выполняется на одной выделенной машине для всех «виртуалок» на том же физическом сервере! Всё благодаря интеграции с технологией VMware vShield, которая автоматически перенаправляет на KSV файловые операции.
В результате такого подхода антивирус больше не потребляет системные ресурсы каждой защищённой машины, обновляется только один раз на выделенной «виртуалке», а кроме того мы навсегда оставляем в прошлом эффект AV-Storm.
Вторая фича – интеграция с нашей системой управления защитой KSC. А из этого вытекает сразу много-много полезностей.
Прежде всего, таким образом, мы избавляемся от зоопарка консолей для того, сего, пятого-десятого. Ага, управление защитой сетевых объектов теперь находится в едином центре: рабочие станции, серверы, мобильные устройства, плюс виртуальная среда! Тут же отражаются все отчёты, предупреждения, все рычаги управления, логическая и физическая структура сети, настраиваются политики и др.
Дальше — больше. KSC следит за появлением и отключением «виртуалок» и автоматически включает/выключает защиту. Он же занимается оптимизацией нагрузки между машинами при выполнении ресурсоёмких задач. Для каждой отдельной машины и их групп можно разработать специальную политику безопасности со своими настройками защиты. Решили перенести «виртуалку» на другой физический сервер с помощью vMotion? – существующие настройки ни на секунду не будут покидать её и KSC сразу отразит изменения в логической структуре сети.
По традиции — ложка дёгтя. Да, будет немного горчить, но не из-за нас. vShield штука относительно новая и пока VMware не реализовала в ней всё задуманное.
Во-первых, KSV поддерживает только Windows. Для реализации безагентового сценария при виртуализации Linux/Unix/… придётся подождать VMware. Пока что можно пользоваться локальными агентами – благодаря централизованному управлению это будет значительно проще, надёжнее и безопаснее. Во-вторых, в KSV не работает функция карантина для файлов и зараженных «виртуалок». Т.е. отловленного зловреда можно только убить, вылечить или протрубить сигнал сисадмину. В-третьих, к защите пока не подключено наше «облако» KSN. Увы, второе и третье – всё тоже особенности API от VMware. Обе фичи вроде как обещают сделать и в следующих инкарнациях KSV всё будет!
Ну, и в заключение – видео-презентация нашего нового продукта!