Как-то сидим, админим наши сервера. Работа достаточно скучная, так как настроены они по всем «фэн-шуям» и вероятность факапа минимальна. Внезапно сонное лицо Игоря, руководителя группы администрирования Unix-систем, оживает, и он помпезно изрекает: «Михаил, я считаю, что употребление слов „жопа“ и „косяк“ неприемлемо при постановке служебного задания».
Через минуту хохота Миша, руководитель группы Oracle, начинает оправдываться, что он скопировал в задачу кусок из своих ночных записей — в них было отмечено, что старт инстанса Oracle с такими-то параметрами и с использованием такого-то массива приводит к жопе с производительностью, и это явно косяк в Solaris!
#964: Профилактическая вакцинация
16:45 11.06.2009, IT happens
Админили мы с другом одну фирму по удалёнке. В один прекрасный день звонок: «У нас база 1С не грузится». Заходим на сервер и видим, что кто-то вставил новый жесткий диск. Пребывая в лёгком шоке, открываем его и видим полный суповой набор чудесных файлов: fun.xls.exe, autorun.inf, csrcs.exe и прочие в том же духе.
Друг хватает трубку и перезванивает, пытаясь разобраться в ситуации. Оказывается, приходил человек, который обновляет систему «Гарант». Чтобы не тратить время, ставя апдейт на каждый комп, он решил залить обновление сразу на сервер — тут-то его и повело. Звоним в поддержку «Гаранта», описываем ситуацию и требуем, чтобы приняли меры.
Самое интересное заключалось в том, что все эти файлы были пустыми! Их специально создали на внешнем HDD и заблокировали от перезаписи, чтобы вирус точно не пролез. До сих пор непонятно, что случилось с 1С, но после перезагрузки всё заработало.
Ключ от серверной мы всё-таки посоветовали переложить в строго отведённое место, недоступное для юзверей — от греха подальше.
#965: В Советской России Гугл ищет вас!
16:45 11.06.2009, IT happens
Работаю веб-программером — делаем разнообразные сайтики и интернет-магазины. Очередной клиент попросил, чтобы к сайту была прикручена статистика от Google. Я прикрутил, а до кучи поставил сайт в очередь на индексирование.
Надо отметить, что для этого проекта мы не писали админку с нуля, а затачивали предоставленную заказчиком под проект, добавляя новые модули. Поиск по сайту был настолько «крут», что исправлять его доверяли только мне — долго я матерился, ковыряясь в индийском коде. На полную переделсу поиска меня не хватило.
Прошло некоторое время. В аську стучится админ сервера компании-заказчика: «Твой проект грузит на 103% процессор MySQL-сервера!»
Где-то час выясняли, что не так, и только потом сообразили посмотреть в логи. Выяснилось, что умный Google-бот без проблем отыскал поисковую страницу сайта и стал рекурсивно насиловать проект, отыскивая ключевые слова в результатах поиска по результатам поиска...
Поиск после этого доработали, бота от страницы выдачи отвадили и даже морфологию прикрутили. Вспомнили и бессмертную фразу Стива Макконнелла: «Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете».
#966: Брутфорс и здравый смысл
20:45 11.06.2009, IT happens
Однажды на нашем ФГУПе слетела программа, обслуживающая электронный замок входной двери с электронными же пропусками.
Всё бы ничего, но за древностью лет инсталляха этой софтины была утеряна, и даже поиск в интернете ничего не дал. Дистрибьюторы оборудования предложили скачать новую версию, но сообщили, что поддержка нашего контроллера прекращена, так как он относится к раннему мезолиту.
Собственно, принципиальное отличие нового софта было лишь в формате БД. Контроллер в нём не определялся, но сигналы входа/выхода и ID карточки давал исправно. Я решил поправить таблицы вручную, благо, они были в формате Access, но столкнулся с проблемой — база была запаролена.
Тут же скачал несколько ломалок паролей «на попробовать». Как водится, утилиты заявляли: «Пароль я подобрала, купите меня, и я вам его скажу». Естественно, платить 20–30–80 единиц СКВ я никому не собирался, да и не пришлось — одна из программ добродушно выдала три первых знака пароля и 9 звездочек после, доказывая свою полезность и предлагая заплатить за остаток.