Когда рабочий телефон Феликса зазвонил в два часа ночи, Келли перекатилась с другого края кровати, толкнула его в плечо и прошипела:
- Какого чёрта ты не выключил его, когда ложился спать?
- Такого, что я на дежурстве, - ответил он.
- Ты ж не врач, черт подери, - она пихнула его ногой, пока он на краю кровати натягивал штаны. - Всего лишь сисадмин.
- Такая у меня работа.
- Они пашут на тебе, как на проклятом. Сам знаешь, что я права, - сказала она. - Господи, ты же теперь отец и не должен убегать из дома каждую ночь только потому, что у кого-то кончилась порнуха. Не бери трубку.
Он знал, что она права, но взял трубку.
- Основные маршрутизаторы недоступны. BGP недоступен, - сообщил механический голос. Системному монитору наплевать на грубости, так что Феликс выругался и почувствовал себя немного лучше.
- Может, удастся разобраться отсюда...
В теории, он мог залогиниться к бесперебойнику серверной и перезагрузить роутеры. Сам UPS располагался в другом сетевом блоке с отдельными роутерами, подключёнными к собственным источникам бесперебойного питания.
- За пять лет нашего брака у тебя ни разу не получилось что-нибудь исправить отсюда, - Келли уже сидела на кровати, словно мутная тень на фоне спинки.
Тут она ошибалась: он постоянно что-то чинил из дома, только делал это тихо, так что она просто не помнила. С другой стороны, в её словах была доля правды. Записи Феликса свидетельствовали, что после часа ночи исправить что-то без поездки в дата-центр почему-то не выходило. Закон Вселенского Извращенства или просто - Закон Феликса.
Через пять минут Феликс был за рулём. Решить проблему из дома не удалось, потому, что сеть с независимыми маршрутизаторами тоже отключилась. В прошлый раз такое случилось, когда какой-то идиот-строитель ковшом экскаватора перебил магистральный кабель, ведущий к дата-центру. В итоге Феликс на неделю присоединился к полусотне взбешённых сисадминов, которые с края получившейся ямы на чём свет стоит материли несчастных рабочих, пока те день и ночь соединяли десять тысяч порванных проводов.
Его телефон звонил в машине ещё два раза. Он позволил мобильнику заглушить магнитолу и через хорошие колонки прослушал новые автоматические сообщения о недоступности других важных элементов инфраструктуры сети. Потом позвонила Келли.
- Привет, - ответил он.
- Не подлизывайся, я ж по голосу всё понимаю.
Он невольно улыбнулся.
- Есть не подлизываться.
- Я люблю тебя, Феликс, - сказала она.
- А я от тебя с ума схожу, Келли. Возвращайся в кровать.
- 2.0 проснулся.
Пока малыш был в утробе, его звали Бетой, а когда отошли воды, Феликс выбежал из офиса с воплем: "Отправлен на золото!" Они стали называть его 2.0 ещё до того, как затих его первый крик. "Маленький засранец просто рождён для того, чтобы титьку сосать."
- Извини, что разбудил тебя, - сказал он.
Он почти доехал до дата-центра. В два часа ночи на дороге - ни души. Перед въездом в подземный гараж Феликс притормозил, чтобы договорить.
- Дело не в том, что разбудил, - объяснила она. - Ты там уже семь лет работаешь, у тебя три помощника. Отдай телефон им. Ты своё отъездил.
- Не люблю просить своих подчинённых о том, чего не стал бы делать сам.
- Ну пожалуйста, хватит, - попросила она. - Ненавижу просыпаться одна. Я всю ночь скучаю по тебе.
- Келли...
- Я больше не злюсь. Просто скучаю по тебе - вот и всё. С тобой мне снятся хорошие сны.
- Ну ладно, - сказал он.
- И всё?
- Именно. Всё. Не могу думать о том, что без меня тебе снятся плохие сны, да и своё я действительно уже отработал. Теперь буду выезжать только на один ночной вызов перед выходными.
- У сисадминов не бывает выходных, - засмеялась Келли.
- У этого - будут, - пообещал он.
Феликс зарулил в подземную парковку, предварительно прислонив магнитный ключ к считывателю, а затем и свой мутный зрачок - к сканеру сетчатки, чтобы тот насладился видом его невыспавшегося глазного яблока. По пути в серверную он вытряс из автомата гуараново-медафонильный энергетический батончик и убийственный искуственный кофе в чашке-непроливайке. Запихнув в себя и то, и другое, он позволил биометрическому замку изучить свою руку. Наконец, дверь с шипением отворилась, обдув его воздухом из шлюза, и Феликс оказался в святилище.
Там был хаос. Машинный зал рассчитан на то, чтобы в нём могли развернуться два или три сисадмина, не больше, а каждый оставшийся кубический сантиметр отдан жужжащим серверным стойкам, маршрутизаторам и приводам. Сегодня в серверной оказались зажаты не менее двух десятков сисадминов. Типичное сборище: чёрные футболки с малопонятными надписями и животы, свисающие через ремни с пристёгнутыми на них мобильниками и инструментами.
Обычно в серверной так холодно, что можно замёрзнуть, но такое скопление людей выделяло потоки тепла, перегревавшие небольшое замкнутое пространство. Когда Феликс вошёл, пять или шесть человек подняли головы и изобразили подобие улыбки на лице. Пара поприветствовала его по имени. Феликс подобрал живот и протиснулся к стойке своей компании - Ardent.
- Феликс, - позвал его Вэн, который не должен был дежурить этой ночью.
- Что ты тут делаешь? - спросил Феликс, - Хочешь, чтобы мы завтра на работе оба убитые были?
- Что? А. Тут мой собственный сервер. Когда он отвалился примерно в 1:30, меня разбудил его процесс-монитор. Надо было позвонить и сказать, что я сюда еду - не пришлось бы тебе тащиться.
Личный сервер Феликса, который он делил с пятью друзьями, стоял этажом ниже. Ему стало интересно, не отключился ли и его комп тоже.
- Что случилось?
- Массированная атака флэш-червя. Какой-то урод с эксплойтом нулевого дня, похоже, заставил все Windows в сети прощупывать каждый блок IP по методу Монте-Карло. Включая IPv6. Доступ к админскому интерфейсу больших цисок идёт по v6, и если к ним присасывается более десяти зондов, они падают. В итоге почти все пункты межсетевого обмена лежат. С DNS тоже свистопляска - очень может быть, что они ещё с прошлой ночи стали распространять испорченную информацию. Ах да, а ещё есть компонент, который прочёсывает адресную книгу и рассылает по почте и мессенджерам вполне себе убедительные сообщения, заводит разговор с помощью бота вроде Eliza, натасканного на письмах из почтового ящика, и уговаривает открыть трояна.
- Пипец.
- Ага.
Вэн был сисадмином типа Б: под два метра ростом, длинные волосы, завязанные в хвост, большой прыгающий кадык. На его костлявой груди висела футболка с надписью "ВЫБЕРИ ОРУЖИЕ". Чуть пониже был нарисован ряд D&D-шных многогранных костей. Сам Феликс относился к типу А: лишних тридцать килограмм и ухоженная, но густая бородища, скрывающая лишние подбородки. На его футболке красовалась надпись HELLO CTULHU, под которой обнаруживался кавайный безротый Ктулху в стиле Hello Kitty.
Вэн и Феликс познакомились пятнадцать лет назад в Usenet-е, потом встретились уже в реале на фринетовской пивопойке, вместе ездили на пару стартрековских конвентов. В конце-концов Феликс позвал Вэна работать под своим началом в Ardent. Вэн был надёжен и пунктуален. Он получил диплом инженера-электротехника и хранил стопку блокнотов на пружине, в которые методично вносил каждое предпринятое действие, отмечая дату и время.
- На этот раз дело даже не в ПМКК, - сказал Вэн. Почтовые трояны относились к категории ПМКК, то есть проблемы с Прослойкой Между Креслом и Клавиатурой. Если бы люди были достаточно умны и не открывали подозрительные вложения, такие трояны давно остались бы в прошлом. Но к червям, сожравшим маршрутизаторы Cisсo, юзвери отношения не имели. Проблема была в некомпетентных программистах.
- Да, опять в Microsoft напортачили, - сказал Феликс, - Если я на работе в два часа ночи, виноваты либо ПМКК, либо мелкомягкие.
***
В итоге они просто отсоединили эти проклятые роутеры от интернета. Не сам Феликс, конечно, хотя у него руки чесались сделать это и перезагрузить их, отрубив интерфейсы, работающие по IPv6. Это сделала парочка абсолютно непохожих друг на друга BOFH-ов. Чтобы получить доступ к админской, они должны были одновременно провернуть в замочных скважинах два ключа - прямо как часовые в ракетных шахтах. 95 процентов внешнего траффика Канады проходило через это здание. С безопасностью тут было покруче, чем в большинстве ракетных шахт.
Феликс и Вэн поднимали ардентовские серваки по одному. Их сразу же принимались бомбить черви - перевести маршрутизаторы в рабочее состояние значило подвергнуть нижестоящие сегменты сети атаке. Каждая машина в Сети или утопала в червях, или атаковала сама, или делала то и другое сразу. После сотни таймаутов Феликсу удолось достучаться до Bugtraq и NIST, чтобы скачать несколько патчей для ядра, которые должны были облегчить нагрузку от атак червя на его машины.