Владислав Кабак | Omegicus CIO

NebKa

Анекдот

В еврейскую семью приходит телеграмма: «Волнуйтесь. Подробности письмом.»


читать далее »

Свитер с косами и снуд. Схема, описание вязания

Свитер и снуд - отличное сочетание. Хотя их можно носить и по отдельности.   Размеры: 38-42 (44/46) Вам потребуется: 850 (900) г светло-коричневой пряжи Schachenmayr BOSTON (70% акрила, 30% шерсти, 55 м/50 г); спицы № 6 и № 7; круговые



читать далее »

Моя работа: "Веночек на Пасху"

Привет всем!) Хочу поделиться с вами своей работой под названием "Веночек на Пасху" К моим фотографиям я приложила и маленький мастер-класс. Итак, вот он мой веночек: вот таких цыплят я сделала из пампонов. Вспомнила, как мне


читать далее »

Биологи объяснили свободное дыхание первых животных

В период, когда на Земле бурно развивались ранние животные, содержание кислорода в воздухе было низким. Но это не помешало многоклеточным эволюционировать. Команда учёных из Канады, США и Франции раскрыла секрет.Исследователи измерили концентрацию кислорода и других соединений в бактериальных матах в лагунах


читать далее »

Переделка рубашек. Подборка идей

Девушка из французского Гренобля построила своий бизнес на переработке мужских рубашек в женскую одежду. Иногда — вместе с галстуками. Каждую модель она называет женским именем:  Источник  : http://secondstreet.ru/blog/rubashki/peredelka-rubashek-bolshoj-trafik.html



читать далее »

Как уложить длинные волосы самой

 Как уложить длинные волосы самой 1. Волосы должны быть длинными, чтобы из них можно было сделать хороший хвост. Тщательно расчешите волосы.  2. Главная фишка этой причёски-полная естественность. Используем вместо расчёски - свои руки, так как хвост сделанный



читать далее »

Анекдот

Мальчик с мамой идут мимо пивнушки.Мальчик маме: Смотри, дяди пиво с раками пьют..Мама: Это у них рожи такие...


читать далее »

География

Венеция в Италии построена на 118 островках, присоединена 400 мостами. Она постепенно погружается в воду.


читать далее »

Мой совет:

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


читать далее »

Мастер-класс по скрапбукингу: Мужской блокнот

Заказали мне набор для охотника (блокнот и обложка для паспорта). Делался он в срочном порядке, фотографировался поздним вечером, а утром был забран, поэтому фото не передает цвет. Автор: Бойкова Наталья Блог: Осенняя МК по переплетам много, поэтому это рассказывать



читать далее »

Космос

Сначала на звезде идет процесс сжигания водорода с термоядерным синтезом гелия. После этого начинается процесс сжигания гелия с формированием новых химических элементов. Эволюция звезды состоит из нескольких этапов. Каждый этап характеризуется появлением более сложных химических


читать далее »

АНТУРИУМ ИЗ БИСЕРА



читать далее »

Совет:

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


читать далее »

Природа

Из-за движения земной коры древнеегипетские пирамиды переместились на 4 км к югу от того места, где они были построены около 5000 лет назад.


читать далее »

Как сделать диван на кухню.

  http://present.my1.ru/



читать далее »

ДЕРЕВО ИЗ ПАЙЕТОК

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



читать далее »

Маленькая сумочка из кожи.Мастер класс и выкройка.

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



читать далее »

Мой совет:

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


читать далее »

Животные

Орел может напасть, убить и унести животное размером с маленького олененка.


читать далее »

Человек

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


читать далее »

Анекдот

- Мужики, сейчас Андрюха придет: с кем из нас он первым поздоровается – тот ЛОХ!- Пацаны, всем привет!


читать далее »

Природа

Первый зоопарк был создан в Австралии в XV веке.


читать далее »

Анекдот

В Америке работают, если платят хорошо. В России работают. Если платят - хорошо.


читать далее »

ИНТЕРЕСНАЯ КОРОБОЧКА С ЯЩИКАМИ

Источник: http://barrellab.ru



читать далее »

МАЛЕНЬКАЯ СУМОЧКА ТРЕУГОЛЬНИК.

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31.  



читать далее »

Как обустроить домашний уголок для творчества

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



читать далее »

МК клевер от крафт- мастера Нормы.



читать далее »

Шьем палатку и придаем ей водоотталкивающие свойства

Вот и настал сезон отпусков, выезда на дачу, в походы и на природу за шашлыками в дружной компании или на рыбалку за самым большим уловом) При выезде на природу на несколько дней никак не обойтись



читать далее »

Разное

Светофоры использовались до изобретения автомобиля.


читать далее »

Как и чем подкормить цветы в саду и дома , 5-ть простых способа/рецепта.

1. Подкормка растения бананами.Банановые шкурки мелко нарезают и высушивают. При пересадке растений   насыпают слоем или просто перемешивают с почвой.Можно воспользоваться еще одним способом. Высушенные шкурки измельчают в  кофемолке. Получается темно-коричневый порошок, который можно подсыпать



читать далее »

Анекдот

Один программист спрашивает другого:- Слушай, а у тебя жена тоже программист?- Нет.- А о чем вы с ней тогда разговариваете?


читать далее »

Плетеная корзинка из сена

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



читать далее »

АПГРЕЙД СТАРЫХ ДЖИНСОВ. ШЬЁМ ЮБКУ В СТИЛЕ БОХО

Апгрейд старых джинсов. Шьём юбку в стиле бохо.Замечательный МК от Tashashu! Спасибо огромное, Светлана!!!"Вы выбрасываете старые джинсы? Я - нет. Почему - это тайна даже для меня. Просто руки не поднимаются: каждый раз думаю, что из



читать далее »

Мой совет:

Пятна от шариковой ручки выводятся с помощью денатурата.


читать далее »

ВОРОТНИЧОК

ВОРОТНИЧОК Источник: http://barrellab.ru/



читать далее »

Пасхальные яйца. Декупаж

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



читать далее »

Шаль из мотивов крючком

ШАЛЬ ИЗ МОТИВОВ КРЮЧКОМ Шаль из цветочных мотивов нежно голубого цвета связана крючком. Длина шали 108 см, ширина 63 см. Схема вязания шали из мотивов крючком{jcomments on}   Источник: http://woman7.ru/



читать далее »

Технология изготовления гипсовой лепнины

Технология изготовления гипсовой лепнины зародилось с глубокой древности. В России наибольшего расцвета оно достигло на рубеже XVII-XVIII вв. Этот период совпал с началом строительства Петербурга. Архитектурные сооружения северной столицы богато украшались лепным декором, который старые



читать далее »

Учёные встроили в дрожжи редактор генома

Биологи внедрили в клетки дрожжей полусинтетические хромосомы. Такой опыт впервые проведён с эукариотами. Причём новый фрагмент кода включает в себя «редактор», позволяющий впоследствии корректировать набор генов прямо в организме.Генетики из медицинской школы университета Джона Хопкинса (Johns Hopkins School of


читать далее »

Проведение приема

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


читать далее »

Природа

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


читать далее »

География

Улицы в Японии не имеют названий.


читать далее »

Анекдот

Мало кто знает, но для украшения квартиры на новый год достаточно бросить петарду в винегрет!


читать далее »

Анекдот

Подруга рассказала историю.Едет в маршрутном такси. Напротив сидит молодая девушка, вдруг у нее звонит телефон, она берет трубку. Её реплики:«Да, Паш, привет. Нет, еду домой. Нет, мы сегодня не увидимся. Нет, не потому, что я


читать далее »

Браслет на ногу. Мастер-класс

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



читать далее »

Дачные идейки.

Взято из интернета, сборник.



читать далее »

Учёные обнаружили новый феномен квантового мира

С формулами наперевес физики вывели явление, которое с точки зрения повседневной логики выглядит невозможным. Оказывается, при передаче квантовой информации вы можете ответить на любой вопрос из энциклопедии, прочитав (либо получив от кого-то) только половину её статей.Исследователи задали


читать далее »

Представлено уникальное изображение центра Галактики

GigaGalaxy Zoom


читать далее »

Оригинальная картина из старых монет своими руками. Мастер-класс

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



читать далее »

Космос

Если опустить Сатурн в воду, он будет плавать на поверхности. Средняя плотность вещества Сатурна почти в 2 раза меньше плотности воды.


читать далее »

Человек

Размер сердца человека примерно равен величине его кулака. Вес сердца взрослого человека составляет 220-260 г.


читать далее »

Космос

Наиболее стремительно движется по околосолнечной орбите Меркурий - средняя скорость составляет 47,9 километра в секунду. До августа 2006 года считалось, что из всех планет Солнечной системы наименьшая скорость орбитального движения у Плутона, который перемещается по


читать далее »

Акварель на грани фантастики

Победители Liu Yun Sheng «Ребенок Запада»     Liu Yi «Вдохновение Эфеса»     Wang Wei «Красный»     Alvaro Castagnet «Страсть»     Xidan Chen «На улицах Лондона»     Sarfiaz Musawir.     Hu Xiao Xing «Семейный человек».     Jiao Liqiang «Молитва».     Tejo Van Den Broeck «Песок и песок».     Thierry Duval «Вид на Французскую академию искусств».   Не менее интересные работы конкурса Kudalayya Hiremath «Гонки».       Laurin



читать далее »

Анекдот

Где-то в Корее - Этого, этого и этого расстрелять! - Меня не расстреливайте, пожалуйста, я не хочу! - Этого не стреляйте - он не хочет!


читать далее »

Животные

Голубь во время взлета сжигает столько энергии, сколько электродрель, работающая на полную мощность.


читать далее »

Мой совет:

Отварной картофель будет вкуснее, если в воду добавить 2-3 дольки чеснока, лавровый лист или немного укропа.


читать далее »

Животные

У морской звезды нет мозгов.


читать далее »

Анекдот

Подходит дедушка к зеркалу и говорит: - Я стар. Я очень стар. Я суперстар.


читать далее »

ВЛЮБЛЕННЫЕ КОТИКИ

Источник: http://barrellab.ru/



читать далее »

Мой совет:

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


читать далее »

Забавная сумочка для девочки. Мастер-класс

Для работы вам понадобится ткань, основная и подкладочная и синтепон.   Вырезать из ткани и синтепона прямоугольник, размером 17 на 20 см Распечатать выкройку и перенести на ткань Вырезать и приклеить аппликацию, как показано на фото Вышить аппликацию и украсить



читать далее »

География

Андорра - единственная в мире страна с бесплатными почтовыми пересылками.


читать далее »

Анекдот

Муж приходит пьяный ночью, жена орет и тычет пальцем на часы. Муж: - Какого ты мне на часы тычешь? Моя матушка бате календарём перед лицом махала!


читать далее »

Человек

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


читать далее »
Здесь пока пусто

Unauthorized.

BIOS Setup - удаленный контроль

2011.10.08

BIOS Setup - удаленный контроль

Автор: (c)Крис Касперски ака мыщъх

Каждый администратор хотя бы раз в жизни сталкивался с необходимостью войти в BIOS Setup и слегка его "подкрутить" или починить "рухнувшую" Windows NT, Linux/FreeBSD. Традиционно эта задача решается при помощи мыши и клавиатуры, но что делать, если сервер физически недоступен?

Введение

Компьютеры семейства IBM PC всю жизнь рассматривались как недорогие рабочие станции и сервера на их основе начали стоить лишь недавно. Разработчики увеличили количество процессоров, добавили поддержку коррекции памяти, отказоустойчивые дисковые массивы и прочие прелести, однако полное превращение в сервер так и наступило. В частности, сохранилась проблема удаленного администрирования. Операционные системы семейства Windows NT поддерживают удаленный контроль лишь формально. Даже такие программы, как Remote Admin, выполняют ограниченный спектр простейших операций и на полноценное обслуживание сервера по сети не способны. В мире UNIX'а дела обстоят чуть-чуть получше, но проблемы все равно есть.

Вот, например, BIOS отказывается грузиться, прелагая нажать для входа в BIOS Setup или для загрузки с параметрами по умолчанию. Но сервер находится в другом конце города, да еще в помещении, ключей от которого у администратора нет. Знакомая ситуация, не правда ли? Другой вариант: после установки очередного пакета обновления операционная система "умерла", стала жертвой хакерской атаки или просто зависла. Во всех этих случаях стандартные средства удаленного управления уже не работают и приходится приближаться к серверу вплотную, что достаточно затруднительно. Даже если сервер расположен на соседнем этаже, намного предпочтительнее управлять им без отрыва от своего любимого кресла, чем бегать с дискетами (лазерными дисками) туда-сюда.

И это действительно можно сделать! Существуют, по меньшей мере, три пути, о которых мы и хотим рассказать.

BIOS отказывается грузится

Рисунок 1. BIOS отказывается грузится до тех пор, пока не будет нажата клавиша или .

Удаленный контроль за BIOS

Порядок загрузки BIOS в общих чертах выглядит так: первым получает управление BOOT-block (загрузочный блок или первичный загрузчик, не путать с boot-сектором!), который выполняет инициализацию основного оборудования (оперативная память, контроллер прерываний, системный таймер и т.д.), а также сканирует ISA-шину и подключает BIOS'ы всех обнаруженных устройств (например, SCSI-контроллеров, видео- и сетевых карт), после чего распаковывает свое "продолжение" (BIOS extensions) и передает ему управление. Вторичный загрузчик сканирует PCI-шину и выполняет окончательную инициализацию оборудования - распознает IDE-диски, содержит интерактивный редактор BIOS Setup, распределяет системные ресурсы между PnP-устройствами и, наконец, считывает boot-сектор с гибкого или жесткого диска.

Таким образом, BIOS'ы, установленные на картах расширения, получают управление на самой ранней стадии инициализации, задолго до того, как начинается подсчет контрольной суммы CMOS или распаковка вторичного загрузчика. Кстати говоря, большинство утилит "прожига" BIOS не трогают BOOT-block и даже если прожиг прошел неудачно, ISA-слоты расширения все-таки инициализируются. С PCI-слотами все обстоит намного сложнее и в общем случае они доступны только из вторичного загрузчика (а он гибнет при неудачном прожиге). Некоторые производители (например, ASUS) включают в BOOT-block специальный драйвер для работы с PCI-шиной, чтобы материнская плата могла инициализировать видеокарту и хоть что-то вывести на экран, даже если основной код BIOS'а повержен. Но мне не известен ни один BIOS, BOOT-block которого мог бы работать с шиной AGP или PCI-express.

Следовательно, все что нам нужно - изготовить "фиктивную" ISA или PCI карту, установить на ней "свой" BIOS и запрограммировать его на удаленное управление. Когда-то, автор этой статьи занимался тем, что "дорабатывал" древние сетевые карты (которые просто выбрасывались), превращая их в "пульт" удаленного управления, позволяющий редактировать настройки BIOS'а по локальной сети. Это совсем несложно сделать! Достаточно уметь программировать на ассемблере и чуть-чуть разбираться в архитектуре "железа".

Удаленное редактирование настроек BIOS

Рисунок 2. Удаленное редактирование настроек BIOS Setup по терминалу - это реальность!

Впрочем, корпеть над отладчиком совсем необязательно - все можно купить и готовое. Такие платы (они называются Remote Boards) выпускает множество фирм. Обычно они представляют из себя стандартную VGA-карту с интегрированным COM-портом, к которому подключается внешний модем. В некоторых моделях имеется Ethernet-порт. Его можно воткнуть в DSL-модем или соединить со Switch'ом. Через эти порты передается копия экрана на удаленный монитор и принимаются команды от клавиатуры, в результате чего IBM PC превращается в самый настоящий "майнфрейм" и физического доступа к нему уже не требуется!

Удаленная настройка дисков

Рисунок 3. Удаленная настройка дисков.

Большой популярностью пользуется модель Remote Insight от Hewlett-Packard, которая вставляется в PCI-слот и управляется по 10/100-Мбитиному Ethernet-порту. Она поддерживает как текстовые, так и графические режимы (вплоть до 1280х1024/256 цветов), питается от внешнего источника, что позволяет ей "нажимать" на кнопки Power и Reset. В дополнение к удаленной мыши и клавиатуре имеется возможность подключать удаленный дисковод и привод CD-ROM, без которых не обходится ни одна переустановка системы. Это просто фантастика! Всегда можно загрузиться с Live CD и посмотреть, что случилось с сервером и сохранить уцелевшие данные на любой носитель, который только будет под рукой. Это усиливает безопасность системы, поскольку сервер, оснащенный "Remote Insight", может вообще не иметь никаких съемных носителей!

Кстати, о безопасности. Remote Insight поддерживает SSL и 128-битное шифрование, что позволяет ему функционировать даже на незащищенных каналах (а других каналов в распоряжении рядового администратора зачастую просто не оказывается).

Все управление происходит либо через telnet, либо через Web-браузер. Как будет удобнее администратору. На сервере может быть установлена практически любая операционная система: Windows 2000/2003 (Advanced Server, Data Center, Terminal Server, Standard или Enterprise Edition), Novell NetWare 5.1, 6.0, Red Hat Advanced Server 2.1, Red Hat Linux 7.3/8.0, SuSE Linux Enterprise Server V7/V8 и некоторые другие.

Плата удаленного управления

Рисунок 4. Плата удаленного управления Remote Insight от Hewlett-Packard.

Карту можно приобрести в магазине или заказать по Интернету непосредственно в самой Hewlett-Packard. Она обойдется в $399, которые явно стоят того! В принципе, можно найти производителя и подешевле, но в отношении цена/функциональность этой карте равных нет, тем не менее она далека от идеала. Исходных текстов прошивки нам никто не даст и доработать "напильником" под свои конкретные нужны ее не удастся (теоретически это возможно, но очень затруднительно). К тому же качество реализации протоколов шифрования находится под большим вопросом. Возможно, в карте присутствуют отладочные люки или переполняющиеся буфера, которые позволят атакующему захватить штурвал управления в свои руки!

Еще одна плата удаленного управления

Рисунок 5. Еще одна плата удаленного управления, на этот раз - PC Weasel 2000.

Этих недостатков лишена PC Weasel 2000 от одноименной компании. Вместе с самой платой покупатель получает полный исходный код прошивки и лицензию на право его изменения. Это все та же самая VGA-плата, только вместо Ethernet-порта, на ней находится контроллер UART (он же стандартный COM-порт типа 16550). К сожалению, ее функциональность намного беднее. Поддерживаются только текстовые видеорежимы и отсутствуют удаленные приводы, правда сохраняется возможность "нажать" серверу на Reset или посмотреть POST-коды, чтобы сразу оценить масштаб неисправности.

Инженерное меню

Рисунок 6. Инженерное меню, высвечиваемое PC Weasel 2000.

ISA-вариант обойдется вам в $250, а PCI - во все $350. Не слишком ли большая цена за открытую лицензию при урезанной функциональности? Не торопитесь с выводами. Исходные тексты - великая штука! Можно купить одну плату и установить ее на неограниченном количестве машин. Клонировать аппаратное обеспечение нам не понадобится. Если слегка переделать прошивку, можно обойтись и стандартными компонентами, но об этом чуть позже. Сначала познакомимся с диаметрально противоположным классом устройств удаленного управления, среди которых, возможно, притаилось устройство вашей мечты.

Плата удаленного управления

Рисунок 7. Плата удаленного управления типа eRIC enhanced Remote Management Card.

KVM или удаленный контроль продолжается

Главный недостаток VGA-плат с модифицированным BIOS'ом состоит в том, что они требуют вскрытия корпуса сервера, что не всегда желательно. К тому же техника перехвата изображения и эмуляция клавиатурного ввода далека от идеала и чрезвычайно конфликтна. KVM-коммутаторы исповедуют совершенно иной подход. Свое название они получили по трем первым буквам: Keyboard, Video-monitor и Mouse. Коммутатор представляет собой автономное устройство, подключаемое к компьютеру через стандартные PS/2 и DB-15 VGA коннекторы. Их сигнал преобразуется в цифровой поток и передается на соседний KVM-терминал, подключенный к удаленному компьютеру. Грубо говоря, мы как бы подключаем клавиатуру, мышь и монитор очень длинными кабелями.

KVM

Рисунок 8. KVM - коммутатор за работой.

Можно настраивать BIOS Setup или рассматривать Windows, свалившуюся в синий экран, но ни удаленных дисководов, ни даже возможности нажать на Reset у нас нет, то есть иллюзия полного физического доступа оказывается не такой уж и полной. Зато поддерживаются практически все видеорежимы и в код BIOS'а не вносится никаких изменений, а в критических инфраструктурах это очень актуально. Внедрять посторонний эмулятор в банковский компьютер нам попросту не дадут, поскольку эта технология не сертифицирована, а вот у KVM-коммутаторов все необходимые сертификаты, как правило, имеются.

Схема подключения KVM-коммутатора

Рисунок 9. Схема подключения KVM-коммутатора для удаленного управления через Интернет или по модемному соединению.

Подавляющее большинство моделей рассчитано на управление несколькими серверами с одного терминала, при этом сигнал пускается по экранированной витой паре с максимальной длиной в несколько сотен метров. Это совсем не Ethernet и в сетевой концентратор его вставлять нельзя! Для реального удаленного управления по Интернету или модему нам потребуется установить дополнительный компьютер, принимающий KVM-сигнал и с помощью специального программного обеспечения ретранслирующий его в "удобоваримую" сетевую форму. А это нехорошо! К счастью, некоторые модели поддерживают работу по модему или локальной сети. Такой тип KVM-коммутаторов называется "over IP", хотя здесь не обходится без вариаций. Просто загляните в спецификацию: если там встретится что-то похожее на LAN или Dial-Up - это то, что нам нужно!

Внешний вид некоторых KVM-коммутаторов Внешний вид некоторых KVM-коммутаторов

Рисунок 10. Внешний вид некоторых KVM-коммутаторов.

Довольно хорошо зарекомендовала себя фирма Minicom, в ассортименте которой можно обнаружить, по меньшей мере, две подходящие модели - Phantom Dial-Up Remote Access и Smart IP Extender Switch Over IP. Первая стоит в районе $800, вторая... (крепко возьмитесь за стул) - $3500. Это уже не просто вымогательство, а самый настоящий грабеж! Для банков и прочих денежных учреждений такая сумма, может быть, и подойдет, но вот для мелкой конторы - вряд ли. Кончено, порывшись в магазинах можно найти KVM-коммутатор и подешевле, но лучше собрать систему удаленного управления самостоятельно.

Как это работает или удаленный контроль своими руками!

Для создания собственной системы удаленного управления нам понадобиться любая PCI-карта и материнская плата, поддерживающая работу с PCI-шиной через BOOT-block (например, ASUS). На борту карты обязательно должна присутствовать "кроватка" с BIOS'ом. На худой конец, BIOS может находиться в отдельной микросхеме, которую несложно выпаять с платы и воткнуть в программатор. К сожалению, сетевые карты с "внешним" BIOS'ом выходят из употребления и найти их становится все сложнее и сложнее. Современные Ethernet-контроллеры интегрируют BIOS в микросхему чиспета и мы уже не можем ничего с ним сделать (только не перепутайте BIOS с панельной для Boot-ROM, это совсем не одно и тоже!).

Вот и приходится пересаживаться на SCSI-контроллеры, цены на которые упали до 10$-14$. Разумеется, речь идет о простейших моделях, но ведь нам ничего кроме BIOS'а не нужно! Поэтому даже дешевая модель будет работать ничуть не хуже дорогой. Заботиться о сохранении работоспособности контроллера не обязательно. Намного проще переписать BIOS с чистого листа, чем добавлять свои собственные модули в уже существующий (однако при желании это можно сделать).

SCSI-контроллер

Рисунок 11. SCSI-контроллер с несъемным BIOS'ом, он нам не подходит.

SCSI-контроллер

Рисунок 12. SCSI-контроллер со съемным BIOS'ом, который легким движением руки превращается в плату удаленного управления.

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

Разработка прошивок обычно ведется на Ассемблере, но при желании можно использовать и высокоуровневые языки типа Си/Си++. Только ни в коем случае не используйте стандартные библиотеки ввода/вывода и прикажите линкеру отключить Start-Up. Для этого достаточно переименовать функцию main в нечто вроде MyMain. Поскольку Си не поддерживает базирования, откомпилированный код должен быть полностью перемещаем (то есть выполняться независимо от базового адреса загрузки в память). Этого можно добиться, отказавшись от глобальных переменных и выключив все опции компилятора, которые могут генерировать неперемещаемый код, о котором мы даже не подозреваем (например, контроль "срыва" стека). Если вы не уверены, что хорошо знаете "задний двор" компилятора - не используйте его! Программируйте на Ассемблере. Он не подведет!

Код прошивки исполняется в 16-разрядном сегменте реального режима, однако никто не запрещает нам переходить в защищенный режим и выходить оттуда, правда не совсем понятно - зачем это нужно. Использовать служебные функции BIOS'а недопустимо, поскольку часть аппаратуры еще не инициирована, да и сам BIOS еще не распакован. Работайте только через порты ввода/вывода, однако перед этим не забудьте, что оборудование должно быть инициализировано вручную. В частности, интегрированный COM-порт еще не имеет ни базового адреса, ни IRQ, ведь PnP-менеджер, распределяющий системные ресурсы, еще не получил управления! Приходится открывать документацию на южный мост чипсета и программировать все железо с нуля. Это самый низкий уровень "общения" с аппаратурой! Необычайно сложный, но в то же время захватывающее интересный! К счастью, серверный мост уже частично инициализирован, поэтому настраивать контроллер памяти не обязательно.

Теперь поговорим о методиках эмуляции и перехвата. Для вывода информации на экран BIOS использует свою собственную сервисную службу INT 10h. Она же используется на стадии первичной загрузки операционных систем семейства Windows и UNIX. Перехватив это прерывание, мы сможем грабить весь вывод на экран и передавать его на удаленный компьютер ("грабить" - вполне легальный термин, позаимствованный у англоязычных инженеров, которые говорят в этом случае "grab" - звучит грубовато, зато по-честному). Разумеется, без сложностей здесь не обходится. Поскольку в процессе инициализации BIOS'а вектора прерывания могут переустанавливаться многократно, одной лишь модификации таблицы прерываний (т.е. классического способа перехвата) будет явно недостаточно. Да, мы можем изменить far-указатель по адресу 0000h:10h * sizeof(DWORD) = 0000h:0040h, перенаправив его на свой собственный обработчик, но... через некоторое время контроль за INT 10h будет утерян. Чтобы этого избежать, необходимо установить аппаратную точку останова на запись этой ячейки памяти. В этом нам помогут отладочные регистры семейства DRx. Регистры DR0 - DR3 хранят линейный физический адрес точки останова, а DR7 - определяет условия, при которых она срабатывает, заставляя процессор генерировать прерывание INT 01h, на котором должен находится наш обработчик, выполняющий повторную "экспроприацию" INT 10h у системы.

Пример работы с отладочными регистрами приведен ниже.

MOV ax, CS                    ; перехватываем INT 01h
XOR bx,bx
MOV DS,bx
MOV [bx], offset our_vx_code  ; смещение нашего обработчика
MOV [bx+2],bx                 ; относительно сегмента 0000h
MOV DS, ax

MOV eax,302h                  ; устанавливаем точку останова на исполнение
MOV ebx,7С00h                 ; линейный физический адрес точки останова

MOV dr7,eax                   ; Заносим значения в отладочные регистры
MOV dr0,ebx

Листинг 1. Перехватчик передает управление нашему коду в момент загрузки Boot-сектора.

Прерывание INT 10h поддерживает свыше сотни различных функций, номер которых передается в регистре AH. В частности, 02h управляет курсором, а 09h печатает символ. Естественно, чтобы грабить вывод на экран, необходимо уметь отличать одну функцию от другой и знать, чем именно каждая из них занимается. Описание функций можно найти либо в технической документации на конкретную видеокарту (а, если карта встроена в материнскую плату, то в документации на серверный мост чипсета), либо в знаменитом Interrupt List'е Ральфа Брауна, правда, он уже давно не обновлялся и сильно устарел. Последняя версия датируется летом 2000 года. С тех пор вышло множество новых карт! Впрочем, базовые видеофункции не претерпели никаких изменений и если отбросить нестандартные видеорежимы, все будет работать "на ура".

Текстовые режимы грабятся просто замечательно, а вот графические в пропускную способность аналоговых модемов уже не вмещаются и передаваемую информацию приходится как-то сжимать. Самое простое - передавать только изменения, предварительно упаковав их по gzip-алгоритму, для работы с которым существует множество готовых библиотек.

Правда с переходом операционной системы в защищенный режим весь наш перехват идет прахом и удаленный компьютер отображает унылый застывший экран. В принципе, с этим можно и смириться. Главное, что нам подконтролен BIOS Setup и начальная стадия загрузки оси, а там можно и стандартным telnet'ом воспользоваться, если, конечно, на середине загрузки Windows не выбросит синий экран.

В своих первых моделях систем удаленного управления я поступал так: отслеживал попытку перехода в защищенный режим (а отследить ее можно с помощью все тех же отладочных регистров), переходил в защищенный режим сам, устанавливал свои обработчики прерывания и отдавал управление операционной системе, не позволяя ей ничего менять. Это работало! Хотя и сбоило тоже. Универсального перехватчика создать не получилось и пришлось учитывать особенности реализации всех операционных систем. В конце концов, я махнул рукой и написал обыкновенный драйвер-фильтр, работающий как VGA-miniport и пересылающий экранный вывод на "нашу" карту расширения.

Принцип работы платы удаленного управления

Рисунок 13. Принцип работы платы удаленного управления.

Некоторые системы удаленного контроля (например, уже упомянутый комплекс PC Weasel 2000) вместо перехвата INT 10h просто грабят видеобуфер, что на первый взгляд существенно упрощает реализацию. Не нужно возиться с отладочными регистрами, рыться в Interrupt List'e и т.д. На самом деле даже в текстовом режиме имеется множество экранных страниц, а уж про графический мы вообще молчим! Причем совершенно неясно как засинхронизовать экранный вывод с его перехватом. Сканировать видеопамять с частой 50-60 Гц вполне реально, но вот запихать награбленные данные в модемный канал получится едва ли. А как это дело будет тормозить! Неудивительно, что PC Weasel 2000 работает только с текстовыми режимами!

Теперь перейдем к эмуляции ввода с клавиатуры. Мышь рассматривать не будем, поскольку нормальные администраторы свободно обходятся и без нее. Ну, не нравится она мне! Вот клавиатура - другое дело! Весь клавиатурный сервис сосредоточен в прерывании INT 16h, которое мы должны перехватить. Когда программа (и, в частности, BIOS Setup) ожидает нажатия на клавишу, она обнуляет регистр AH и вызывает INT 16h. Конечно, существуют и другие варианты, но этот - самый популярный. В этом случае наш обработчик прерывания должен поместить ASCII-код символа, нажатого на удаленной клавиатуре, в регистр AL и возвратить управление. Естественно, все это будет работать только до перехода операционной системы в защищенный режим, а после придется подгружать свой драйвер, "садящийся" поверх стандартного клавиатурного драйвера и эмулирующего ввод.

Удаленные диски реализуются совсем тривиально. За это отвечает прерывание INT 13h. Функция 02h обеспечивает чтение сектора, 03h - его запись. Номер сектора передается в регистрах CX и DX в CHS-формате. Удаленный CD-ROM реализуется чуть-чуть сложнее, поэтому если вы не сильны в системном программировании, на первых порах лучше ограничиться виртуальными дискетами, тем более что физические дискеты использовать совершенно не обязательно и удаленная машина может работать с их образом, записанным на жестком диске в виде файла. Для удаленной переустановки Windows NT этот прием вполне подходит. А смену виртуальных дискет автоматизировать совсем не трудно.

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

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

Один маленький трюк напоследок. Если полноценная система удаленного управления вам не нужна и всего лишь требуется запретить BIOS'у требовать нажатия на клавишу при загрузке, то без дополнительного оборудования легко обойтись. Достаточно загрузить прошивку основного BIOS в дизассемблер и найти все "ругательные" сообщения. Перекрестные ссылки приведут нас к машинному коду, который эти строки и выводит. Там же будет код, ожидающий нажатия на клавишу, который мы должны удалить. Прямой вызов INT 16h используется редко. Скорее всего, мы увидим что-то вроде CALL xxx, где xxx - адрес функции-обертки. Для достижения задуманного мы должны заменить CALL xxx на "MOV AX,scan-code", указав скан-код требуемой клавиши. Например, клавиша в большинстве BIOS'ов означает "загрузку с настойками по умолчанию", однако в некоторых случаях может потребоваться нажать или .

Проблема в том, что основной образ BIOS'а упакован и защищен контрольными суммами. Практически все разработчики BIOS'ов распространяют утилиты для распаковки/упаковки и пересчета контрольных сумм, однако никакой гарантии, что модифицированный BIOS будет исправно работать, у нас нет. Ошибки могут появляться в самых неожиданных местах. Работа системы становится нестабильной, материнская плата без всяких видимых причин начинает зависать и т.д. Разумеется, для серверов это неприемлемо, поэтому приходится идти другим путем.

Вместо того, чтобы модифицировать упакованный образ основного кода BIOS'а, мы возьмем неупакованный BOOT-block и добавим в него автоматический патчер, правящий нужные байты прямо в памяти, когда распаковка уже завершена. Поскольку основной код BIOS'а распаковывается в RAM, никаких проблем с его исправлением не возникает. Главное - определить нужные адреса. В этом нам поможет тот факт, что сам BIOS свой образ не затирает и в момент загрузки boot-сектора он присутствует в памяти. Достаточно написать крошечную ассемблерную программу, считывающую первые 640 Кбайт нижней памяти и записывающую их на гибкий диск, а затем внедрить ее в boot-сектор. После перезагрузки системы мы станем обладателями распакованного BIOS'а, лежащего по своим "родным" адресам.

Остается только прожечь обновленный BOOT-block и можно наслаждаться бесперебойной рабой сервера!

Заключение

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

Интересные ссылки

  • Remote Insight "Lights Out" boards
    Обзор систем удаленного управления (на английском языке): http://www.paul.sladen.org/lights-out/riloe.html;

  • Remote Insight Lights-Out Edition II
    Описание платы удаленного управления от Hewlett-Packard с возможностью заказа по Интернету (на английском языке): http://h18004.www1.hp.com/products/servers/management/riloe2/server-slot-matrix.html;

  • PC Weasel 2000
    Описание альтернативной платы удаленного управления, микрокод который распространяется по открытой лицензии (на английском языке): http://www.realweasel.com/intro.html;

  • http://www.kvms.com
    Технические характеристики огромного количества систем удаленного управления (преимущественно KVM-коммутаторов, на английском языке);

  • Raritan IP-Reach TR364
    Описание хорошего KVM-коммутатора TR364 (на английском языке): http://www.42u.com/telereach_bk.htm;

  • Архитектура ввода-вывода персональных ЭВМ IBM PC
    Электронная версия книги, посвященной устройству IBM PC, которую настоятельно рекомендуется прочитать перед разработкой собственной системы удаленного управления (на русском языке): http://redlib.narod.ru/asmdocs/asm_doc_07.zip;

  • Ralf Brown Interrupt List
    Электронный справочник по всем прерываниям, портам ввода/вывода, "волшебным" адресам памяти, включая нестандартные расширения и недокументированные возможности (на английском языке): http://www.ctyme.com/rbrown.htm;
https://nebka.ru/?uid=1&post=20951