True detective. Или как я проработал 3 дня в Xitex Software

True detective. Или как я проработал 3 дня в Xitex Software

Преамбула

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

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

Поэтому я всегда мечтал попасть в геймдев. Несомненно на роль геймдизайнера. При этом я совершенно ничерта в этом не смыслил.

Геймдизайнер от Бога

Однажды мне случайно на глаза попалась вакансия геймдизайнера в компании Xitex Software, разработчика игр, с офисом в Донецке. По счастливой случайности я проживал в соседнем городе. Я понял, что это не иначе как знак свыше и решил отправить резюме. Но, что писать в резюме, если у меня не было ни опыта, ни знаний в геймдизайне? Поэтому я решил скреативить. Я понаписывал в резюме какой-то совершенно бредовой, но как мне тогда казалось, очень остроумной информации. Дескать, готов работать хоть монтером, хоть лифтером, хоть полотером, лишь бы только к ним попасть. Отправил этот креатиф работодателю с надеждой - авось заметят. И что удивительно - это сработало. Мне пришел ответ от HR, в котором она поблагодарила меня за столь оригинальную подачу информации, а затем в культурной форме объяснила почему с подобными заявками мне следует идти с голой жопой на мороз. Я даже ни разу не обиделся, так как результат был закономерным. Но, надежды ворваться в святая святых я не терял.

А мы пойдем в обход...

Спустя год-полтора у этой же компании появилась вакансия Senior Linux Administrator. Поскольку я на тот момент худо-бедно разбирался в компутерах, то решил, что это мой шанс просочиться в геймдев через черный ход. Думаю, начну с Linux администратора, а там и до геймдизайнера рукой подать.
С Linux на тот момент я был знаком чуть менее, чем никак. Но, меня это не останавливало. Думаю, война план покажет, если что - гугл поможет.
Запилил резюме, помыл голову шампунем, надел костюм и стал ждать.

На мое резюме откликнулись довольно быстро и после формальной беседы по телефону меня пригласили на собеседование в офис. Перед собеседованием я попробовал ударно подготовиться по методике "изучаем Linux за два дня", с помощью гугла поставил Ubuntu, накатил LAMP и решил, что теперь могу ворочать горы и любое собеседование мне нипочем.

Святая святых.

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

Меня завели в переговорную, насовали в рот печенек, по-моему дали заполнить какую-то бумажку и принялись меня собеседовать. Сперва со мной пообщалась HR, милая приятная женщина, позадавала каких-то формальных вопросов, а затем пригласила текущего Senior Linux Administrator, место которого я должен был занять. В переговорную зашел очень приветливый парень по имени Славик. Первым делом я у него поинтересовался - почему он покидает сие замечательное место? Славик сообщил, что ему предложили работу в столице и он собирается переезжать. Затем он погонял меня по знаниям технологий, с каждым вопросом забивая очередной гвоздь в крышку гроба работы моей мечты. Довольно быстро поняв с кем он имеет дело, Славик не стал надо мной издеваться, давить опытом или самоутверждаться за мой счет. В культурной и дружественной форме он мне сообщил, что моих знаний будет недостаточно для исполнения возложенных обязанностей. Что в компании присутствует обширный стек разношерстных технологий, работоспособность которых является критичной. Я торжественно пообещал, что я обязательно всё выучу, на что Слава снисходительно улыбнулся. Он поблагодарил меня за собеседование и сказал, что со мной свяжутся позже. Курсируя из переговорной к выходу, я с грустью окинул взглядом оупенспейс, который вероятнее всего я видел в последний раз.

Мучительное ожидание ответа.

Как ни странно, мне не ответили отказом. Точнее, мне совершенно ничего не ответили. Пришлось напоминать о себе. На мои вопросы к HR, с которой мы общались через ICQ, она как-то уклончиво уходила от ответа. С одной стороны она говорила, что я несколько слабоват для этой должности, но с другой не говорила однозначного "нет", ссылаясь на то, что компания все еще рассматривает всех кандидатов. И они тянули кота за резину в долгий ящик больше месяца, что вызывало у меня недоумение. По моим прикидкам прежний сисадмин, отработав положенные две недели, должен был уже давно укатить в Киев. Возникал вопрос - кто же обслуживает все эти критичные сервисы, если они до сих пор не определились с кандидатом? Я на тот момент уже решил, что вакансия давно закрыта, а мне просто не удосужились об этом сообщить. Но, где-то месяца через два с момента первого собеседования со мной связалась HR и пригласила на повторное собеседование.

Второе пришествие.

Придя в офис во второй раз я заметил ряд изменений. Во-первых, народу изрядно поубавилось. Не меньше половины столов пустовало. Причем я бы мог подумать, что люди просто куда-то вышли, но на пустых столах не было ни компов, ни мониторов. Во-вторых, обстановка в офисе в целом создавала впечатление какого-то хаоса. HR, которая меня встретила, объяснила это тем, что офис готовится к переезду на новое место. Во втором туре выборов, со мной уже не обсуждали технические вопросы, так как их попросту некому было обсуждать. Но, картина моих навыков довольно четко была сформирована еще на первом собеседовании. Поэтом HR с порога начала торговаться. Дескать, если меня вдруг возьмут на эту должность в качестве ученика, то вместо 500$/мес, предусмотренных для этой вакансии, я могу рассчитывать лишь на 300$. А уж затем, спустя несколько месяцев, когда я подтяну свои скиллы, тогда можно будет говорить о повышении жалованья. Я не стал говорить, что мне на моменте было вообще пофиг, сколько мне будут платить. Я просто хотел попасть в геймдев! Короче, я согласился. После чего мне предстоял последний этап собеседования - с директором. Даже не так - с вице-президентом компании!

Битва экстрасенсов.

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

Мечта свершилась. День первый.

Следующим утром я явился на работу своей мечты. Меня представили коллективу, после чего подвели к столу сисадмина. Рядом со столом хаотично стояли отключенные системные блоки в количестве не меньше десятка. На столе лежала кипа листов A4 с какой-то писаниной от руки, сетевыми схемами и прочими заметками, а на мониторе пестрила бумажка с паролем входа в комп сисадмина. Со словами "Ну ты тут разбирайся пока" меня оставили наедине со всем этим хозяйством. Залогинившись в Ubuntu я обнаружил на рабочем столе один единственный файл. В нем были явки с паролями от всей структуры, которые прежний сисадмин оставил перед своим уходом.
Поковырявшись во всем этом наследстве с час-другой, я понял, что меня никто не собирается вводить в курс дела. То есть, передача дел по сути уже состоялась. Потому что ко мне начали подходить сотрудники и озадачивать вполне рабочими вопросами. По типу "На каком-то из этих системных блоков лежит нужная информация. Нужно скопировать". Некоторые системники были подписаны. Но, задачу это не упрощало. За уточнениями мне пришлось звонить прежнему сисадмину, номер которого мне дали со словами "Если что, он все расскажет". Судя по голосу, Слава совершенно не обрадовался моим звонкам и если поначалу он отвечал сдержанно, то после нескольких звонков совершенно справедливо возмутился. Дескать, он заранее поставил компанию в известность о своем уходе. У них было время для того, чтоб найти на его место человека, которому он бы передал дела как полагается, пока был в офисе. А сейчас он занят на своей работе и у него нет времени на то, чтоб заниматься этой ерундой. В разгар дня нагрянула вайс-прэзидент и с порога обрисовала задачу: "В дружественной компании установлена Jira новой версии, которая имеет ряд новых фич. А у нас старая версия, в которой нет этих фич. Хочу фичи, здесь и сейчас. Платить за фичи не хочу. Потому ищи версию с таблеткой от жадности и перенеси в нее текущие данные. И чтоб все работало как можно быстрее, то есть вчера."
Воспользовавшись моментом, я решил сообщить о том, что меня до сих пор никто не ввел в курс дела и что прежний сисадмин сложил с себя эти полномочия. На что мне был даден номер некоего Алексея, который когда-то у них работал. Но не сисадмином. Но, он в этом разбирается. А еще он друг компании и всегда готов помочь. Он-то мне и расскажет что здесь к чему.

Добро пожаловать на Титаник. День второй.

Утром следующего дня "друг компании" как и было обещано явиться к 9 утра, конечно же не пришел. Потому я снова занимался разглядыванием бумажек с чьими-то каракулями, которые были похожи на план локальной сети. Количество зачеркнутых элементов, правок и добавлений говорило о том, что либо этот план сети безнадежно устарел, либо здесь Мамай повоевал. Поскольку меня сразу бросили с места в карьер, а плавать я не умел, у меня совершенно не было времени раззнакомиться с сотрудниками. Но, искоса наблюдая за тем, как они занимаются своим волшебством, я не видел, чтоб их лица светились от счастья. Ну, кроме пожалуй одного парнишки, который в 3D-максе доводил до совершенства модель голой девушки. Вот он прям кайфовал от того, что делает. И так совпало, что в этот день как раз выдавали зарплату. Ну, думаю, сейчас тут начнется кутёж и разврат. Лица загорятся румянцем, кто-то побежит за пивом, а закончится все это топлесом и шампанским. Хер там плавал. Ребята по одному заходили в бухгалтерию, выходили оттуда с конвертиками и по их угрюмым лицам было понятно, что в этой радостной процедуре существуют какие-то существенные изъяны. Ну не могут люди огорчаться, получая зарплату! Ну точно не в геймдеве! При этом ребята собирались кучками и что-то там шушукались. Иногда проскакивали фразы, типа "Вот доделаем игру, чтоб было что в портфолио показать, сразу уволюсь как остальные". Как остальные. То есть, все эти груды системных блоков принадлежали тем, кто уже уволился. А к сисадмину их стащили для того, чтоб он извлекал из них полезные данные. Навскидку, в штате осталось от силы человек 20-25. Такое массовое бегство и упаднические настроения не сулили ничего хорошего.

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

Рубаха-парень.

Пока я боролся с когнитивным диссонансом и отказывался верить в происходящее, время подошло к обеду и в этот самый момент явился Алексей, который должен был ввести меня в курс дела. Мы пошли в переговорку, я с собой захватил рисунки Мамаева побоища и мы принялись усердно вводить меня в курс дела. Алексей вел себя крайне учтиво, всем видом давая понять, что он очень хочет помочь. Такой себе рубаха-парень. Настолько замечательный, что хоть к ранке прикладывай. Он сообщил, что когда-то работал в компании, но давно уволился. Должность при этом не сказал. А я не спросил. Но, у него остались хорошие отношения с руководством, потому когда прежний сисадмин ушел, Алексей последний месяц заглядывал в офис и помогал в решении тех или иных вопросов. Потому он готов рассказать мне всё, что сам знает. И он рассказал как мог. Тем не менее, из его уточнений я не то, чтобы яснее стал видеть картину, но скорее еще больше запутался. Оказывается схема сети актуальная, но не совсем. Список серверов правильный, но не всех. Пароли не менялись, но это не точно. Картина хаоса, которая открывалась моему взору говорила о том, что меня взяли на эту работу не потому, что мне улыбнулась фортуна, а скорее по причине того, что адекватные и опытные кандидаты отказались. И конторе просто не оставалось ничего другого кроме как взять кого попало.
Я понял, что от Алексея я не узнаю ничего нового, к тому же я все больше склонялся к тому, что нужно было делать оттуда ноги. Потому решил спросить у него прямо: "Алексей, скажи, я понимаю, что ты друг компании и все такое. Но, у меня складывается впечатление, что этот Титаник уже напоролся на льдину и идет ко дну. У меня правильное впечатление?", на что рубаха-парень так хитро заулыбался и в пол голоса сказал "У тебя правильное впечатление". Я его поблагодарил за помощь, мы пожали друг другу руки и напоследок Алексей оставил номер своего телефона со словами "Обращайся в любое время. Чем могу, помогу."

Начало конца. Падение рукожопа.

Вторую половину дня я работал с таким же настроением как и все остальные. Было тяжело это принять, но я все больше склонялся к решению покинуть эту галеру. Оставалось только дождаться вице-президента, чтоб сообщить ей об этом лично. Но, у меня оставалась невыполненная задача - Jira и я собирался её закончить, чтоб не быть ничего должным. В разгар джироведения ко мне подошел сотрудник и сообщил, что он не может подключиться к SVN серверу.
Согласно оставленных заметок, SVN был поднят под FreeBSD. Я зашел на сервак и обнаружил что сервис не запущен. Гугление SVN под FreeBSD с целью его воскресить привело меня в итоге к файлу rc.conf. В этом файле я обнаружил довольно странную вещь - строка с запуском svnserve_enable=«YES» была закомментирована. Я уточнил у сотрудника, а он уверен в том, что SVN вообще должен работать? На что тот нервно ответил "Ясен хрен должен. Еще утром он работал". Я раскомментировал строку, перезапустил сервак и SVN воскрес. Сперва меня это несколько насторожило - как сервис мог работать утром, если он отключен в конфиге? Потом я списал это на то, что возможно строку закомментили давно и с тех пор сервак не перезагружали. Не хотелось мне в этом разбираться, время шло к концу рабочего дня, а мне еще Джиру нужно было закончить. Где-то через пол часа подходит тот же сотрудник и говорит, что SVN опять упал. Но, на этот раз я не смог даже залогиниться на сервер - пароль неверный. После нескольких неудачных попыток ввода пароля, я понял, что всё это не с проста. Следом за SVN начали падать один за одним остальные сервера. Рабочий день уже подходил к концу и сотрудники на тот момент в основном разошлись по домам. А те, кто остались, что-то доделывать, решили что пора идти домой, так как все равно всё упало. Когда они прощались, в их глазах читалось: "Вот дятел рукожопый. Кто тебя вообще на работу взял"

Узник преисподней.

Попытка залогиниться на остальные серверы показала масштаб картины - на всех серверах были изменены пароли. Поскольку серверы находились в соседней комнате, я вооружился клавиатурой, монитором и пошел постигать прелести восстановления рутовых паролей в single user mode. Серверы из себя представляли обычные системные блоки, стоящие в рядочек друг подле друга в отдельной маленькой комнате. Это была сборная солянка, под управлением FreeBSD и CentOS различных версий. При помощи гугла и такой-то матери, я с горем пополам восстановил все рутовые пароли, а так же поменял пароли всех юзеров на каждом серваке, ибо их там был целый зоопарк. При этом консоль пестрила неудачными попытками входа под различными пользователями. То есть, на том конце провода сидел вредитель, который не прекращал предпринимать попытки залогиниться. И у него были пароли от всех серверов и юзеров. Восстановив себе доступ к серверам и убедившись в том, что злоумышленник больше не имеет удаленного доступа, я решил идти домой, чтобы дальше уже из дому разбираться с масштабами вторжения.
Но, когда я попытался покинуть помещение, моя "таблетка" от системы контроля доступа, которая отпирает входную дверь, отказалась работать. При чем в многочисленных каракулях не было ни слова о том, на каком сервере установлена СКД. Я решил позвонить леди вайс-прэзидент и поставить её в известность, так как она к вечеру так и не объявилась. Но, у меня не было её номера. У меня был номер только рубаха-парня Алексея, которого я и набрал с одной целью - узнать у него номер руководства.

Ой, а кто это сделал?

Алексей поднял трубку и на мою просьбу дать мне номер руководства, участливо поинтересовался "А что произошло?". Я ему в двух словах рассказал, что какой-то хер моржовый решил побаловаться и по итогу заблокировал меня в офисе. Алексей тут же проявил участие и сказал, что он живет рядом с офисом и сейчас же примчит мне на помощь, захватив пару банок пива. Так же он сказал, что возле двери под подвесным потолком есть блок питания, который питает магнит двери, если его вырубить - дверь откроется. Я позвонил леди-боссу и обрисовал картину. Она опешила от информации и сказала, что уже едет. И вот мы собрались втроем в офисе.
Я рассказал, что произошло и показал логи неудачных попыток входа, коими пестрил весь экран консоли. IP адрес злоумышленника принадлежал пулу Укртелекома. Босс торжественно заявила, что у нее есть связи в Укртелекоме и она этого супостата вычислит по IP. Хотя по ее мнению, виновник и так известен. Со слов вайс-президента - это конечно же Славик. Оказывается с ним расстались не совсем хорошо. Ему остались должны совсем чуть-чуть денег, а он подлец видимо решил так отомстить. Ни смотря на то, что дело было к ночи, она тут же набрала Славика и только тот поднял трубку выдала ему поток сознания. О том, как он подлец мог так поступить из-за каких-то несчастных копеек, которые ему вот-вот собирались выплатить. Но, раз он такое неблагодарное говно и решил строить козни, то хрена с два ему что-то заплатят. Обвиняемый в ответ включил плотную стену непонимания сути озвучиваемой претензии. Его оскорбила не только сама предъява, что он мог такое сделать, но еще и мысль о том, что он мог сделать это настолько топорно и непрофессионально. С его слов, если бы он хотел что-то уронить, то он уронил бы так, что после этого вообще ничего не поднялось бы. Но, он не злопамятный и даже не собирался до такого опускаться. И вообще, по его мнению, проблема заключалась в том, что они взяли на работу какого-то оленя (то есть меня), который ни черта не знает, что-то там нарукожопил, а теперь лепит отмазки, что какие-то злые хакеры все поломали. И если она считает это основанием не платить по счетам, то пусть это останется на ее совести, а ему просьба больше не звонить.
Они обменялись любезностями и побросали трубки. Алексей, который слышал весь этот разговор, сокрушался, дескать "А с виду такой приличный парень был, никогда бы не подумал". Мы еще немного перетерли ситуацию и было решено разойтись по домам. Мне предстояла долгая ночь устранения последствий вредительства. Перед уходом, рубаха-парень как-то так странно на меня посмотрел и с удивлением спросил: "А как ты поменял рутовые пароли?", я ему рассказал в двух словах про физический доступ к серверу и single user mode и он так задумчиво выдал "Ааааа, вот оно как".

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

Поскольку я уже принял решение попрощаться с работой своей мечты, передо мной стоял выбор: оставить Xitex решать их проблемы с мстительными сисадминами и упавшими серверами, оставшись при этом для кого-то рукожопом, который всё поломал и слился. Или попробовать поднять серваки, восстановить всё как было, а затем гордо хлопнуть дверью. Я выбрал второй вариант. Хоть я и знал, что это не я уронил серверы, но не хотел чувствовать себя лузером.

Поэтому всю последующую ночь я провел пытаясь понять, что вообще должно работать и почему оно не работает. Apache например не хотел стартовать, потому что отсутствовали конфигурационные файлы. Путем поиска по системе, эти файлы были найдены в другой директории, куда злоумышленник их предусмотрительно переместил. Не удалил, а переместил. Я вернул файлы на место, Apache запустился. Дальше я запустил поиск конфигов, которые были изменены в определенный промежуток времени - в тот период, когда у говноеда был доступ к системе. Передо мной всплыл список таких файлов. В каждом из них присутствовали совсем небольшие правки, которые отключали тот или иной сервис. Во всем поведении злоумышленника четко прослеживался один и тот же паттерн - он не стремился необратимо угробить серверы. Он хотел временно их вывести из строя, чтоб затем без труда восстановить. Это никак не увязывалось с версией о мести обиженного сисадмина. Если бы он собирался шантажировать компанию, он бы выдвинул условия перед тем, как ронять сервера, типа "Или вы мне заплатите, или я все поломаю". А если бы он собирался нашкодить из мести, то он бы не оставлял возможности для восстановления - просто грохнул бы все к чертям собачьим и был таков. Что-то тут явно не клеилось. Я посмотрел по логам период активности кул-хацкера и заметил интересную закономерность - в тот момент, когда мы втроем были в офисе, попытки залогиниться на сервер прекратились. И активность прекратилось еще до того, как биг-босс позвонила Славику. А прекратилась она в тот самый момент, когда рубаха-парень получил звонок от меня и самоотверженно выдвинулся на помощь. Поскольку у друга и помощника компании тоже был файл с паролями, он вполне мог подключаться удаленно. Я посмотрел время моего исходящего звонка Алексею, сравнил со временем в логах, когда прекратилась активность - разница в пол минуты. Не зря мне не понравился вот этот его вопрос о том, каким образом я поменял рутовые пароли. Я начал думать - а какие у него могли быть мотивы? Он помогает компании в отсутствие сисадмина, когда больше некому помочь. Такой себе Робин Гуд. Скорее всего помогает не просто так. Возможно он предлагал руководству не брать сисадмина, а оставить эту роль за ним. Возможно ему отказали, сославшись на то, что в офисе нужен постоянный эникейщик. И тут они взяли меня - без опыта, без знаний. Если по моей вине все накроется медным тазом и я при этом сбегу поджав хвост, то для него это будет идеальный кейс. Рубаха-парень тут же прискачет на белом коне, покряхтит-попердит, откатит все свои рукоблудия назад, скажет как это было сложно починить и выйдет из ситуации победителем. Ну и плюх каких-нить с этого поднимет. Меня одна мысль об этом приводила в бешенство! Ну, думаю, хрен тебе!

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

Кульминация. День третий.

Все, да не все. Не зря этот хрен мне говорил, что часть серверов не указана в писульках. Оказывается их было еще два. Один в Киеве в датацентре Укртелекома, второй в США. Этот мудозвон и там нашкодил.
Причем на киевском сервере хостились сайты. А на штатовском крутилась самопальная CMS, через которую некоторые из этих сайтов работали. Оказывается в незапамятные времена Xitex еще и хостингом сайтов занимался. Клиентов осталось не много, но они были. Причем у Xitex хостили сайты такие компании как Донбассаэро, местный дилер Мерседес-Бенц, по-моему Амстор и кто-то еще. Утро началось с того, что раздосадованные клиенты начали звонить на ресепшен и кричать в трубку, что сайты не работают. Девочка их убеждала, что о проблеме уже знают, что специалисты уже с ней разбираются и вот-вот починят. А специалисты - это я. Самый специальный специалист, которого сука можно было только найти. Я позвонил в датацентр Укртелеком чтоб запросить у них доступ по KVM-IP, где мне сообщили, что запрос на доступ нужно прислать со специального e-mail адреса, который привязан у них в системе как сервисный. А какой там у них имейл привязан, они не говорят из соображений безопасности. Ну, думаю, приплыли. Это тебе не с клавиатурой в соседнюю комнату наведаться. Леди-босс как обычно где-то занималась своими вайс-прэзидент задачами и хер присутствовала в офисе. При том, что она была в курсе ситуации. Когда она приехала в офис и нашли сервисный e-mail, с горем пополам удалось получить этот злосчастный KVM-IP и поднять сервак. Картина была точно такая же как и на всех предыдущих - легкие и обратимые правки конфигов. Часть сайтов заработала. Сайты же, которые зависели от работы CMS так и не поднялись. Оставался последний сервер, расположенный в США. По каким-то неведомым причинам, на нем одновременно работали две версии MySQL. CMS работала на версии MySQL 4.0, в котором я разбирался так же, как и во всем остальном - никак. Я нашел конфигурационные файлы для подключения к базе данных, в которых судя по таймстэмпу были произведены изменения. Но, какие изменения - хрен его знает. Визуально все было в порядке, но судя по логам - ошибка соединения с базой. Пароль для соединения с базой был прописан прямо в конфигурационном файле, но в виде хеша. Судя по всему, проблема была именно в нём. И тогда я начал думать - если бы я был мудаком и хотел отредактировать файл конфигурации так, чтоб ничего не работало, но чтобы при этом можно было все восстановить, что бы я сделал? Как бы я изменил хеш пароля? Пожалуй, я бы просто добавил к нему лишний символ. Именно так и оказалось - удалив первый символ из хеша, CMS заработала и последний рубеж был взят.
Уставший до смерти, но довольный собой, я направился прямиком в кабинет к боссу. В первую очередь я сказал, что восстановил работу всех сервисов. Затем я ей озвучил свои догадки на предмет того, чьих рук это скорее всего было дело. На что она сказала, что быть такого не может, Алексей никогда бы такого не поступил, он друг компании и ему безмерно доверяют. Тогда я ей предложил связаться с ее друзьями из Укртелекома и хотя бы узнать, к какому городу относится IP адрес злоумышленника - Киев или Донецк? Она замешкалась и ответила - "Да какая вообще разница, кто это сделал? Главное, что все снова работает". Очевидно, что её совсем не устраивал тот вариант развития событий, в котором Алексей мог оказаться виноват.
Тогда я помахал ручкой и торжественно заявил, что на этой ноте я прощаюсь с компанией Xitex. Её последние слова были: "Очень жаль, мы бы с тобой сработались".

Послесловие.

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

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

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

3232 показа
21K21K открытий
11 репост
298 комментариев

Шикарный лонгрид, чувак, тебе определенно надо становиться геймдизайнером! Пережить такой блицкриг и вывернуться ужом из сложившейся ситуации, это говорит о безумной креативности и находчивости. А мат часть никогда не поздно постигать, если что)

Ответить

Вот я о том же подумал. У человека явно мозг работает как надо. Так, что не имея знаний, он все же сумел поднять серваки. И не только!

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

Ответить

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

Ответить
Комментарий удалён модератором

чего там крутого? поделись пересказом, а то я ниасилил

Ответить

Поскольку совсем скоро истекут 24 часа от публикации статьи и она превратится в тыкву, пока у меня есть доступ к правкам, решил запилить пикчу в довесок к тексту. Ваш приговор - пусть картинка остается или убрать её к чертям собачьим?

Ответить

Комментарий недоступен

Ответить