Немножко охуительных историй в ленту.
Сейчас я уже фактически выпускаюсь с американского универа и делаю что-то вроде дипломного проекта вместе с другими студентами. По проекту мы решили использовать Amazon Web Services, где лежит наша база данных. Как часть процесса разработки мы полагаемся на непрерывную интеграцию с помощью Travis CI (простым языком - тестировать проект каждый раз, когда кто-то комитит свежий код). Но была проблема. Базу данных мы не хотели оставлять открытой всем, но при этом каждый раз Травис использует Linux-машины с разными IP адресами. А это означает, что доступ к базе данных на аккаунте AWS каждый раз надо менять. Но у меня была идея.
Полторы недели назад вместо сна я решил накалякать скрипт, который позволит Травису самому себе давать доступ через API Амазона. И есть такая штука как ключи доступа, что сродни логину паролю. Ими нельзя делиться. Но поскольку я чудак на букву М и уже не соображал на ночь глядя, то просто вставил эти ключи в код даже без шифрования и закомитил. После этого, конечно, все работало и я довольный лег спать.
Утром выяснилось, что на нашем аккаунте было запущенно множество различных машин огромной производительности (для сравнения, наша машина под знаком "micro"). По всей видимости, есть боты, которые сканируют комиты на GitHub и ищут ключи, потом сами их используют и чужими руками ведут расчеты. Криптовалюту майнят или еще чего, неважно. Факт есть факт, это был взлом и взлом по моей вине. Однако я не являюсь администратором аккаунта и просто подставил другого человека. А подстава в том, что чтобы завести аккаунт на AWS нужно привязать свою кредитную карту. И конечно за такие взломы по головке никто не гладит.
Наш аккаунт заблокировали и мы остались без базы данных. Это уже пугало. Я начал искать о возможном ответе Амазона и обнаружил, что тонны людей тупили так же как и я. Комитили ключи доступа и их ломали. Но это меня не успокоило. Как выяснилось, у AWS достаточно сложная ценовая политика и даже если у тебя сейчас бесплатный акк, никто не ограничивает тебя в выборе мощностей. Просто за большее ты будешь обязан уже заплатить.
В некоторых случаях людям приходили счета и на $2000, на $5000, даже видел у одного $30000. И это были просто любители. Вот тут я уже был готов откладывать кирпичи. Однако меня тиммейты успокаивали тем, что у Амазона самая лучшая поддержка клиентов и они оценивают такие проколы демократично. Все случаи, про которые я читал, на удивление оканчивались хорошо и счета обнуляли у "провинившихся". Только сейчас узнал, что Амазон нас тоже простил и отпустил и очень рад этому :)
Опыт есть опыт, конечно, всякое может быть, но вот такие косяки бывают очень опасны и непредсказуемы. Я только радуюсь тому, что лоханулся заранее, а не работая в какой-нибудь крупной компании.
Так что если кто с подобным работает - будьте аккуратнее!