Я руководитель небольшой IT-компании из Зеленограда. Занимаемся интеграцией программ 1С и телефонии. В компании работает чуть менее 20 человек и так получилось, что за всю IT инфраструктуру отвечаю я сам.
В принципе, я люблю этим заниматься и знакомиться с различными новыми технологиями. Одной из таких технологий стала виртуализация и, в частности, такой интересный сервис, как Amazon AWS.
Часто бывает необходимо быстро развернуть несколько виртуальных машин с белыми IP адресами в лабораторных целях, попользоваться ими пару дней, и прибить без сожаления. В терминологии Amazon этот сервис называется EC2, и позволяет за считанные минуты выполнять такие манипуляции. Это очень удобно и стоит копейки, т.к. оплата происходит по часовому тарифу.
Итак, в далеком 2011 году я активно изучал Asterisk и пользовался сервисом, в конце месяца с моей карты списывали по 20$-30$. Затем необходимость в сервисе пропала, я выключил все машины, сделал какие-то бекапы и стал ежемесячно получать счета в размере $3.66 и все как-то руки не доходили узнать, за что списывалась эта сумма.
Первая ласточка
Мы занялись новым проектом и появилась необходимость создать отказоустойчивую конфигурацию. Я, конечно, вспомнил о Amazon AWS. Зашел в админку, посмотрел, что нового появилось, походил по пунктам меню, разобрался, за что списывают 3.66, это был бекап виртуальной машины размером в 50 гигабайт, удалил его, и с чувством выполненного долга лег спать.
Утром был понедельник, много работы и в сотне писем от клиентов и коллег, неприметное письмо от Amazon.
А я еще и в английском не силен, ну думаю вот чудаки, это же я вчера заходил и на все кнопки там нажимал спустя пол года, а они уже панику бьют, ладно зайду вечером продолжу начатое…
Вечером
Перед сном я люблю сделать что-нибудь полезное, особенно с 12 до 2-х ночи. Открыл письмо, захожу в аккаунт и вижу… что у меня запущено 20 виртуальных машин, причем достаточно мощных, а значит, и дорогих.
Сердце застучало, я их выделяю скопом и за пару секунд пытаюсь удалить, не получается, тогда просто останавливаю. Ну, думаю, взломали гады, попал на сотню другую долларов, а ведь у меня все карточки привязаны к аккаунту.
Захожу в биллинг, а там такая картинка:
Оказывается, у меня запущено не 20 машин, а 140. На каждом континенте, в каждом амазоновском датацентре. Вот это я попал!
Характеристики арендованных машин:
Ближайший час я все это пытался остановить, поменял пароль на вход, включил двухфакторную авторизацию и создал кейс в службу поддержки с вопросом: «Что мне с этим всем делать?»
Утром
Утром посмотрел цену на свой автомобиль, ну, примерно половину суммы есть. Естественно, никакого желания расставаться с такой огромной, по нынешним временам суммой, у меня не было. Кейс продолжал висеть в статусе не рассмотрен, а у меня появилась еще одна «веселая» история, о том как попасть на 12000$, причем я достаточно аккуратно отношусь к вопросам безопасности и вопрос: «Каким образом у меня увели этот пароль?» продолжал меня мучать.
Я попытался отвязать свои карточки от амазоновского биллинга, на что он мне ответил отказом и требованием зайти на сайт магазина Amazon.com и там манипулировать своим аккаунтом.
Сайт Amazon.com встретил меня парой вопросов о том, кто мой первый руководитель и как зовут друга детства, и разрешил отвязать мою кредитку. Половина дела сделано.
Тут раздается звонок на сотовом, с явно не российским кодом страны. Так как я не владею никакими языками кроме 1С, C++, C# и PHP, то и поднимать трубку не стал. Благо через 15 минут увидел первый ответ саппорта.
Завязалась небольшая беседа с помощью коллеги и Google переводчика. Саппорт понял ситуацию и начал давать мне задания. Сменить пароли, удалить все виртуальные машины во всех ЦОД, удалить все заявки на аукционах покупки вычислительных мощностей. А так как в аккаунте у меня вообще не было ничего моего, я вежливо попросил удалить мне все централизованно, на что мне также вежливо отказали.
Каждая виртуальная машина была защищена от удаления, приходилось заходить в настройки и снимать специальную галочку. Это развлечение заняло у меня еще полтора часа. Когда я удалял машины, заметил что время создания и запуска у них было у всех одинаковым, значит их создавали каким-то скриптом.
После удаления всех 140 машин я решил пробежаться по всем вкладкам и проверить, все ли ок. И что я вижу? Прямо на моих глазах появляются новые машины, объединяются в кластер и запускаются. И это после смены всех паролей и включения двухфакторной авторизации…
Выключаю машины, читаю внимательно задание саппорта еще раз, и вижу строчку про ротацию API ключей. Вот блин, нахожу их в недрах настроек системы авторизации, смотрю на дату — 2011 год, и без сожаления удаляю нафиг, даже не припомню, сам я их создал или получил в нагрузку при регистрации.
После этого, у меня еще около 40 минут уходит на удаление новых 60 машин.
Сообщаю саппорту о выполнении квеста, на что получаю ответ о том, что мой вопрос будет передан в финансовую группу, все-таки сумма не маленькая и не ждите быстрого ответа.
Вот фрагмент выписки из моего счета:
Звонок из Люксембурга
Спустя некоторое время раздается опять звонок. Я опять не беру, без толку мычать что-то в трубку, не понимая вопросов. В почте письмо, по-русски, от некоторого чувака, который отвечает за европейский сегмент, с вопросом когда можно созвониться и поговорить. Я обрадовался, наконец можно с русскоговорящим человеком пообщаться и узнать перспективы. Прошу перезвонить мне.
Чувак представляется менеджером по продажам, интересуется, что у меня за проект, который потребовал столько мощности и не нужна ли мне скидка или какая-то помощь. Я объяснил ситуацию, рассказал, что меня взломали, дал номер кейса. Человек на том конце с пониманием отнесся к проблеме, посочувствовал и сказал обращаться по любым вопросам. Приятно, когда у компании человеческое лицо.
Продолжение следует...
Из полезного я уже включил двухфакторную авторизацию везде, где только смог. Помучал свой MacBook разными антивирусами, которые ничего не нашли.
Прошло около 5 дней, пока никаких новостей нет, сумма долга висит за мной, 4 апреля расчетный день…
upd. Есть подозрение, что взлом произошел после атаки на сайт Bitrix, в котором было подключено S3 хранилище и указан API ключ, потому что за день до взлома в модуле проактивной защиты было написано что отражено 314К попыток взлома, и у меня на сайте было заполнено 1800 форм обратной связи
Автор опуса - Николай Бекетов, компания МИКО - 1С интегратор, также и с Астериском.
Источник - http://geektimes.ru/post/247794/