К книге
Наследник $$$ уровня VIГлава 10
45%
Глава 10
10

В отделе разработки стояла такая напряжённая тишина, какой я здесь ещё ни разу не видел. Обычно помещение жило собственной жизнью. Кто-нибудь обязательно перекрикивался через два стола, Рубен спорил с Паскалем, Матео пытался одновременно работать и рассказывать что-то совершенно не относящееся к делу, а Лунтик раздражался на всех сразу.

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

Так близко с подобным я столкнулся впервые. В прошлой жизни это никогда не входило в мою компетенцию. Если сайт атаковали, где-то существовали специально обученные люди, которым за это платили деньги. Моё представление о DDoS сводилось примерно к тому, что очень большое количество компьютеров одновременно начинает долбиться в один ресурс и мешает настоящим пользователям нормально им пользоваться. Теперь кто-то намеренно создавал сотни тысяч запросов, причём поток шёл не только из Валентии. Судя по тому, что успели выяснить программисты, мусор прилетал из десятков стран.

Ближе всего происходящее напоминало магазин с одним кассиром. Обычный пользователь Виды приходит, чтобы купить товар, расплатиться и уйти. А злоумышленник приводит несколько тысяч идиотов, каждый из которых занимает очередь, задаёт кассиру бессмысленные вопросы, требует проверить цену, передумывает, снова возвращается и мешает обслуживать нормальных покупателей. В какой-то момент настоящий клиент просто не может добраться до кассы. Здесь было примерно то же самое, только вместо человека за стойкой стояли серверы, каналы связи и маршрутизаторы. Ещё немного, и Вида могла начать открываться через раз, а затем вообще перестать отвечать. Сейчас настоящие пользователи всё ещё как-то протискивались через этот поток, но линия на экране недвусмысленно намекала, что атакующие либо уже подошли к пределу наших возможностей, либо только проверяли его.

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

— Насколько всё плохо?

Он ответил не сразу. Несколько секунд продолжал смотреть в монитор, будто надеялся, что цифры сами изменятся в более приятную сторону.

— Пока Вида ещё работает.

— Это не ответ, — протянул я, хотя уже понимал, что более оптимистичной формулировки не получу.

Матео наконец повернулся.

— Тогда плохо.

Рядом сидел Лунтик. Игнасио перебрасывал окна с такой скоростью, что я успевал замечать только бесконечные таблицы, адреса и столбцы чисел.

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

Матео провёл ладонью по лицу и повернулся к Паскалю.

— Второй провайдер?

— Пока свободен.

— Переводи часть трафика туда.

Паскаль сразу принялся что-то вводить. Несколько секунд на большом экране ничего не происходило, затем линия дрогнула и поползла вниз.

— Пошло, — выдохнул Рубен.

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

— Грузится.

Матео только коротко кивнул.

— Звони первому оператору. Объясни, что нас топят, и пусть начинают фильтровать всё, что могут на своей стороне.

Паскаль уже тянулся к телефону.

Я подошёл ближе к Лунтику и остановился у него за спиной. В этот момент сидевший рядом Рубен вдруг выпрямился.

— Второй растёт.

Все почти одновременно посмотрели на большой экран.

Линия, которая ещё минуту назад лежала возле нижней границы, теперь довольно быстро ползла вверх.

— Это пользователи вернулись? — спросил Матео.

Паскаль покачал головой.

— Нет. Слишком быстро. Обычный трафик так не выглядит.

Несколько секунд никто не говорил.

— Они переключились? — спросил я.

— Скорее мы сами дали им второй путь до тех же дверей, — хмуро ответил Матео. — Они продолжают бить по тем же адресам, просто часть маршрутов теперь идёт через другого оператора.

— И что дальше?

Он уже повернулся к Паскалю.

— Поднимай обоих провайдеров. Пусть режут поток у себя. Если весь мусор доходит до наших каналов, поздно геройствовать здесь.

Паскаль прижал трубку к уху.

— Да, это Vida. У нас распределённая атака. Нет, серверы пока не лежат. Именно пока. Нам нужно, чтобы вы начали фильтровать подозрительный входящий поток до нашего подключения. Сейчас отправим статистику и адреса.

Матео тем временем пошёл вдоль столов.

— Рубен, режь всё тяжёлое.

— Насколько?

— Насколько потребуется.

— Поиск?

— Отключай.

— Рекомендации?

— Туда же.

— Статистика?

— Убирай.

Рубен посмотрел на него уже с сомнением.

— Люди заметят.

— Люди уже замечают.

— Загрузка фотографий?

Матео задержался на секунду. Я буквально видел, как он мысленно перебирает функции, разделяя их на необходимые и те, которыми можно пожертвовать.

— Новые пока не принимать. Старые показываем, если можем. Сообщения не трогать. Основную ленту тоже. Профили должны открываться.

Рубен скривился.

— От Виды скоро останутся логотип и кнопка входа.

— Значит, останутся логотип и кнопка входа, — резко ответил Матео.

Он запустил обе руки в волосы и несколько секунд так и стоял, сжимая голову, словно пытался физически удержать мысли внутри. Потом снова двинулся между столами, проверяя, кто чем занят.

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

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

— Первый оператор просит данные, — сообщил Паскаль.

— Отправляй всё.

— Второй тоже.

— Отлично. Пусть оба начинают фильтровать.

Я снова посмотрел на экран.

— А третий канал?

Матео проследил за моим взглядом.

— Пока не трогаем.

— Почему?

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

Лунтик неожиданно поднял руку, словно находился на уроке.

— Есть одна вещь.

— Какая? — моментально повернулся Матео.

— Почти треть входящего потока сейчас приходится на один адрес.

Рубен придвинулся ближе, посмотрел таблицу и тихо присвистнул.

— Старый узел с фотографиями.

— Он нам нужен? — спросил Матео.

— Нужен. Но переживём без него несколько часов.

— Отключай.

Я нахмурился.

— Мы сейчас выключим часть Виды?

Матео обернулся.

— Отрежем палец, пока нам не оторвали руку.

Спорить с такой формулировкой было сложно.

Паскаль ввёл команду. Несколько секунд график никак не реагировал, затем линия резко провалилась вниз.

— Есть, — сказал Рубен.

Нагрузка продолжала падать.

Матео впервые за всё время слегка расслабил плечи.

— Хорошо.

— Не очень, — тут же возразил Лунтик.

— Почему?

— Если атакой кто-то управляет в реальном времени, он увидит, что адрес перестал отвечать.

Будто специально подтверждая его слова, линия снова дрогнула и медленно поползла вверх.

Рубен тихо выругался.

— Увидели.

Матео посмотрел на часы.

— Что первый оператор?

— Уже фильтрует.

— Второй?

— Пока возятся.

— Передай, чтобы возились быстрее.

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

Ещё через пару минут на графике появилась резкая ступенька. Поток словно кто-то обрубил ножом. Нагрузка упала почти вдвое.

Никто не закричал и не начал праздновать. Рубен продолжил обновлять страницы, Паскаль разговаривал с оператором, Матео стоял у него за спиной и следил одновременно за телефоном и большим экраном. Лунтик открыл ещё одно окно и продолжил изучать цифры.

— Ну? — первым не выдержал я.

— Лучше, — ответил Матео.

— Насколько лучше?

— Значительную часть мусора теперь режут до того, как он попадает к нам. Пока мы можем дышать.

Впервые с момента моего появления линия на экране уверенно шла вниз.

— Значит, всё?

Лунтик повернулся ко мне.

— Нет.

— Можно чуть подробнее? Нам теперь просто ждать следующего захода?

Игнасио нахмурился. По нему было видно, что отсутствие точного ответа раздражает его сильнее, чем сама атака.

— Не знаю.

Я же примерно понимал, в чём проблема. Правда, толку от этого понимания было немного. Первой в голову пришла Cloudflare. В моей памяти это была компания, способная вставать между сайтом и огромным потоком пользователей, фильтровать мусор и принимать на себя атаки. Но здесь интернет находился совсем на другой стадии развития. Возможно, нечто похожее уже существовало в Америке, где появились крупные видеосервисы и гораздо более развитая цифровая инфраструктура, однако в Валентии о подобных услугах никто из нас пока даже не слышал.

И это было логично. В стране попросту почти не существовало интернет-ресурсов нашего масштаба. Никому раньше не требовалась защита, рассчитанная на сервис с миллионами пользователей и настолько большим входящим потоком. Даже сама сегодняшняя атака выглядела для местного рынка почти уникальным событием.

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

Лунтик, будто подслушав мысли, заговорил первым.

— Нам нужно увеличить запас по внешним каналам и одновременно заставить провайдеров фильтровать поток до нас. Это быстрое, но дорогое решение.

— Насколько дорогое?

— Значительно дешевле, чем потерять Виду.

Аргумент хороший.

Игнасио продолжил.

— Подобные атаки бывали раньше, но такого масштаба я не видел. Просто подключить ещё несколько операторов недостаточно, если атакующие смогут увеличивать объём вместе с нами. Но дополнительные каналы дадут запас времени. Главное, чтобы операторы начали отсекать очевидный мусор на своих сетях и мы не пытались принимать всё здесь.

— То есть больше провайдеров, больше пропускной способности и фильтрация выше по цепочке?

— Для быстрого решения да. Потом понадобится нормальная архитектура, резервирование и отдельная защита для публичных сервисов.

Мысль мне нравилась значительно меньше после слов «отдельная защита». Всё это пахло новой строкой расходов, причём далеко не маленькой.

Точнее, не пахло — воняло.

— Делай, — кивнул я Игнасио, после чего повысил голос. — Дружок, услышал?

Матео прикрыл микрофон телефона ладонью.

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

— Хорошо.

Я последний раз посмотрел на статистику. Линия выровнялась. Атака всё ещё продолжалась, просто теперь она уже не выглядела как цунами, которое через пять минут снесёт всё здание. Мы держались. После расширения каналов и договорённостей с операторами подобная лобовая попытка перестанет быть смертельной угрозой, хотя иллюзий я не строил. Если противник окажется достаточно богатым и упрямым, одной полосой эту войну не выиграть.

Иного быстрого решения я всё равно не видел, и это раздражало сильнее самой атаки. Я привык понимать хотя бы общую механику происходящего. Здесь же приходилось практически полностью довериться другим людям. Всё-таки я был гораздо сильнее в управлении, деньгах и стратегии, чем в сетевой инженерии. О Cloudflare и DDoS я знал ровно столько, сколько запомнил обычный пользователь интернета. Для нормальной защиты этого было примерно как знания о том, что автомобиль ездит на бензине, для ремонта двигателя.

Надежда оставалась на Лунтика.

Ну и на деньги. Деньги тоже иногда неплохо компенсировали отсутствие знаний.

Особенно удачно атакующие выбрали время. Вечерний час пик. Несмотря на стремительный рост Вифона, большинство пользователей Виды всё ещё заходили с обычных компьютеров. Днём люди работали, учились, занимались делами, зато после шести-семи вечера возвращались домой и массово открывали сеть. Следовательно, противник либо хорошо изучил нашу статистику, либо обладал здравым смыслом.

Ни один вариант мне не нравился.

Я потёр лицо, сделал себе кофе и вернулся в кабинет. Закинул ноги на край стола, откинулся в кресле и несколько минут просто смотрел в потолок. После отдела разработки тишина казалась почти ненормальной.

Мария вошла следом и тихо устроилась за своим столом.

— Почему ты ещё здесь? Можешь ехать домой, — вяло махнул я рукой.

— Уходить раньше босса неблагоразумно, — усмехнулась она. — Расскажете, что сегодня произошло?

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

Я тяжело встал, подошел к окну, закурил и выпустил дым вверх.

— Вида справилась? — спросила Мария.

В голосе действительно звучало напряжение.

Мне неожиданно стало смешно.

Вида справилась.

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

Так меня видит Лунтик, когда я говорю о его программах?

Хреново.

Наверное, со стороны я тоже выгляжу довольно забавно.

— Справилась, справилась, — проворчал я. — Зато теперь появилась ещё одна головная боль. Найти придурков, которые за этим стоят. Слишком мощно и слишком организованно.

Мария резко кивнула. Ничего не сказала, но выражение лица было настолько красноречивым, что перевод не требовался.

У-у-у. Уроды. Кранты вам.

Я невольно улыбнулся.

— Отдыхай. Уже поздно, а здесь ты всё равно ничем не поможешь. И подключи завтра Еву. Пусть работает удалённо, пока не вернулась.

— Она и так помогает, — неожиданно сообщила Мария.

Я поднял бровь.

— С каких пор?

— С тех пор как узнала, что произошло. Она уже несколько часов разбирает письма и отвечает сотрудникам.

Вот ведь зараза.

Мария некоторое время ещё сомневалась, но в конце концов всё-таки собралась домой. Время действительно было позднее, да и смысла держать её здесь не существовало. Когда дверь закрылась, я вернулся к столу и занялся подведением итогов дня.

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

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

Новый квартал, рабочие места, инвестиции, безопасность.

Плюсик в карму для нужных людей.

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

Значит, надо заниматься.

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

После истории с Ютубом необходимость такого человека стала ещё очевиднее.

Найти его в общем-то было несложно. Гиков в мире хватало. Просто задача постоянно проигрывала чему-то более срочному.

Я дважды подчеркнул пункт в блокноте.

Теперь не проиграет.

Дальше на глаза попалась папка с газетными вырезками. Мария оставила только публикации, связанные с дэ Мачадо. Судя по толщине папки, процесс наконец сдвинулся с места.

Статьи были разные. Где-то журналисты рассказывали о серии пищевых отравлений в гостиницах на Сапфировом побережье. В другой заметке разбирали резкий рост цен в высокий сезон. Дальше шёл материал об ущербе природе после расширения курортной зоны, затем судебный спор из-за земли, санитарные проверки, пожарная безопасность и несколько нарушений, обнаруженных уже после ввода новых корпусов.

По отдельности ничего смертельного.

Вместе выглядело неприятно.

Тайрон действовал медленно. Совсем не в моём стиле, но весьма продуктивно. Он не пытался ударить один раз так, чтобы здание рухнуло. Он сжимал гостиничный бизнес Гильермо как огромный удав и явно собирался продолжать до тех пор, пока у того не закончится воздух.

Сначала медийный шум. Газеты, телевидение, разговоры о качестве отдыха. Это портит репутацию и бьёт по бронированиям. Следом проверки, судебные процессы, задержки разрешений и дополнительные расходы. Если новые объекты выходят на сезон с неполной загрузкой, расчётная выручка падает. Дальше уже начинают нервничать кредиторы.

А вот после этого становится интересно.

Я бы действовал быстрее. Но это я.

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

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

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

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

— Отправь половину людей отдыхать.

Матео нахмурился.

— Но что-то ещё может пойти не так.

— Может. И если пойдёт, тебе понадобятся люди, которые способны думать.

Я хлопнул его по плечу.

— Люди и есть твой главный ресурс. Сервер можно заменить за несколько часов. Программиста, который вторые сутки смотрит в экран и начинает путать цифры, заменить сложнее. Раздели смены.

Матео немного подумал и всё-таки кивнул.

— Хорошо.

— И сам хотя бы несколько часов поспи.

На его лице появилось выражение человека, которому предложили предать Родину.

Я решил не спорить.

* * *

На следующий день первым делом я проверил работу сети.

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

Удивительно, насколько легко правильно направить человеческое раздражение.

Ещё ночью люди ругали Виду.

К утру они уже ругали тех, кто её атаковал.

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

Это решило бы массу наших проблем.

Мария принесла утренний кофе и поставила чашку передо мной значительно резче обычного. Лицо её выражало такое неодобрение, что я сразу понял, что DDoS здесь ни при чём.

— Уборщица нашла женское бельё.

Я поднял глаза.

— Поздравляю уборщицу.

— Она принесла его мне, — Мария была возмущена уже сильнее. — Подумала всякое!

— Выброси.

Ответил я не задумываясь.

Мария продолжала стоять.

— Между вами и Евой что-то было? — уже гораздо мягче спросила эта лиса.

Вот оно что.

— Думаю, это тебя не касается.

Мария недовольно засопела.

— Но я ваша помощница.

— И что из этого следует? Мне следовало сначала переспать с тобой? Спросить разрешения? Или добавить секс в рабочий календарь? — ехидно спросил я.

— Нет, но…

Она впервые за утро потеряла дар речи.

Я отпил кофе.

— Я не сплю с Евой и не планирую.

Мария ещё несколько секунд изучала моё лицо, видимо пытаясь определить уровень лжи, затем наконец сдалась.

Допрос был завершён и изрядно поднял мне настроение.

— Звонил сеньор Тайрон, — уже деловым голосом сообщила она. — Просил напомнить, что вы обещали заехать домой.

— Передай, что буду к обеду. У меня на это время что-нибудь стоит?

Мария открыла ежедневник.

— Да. Подписание новых контрактов с интернет-провайдерами. Представители приедут как раз к обеду.

— У тебя есть доверенность. Подпиши сама после проверки.

Она кивнула и продолжила листать расписание.

— Появилось приглашение на вечернее шоу Лоренцо. После обеда встреча с Габриэлем дэ Леоном. Потом ужин с родителями Катрин.

— Прекрасно. Лоренцо ответь, что я готов прийти.

Допив кофе, я встал и прошёл в отдел Матео.

Сам командир обороны выглядел так, будто проиграл войну лично. Парень едва не спал прямо на столе, подложив локоть под голову и каким-то чудом продолжая смотреть в монитор.

— Иди домой.

— Щас-щас, — пробурчал он. — Только мама с Беллой приедут. Иначе я всё равно не усну.

Причину я понимал.

Учитывая Майру, квартира Матео действительно начинала приобретать опасную концентрацию женского населения.

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

Матео поднял на меня мутные сонные глаза.

— Скажете тоже, сеньор. Одна издевается надо мной, вторая меня воспитывает, а третья путает меня с чековой книжкой.

Я остановился.

— Хочешь об этом поговорить?

Матео мгновенно скривился.

— Нет. Разберусь.

— Как будешь готов, мои двери открыты.

Он подозрительно посмотрел на меня, будто ожидал очередной шутки, но я только пожал плечами.

Впереди маячил обед у родителей. Потом Габриэль, Лоренцо, семья Катрин, новые провайдеры и ещё десяток дел, которые наверняка появятся сами собой до конца дня.

А ещё требовалось поговорить с Евой.

Пора было возвращать её на работу.

Предыдущая главаГлава 10 из 22Следующая глава