Вы находитесь на странице: 1из 98

Так видит журнал читатель, который забыл оформить подписку:

СЬ

ЛИ
ЛИ
ТЯ Е

Ж ПИ
ЗА ДНИ
НУ

РА КУ
ЛЫ ГО

ТИ РАС
К У ВО

РО
№5(54) май 2007
НИ НО

СТ
БЫ
подписной индекс 20780
КА

www.samag.ru

Программы удаленного доступа:


выбирайте подходящую!

№5(54) май 2007


И
ЬГ
ЬД О
РА СКА
ТЕ
К

ИС НН
ЕН
УС

БО
НА ТПУ

ИЛ ДА
ТП

НЧ ЖИ
ВО

РА Е О

Разворачиваем кластер

КО НЕО
АВ СЛ
Л

Л
ХА

ПО
УЕ

на основе Windows Server 2003

ЗА
Используем Cisco PIX
Так видит журнал читатель, оформивший подписку: для обеспечения VPN‑подключений
к локальной сети
Split DNS: заставим BIND
работать на два фронта!
UserGate –
безопасный прокси‑сервер
Резервное копирование
и восстановление СУБД Oracle
средствами ОС
Технологии защиты ядра NT
ПОДПИШИТЕСЬ И ЧИТАЙТЕ!
Всё, что вы хотели знать
Роспечать – 20780, 81655 о протоколе SIP
Пресса России – 87836
Интер-почта – тел. (495) 500-00-60
в номере
3 ТЕНДЕНЦИИ 50 Разворачиваем кластер на основе
Windows Server 2003
РЕПОРТАЖ Отказоустойчивые кластеры распространены в сетях
средних и крупных компаний. Но у многих администра-
4 Sun Tech Days в Санкт-Петербурге торов внедрение и обслуживание кластерных систем
Итоги конференции Sun Tech Days, ежегодно проводи- по-прежнему вызывает много вопросов.
мой корпорацией Sun Microsystems. Андрей Бирюков
Иван Максимов mex_inet@rambler.ru
ivan_maksimov@inbox.ru
56 Резервное копирование и восстановление
8 Конференция РИТ-2007 собрала базы данных Oracle средствами ОС
веб‑разработчиков России Мы установили какое-либо приложение, хранилищем
Впечатления от первой конференции «Российские ин- данных в котором служит СУБД Oracle. Но вводить
тернет-технологии – 2007». Дмитрий Шурупов систему в производственную эксплуатацию еще ра-
osa@samag.ru но. Предварительно нужно создать надежную мето-
дику резервного копирования и восстановления ба-
АДМИНИСТРИРОВАНИЕ зы данных. Сергей Косько
sergkosko@ua.fm
12 Обзор новой версии дистрибутива
Debian GNU/Linux 4.0 ЧЕЛОВЕК НОМЕРА
Говоря о Debian, поневоле приходится использовать
превосходную степень: самый всеобъемлющий, са- 62 Мечты сбываются
мый свободный, самый плодовитый дистрибутив Linux. Глава одноименной фирмы Майкл Делл не боится ста-
В апреле была объявлена стабильной четвёртая вер- вить нереальные задачи и планомерно воплощать их
сия Debian. Что же в этом особенного? в жизнь. Оксана Родионова
Евгений Балдин rodion@dol.ru
E.M.Baldin@inp.nsk.su
БЕЗОПАСНОСТЬ
17 UserGate – безопасный прокси-сервер
Рассматривая богатые возможности UserGate, проана- 66 Технологии защиты ядра NT
лизируем, обладает ли он всей необходимой функци- О внутреннем устройстве этих технологий защиты ядра
ональностью для организации совместного доступа NT известно немного. А между тем они серьезно раз-
в сеть Интернет. Иван Максимов личаются, как от версии к версии NT, так и на разных
ivan_maksimov@inbox.ru машинах и к тому же далеко не совершенны.
Артем Баранов
18 Обзор программ удаленного доступа: artembaranov@yandex.ru
выбирайте подходящую
Чем рабочее место системного администратора отлича- 74 m0n0wall – дистрибутив для создания
ется от рабочего места пользователя? Тем, что на нем, межсетевого экрана
как правило, установлен клиент системы удаленного Интернет не только средство обмена информацей,
доступа, а иногда и не один. Чтобы виртуально побы- но и источник многих проблем – вирусы, атаки хаке-
вать на удаленном компьютере, используется широкий ров... Первым барьером на их пути стоят межсетевые
диапазон программ. Рашид Ачилов экраны. Сергей Яремчук
achilov-rn@askd.ru grinder@ua.fm

34 Используем Cisco PIX для обеспечения IP-ТЕЛЕФОНИЯ


VPN-подключений к локальной сети
Существует множество способов предоставить удалён- 78 Всё, что вы хотели знать о протоколе SIP
ным пользователям доступ к ресурсам локальной се- Что общего у Microsoft Exchange 2007, Asterisk и Google
ти компании. Предлагаем вам решить задачу с помо- Talk? А общим здесь является использование прото-
щью специально разработанного для подобных целей кола SIP, который обещает единое решение задач как
межсетевого экрана Cisco PIX. Ильяс Кулиев реализации мультимедийных функций в веб-приложе-
ilia@kuliev.org ниях, так и переноса сигнального трафика в сетях опе-
раторов связи. Андрей Погребенник
40 Split DNS: заставим BIND работать andrew.p@safe-mail.net
на два фронта!
Вы системный администратор организации, которая ис- РЕТРОСПЕКТИВА
пользует много внешних адресов и свои DNS-серверы? У
вас единое адресное пространство для внешних и внут- 88 Патентные войны: оберегай своё,
ренних серверов? Вы используете разные DNS-серверы не посягай на чужое
для внутренней и внешней сети? Есть способ заставить Термин «патентный терроризм» был придуман в 2001
BIND работать на два фронта. Яков Коваленко году ассистентом Intel Питером Диткином неспроста.
jsn@inbox.ru Ведь сегодня в мире высоких технологий отстаивание
компаниями своей интеллектуальной собственности
44 Строим Jabber-сервер с OpenFire является одной из наиболее насущных проблем.
Сегодня для более эффективной организации совмест- Дмитрий Мороз
ной работы сотрудников все чаще используют системы akuji@list.ru
мгновенного обмена сообщениями. Рассмотрим, как ус-
тановить и настроить Jabber-сервер OpenFire. 92 КНИЖНАЯ ПОЛКА
Сергей Яремчук
grinder@ua.fm 61, 72, 73 BUGTRAQ
№5, май 2007 
тенденции
Palm представила тики рассматривали этот ход Adobe как попытку удержать
свою Linux‑платформу лидерство в своей нише с технологией Flash и были правы:
Исполнительный директор Palm Эд Коллиган (Ed Colligan) реакция Microsoft не заставила себя ждать, и уже букваль-
объявил о намерении его компании позже в этом году вы- но через день появилась информация об аналогичном го-
пустить новую платформу на базе Linux и Open Source. товящемся шаге, затрагивающем Silverlight.
Не стоит путать этот проект с платформой ACCESS Lin- Подробностей о том, какие части Silverlight будут от-
ux Platform, которую разрабатывает компания ACCESS, ра- крыты, пока нет, но у Microsoft уже есть достаточный опыт
нее известная как PalmSource. Над новой Linux-системой Open Source-релизов, чтобы не ставить под сомнение ре-
в Palm работают уже не один год, и ожидается, что она ста- альность подобной инициативы (в прошлом году код проек-
нет «новым фундаментом для Palm». Для этого функцио- тов Windows Installer XML, Windows Template Library, FlexWiki
нал Palm OS Garnet будет связан с ядром Linux. Таким об- был выпущен под лицензией CPL).
разом, интерес к продукту должны проявить разработчи-
ки и сторонники обеих этих платформ. В MySQL 6.0 интегрируют свой движок
Коллиган обозначил такие особенности готовящейся Как сообщил исполнительный директор компании MySQL
системы, как экономичное потребление питания, высокая AB, стоящей за разработкой и поддержкой СУБД с откры-
гибкость в поддержке аппаратного оборудования, возмож- тым кодом, Мартен Микос (Marten Mickos), исполнительный
ность одновременной работы с голосом и данными. директор MySQL AB, главным новшеством в MySQL 6.0 ста-
нет появление движка хранения данных Falcon.
Состоялся релиз Ubuntu Linux 7.04 Альфа-версия Falcon дебютировала в январе, и ее со-
19 апреля разработчики представили долгожданный для стояние, по-видимому, уже позволяет разработчикам с оп-
многих релиз новой версии не перестающего набирать по- тимизмом смотреть на возможности ее применения в ка-
пулярность Linux-дистрибутива Ubuntu 7.04. Этот релиз по- честве движка для будущего релиза MySQL. В MySQL AB
лучил кодовое название «Feisty Fawn». занялись разработкой Falcon в октябре 2005 года – когда
Среди новшеств в Ubuntu 7.04 отмечается: появление корпорация Oracle купила компанию Innobase, разработчи-
утилиты для перевода в Linux данных из Windows (закладки ка движка InnoDB. Микос не назвал примерных дат выпус-
из браузеров, обои для рабочего стола, контакты из IM-кли- ка бета-релиза Falcon и не уточнил ожидаемое время по-
ентов); теперь система сама предлагает установить необхо- явления MySQL 6.0 и основной версии Falcon.
димые пакеты с кодеками/драйверами, как только во вре-
мя работы возникает потребность в них; значительные Составил Дмитрий Шурупов
по материалам www.nixp.ru
улучшения в поддержке сети; новые версии программно-
го обеспечения (Linux-ядро 2.6.20, X.Org 7.2, GNOME 2.18,
OpenOffice.org 2.2, Mozilla Firefox 2.0.0.3, Mozilla Thunderbird
1.5.0.10, Gaim 2.0.0beta6...).
В Ubuntu 7.04 вошел и полный стек Java: (Open Source-
реализация платформы Java Platform, Enterprise Edition 5),
Java Platform Standard Edition (JDK 6), Java DB 10.2 (на базе
Apache Derby), интегрированная среда разработки с откры-
тым кодом NetBeans IDE 5.5. Все пакеты доступны в офици-
альном репозитории дистрибутива «multiverse».
Кроме того, стало известно о том, что в июле этого го-
да в рамках O'Reilly 2007 Open Source Convention пройдет
первая официальная конференция, посвященная Ubuntu
Linux, – Ubuntu Live, а также о том, что вместе со следу-
ющим релизом у Ubuntu появится полностью свободная
(в столлмановском понимании этого слова) версия. В раз-
работке свободной редакции Ubuntu будут принимать учас-
тие авторы GNU/Linux-дистрибутива gNewSense.

Adobe откроет код Flex, а Microsoft –


Silverlight
Компания Adobe объявила о своем намерении открыть ис-
ходный код Flex, программного обеспечения для создания
приложений на базе Flash. Не прошло и несколько дней
с момента этого анонса, как от корпорации Microsoft ста-
ло известно, что она собирается анонсировать частичное
открытие кода своей технологии Silverlight, выступающей
в роли прямого конкурента Flash.
Бета-версия Flex, что появится летом, уже будет обна-
родована под лицензией MPL (Mozilla Public License). Анали-

№5, май 2007 


репортаж

Sun Tech Days в Санкт-Петербурге

Корпорация Sun Microsystems в рамках мирового тура 11-13 апреля в Санкт-Петербурге


провела конференцию Sun Tech Days.

М
есто проведения было выбрано было разделено на 4 потока: Java EE, скучно посетителям не будет, все по-
удачно – гавань, выставочный Java SE, Solaris и мастер-класс, 12 ап- лучат подарки и будут разыграны фир-
комплекс ЛенЭкспо, огромное реля на: Java ME, Java, Solaris и опять менные рабочие станций Sun.
помещение, способное вместить тыся- же мастер-класс, а 13 апреля на 3 сек- Итак, конференция открылась и на-
чи посетителей. ции: NetBeans, OpenSolaris и Java-уни- чалась с награждения победителей
«Технические дни» состояли из верситет. в конкурсах JavaKonkurs и Electronic
трех основных мероприятий: собс- Jungle, к сожалению, не все победите-
твенно Sun Tech Days 11,12 апреля День первый ли конкурсов смогли прибыть на кон-
и OpenSolaris Day с NetBeans Day, про- Ранним пасмурным утром, пройдя ференцию, но приехавших наградили
водившиеся в один день – 13 апреля. к большому комплексу и зайдя в 7-й грамотами, вручили футболки и ви-
Мероприятия были открыты для же- павильон посетители увидели пре- деокарты.
лающих узнать о продуктах и даль- красных блондинок, одинаково одетых Далее на сцену вышел Джефф
нейших планах развития компании Sun в фирменные белые футболки и чер- Джексон (Jeff Jackson) – старший вице-
Microsystems. ные бейсболки компании Sun, встреча- президент группы разработки Solaris
Программа конференции включа- ющих всех входящих посетителей. в компании Sun Microsystems. Он рас-
ла в себя ежедневный пленарный до- Пройдя регистрацию, все направ- сказал о больших достижениях ком-
клад в первой половине дня, а затем лялись в конференц-зал слушать всту- пании на рынке серверного и клиент-
программа разделялась по разным на- пительное слово организаторов. Пер- ского программного обеспечения, бы-
правлениям. 11 апреля мероприятие вое, что пообещали организаторы, – ли упомянуты успехи сотрудничест-


репортаж
ва Sun и AMD в области высоких тех-
нологий.
Пленарный доклад включал в себя
много вводных понятий о преимущес-
тве открытого программного обеспе-
чения, о продукции компании Sun, та-
кой как среды разработки Sun Studio
12 и NetBeans 5.5. Наибольший инте-
рес у посетителей вызвал показ де-
моверсии нового объектно ориен-
тированного языка программирова-
ния под кодовым названием «F3».
Как и следовало ожидать, язык очень
похож на Java. Как заявили докладчи-
ки, с помощью этого языка и средств
разработки от Sun создавать ПО ста-
нет проще. Во время презентации бы-
ла показана игра lines, написанная
на «F3», состоящая всего из 360 стро-
чек кода. При этом в процессе добав-
ления новых функций в игру на пре-
зентации произошел небольшой курь-
ез: выполнив операцию <Ctrl + Insert> Место проведения конференции, 7 павильон выставочного комплекса ЛенЭкспо
и <Shift + Insert>, содержимое буфера
обмена «вставилось» 5 раз в различ- зирована работа ОС Solaris с процес- вопросов. Сложно объяснить, с чем бы-
ных местах кода программы, поиск сорами Intel. ло связано такое оживление, возмож-
ошибок сопровождался бурными ап- Далее было рассказано об улуч- но, с тем, что конференция все же бы-
лодисментами посетителей. шении работы PostgreSQL в ОС Solaris ла нацелена на разработчиков и те-
После перерыва аудитория разде- и богатых возможностях Ser vice ма оптимизации компиляторов «заде-
лилась, каждый выбирал то направ- Management Facility, о том, что эта ОС ла за живое» аудиторию, но, возмож-
ление, которое было ему интереснее; одна из самых быстрых UNIX-подобных но, это было связано и с тем, что вы-
не являясь Java-разработчиком, я вы- ОС, о многоплатформенности, в кон- ступал первый русскоговорящий до-
брал поток, посвященный ОС Solaris. це Крис похвастался тем, что у Sun кладчик в этот день. Только по одно-
Технический обзор о Solaris на- Microsystems крупные партнеры, такие му этому поистине кульминационно-
чал Крис Армс (Chris Armes) – дирек- как AMD, Intel, HP, Dell и другие. му моменту, когда возникли шумные
тор подразделения Solaris Revenue Передали слово нашему соотечес- споры и было задано множество воп-
Products Engineering. Нужно сразу за- твеннику, и был начат доклад на тему росов, можно с уверенностью сказать,
метить, что весь поток Solaris в первый Sun Studio 11. Аудитории рассказыва- что Sun Tech Day ждали!
день конференции не совсем был пос- ли, что данный пакет – среда разработ- После обеда посетители разо-
вящен операционной системе, скорее ки, набор инструментов и компилято- шлись рассматривать установленные
он был о программном обеспечении ров для разработчиков, распростра- на конференции стенды. Один из них
компании Sun Microsystems. няемый бесплатно, но только в бинар- с сервером Sun Fire T2000. Рассмат-
Крис Армс рассказывал о том, никах. Отличие от платной версии со- ривая дорогую «игрушку», попроси-
что Sun – единственная компания, ко- стоит в том, что нет технической под- ли сотрудников Sun продемонстриро-
торая гарантирует совместимость би- держки и некоторых модулей. Нужно вать возможность горячего отключе-
нарных пакетов во всех ОС Solaris от 2 заметить, что, как только зашла речь ния блоков сервера; ответом на дан-
до 10 версий, также говорил о плюсах о компиляторах Sun, о том, что мно- ную просьбу было легкое движение
открытого и свободного программно- гоядерность/многопоточность всегда руки и изъятие блока питания из ра-
го обеспечения. Далее Крис демонс- была «коньком» компании, зал резко бочей машины. На просьбу повторить
трировал достоинства пакета Sun оживился и, не дав завершить обзор, то же самое с процессором ответили
Studio 11, вкратце рассказав о плюсах засыпал докладчика вопросами: «По- отказом, мотивируя это тем, что про-
оптимизации и компиляторах С, С++, чему и за счет чего достигается опти- цессор установлен в одном экземп-
Fortran, входящих в пакет. мизация?», «Совместима ли Студия ляре. В ходе дальнейшего разговора
Отдельно было упомянуто о со- с GCC?», «Возможна ли установка под с сотрудниками Sun выяснились ин-
трудничестве Sun и Intel. Крис объ- Linux?», «Как компилятор работает тересные факты об аппаратной части
явил, что отныне два гиганта будут бо- с потоками?» и многие, многие другие. сервера, о том, что используемая ар-
лее плотно сотрудничать между собой, В итоге из зала на сцену вышел один из хитектура sparc в Sun открыта (http://
были заключены определенные дого- российских разработчиков Sun Studio www.opensparc.net), и другие моменты,
вора о сотрудничестве, будет оптими- и попытался ответить на большинство но наиболее интересным оказалось то,

№5, май 2007 


репортаж
зданы только на базе Red Hat Linux 3.5
и CentOS также, Linux-зоны ограниче-
ны ядром 2.4.
Третий день конференции был пос-
вящен ОС OpenSolaris. В первую поло-
вину дня сотрудники Sun пропаганди-
ровали свободное ПО и OpenSolaris,
в частности, но, кроме этого, расска-
зывали об обучении и сертифика-
ции. Sun приглашает к сотрудничеству
вузы России, распространяя програм-
мы обучения и сертификации. В част-
ности, для вузов предоставляются бес-
платное русскоязычное ПО и методи-
ческие указания, при необходимос-
ти поставки оборудования Sun про-
дает его со значительными скидка-
ми, а обучение преподавателей про-
изводится за счет Sun. Для студентов
(вузов участников) бесплатно предо-
ставляется доступ к образовательно-
Конференц-зал. Поток Solaris му веб-порталу (Web Learninig Center),
программам обучения от Sun (разра-
что один из представителей Sun в не- и новостями, возможно, это предви- ботанным преподавателями Sun), сер-
далеком прошлом работал над оте- дели и посетители, которых было за- тификации по теме Java программиро-
чественным процессором Эльбрус 3. метно меньше. вания или администрирования Solaris
Многие знают, сколько тайн и интриг В этот день из выступлений стоит со скидками от 50 до 80%.
было вокруг этого процессора, поэ- выделить доклад о контейнерах и зо- Во второй половине дня из всех
тому не упущу шанса приоткрыть за- нах в ОС Solaris. выст уплений стоит выделить до -
весу тьмы. Зоны – это полностью изолиро- клад о файловой системе ZFS, о ней
Главное достоинство отечествен- ванные программные копии машины была подробная публикация в №3
ного процессора в том, что в нем ре- ОС Solaris. Многие посетители путали за 2007 г.
ализована программируемая систе- зоны с виртуальными машинами, пол-
ма команд (как в Sun sparc), архитек- ностью эмулирующими операционные Итог
тура, аналогичная IA64, тактовая час- системы и оборудование (наподобие В целом конференция прошла вели-
тота 900-1200 МГц. По общей произ- VMware), из-за чего возникала пута- колепно. Постоянно проводились кон-
водительности процессор был при- ница и неправильные вопросы к до- курсы по Java и всем ее направлени-
мерно равен 1,7 МГц Атлону. Два года кладчику. Поэтому специалист Sun ям (EE, SE, ME, ...), отдельные розыг-
назад были изготовлены опытные об- был вынужден отдельно уточнить по- рыши от Sun и спонсоров. Каждый
разцы, которые успешно функциони- нятие: зона – это что-то между chroot день посетителям раздавали подар-
ровали, но на запуск в массовое про- и VMware, но не то и не другое. Ос- ки: рюкзаки, майки, бейсболки, игруш-
изводство не было денег, на этом все новное предназначение зон – созда- ки и многое другое. Sun явно не скупи-
и завершилось. ние безопасных контейнеров и сис- лась на подарки, в чем и призналась:
Итак, первый день конференции тем управления ресурсами в ограни- «Мы ничего не повезем обратно, это
подходил к концу, наиболее интерес- ченной среде. все для вас».
ные доклады прошли, наступал вечер, Далее были представлены некото- Также нужно заметить, что мероп-
погода за окнами испортилась, пошел рые методы организации зон и проде- риятие было крайне информативным,
снег, но Sun Microsystems обещала ус- монстрирована их работа. Наиболь- посетители, желающие знать больше,
троить яркий вечер и сдержала сло- ший интерес аудитории вызвала воз- с легкостью общались с разработчи-
во. К 19.00 еще не утихали професси- можность организации Linux-зон ками систем предлагали им свои идеи,
ональные споры, а на первом этаже в Solaris. Данная возможность была критиковали, обсуждали, заключали
комплекса начала выступать рок-груп- предусмотрена для безопасной сов- договора и просто общались в «сво-
па и был открыт великолепный пивной местимости двух операционных сис- ем кругу». За все эти предоставлен-
фуршет с шашлыками и многочислен- тем. В качестве примера было предло- ные возможности и хочется поблаго-
ной закуской. жено запустить СУБД Oracle, свободно дарить организаторов, конференция
распространяемую для Linux, но не до- удалась!
День второй и третий ступную для пользователей Solaris,
К сожалению, второй день конферен- в специально созданной зоне. К со- Иван Максимов,
ции был менее насыщен событиями жалению, Linux-зоны могут быть со- фото автора


репортаж

Конференция РИТ-2007 собрала


веб‑разработчиков России
16 и 17 апреля в московском конференц-центре «ИнфоПространство» прошла первая
конференция российских веб-разработчиков «Российские интернет-технологии-2007».

Открытие рование центра веб-разработок в Рос- ти мероприятия, заявив, что конферен-


В 10.00 первого дня в зале №1 состо- сии – ведь есть чем гордиться Отечес- ция должна быть максимально прак-
ялось открытие конференции. С при- тву и в этой области. Завершил свое тичной. Ведь обмен опытом и новые
ветственным словом выступили орга- небольшое выступление Бунин коло- знания – это, безусловно, в интересах
низаторы и присоединившиеся к ним ритным заявлением: «Надо учиться самих участников.
заметные фигуры рунета. Всего бы- думать!». Завершил церемонию открытия
ло задействовано 4 зала, но почти Перехвативший эстафету Яндекс- Игорь Ашманов, повеселивший пуб-
все свое время на РИТ-2007 я провел гуру Илья Сегалович подтвердил сло- лику выражением своей надежды,
в первом зале. Бывали, конечно, мо- ва своего предшественника конкрет- что «еще не все из вас работают
менты, когда хотелось «разорваться ными примерами отечественных до- в SUP». Однако быстро закончив
на части», однако наибольший инте- стижений, используемых всем миром с шутками, он высказался о светлом
рес вызывали доклады, представлен- в IT вообще и в веб-разработках в час- будущем отечественного рынка веб-
ные в первом зале. тности. К ним он причислил марковс- разработок.
Олег Бунин, председатель про- кие цепи, давно ставшие неотъемле-
граммного комитета, хорошо извест- мой составляющей в обработке текс- Первые доклады:
ный сообществу многолетним опытом та, и расстояние Левенштейна – ана- Игорь Сысоев
работе в Рамблере, рассказал о про- логично, но уже для сравнения строк. После открытия в зале №1 началась
исхождении мероприятия. Первая не- Кроме того, упомянул и преуспеваю- секция «Разработка больших интер-
формальная встреча веб-разработчи- щего в Google Сергея Брина. После нет-сайтов». И первым докладчи-
ков, с которой можно начинать отсчет чего призвал собравшихся стремить- ком в ней стал Игорь Сысоев, автор
времени подготовки РИТ‑2007, про- ся к созданию «качественных продук- nginx, скромно охарактеризованный
шла в августе прошлого года. И вот тов, которые заразят весь мир виру- Буниным как «звезда» – впрочем, он
к середине весны инициатива сни- сом», как это получилось у эстонцев без преувеличений значимая фигура
зу, желание веб-разработчиков по- со Skype. для рунета последних лет.
делиться опытом с коллегами, была Павел Рогожин, председатель ор- Первое выступление Сысоева бы-
воплощена в жизнь. В качестве глав- ганизационного комитета, сделал ак- ло посвящено его проекту – nginx [2].
ной цели действа обозначено форми- цент на еще одной важной особеннос- Статистические данные по российско-
му Интернету за март 2007 года сви-
детельствуют о том, что ngnix стреми-
тельно набирает обороты: именно он
обслуживал HTTP-запросы исследо-
вателей в 22,7% случаях [3].
Автор рассказал, что начал зани-
маться проектом nginx весной 2000
года, на первый этап разработки уш-
ло около 2 лет. Затем было проведено
успешное внедрение сервера на такие
ресурсы, как zvuki.ru и photo.rambler.ru.
Но первый публичный релиз (0.1.0) по-
явился значительно позже – 4 октября
2004 года [4]. Сысоев рассказал об ар-
хитектуре сервера и «волшебных пу-
зырьках», позволяющих добиваться
высокой производительности: kqueue,
epoll, /dev/poll, event ports, select и poll;
sendfile. Вместе с тем обозначил ос-
Организатор конференции РИТ-2007 – Олег Бунин новные приоритеты для nginx, кои-


репортаж
ми являются раздача статики, под-
держка режима Keep-Alive, обработ-
ка большого количества соединений,
проксирование. Среди достоинств ав-
тор выделил гибкость настройки, воз-
можность обновления конфигурации
налету, быструю ротацию логов и лог
для отладки. Особое внимание бы-
ло уделено планам на будущее. Сре-
ди них: различное кэширование, огра-
ничение числа соединений с backend,
введение возможности просмотра со-
стояния сервера (в удобном виде), раз-
витие встроенного модуля Perl, небло-
кируемая работа с MySQL (в привязке
к Perl), фильтры тела запроса, замена
модуля rewrite на собственный script-
модуль (в докладе не раз сообщалось,
что автору не нравится существующий Разработчик nginx – Игорь Сысоев
движок rewrite).
Сысоев продолжил секцию, вы- систем». В качестве примера для рас- о популярности языков программиро-
ступив со вторым сообщением. Те- смотрения был по очевидным причи- вания, на которых написано использу-
перь уже по настройке операцион- нам взят проект веб-почты, где все емое в Яндексе ПО, Оболенский отве-
ной системы FreeBSD (рассматрива- глобальные задачи разделены между тил, что 80% на C++, 15% на Java, ос-
лась версия 6.2, однако присутствова- backend (приложения для которого на- тальное – на Perl и других языках.
ли некоторые комментарии и по дру- писаны на C/C++ – для скорости рабо-
гим веткам/релизам) в случаях высо- ты) и frontend (на скриптовом языке для Хостинг, AdRiver
кой нагрузки (вариант обслуживания лучшей и более быстрой адаптации в Дмитрий Даниленко из .masterhost
порядка 100-200 тысяч соединений). случае появления новых требований выступил с докладом о том, как в его
В качестве способов улучшения быс- у заказчика). Сама структура храни- компании пришли к предоставлению
тродействия были приведены такие мой почты устроена по следующему виртуальных серверов и какие пре-
рекомендации, как, например, огра- принципу: пользователь представля- имущества это дает клиентам. В ка-
ничение по количеству mbufs, увели- ет собой каталог в файловой систе- честве базы для виртуальных сер-
чение количества буферов (kern.ipc. ме, письмо – файл (в том виде, в ка- веров была выбрана ОС GNU/Linux
nmbclusters), увеличение памяти, до- ком письмо было принято). Кроме то- с Virtuozzo [5]. Однако на мой вопрос,
ступной для ядра. го, для каждого каталога должен гене- почему, например, не Linux-VServer,
рироваться индексный файл с уже от- адекватного ответа так и не после-
LAMP, большие системы, сортированным списком и обработан- довало, если, конечно, не восприни-
архитектура Яндекса ными полями MIME, чтобы не обраба- мать за таковой фразы в стиле «Ведь
После кофе-брейка тематика смес- тывать письма при каждом запросе на всегда нужно что-то выбирать!»... Ис-
тилась в сторону организации проек- просмотр их списка. ходя из этого (VZ) уже была опреде-
тов крупной архитектуры. Здесь пер- Олегу Оболенскому своим ярким лена и панель управления – Plesk:
вым выступил один из бывших раз- выступлением по архитектуре Яндекса от того же производителя (компании
работчиков СУБД MySQL Петр Зай- удалось развлечь слушателей перед SWsoft), обладающая хорошей интег-
цев, который рассказал о распреде- обедом. Привнеся в зал веселую и не- рацией с Virtuozzo. «Главным в VPS»
ленной архитектуре LAMP-приложе- принужденную атмосферу (возмож- была названа оптимизация, к которой
ний (Linux, Apache, MySQL, Perl/PHP/ но, не самую подходящую для уровня причислены жесткие и мягкие ограни-
Python). Видимо, ввиду собственных доклада), он сохранял ее до победно- чения по ресурсам. Также Даниленко
профессиональных интересов сразу го конца, при этом рассказывая об ис- особо выделил vzmigrate, что обеспе-
после краткого введения докладчик пользуемой в Яндексе с 2001 года ар- чивает переход на другой тарифный
перешел к вопросам масштабируе- хитектуре CORBA (Common Object план хостинга, как правило, без оста-
мости MySQL. И только затем вернул- Request Broker Architecture). Особый новки сервера.
ся к некоторым другим проблемам уже акцент был поставлен на модульность: Позже Сергей Бакунин рассказал
на уровне Web, HTTP, а также связан- в случае «падения» какого-либо ком- о более простом (по сравнению с пер-
ным с большими файлами. понента на его месте на сайтах выво- вым докладчиком этой части сек-
Следующим перед аудиторией за- дится либо кэш, если он еще актуа- ции) решении RU-CENTER, где до сих
ла №1 предстал Александр Горный, лен (в таком случае пользователь ни- пор используют виртуальный хостинг.
продюсер Почта.ру, с общим докладом чего и не замечает), либо какая-то дру- А между двумя докладами по хостингу
по «разработке архитектур больших гая доступная информация. На вопрос Всеволод Потапов со своим коллегой

№5, май 2007 


репортаж
Колышевым поведали о том, как им что вышел он с внушительным напиль- чий, зачастую вызывающих ожесто-
с помощью фрагментации и репли- ником, который поднял вверх при сло- ченные споры.
каций удалось справиться с пробле- вах «... не придется прибегать к же- Завершился этот день конфе-
мами нагрузок на баннерную систе- лезным предметам!». Григорий Ба- ренции докладом Дмитрия Котерова
му AdRiver, которая на «обычном» ре- кунов развил тему доклада, расска- по HTML_MetaForm – о том, как рабо-
шении с MySQL продержалась лишь зав, зачем Яндекс использует Django. тать с метаданными HTML-форм, цен-
до 1998 года. Основных причин на то 4, и заявле- трализовать их и защитить формы
ны они были забавно: «это что-то но- от подделок.
Серверное венькое», «это быстро», «это весело»
программирование и «это модно». Так что Django приме- Качество
Новая секция первого зала, «Сервер- няется как средство сверхбыстрой Темой первой секции зала №1 во вто-
ное программирование», началась разработки и прототипирования. Пос- рой день стало «Качество». Открыл
с двух последовавших друг за другом ле этого Олег Андреев противопоста- ее очень лаконичный провокацион-
конкурирующих докладов, посвящен- вил Django альтернативу – написанный ный доклад «инженерного психолога»
ных веб-фреймворкам. на Ruby фреймворк Ruby-on-Rails [7], Дмитрия Сатина под названием «По-
Иван Салагаев рассказал публи- со схожей идеологией (Django появил- чему юзабилити?». И своей цели – мо-
ке об основах написанного на Python ся позже и действительно многое пе- жет, не с таким размахом, какой можно
фреймворка Django [6]. При этом шарм ренял у этого проекта), но и не мень- было ожидать после соответствующе-
его выступлению придал тот факт, шим числом принципиальных отли- го предупреждения в начале выступ-
ления, – он добился. Смелые вопросы
вроде «Вы уверены, что ваши пользо-
ватели не называют ваш продукт от-
стойным?» и дальнейшие рассужде-
ния и советы должны были заставить
публику хотя бы задуматься о пробле-
мах usability. Универсальное же реше-
ние по Сатину – «соберите данные!»,
и уже основываясь на них, улучшай-
те продукт.
Следующим докладчиком стал Ан-
дрей Удалов, который выдвинул свою
формулу для Web 3.0 и раскрыл ее
смысл. По его мнению, третья вер-
сия веба – это Web 2.0 в сочетании
с usability. Автор привел несколько на-
глядных примеров из серии «есть ку-
да расти» среди популярных сервисов
с краткими пояснениями, что он счита-
Выступление Дмитрия Даниленко из .masterhost было посвещено виртуальным серверам ет сделанным у них неудобно: Мой Круг,
YouTube, GMail, Google Reader.
Платон Днепровский поделился
опытом работы с usability-подрядчика-
ми, что для многих, конечно, в новин-
ку, но уж точно не для него. Днепров-
ский выделил главное в работе юза-
билистов – это взаимодействие лю-
дей, а вовсе не раскрашивание кно-
пок, их расположение или проектиро-
вание приложений. Из взаимодейст-
вия людей и нужно исходить при ре-
ализации проекта, причем о usability
нужно, конечно же, задумываться еще
до этой реализации. Также он упомя-
нул о том, как на начальных стади-
ях доказать полезность привлечения
usability-подрядчиков.
Андрей Оконечников выступил
с наиболее запомнившимся мне до-
Иван Салагаев рассказал об основах написанного на Python фреймворка Django кладом под названием «Профессия

10
репортаж
frontend-архитектор». Автор попы-
тался донести до слушателей смысл
этой новой профессии, которая еще
фактически никак не представлена
в России, хотя потребность в ней есть.
Frontend-архитектор должен не только
обладать огромным багажом знаний
в различных областях (как в верстке,
так и в программировании, usability,
accessibility, дизайне UI и многом-мно-
гом другом), но и уметь общаться на
языке разработчиков, принимать кри-
тические решения, а также постоянно
следить за технологиями. В некотором
смысле эта профессия схожа с уже ус-
тоявшейся должностью «системно-
го архитектора», но у последней – ос-
новной акцент делается на техничес-
кую сторону. «Инженерный психолог» Дмитрий Сатин представил доклад об usability
Затем опять выст упил Андре-
ев с призывом ко всем переходить ло вкратце освещено будущее (в час- ными. Разумеется, до совершенства
на UTF‑8 (в рамках «важнейших при- тности, сказано, что текущее поло- далеко (как, впрочем, и всему в этом
нципов работы с текстом и кодиров- жение готово к росту в 3‑5 раз). Од- мире), однако она действительно по-
ками»). нако публике представленные дан- лучилась намного более практической,
ные явно не пришлись по душе, и один полезной и просто приятной, чем это
Базы данных за другим посыпались комментарии «обычно» бывает на подобных мероп-
После обеда открылась новая сек- с претензиями к такой организации, риятиях.
ция «Базы данных», открыл выступ- на что докладчики отвечали не очень Появились основания полагаться
ления в которых «старый знакомый»: уверенно. на то, что в будущем организаторам
Петр Зайцев теперь сосредоточился Иван Золотухин выступил с со- удастся повышать уровень конферен-
на своем любимом занятии – оптими- общением про другую Open Source- ции и не только сделать его «замеча-
зации MySQL. В случае возникнове- СУБД – PostgreSQL. После краткого тельным» поводом для веб-разработ-
ния проблем с производительностью введения докладчик перешел к бо- чиков, чтобы встретиться, но и помо-
он посоветовал удостовериться в том, лее детальному описанию таких до- гать в формировании, укреплении та-
что дело вообще в MySQL, а уже по- стоинств этой СУБД, как отказоустой- кого сообщества в России.
том предложил несколько методик чивость, балансировка нагрузки, мас-
оптимизации. Среди них были затро- штабирование, репликация, а также P.S.
нуты такие аспекты, как лог медлен- некоторых решений: pgpool‑II, Slony‑I, Отмечу, что в обзоре кратко освещена
ных запросов, настройка MySQL (важ- PgCluster, проекты Skype (PL/Proxy лишь малая часть конференции, и на-
ные параметры), оптимизация схемы для проксирования запросов, лег- помню, что выступления/обсуждения
и запросов. кий менеджер соединений PgBounce, проходили одновременно в 4 залах.
После этого был представлен до- SkyTools для управления кластером).
клад, который вызвал резонанс в ау- Позже его дополнил Олег Барту- P.P.S.
дитории. Назывался он вполне безо- нов с докладом о реализации про- Архив презентаций, которые были
бидно: «Опыт использования MySQL двинутого полнотекстового поиска представлены на конференции, вы
в LiveInternet.ru». В нем Андрей Гу- в PostgreSQL, которая сейчас исполь- можете найти на сайте конферен-
рьянов рассказал об архитектуре зуется на официальном сайте этой ции [1].
LiveInternet.ru: 2 frontend-сервера, 5 – СУБД. С аналогичным сообщением
backend (0w-http и PHP), 3 – с малы- (по полнотекстовому поиску) примени- 1. http://www.rit2007.ru.
ми базами данных (3-6 ГБ), 1 - с кэ- тельно к MySQL вновь выступил Зай- 2. http://sysoev.ru/nginx.
шем (memcached), 1 – с резервной ко- цев, который сфокусировался на про- 3. http://www.nixp.ru/news/8248.
пией. Все работает под управлением екте Sphinx [8]. 4. http://sysoev.ru/nginx/changes.html.
FreeBSD 6.1/6.2, а в качестве СУБД ис- Обобщил сведения об оптимизации 5. http://www.swsoft.com/en/virtuozzo.
пользуется MySQL 4.0.27. производительности баз данных веду- 6. http://www.djangoproject.com.
Коллега Гурьянова Максим Быст- щий секции Денис Бесков-Доронин. 7. http://www.rubyonrails.org.
ров обозначил основные методы оп- 8. http://www.sphinxsearch.com.
тимизации: отказ от JOIN, минимиза- Вердикт
ция количества таблиц, разделение В целом впечатления от конференции Дмитрий Шурупов,
таблиц, кэширование. После чего бы- остались на удивление положитель- фото автора

№5, май 2007 11


администрирование

Обзор новой версии дистрибутива


Debian GNU/Linux 4.0

Debian – это платформа не только для программных


приложений, но и для других платформ тоже.

Ян Мердок

Евгений Балдин
Говоря о Debian GNU/Linux, поневоле приходится использовать превосходную степень: самый
всеобъемлющий, самый свободный, самый плодовитый дистрибутив GNU/Linux. 8 апреля 2007
года была объявлена стабильной четвёртая версия Debian. Что же в этом особенного?

Немного истории вряд ли кто-то рискнул бы предска- social_contract) был представлен сле-
Всё началось в 1993 году, когда Ян зать, что к 2007 году число активных дующим после Яна лидером проек-
Мердок (Ian Murdock) анонсировал разработчиков Debian будет превы- та Брюсом Перенсом (Bruce Perens)
создание некоммерческого проек- шать 1060 человек. в 1997 году. После месячного обсуж-
та по созданию дистрибутива GNU/ Человеку на необитаемом остро- дения договор, в котором постули-
Linux, поддерживаемого и развива- ве нет необходимости в социальных ровалась приверженность свобо-
емого исключительно добровольца- навыках, но когда для достижения де (лицензионная чистота програм-
ми. Ян дал имя своей идее в честь са- общей цели собирается сообщество, много обеспечения) и честности (за-
мого себя (Ian) и своей подруги, а ны- необходим общественный договор. прет на сокрытие любой информа-
не жены Деборы (Debra). В то время И такой договор (http://www.debian.org/ ции от пользователей), был принят

12
администрирование
сообществом Debian. Значение этого Что нового n ARM (arm);
общественного договора трудно пе- С момента выхода предыдущего рели- n IBM S/390 (s390);
реоценить. По этим правилам сооб- за Debian 3.1 (Sarge) прошло чуть мень- n AMD64 (amd64).
щество живёт и развивается уже бо- ше двух лет. Для современного мира,
лее десяти лет. Ян Мердок давно ото- где гонка релизов рядовое явление, Своего часа на включение ждут:
шёл от своего детища и сейчас являет- это может показаться вечностью. В ка- n PPC64 (ppc64);
ся главой отдела операционных плат- ком-то смысле так оно и есть, и объ- n Hitachi SuperH (sh);
форм в Sun Microsystems, а Debian ём изменений, внесённых в Debian 4.0 n big-endian ARM (armeb);
GNU/Linux движется вперёд несмотря (Etch), вполне оправдывает затрачен- n Renesas Technology RISC (m32r).
на отсутствие своего основателя. ное на внесение их время. Счёт идёт
на тысячи программных пакетов: до- GNU/Linux является не единс-
Структура Debian бавлено свыше 6,5 тысяч, обновле- твенным ядром проекта. Существу-
Debian состоит из трёх различных дис- но свыше 10,5 тысяч, правда, и удале- ют социальные ветки разной степе-
трибутивов или веток: но по разным причинам чуть больше ни законченности для Debian/GNU
n stable или на текущий момент 3,5 тысяч программ. Несмотря на сле- Hurd (hurd‑i386), Debian GNU/NetBSD
Etch – наиболее под ходящий дование духу и букве свободного про- (netbsd-i386 и netbsd-alpha), Debian
для сервера дистрибутив. Про- граммного обеспечения разработчики GNU/kFreeBSD (kfreebsd-gnu).
граммы в стабильной ветке об- дистрибутива осознают, что пользова- Пока отдельно, в неофициальном
новляются только для исправ- тели хотят использовать и не совсем порядке, существует проект Nexenta
ления обнаруженных уязвимос- свободные программы. Свыше пяти- (http://www.gnusolaris.org) или Debian
тей. Стабильная ветка поддержи- сот таких пакетов помещено в специ- GNU/Solaris.
вается и обновляется специаль- альный раздел non-free. В качестве базы в дистрибутиве
ной командой безопасности DSA С выходом Etch, наконец-то, в спи- Etch теперь используется gcc (GNU
(http://security.debian.org – Debian сок официально поддерживаемых про- Compiler Collection) версии 4.1.1 и glibc
Security Team). Реакция на обнару- цессорных Debian GNU/Linux архитек- (GNU C library) 2.3.6. Чем дальше,
женную уязвимость очень опера- тур была включена AMD64. тем более популярным становится
тивна. После выхода нового рели- Вместе с ней этот список содержит скриптовый язык Python (версия 2.4.4),
за предыдущая стабильная версия 11 архитектур: не говоря уже о PHP (версия 5.2).
поддерживается в течение некото- n Sun SPARC (sparc); Почту предполагается по умолча-
рого времени, достаточного для не- n HP Alpha (alpha); нию рассылать с помощью Exim 4.63,
спешного тестирования и перехода. n Motorola/IBM PowerPC (powerpc); но никто не запрещает использовать,
Например, предыдущий стабиль- n Intel IA-32 (i386); скажем, Postfix 2.3.8 или Sendmail
ный релиз Debian Sarge будет под- n Intel IA-64 (ia64); 8.13.8.
держиваться ещё год. Установив n HP PA-RISC (hppa); Для создания веб-сервера предла-
на компьютер Debian Etch, можно n big-endian MIPS (mips); гается Apache 2.2. Базу данных мож-
жить размеренной и скучной жиз- n little-endian MIPS (mipsel); но выбирать среди популярной MySQL
нью без каких-либо неожиданных
сюрпризов. Если же очень хочет-
ся более нового софта, то всегда
этот софт можно собрать самому
или прибегнуть к услугам сторон-
них репозитариев, например, http://
www.backports.org.
n testing или на текущий момент
Lenny – дистрибутив, ориенти-
рованный на десктоп. Прежде
чем попасть в эту ветку, програм-
мное обеспечение обязательно
тестируется, но не вылизывает-
ся. Как следствие при обновле-
нии иногда возможны неожидан-
ности, как и в других дистрибути-
вах. Это плата за свежие програм-
мы. Тестовая ветка является заро-
дышем будущей стабильной.
n unstable или вечный Sid – дист-
рибутив для тестирования новых
программ. Это выбор разработчи-
ков и экспериментаторов. Текстовый инсталлятор Debian. Выбор языка

№5, май 2007 13


администрирование
5.0.32, надёжной PostgreSQL 8.1 и вос- видеокарт и облегчает их автоопре- В релиз включён последний ста-
ставшей из пепла FireBird 1.5.3. деление. GNOME по-прежнему явля- бильный FireFox 2.0.0.3, точнее, пере-
Значительно увеличено число па- ется рабочей средой по умолчанию, маркированный, то есть лишённый за-
кетов, так или иначе связанных с техно- но без проблем можно перейти на KDE регистрированных Mozilla Foundation
логией Java: официальные Java-паке- 3.5.5a, Xfce 4.4 или просто поставить товарных знаков, Iceweasel. Это да-
ты от Sun, Tomcat~5, Eclipse и тому по- fvwm 2.5.12. ло сообществу Debian возможность
добное. В дистрибутив включена под- Для работы с документами пред- накладывать патчи для обеспечения
держка NFS v4 и пакет Samba 3.0.24. лагается использовать OpenOffice.org безопасности без оглядки на Mozilla
С точки зрения программного 2.0.4a, что при общении с внешним ми- Foundation. Спорное, но гарантирую-
обеспечения рабочей станции следу- ром для большинства случаев являет- щее лицензионную чистоту дистрибу-
ет отметить окончательный переход ся рабочим решением, но по возмож- тива решение.
с XFree86 на X.Org, что значительно ности лучше взять сборку от Инфра Ре- Такой же перемаркировки подверг-
расширяет список поддерживаемых сурса http://www.i‑rs.ru/download. лись пакеты Mozilla Thunderbird 1.5.0.10
и Mozilla Seamonkey 1.0.8, ставшие
Icedove и Iceape соответственно.
Наконец-то в дистрибутив включи-
ли MPlayer (просмотр фильмов) 1.0rc1.
По умолчанию везде при установ-
ке предлагается UTF-8. Для «старич-
ка» KOI8-R наступают по настоящему
тяжёлые времена.
Общее число пакетов превышает
18 тысяч – всё это богатство разме-
щается на трёх DVD или на двадцати
одном CD. Это большой объём и ес-
ли по близости нет зеркала Debian,
то имеет смысл приобрести дистри-
бутив.
Предыдущий стабильный релиз
помещался на одном DVD. Это связа-
но с крупными вливаниями новых па-
кетов подобными TeX Live (флагманс-
кий дистрибутив LaTeX).
Важной особенностью стабильно-
го релиза является полная поддержка
Новый графический инсталлятор Debian. Выбор языка стандарта LSB 3.1 (Linux Standard Base
http://www.linux-foundation.org/en/LSB).
Наличие этого стандарта позволяет
сгладить различия между дистрибу-
тивами GNU/Linux. Опираясь на согла-
шения LSB, сторонние производители
программного обеспечения могут пос-
тавлять свои решения, гарантирован-
но работающие в дистрибутивах, под-
держивающих этот стандарт. На се-
годня фактически все основные сов-
ременные дистрибутивы обеспечива-
ют такую возможность.
Кроме с танд артного с ервис а
для обновления программ в случае
обнару жения проблем с безопас-
ностью http://security.debian.org офи-
циально представлен сервис debian-
volatile (http://volatile.debian.org) – быс-
трые обновления для пакетов, кото-
рые по своему предназначению быс-
тро устаревают. К таким пакетам от-
носятся антивирусы, спам-фильтры
Приглашение на вход после установки (установлены пакеты базовой системы
и пакеты пользовательской станции) и т. п.

14
администрирование
Чуть-чуть об установке
Сам процесс можно разбить на следу-
ющие основные этапы, которые требу-
ют вмешательства человека:
Перед установкой в обязательном
порядке следует сделать копию уже
имеющихся на жёстком диске пользо-
вательских данных.
Далее нужно загрузиться с устано-
вочного DVD/CD/USB-брелка или даже
флоппи-диска.
Если после загрузки на первый воп-
рос «Press F1 for help, or Enter to Boot:»
нажать <Enter>, то далее предлагается
выбрать язык установки. Стандартный
инсталлятор Etch переведён на 58 язы-
ков. В дальнейшем текст подсказки бу-
дет идти на этом языке. Также предла-
гается выбрать страну проживания, ло-
каль и раскладку клавиатуры.
После загрузки базовой систе-
мы предполагается настройка се- Первый вход под пользователем
ти. Это необходимо, если установка
идёт не с CD/DVD, а по сети. По воз- При желании можно выбрать графи- читать примечания к выпуску Etch:
можности всё определяется автома- ческую версию установщика (надо на- http://www.debian.org/releases/etch/
тически с помощью DHCP, но можно брать installgui при первом запросе), хо- releasenotes.
это сделать и вручную. Спрашивается тя она ничем не лучше стандартной. Определённо полезным для зна-
имя компьютера и домен, к которому Установочный диск также можно комства с системой является офици-
он принадлежит. использовать в качестве инструмента альный сайт проекта http://www.debian.
Программа установки предлагает спасения (Rescue). Для этого в качест- org/. Этот сайт многоязычный, и рус-
автоматически разметить и отформа- ве загрузочных параметров достаточ- ский является одним из основных язы-
тировать имеющийся диск. При жела- но добавить «rescue/enable=true». ков. Новички также могут почерпнуть
нии можно вмешаться в этот процесс. После установки имеет смысл под- интересную информацию на Debian-
После выбора часового пояса нуж- писаться на список рассылки команды Wiki http://wiki.debian.org.
но ввести пароль суперпользователя безопасности (подробности на http://
и завести непривилегированного поль- security.debian.org). Куда идёт Debian
зователя/пользователей. В качестве одного из источников В результате голосования в апреле
Когда установка базовой системы пакетов полезно указать сервер этой 2007 года новым лидером Debian стал
закончится, будет дана возможность команды, добавив в /etc/apt/sources.list Самуэль Хокевар (Samuel Hocevar)
выбрать из нескольких стандартных строку вида: из Франции. В своём предвыборном
наборов программного обеспечения. манифесте будущий лидер отказал-
В процессе настройки устанавливае- deb http://security.debian.org/ ↵ ся мириться с необходимостью выби-
stable/updates main contrib ↵
мых программных пакетов может пот- non-free рать две из трёх опций: большой, сов-
ребоваться ответить на несколько воп- ременный и качественный. Несмотря
росов уже по программам. Возможно, на ближайшем зеркале на крен в сторону размера и качества,
Несмотря на свою славу как сер- Debian есть копия этого архива, тогда, Debian развивается всё более и более
верного дистрибутива, Debian удиви- если это зеркало является безопасным, динамично. Хоть и с большим «скри-
тельно прост в настройке. Надо толь- можно указать и его. пом», но Etch вышел почти в два ра-
ко уметь читать, так как простых под- При обновлении с предыдущего за быстрее, чем предыдущий релиз
сказок и подробной документации стабильного релиза Debian 3.1 (Sarge) Sarge без ущерба качеству. Только
здесь в избытке. На любом этапе ус- никаких особых сложностей произойти большое и сплочённое сообщество
тановки всегда можно вернуться к на- не должно. Достаточно после указания позволит вобрать все современные
чалу. При желании для большего кон- источника пакетов в /etc/apt/sources.list идеи, не жертвуя при этом интереса-
троля процесса установки можно вой- выполнить стандартные команды: ми пользователей.
ти в режим эксперта (на первый воп- Сообщество у Debian большое.
рос сразу после загрузки надо набрать > aptitude update Останется ли оно сплочённым, по-
> aptitude upgrade
слово expert). кажет время – главный судья всех
Инсталлятор поддерживает в том Естественно, до прохож дения проектов. Больше решений хороших
числе и зашифрованные разделы. этой процедуры необходимо про- и разных!

№5, май 2007 15


на правах рекламы

UserGate – безопасный прокси-сервер


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

Ч
тобы подключить локальных поль- Также в прокси-серве-
зователей к сети Интернет, приме- ре имеются гибкие сете-
няются различные технологии. На- вые правила, позволяющие
иболее распространенний способ – ор- настраивать доступ поль-
ганизация доступа с помощью прокси- зователям, предоставляя
серверов. Среди множества подобных им только необходимые се-
программ стоит выделить одну, обла- тевые службы, например,
дающую мощными средствами адми- применяя строгую политику
нистрирования, гибкими политиками «Запрещено все, кроме того,
доступа, средствами защиты и в то же что явно разрешено». Затра-
время простую в эксплуатации, разра- гивая тему управления поль-
ботанную отечественными специалис- зователями, стоит заметить,
тами – прокси-сервер UserGate. что в прокси-сервер встро-
Чем выгодно отличается российс- ены все распространенные
кая разработка от разработок конку- и необходимые средства ав-
рентов? Прокси-сервер поддерживает торизации клиентов.
технологию NAT, осуществляет антиви- Во-первых, классический
русную проверку проходящего трафи- механизм идентификации, по IP‑адре- тью и стабильностью работы основных
ка, имеет встроенный межсетевой эк- су и/или MAC-адресу машины. Во‑вто- сетевых служб.
ран, информативную систему статис- рых, по имени пользователя и паро-
тики, журнал событий, средства управ- лю. В-третьих, экзотическая авториза- Вместо итогов
ления трафиком (создания тарифных ция, но не менее удобная по Windows Прокси-сервер UserGate обладает мно-
правил), различные механизмы авто- login. В-четвертых, используя поль- жеством других полезных свойств. Port
ризации и многое другое. Но не буду зователей Active Directory, что очень mapping – функция, позволяющая пере-
заострять ваше внимание на простых удобно при работе в сети контролле- направлять соединения с одного порта
и распространенных функциях, а пе- ра домена. на другой. Функция автодозвона при
рейдем к изюминкам UserGate. Что ж, подходим к главной изюмин- использовании модемного соединения
ке прокси-сервера UserGate – двойной и инициализируемая, если это необхо-
Безопасность офиса проверке трафика на вредоносный код. димо, при запросе со стороны клиента.
Организация безопасного совместного В чем она заключается? В UserGate Гибкие настройки кэш-хранилища, рег-
доступа в сеть Интернет весьма не про- встроены две антивирусные програм- ламентирующие время жизни, размер
стая задача. Для эффективной защиты мы – от «Лаборатории Касперского» и тип хранимых данных. Возможность
периметра сети в первую очередь не- и Panda Software, что позволяет гаран- использовать прокси в каскаде (спис-
обходимо защитить сам шлюз, для че- тировать «чистоту» информации, пос- ки). Мощные средства ограничения кон-
го в прокси-сервер UserGate встроен тупающей в офис, и безопасность ра- тента трафика для повышения инфор-
эффективный межсетевой экран, поз- боты клиентов. Дополнительно име- мационной безопасности офиса.
воляющий контролировать все входя- ются гибкие возможности настройки Рассматривая богатые возможнос-
щие и исходящие соединения, при этом антивирусов: можно выбирать, какой ти UserGate, можно уверенно сказать,
имеется функция журналирования всех трафик (http, ftp, почтовый), какой про- что он прекрасно подходит для орга-
происходящих событий, будь то раз- граммой будет проверяться. Допустим, низации совместного доступа в сеть
решенное или неразрешенное дейс- необходимо, чтобы поступающая кор- Интернет, обладая всей необходимой
твие. Так как современное серверное поративная почта была чиста от вредо- функциональностью. При всем этом,
программное обеспечение немысли- носного кода, будем проверять ее дву- описываемый прокси-сервер выго-
мо без возможности удаленного адми- мя антивирусами. В то же время необ- ден по экономическим параметрам –
нистрирования, в описываемом прокси- ходимо проверять http-трафик, где ско- нет переплаты за бренд и в то же вре-
сервере такая функция присутствует, рость работы является главным крите- мя простой в настройке и эксплуата-
так же как и необходимые средства ав- рием, здесь подойдет Panda. ции, что избавляет от сложных техни-
торизации. Для повышения общей бе- По совокупности всех функций ческих решений. Как ни крути – золо-
зопасности системы в UserGate имеет- можно заметить, что UserGate позво- тая середина.
ся опция запрета одновременной рабо- ляет достичь высокого уровня защиты,
ты нескольких администраторов. не жертвуя при этом функциональнос- Иван Максимов

№5, май 2007 17


администрирование

Обзор программ удаленного доступа:


выбирайте подходящую

Рашид Ачилов

Чем рабочее место системного администратора отличается от рабочего места обычного


пользователя? Тем, что на нем, как правило, установлен клиент системы удаленного доступа,
а иногда два или несколько. Для того чтобы виртуально «побывать» на удаленном компьютере,
используется широкий диапазон программ.

18
администрирование
Такие разные клиенты
Появлению большого количества
средств удаленного доступа способс-
твовали как объективные, так и субъ-
ективные причины, среди которых не
последнее место занимает банальная
человеческая лень – если можно зада-
чу сделать не сходя со своего рабочего
места, то зачем куда-то идти?
Здесь надо сразу заметить, что рас-
сматривать мы будем в основном про-
цедуры удаленного доступа в гетеро-
генной сети, а также в сети, состоящей
исключительно из компьютеров под уп-
равлением Windows.
В ко м п ьюте ра х, раб отаю щ и х
под управлением UNIX, проблема бы-
ла решена изначально путем установ-
ки средств удаленного доступа вместе
с операционной системой. Рисунок 1. Внешний вид окна настроек сервера Remote Administrator
Проблема возникла с распростра-
нением операционных систем Windows, Как правило, решение вопро - Все VNC-средства под Windows,
работающих исключительно в графи- са о том, каким же клиентом пользо- Timbuktu Pro, а также такие «гиганты»,
ческом режиме. ваться, начинается с вопроса «А ка- как Radmin и NetOp, относятся ко вто-
У системных администраторов, ра- кие задачи из числа тех, что нужны рой группе.
ботающих в службе технической под- мне, он умеет решать?» Для этого мы Все средства под UNIX, а также
держки, зачастую возникает необхо- разобьем все перечисленные клиен- RDC и Xmanager относятся к первой
димость показать что-то пользовате- ты на несколько групп по типу решае- группе.
лю, который может находиться на боль- мых ими задач: IDEAL Administration относится к са-
шом расстоянии – например, в дру- n Группа 1: средства организации мой малочисленной – третьей группе.
гом городе. терминальных сессий (терминаль-
У операторов серверов, как прави- ные сервера). Предназначена для Программы группы
ло, возникает необходимость работать имитации сети «майнфрейм – тон- «удаленный помощник»
на сервере, у которого зачастую может кие клиенты», когда несколько Начнем мы со второй группы, и как
вообще не быть монитора и клавиату- пользователей одновременно ра- с самой многочисленной, и как на-
ры, либо использоваться KVM. ботают за одним компьютером. Не- иболее ярко соответствующей назва-
Все это привело к возникновению смотря на то что в мире UNIX это су- нию «средства удаленного управле-
средств удаленного доступа как специ- ществовало изначально, в Windows ния». Основной причиной их появле-
ального отдельного класса программ. это появилось только с Windows NT ния стало то, что лучше один раз уви-
Итак, программы, участвующие Server Terminal Service Edition деть, чем сто раз услышать, и лучше
в обзоре: n Группа 2: средства «удаленной по- один раз показать, чем сто раз объяс-
n Remote Administrator (Radmin) мощи», когда локальный и удален- нять по телефону. Все программы этой
версии 3.0. ный пользователь используют од- группы основаны в той или иной мере
n Danware NetOp версии 9.00. ну и ту же сессию – перемещение на некогда изобретенном в AT&T прин-
n MetaVNC версии 0.6.0. курсора мыши локальным пользо- ципе удаленного кадрового буфера
n TightVNC версии 1.3.8. вателем видно удаленному и на- (remote frame buffer), при использова-
n UltraVNC версии 1.1.0.2. оборот. нии которого по сети передается толь-
n RealVNC версии 4.2.8. n Группа 3: средства «удаленного вы- ко копия экрана пользователя.
n Pointdev IDEAL Administration вер- полнения задач», не предоставля- Основной задачей программ груп-
сии 7.5. ющие непосредственного доступа пы является любой ценой показать
n Remote Desk top Connection к локальному
(RDC). указателю мы-
n Timbuktu Pro версии 8.6.3. ши и экрану, но
n Xmanager версии 2.0. имеющие воз-
n NX Client для Windows версии можность уда-
2.1.17. ленного выпол-
n TridiaVNC версии 1.4. нения опреде-
n Rdesktop версии 1.5.0. ленного набо-
n Free NX server версии 1.4.0. ра команд. Рисунок 2. Внешний вид программы Radmin Viewer

№5, май 2007 19


администрирование

Рисунок 3. Внешний вид окна Radmin Viewer, подключенного Рисунок 5. Внешний вид окна NetOp Guest, подключенного
к удаленному узлу к удаленному узлу

пользователю, что ему следует делать, или хотя бы уви- клиента и наоборот. При этом, разумеется, совместимость
деть содержимое экрана пользователя. достигается ценой потери дополнительных возможностей –
Поскольку управляемый компьютер может находиться передачи файлов, шифрования потока и т. д.
в общем случае в произвольной точке земного шара, в ход Программы же Radmin и NetOp не совместимы ни с чем.
идут разнообразные технические средства, призванные ус- Основные параметры программ приведены в итоговой
корить и упростить обмен кадровыми буферами. таблице (в конце статьи).
Это и компрессия потока, и блокировка на стороне сер-
вера визуальных эффектов перед передачей – удаление Remote Administrator (Radmin)
фоновой картинки, блокировка хранителя экрана, отклю- Первая в нашем обзоре – программа Remote Administrator
чение показа содержимого окон при перетаскивании и от- (Radmin), которая давно и прочно заняла свою нишу мел-
ключение передачи определенного вида событий – напри- ких и средних сетей. Неприхотливая, небольшая по обье-
мер, перемещений мыши на удаленную сторону, и пониже- му (11 Мб – дистрибутив сервера и 9 Мб – клиента), про-
ние настроек графики, и даже полное отключение управ- стая в настройках, способная работать «из коробки», рус-
ления – переход в режим «только просмотр». В данном ре- ский интерфейс – в этом, видимо, и состоит секрет попу-
жиме программа, имеющая возможность скрытого старта, лярности Radmin. Шифрование передаваемого контента
может использоваться как средство наблюдения. всегда включено, как-либо повлиять на его работу (задать
Как правило, все программы имеют серверную и кли- другие алгоритмы шифрования, изменить длину ключа) не-
ентскую компоненты – серверная часть принимает соеди- возможно. Программа использует собственные алгоритмы
нения, клиентская является программой для подключения упаковки потока.
и удаленной работы. При установке программа регистрируется как систем-
Практически все программы на основе VNC совместимы ный сервис. Впрочем, это можно изменить. Управление
друг с другом так, что, используя, например, UltraVNC в ка- доступом осуществляется как на основе Windows Security,
честве сервера, можно использовать RealVNC в качестве так и на основе внутренних списков пользователей, каждо-
му из которых могут быть сопоставлены отдельные права,
которые настраиваются довольно гибко – отдельные права
на управление компьютером, на просмотр экрана, на пере-
дачу файлов или обмен сообщениями.
Дополнительно управление доступом может осущест-
вляться на основе списков IP-адресов. Программа не име-
ет возможности скрыть факт своего присутствия и не име-
ет возможности заблокировать действия пользователя
по остановке сервиса (для пользователей, работающих
не с правами администратора), хотя, по словам разработ-
чиков, по специальному запросу под дополнительное со-
глашение представляется версия, которая может работать
в stealth-режиме.
При запуске программа размещает в системном лотке
значок, который светится синим при отсутствии подключе-
Рисунок 4. Внешний вид окна сервера Danware NetOp Host ния и желтым при подключении.

20
администрирование
При запуске поначалу кажется, что модули, программы дозвона до порно-
настроек меньше, чем у других про- сайтов и пр. Некогда в эхоконферен-
грамм. Присмотревшись, обнаружива- ции AVP.SUPPORT развернулась об-
ешь, что почти все настройки «на мес- ширная полемика на тему «Права ли
те», просто размещены они несколь- Kapsersky Lab, что включает Radmin
ко непривычно – на манер настро- в список программ, обнаруживае-
ек SSH-клиента PuTTY – слева дере- мых системой защиты». В настоящий
во настроек, справа – значения теку- момент по заявлению разработчи-
щей ветви. ков Radmin из программа полностью
Полностью отсутствуют настрой- удалена изо всех баз.
ки оптимизации контента (отключения Программа имеет русскоязычный
фоновой картинки, отключения визу- интерфейс, а также переведена еще
альных эффектов), настройки шиф- на 8 языков. Распространяется по ком-
рования потока и настройки оповеще- мерческой лицензии. Стоимость про-
ния о входящем соединении (впрочем, граммы составляет 49 долларов. От-
это реализовано только в NetOp). Зато мечу также, что клиента для платформ,
Рисунок 6. Внешний вид окна настроек
есть очень интересная настройка (ко- отличных от Windows, для данной про- сервера Danware NetOp Host
торая есть также и в NetOp) – можно граммы не существует.
настроить Radmin так, что перед под- Личное мнение: программа силь- граммах других производителей) ты
ключением будет спрашиваться разре- но уступает по возможностям NetOp, можешь изменить, а какие нет.
шение локального пользователя, и ес- но и для двух компьютеров она обой-
ли он откажет (или настроен автома- дется значительно дешевле, а бес- Danware NetOp
тический отказ), соединения не про- платную UltraVNC превосходит только В программе NetOp чувствуется сис-
изойдет. красивым интерфейсом и возможнос- темный подход. Разработчики про-
Здесь еще необходимо заметить, тью второй консольной сессии (правда, граммы не ограничились простым
что Radmin в отличие от NetOp не раз- надо сказать, довольно полезная воз- «удаленным помощником», а выстро-
личает ситуацию, компьютер заблоки- можность). Профессионалу, который или целую систему функций, в кото-
рован или не открыта локальная сес- привык сам выбирать, каким шифром рой режим «удаленного помощника» –
сия – если настроить автоматический какой длины шифровать поток и что только одна их них. Программа имеет
отказ и компьютер будет заблокирован, в этом потоке передавать, эта про- набор так называемых коммуникаци-
Radmin не сможет предоставить доступ грамма вряд ли подойдет – здесь есть онных профилей – набор заранее за-
к удаленному компьютеру, потому что определенный психологический мо- данных настроек для получения досту-
выдает запрос на подтверждение до- мент, когда возникает предубеждение па с использованием тех или иных про-
ступа на консоль, за которой никого против того, что нельзя самому решить, токолов. Набор профилей потрясает –
нет. Настроек, связанных с отключе- какие настройки в программе (из тех, здесь и IPX, и NetBIOS и HTTP, и, ко-
нием компонент программы – переда- что присутствуют в аналогичных про- нечно же, LAN. Программа позволяет
чи файлов, обмена сообщениями, тек-
стовой консоли, – достаточно.
К дополнительным сервисам, пре-
доставляемым программой, относят-
ся открытие дополнительной тексто-
вой консоли на целевом сервере и пе-
резагрузка целевого сервера.
Программа использует порт 4899,
который можно переопределить как
на сервере, так и на клиенте. Програм-
ма имеет возможность передачи фай-
лов между клиентом и сервером, а так-
же возможность текстового или аудио-
визуального обмена сообщениями.
Программа не совместима с други-
ми средствами удаленного доступа.
Дополнительно можно сказать,
что одно время программа пользова-
лась стойкой нелюбовью у Kaspersky
Antivirus – даже Radmin Viewer пери-
одически оказывался в так называ-
емых расширенных базах, в которых
перечислены рекламные и шпионские Рисунок 7. Внешний вид программы Danware NetOp Guest

№5, май 2007 21


администрирование

Рисунок 8. Внешний вид окна настроек сервера UltraVNC Рисунок 10. Внешний вид программы UltraVNC Viewer

в широком диапазоне настроить оптимизацию передавае- все отключены. В этом случае с использованием режима
мого контента – отключить можно не только фоновую кар- «только просмотр» программа может быть использована
тинку, но и визуальные эффекты и даже Active Desktop. как средство удаленного мониторинга.
Программа имеет широкий диапазон настроек аутенти- Разумеется, не забыты и такие вещи, как передача фай-
фикации доступа – на основе Windows Security, а также на лов, обмен сообщениями, текстовыми и аудиовизуальными.
основе внутренних списков пользователей. Каждому поль- Но настоящей «изюминкой» NetOp является так называе-
зователю могут быть предоставлены некоторые права, ко- мый remote management (я не перевожу этот термин, пото-
торых достаточно много, почти два десятка действий, – пра- му что для обозначения обычной сессии NetOp использует
ва на использование удаленной клавиатуры и мыши, права термин «remote control», что переводится практически точ-
на передачу файлов, на выполнение команд, на обмен сооб- но так же). Remote management реализует некоторый набор
щениями и т. д. Дополнительно можно задать пару MAC-IP задач, схожий с «Управлением компьютером» из стандарт-
для ограничения доступа только с определенных MAC‑адре- ной оснастки Windows-домена позволяет просмотреть со-
сов. Настройки шифрования контента могут быть выбраны стояние дисков, системные журналы, реестр, списки поль-
в широких пределах – от минимальных, при которых про- зователей и групп, открыть сессию текстовой консоли и про-
водится только проверка целостности данных, до полной смотреть отчет об аппаратном и программном обеспечении
шифровки 256-битным ключом. сервера. Это действительно уникальная возможность, ко-
Программа имеет возможность скрыть факт своего торая делает NetOp незаменимым помощником системно-
присутствия. Если программа запущена в так называемом го администратора сетей Windows. Вы, конечно, спросите –
stealth-режиме, ее можно «проявить», запустив специаль- а чем же она уникальна, когда все это есть в стандартных
ную программку showhost.exe. средствах? А тем, что компьютер, на котором установлен
Программа имеет режим настраиваемых оповещений модуль Host, может входить в совсем другой домен или же
о подключении – звуковые, визуальные, которые могут быть не входить ни в какой.
Если значок сервиса не скрыт из системного лотка,
то при подключении символическое изображение воздуш-
ного змея обводится двойной рамкой.
Порт, используемый программой в профилях LAN (TCP),
Internet (TCP) и TCP/IP – 6502. Его значение можно пере-
определить. В профиле HTTP используется стандартный
порт 80. Программа не совместима с другими средствами
удаленного доступа.
Программа пока не имеет русскоязычного интерфейса,
хотя версия для Windows переведена более чем на 10 языков.
По информации представителей Danware в России, компа-
нии «Аксис Проекты» (http://www.cybercontrol.ru) перевод
на русский язык планируется в конце года. Распространя-
ется по коммерческой лицензии. Стоимость программы
вычисляется в зависимости от количества приобретаемых
лицензий, причем модули сервера и клиента (Host и Guest)
лицензируются отдельно. При этом стоимость варьируется
в пределах – от $275 до 1 Host + 1 Guest, до $40 за 1 Host
Рисунок 9. Внешний вид окна UltraVNC Viewer, подключенного
к удаленному узлу при покупке более 500 лицензий Host.

22
администрирование
Личное мнение: программа неза- чения обработки событий мыши и кла-
служенно непопулярна, в то время как виатуры. Работает программа на стан-
она обеспечивает значительно боль- дартном порту 5900. Из дополнитель-
шую гибкость в настройках и значи- ных сервисов присутствует только
тельно более функционально насыще- HTTP-сервер на стандартном же пор-
на, нежели Radmin. Программа идеаль- ту 5800, при заходе на который с по-
на для Windows-администратора. Сво- мощью Java-апплета можно управлять
их денег она стоит – если уж покупать удаленным компьютером, так же как
программу – то хорошую. Программа из запущенного клиента.
рассчитана на объемные корпоратив- UltraVNC Viewer позволяет подклю-
ные сети. читься к произвольному порту VNC,
а не только к стандартному (это будет
UltraVNC актуально при рассмотрении способов
Следующие программы представляют подключения к не Windows-компьюте-
собой развитие протокола VNC, разра- рам). Порт задается стандартным об-
ботанного AT&T, в отличие от двух пре- разом через двоеточие после IP-адре-
дыдущих, в основе работы которых ле- са. Программа имеет возможность пе-
жат закрытые коммерческие реализа- редачи файлов между сервером и кли- Рисунок 11. Внешний вид окна
ции протоколов. Протокол VNC име- ентом, но только в том случае, если настроек сервера RealVNC
ет открытую реализацию и на основе и сервером и клиентом являются про-
этой реализации разработано несколь- граммы UltraVNC (поскольку все реа-
ко клиентов, как свободно распростра- лизации VNC совместимы между со-
няемых, так и коммерческих. бой, сервер и клиент могут быть раз-
UltraVNC – одна из наиболее удач- ных версий). Также программа имеет
ных открытых реализаций протокола возможность обмена текстовыми со-
Рисунок 12. Внешний вид программы
VNC. Хотя по функциональной насы- общениями. RealVNC Viewer
щенности она и не может сравнить- Если значок не скрыт из системно-
ся с NetOp, но задачу предоставления го лотка, то при подключении клиента доставляет некоторые возможности,
доступа к удаленному компьютеру она он меняет цвет с синего на зеленый. отсутствующие в свободных реализа-
решает. Программа позволяет исполь- Программа не имеет русскоязыч- циях VNC.
зовать аутентификацию Windows или ного интерфейса. Распространяется В первую очередь, это авториза-
собственную. Собственная аутенти- бесплатно, в виде исходных текстов ция. Программа может использовать
фикация реализуется одним паролем, или готовых к установке пакетов по ли- авторизацию Windows или свою собс-
предоставляющим полный доступ. цензии LGPL. твенную. При собственной авториза-
Программа имеет возможность Дополнительно можно заметить, ции имеется ограниченный набор ло-
шифровки контента с помощью под- что последние версии Dr.Web рас- кальных пользователей с фиксирован-
ключаемого плагина MSRC4Plugin.dsm. познают UltraVNC как Вирус:Program. ными именами – «Admin», «ViewOnly»,
Правда, возможность его использова- Remoute.Admin.37. История повторя- «InputOnly» или же один пользователь.
ния есть только тогда, когда с другой ется... Во вторую очередь, это шифро-
стороны работает тоже UltraVNC. На- Личное мнение: если необходим вание контента. Для шифрования ис-
строить шифрование автоматически лицензионно чистый и бесплатный кли- пользуется алгоритм AES со 128-бит-
тоже не получится – необходимо сна- ент VNC – то UltraVNC – это ваш выбор. ным ключом. Настраивается шифро-
чала скопировать файл MSRC4Plugin. Со своей за да-
dsm из подкаталога plugin в основной чей он справляет-
каталог, потом сгенерировать ключ ся вполне, имеет
в файл new_rc4.key, переименовать богатые возмож-
его в rc4.key, и только потом можно ис- ности по настрой-
пользовать. ке. Конечно, он не
Программа имеет возможность ра- обладает всеми
боты в stealth-режиме и даже возмож- возможностями
ность запретить пользователю закрыть NetOp, но... зато
процесс WinVNC (для пользователя, бесплатный.
не являющегося администратором
удаленного компьютера), что делает RealVNC
ее идеальным инструментом для на- RealVN C – э то
блюдения в режиме view-only. своего рода ком-
Программа имеет возможность от- м е р ч е с к и й в а -
ключения фоновой картинки, пониже- риант UltraVNC,
ния настроек графики, а также отклю- а потому он пре- Рисунок 13. Внешний вид окна настроек сервера TightVNC

№5, май 2007 23


администрирование

Рисунок 15. Внешний вид окна TightVNC Viewer,


Рисунок 14. Внешний вид программы TightVNC Viewer подключенного к удаленному узлу

вание автоматически, стоит его вклю- что на его компьютере установлен кли- ента довольно скромная – в отличие
чить. Правда, работает только в том ент удаленного доступа, а во-вторых, от всех остальных клиентов, которые
случае, если с обеих сторон запущен видит, когда к нему подключается уда- формируют панель инструментов над
RealVNC, в противном случае шиф- ленный клиент. верхним краем окна подключенного
рование автоматически отключает- Программа имеет возможность от- сервера, клиент RealVNC встраива-
ся. (Это большой камень в огород ключения обработки событий мыши ет действия в меню, выдаваемое при
UltraVNC, в котором нужно вручную и клавиатуры, обеспечивая тем самым нажатии правой кнопкой на заголо-
включать и выключать шифрование, переход в режим view-only. Работает вок окна. Впрочем, смотреть там осо-
да и то оно работает нестабильно.) программа на стандартном порту 5900. бо не на что – можно изменить опции
Программа имеет возможность от- Из дополнительных сервисов присутс- подключения либо посмотреть инфор-
ключения фоновой картинки, отклю- твует только HTTP-сервер на стандар- мацию о соединении. Программа поз-
чения визуальных эффектов и пони- тном же порту 5800, при заходе на ко- воляет задавать произвольный порт
жения настроек графики вплоть до торый с помощью Java-апплета можно для подключения через двоеточие пос-
2‑битного цвета. В качестве дополни- управлять компьютером. ле IP-адреса.
тельных мер безопасности программа Клиентская часть программы очень При подключении клиента цвет
имеет возможность задавать перечень бедна функциями. Такое впечатление, значка в системном лотке меняется
IP-адресов или сетей, соединения с ко- что все силы ушли на разработку шиф- на инверсный и становится черным.
торых принимаются или запрещаются. рования контента, и на функцию пере- Программа не имеет русскоязыч-
По умолчанию разрешено все. дачи файлов ничего не осталось. ного интерфейса и распространяется
Программа не имеет возможнос- Программа не имеет ни возмож- по коммерческой лицензии. Стоимость
ти скрытия факта своего присутствия ности передачи файлов, ни обмена со- программы составляет 50 долларов.
в системе, так что локальный поль- общениями между компьютерами, да- Существует также свободная версия
зователь, во-первых, всегда видит, же текстового. Да и реализация кли- программы, в которой все «лишние»

Рисунок 16. Внешний вид программы Timbuktu Рисунок 17. Внешний вид программы Krdc

24
администрирование
функции типа передачи файлов между сервером и клиен-
том обрезаны.
Личное мнение: еще одна программа, которая не сто-
ит своих денег. Выкладывать 50 долларов за удовольс-
твие управлять удаленным компьютером по шифрован-
ному каналу? Клиентская часть программы очень бедная,
а при использовании клиентов от других пакетов, как пра-
вило, все расширенные функции типа передачи файлов
недоступны.

MetaVNC и TightVNC
Программы объединены вместе по той простой причине,
что они на самом деле похожи, как близнецы-братья. Точ-
нее говоря, как отец и сын, поскольку MetaVNC создан на
базе кода TightVNC. Не совсем понятно, почему TightVNC
получил такое название (tight (англ.) – узкий, тесный), на-
верное, разработчики старались подчеркнуть факт, что ком-
Рисунок 18. Внешний вид Krdc, подключенного
пьютеры, связанные этой программой, связаны очень тес- к удаленному узлу
но. На деле же эти программы – наиболее простые и огра-
ниченные по возможностям. Скриншоты программы MetaVNC похожи на TightVNC
Это единственные программы, в которых отсутствует как братья-близнецы.
поддержка авторизации Windows, возможна только локаль- По сути, единственное отличие, которое есть у MetaVNC
ная авторизация с одним-единственным паролем, предо- от TightVNC – это умение делать прозрачный фон главно-
ставляющим полный доступ. го окна.
Шифрование контента в программах отсутствует как Личное мнение: несмотря на то что TightVNC был пер-
класс. Из всех настроек для упрощения передачи изобра- вой программой VNC, с которой я имел дело, сказать о нем
жения по сети присутствует только возможность отключе- хорошего я могу только «он работает». Это совершенно за-
ния фоновой картинки.Программы также не имеют возмож- урядная, весьма ограниченная по функциям программа, ко-
ности ни скрытия факта своего присутствия в системе, ни торая, конечно, работает, но не умеет ничего такого, чего
защиты от завершения процесса пользователем. Хотя воз- не умела бы UltraVNC.
можность отключения обработки событий удаленной мы-
ши и клавиатуры все-таки присутствует. Timbuktu Pro
Программы имеют возможности понижения настроек Эта программа – единственная в нашем обзоре, с помощью
графики. Из дополнительных сервисов присутствует толь- которой можно из Windows управлять компьютером под уп-
ко стандартный для VNC сервера сервис – HTTP-сервер, равлением MacOS или наоборот.
заходя на который с помощью Java-апплета можно управ- К сожалению, на этом какие-либо замечательные сторо-
лять компьютером. Программы имеют возможность пере- ны этой программы заканчиваются. Да, она не самая бед-
дачи файлов между клиентом и сервером. Причем они на- ная по возможностям – имеется и возможность отключе-
столько похожи друг на друга, что функция передачи фай- ния фоновой картинки, и возможность отключения визуаль-
лов работает даже в том случае, когда сервер – MetaVNC, ных эффектов и понижение цветности, причем это единс-
а клиент TightVNC и наоборот. твенная программа, в которой можно цветной экран серве-
Программы используют стандартный для VNC порт ра превратить в черно-белый экран клиента.
5900 (5800 для HTTP-сервера), кото-
рый можно изменить в настройках
сервера.
Клиентская часть программ не поз-
воляет подключаться к произвольно-
му порту сервера – при использова-
нии стандартной формы адрес:порт
из‑за ошибок в обработке строки про-
грамма пытается использовать со-
вершенно другой порт, нежели задан-
ный. При подключении клиента зна-
чок MetaVNC меняет цвет букв с сине-
го на белый, а значок TightVNC меня-
ет цвет фона на инверсный.
Программы не имеют русскоязыч-
ного интерфейса. Распространяются
свободно, по лицензии LGPL. Рисунок 19. Внешний вид модуля KDE, выполняющего роль сервера VNC

№5, май 2007 25


администрирование
Программа не имеет возможнос-
ти скрыть факт своего присутствия
на компьютере. Дополнительные сер-
висы также полностью отсутствуют.
Из положительных моментов хотелось
бы отметить удобную, на манер NetOp
адресную книгу, в которую можно за-
носить адреса клиентов, при этом в за-
висимости от представленного там ре-
жима доступа (управление, наблюде-
ние, файлообмен) запись будет иметь
соответствующий значок.
Программа использует TCP-порт
407, который невозможно изменить
никаким образом. При подключении
на компьютере клиента значок терми-
нала меняется на изображения, соот-
ветствующие режиму доступа к ком-
пьютеру, – рука в режиме управле-
ния, две папки в режиме файлообме-
на и т. д.
Это единственная программа, в ко-
Рисунок 20. Внешний вид клиента под Windows, подключенного к UNIX торой нет разделения между клиент-
ской и серверной частью, поэтому, ус-
Имеются и возможности отключения обработки собы- тановив программу только для подключения к удаленным
тий мыши и клавиатуры, что позволяет перейти в режим клиентам, все равно получаешь серверную часть. Правда,
View-Only (в Timbuktru это называется Observe). запуск сервиса можно отключить.
Имеется возможность авторизации с помощью созда- Программа не имеет русскоязычного интерфейса, хо-
ния локальных пользователей, которым может быть при- тя переведена на 5 языков. Распространяется по коммер-
писано разрешение/запрещение выполнять те или иные ческой лицензии, стоимость которой изменяется в зави-
действия, или с помощью пользователей Windows, для ко- симости от числа купленных лицензий. Стоимость одной
торых можно настроить разрешение/запрещение анало- лицензии составляет $89. Внешний вид окна программы
гичным образом. приведен на рис. 16. Внешний вид подключенного клиента
В программе отсутствует возможность шифрования кон- не приводится, потому что его интерфейс похож на интер-
тента. Имеется только возможность шифрования с помо- фейс клиента RealVNC – все действия вызываются из ме-
щью SSH, при условии, что на целевом компьютере функ- ню, которое появляется при нажатии правой кнопки на за-
ционирует SSH-сервер. головке окна.
Личное мнение: совершенно заурядная, хоть и коммер-
ческая программа, единственная существенная особен-
ность которой – возможность работы с хостами под управ-
лением MacOS. Если задачи удаленного управления ком-
пьютером с MacOS не стоит, подумайте перед приобрете-
нием лицензии на Timbuktu – может быть, лучше приобрес-
ти лицензии на Radmin или NetOp?

Связь между Windows и UNIX с помощью VNC


До этого момента рассматривались только варианты под-
ключения Windows к Windows. А как обстоят дела с воз-
можностью подключения к Windows из UNIX или наоборот –
к UNIX из Windows?
Разумеется здесь нет такого разнообразия клиентов,
но по сути оно вовсе и не нужно. Подключение к Windows
из UNIX реализуется консольной программой vncviewer
или же программной для KDE Krdc – своего рода оболоч-
кой оболочек, позволяющей подключаться к VNC и RDC
серверам при наличии в системе соответственно vncviewer
и rdesktop. Программа vncviewer входит в состав пакетов
TightVNC, TridiaVNC и свободно распространяемого набо-
Рисунок 21. Внешний вид «сервера» удаленного помощника
в Windows XP ра базовых компонент (core libraries) от NoMachine, где он

26
администрирование

Рисунок 23. Внешний вид клиента


Рисунок 22. Внешний вид экрана настроек Terminal Server Configuration Remote Desktop Connection

называется nxviewer. Несмотря на то, что проект TridiaVNC щается замедление работы более заметное, чем при под-
больше не разрабатывается, о чем сказано на сайте про- ключении к серверу Windows в подобном режиме.
екта, порт для FreeBSD существует, и его все еще можно Личное мнение: подключение к UNIX в графическом ре-
скачать и собрать. жиме – задача весьма экзотическая, а подключение к раз-
Внешний вид клиента Krdc приведен на рис. 17. деляемой сессии – экзотическая вдвойне. Но для того, ко-
Программа vncviewer обеспечивает понижение настро- му она может понадобиться – она есть, она работает. При-
ек графики и отключение обработки событий мыши и кла- мерно на уровне TightVNC, но работает.
виатуры. Разумеется, ни обмен файлами, ни обмен сооб-
щениями между сервером и клиентом не поддерживаются. «Удаленный помощник» в Windows XP
Не поддерживается также шифрование контента. Разумеется, Microsoft не мог спокойно пройти мимо то-
Подключенный к Windows клиент выглядит точно так же, го, что посторонние фирмы зарабатывают деньги на про-
как и его многочисленные собратья – над окном размеща- граммном обеспечении, которое он не может предложить.
ются служебные кнопки и меню. Меню Advanced не содер- И в Windows XP появился так называемый удаленный по-
жит ничего интересного – информация о соединении да воз- мощник. Что он представляет собой? По сути дела, это
можность завершения сеанса. встроенный сервер, организовывающий подключение к
Внешний вид подключенного клиента приведен на разделяемой сессии, только с использованием протоко-
рис. 18. ла RDC, лишенный дополнительных функций типа пере-
А что же до сессии «удаленного помощника» для UNIX? дачи файлов и использующий для авторизации средства
Думаете, такое невозможно? Ошибаетесь. Хоть оно, с мо- Windows. В «серверной» части можно только его включить
ей точки зрения, и не сильно востребовано, но возможно.
А это значит, что кем-то оно используется. KDE содержит
в своем составе сервер VNC, который называется «Shared
Desktop». Он может быть включен, как и любой другой ком-
понент KDE, через Control Center. Данный сервер поддержи-
вает только упрощенную авторизацию с помощью одного
пароля либо авторизацию, основанную на модели «пригла-
шений» (Invitations), в которых указывается пароль на дан-
ное приглашение.
Все приглашения имеют ограниченный срок действия.
Возможно установить режим view-only, а также отключить
показ фоновой картинки.
Внешний вид модуля KDE, выполняющего роль серве-
ра VNC, показан на рис. 19.
Внешний вид клиента, подключенного к UNIX-десктопу
(UltraVNC Viewer), показан на рис. 20.
Ради справедливости должен заметить, что при работе
в клиенте, подключенном к серверу VNC под UNIX (в режи-
Рисунок 24. Внешний вид клиента rdesktop,
ме «удаленного помощника», а не в отдельной сессии), ощу- подключенного из KDE

№5, май 2007 27


администрирование
твий локального и удаленного поль-
зователей, которые вместе использо-
вали один и тот же экран, клавиату-
ру и мышь, то для программ данной
группы, наоборот, главным является
их разделение. Программы предна-
значены для организации терминаль-
ных сессий, то есть одновременных
сеансов работы многих пользовате-
лей за одним компьютером в графи-
ческом режиме.
Почему «в графическом режи-
ме»? Потому что в текстовом режиме
возможность одновременной работы
на UNIX-серверах существует чуть ли
не с самого дня их основания, а для
пользователей Windows терминаль-
ные сессии в текстовом режиме были
невостребованы.
Но все меняется, и появились
терминальные серверы – сначала
Windows NT Terminal Server Edition,
Рисунок 25. Клиент UltraVNC, подключенный к VNC-серверу UNIX потом Windows 2000, потом Windows
2003. Терминальный сервер в них – это
и указать пользователей, которым будет разрешено под- обычный сервис, который стартует как сервис и настраи-
ключаться к данному компьютеру. Внешний вид «серве- вается как сервис – через MMC.
ра» приведен на рис. 21. Слово «сервер» здесь недаром Как ни странно, но протокол RDC (Remote Desktop
взято в кавычки – в отличие от настоящего терминально- Connection) открытый, поэтому существует возможность
го сервера все настройки здесь либо жестко задаются в организации терминальных сессий не только Windows →
реестре Windows, либо задаются со стороны клиента. Ра- Windows, но и Windows → UNIX и UNIX → Windows.
зумеется, здесь отсутствуют все дополнительные серви- Мы рассмотрим все варианты.
сы вроде файлообмена. Зато входит в стоимость Windows,
и устанавливать не надо. Для подключения к такому «сер- Организация терминальных сессий
веру» можно использовать клиентов, поддерживающих Windows → Windows
протокол RDC – Remote Desktop Connection под Windows Не всем, наверное, известно, что протокол RDC, применя-
или rdesktop под UNIX. емый Microsoft, и «гигант» терминальных серверов Citrix
MetaFrame были изначально разработаны одним и тем же
Программы для организации человеком, а именно Эдом Якобуччи, впоследствии осно-
терминальных сессий вавшим Citrix Systems. Было это еще в далеком 1989 году,
Назначение программ этой группы очень отличается во время совместной работы Microsoft и IBM над OS/2, где
от предыдущей. Если в программах группы «удаленный Якобуччи возглавлял группу разработчиков. Впоследствии
помощник» необходима была одновременность дейс- Microsoft приобрела у Citrix лицензию на разработанную ею
технологию MultiWin с целью встроить ее в будущие вер-
сии операционной системы. И в мир пришли терминаль-
ные серверы от Microsoft.
Достоинство терминальных серверов и их недостатки
перечислялись множество раз – возможность использо-
вания слабого оборудования для подключения к серверу,
возможность использования локальных версий программ
вместо сетевых, возможность не оснащать все рабочие
места программным обеспечением, а оснастить им толь-
ко сервер компенсируется аппаратными запросами как
к самому серверу, так и к сетевой инфраструктуре, на ко-
торую в таком случае ложится значительно большая на-
грузка, и т. д.
Терминальный сервер Windows функционирует точ-
но так же, как и любая другая служба – с возможностями
настройки через Microsoft Management Console и управ-
Рисунок 26. Внешний вид окна Xbrowser лением через специальную программу Terminal Services

28
администрирование
Manager. Эта служба работает на всех
серверных версиях Windows, начиная
с Windows 2000 Server. Правда, здесь
Microsoft пошла на хитрость. Сущест-
вует также служба Terminal Server
Licensing, в отсутствие которой служ-
ба Terminal Server принимает макси-
мум 2 одновременных удаленных со-
единения, а также (для Windows 2003
Server) работает только 120 дней с мо-
мента приема первого соединения.
А служба Terminal Server Licensing тре-
бует лицензии, стоящие отдельных де-
нег. Так что желающим запустить сер-
вер приложений, работающий через
RDC, стоит подумать над весьма не-
маленьким бюджетом такого реше-
ния (пакет лицензий из 5 штук – $700,
из 20 – $2800, информация взята с сай-
та http://www.softline.ru).
Terminal Server имеет достаточ- Рисунок 27. Внешний вид Xmanager, подключенного к клиенту
ное количество настроек. Большинс-
тво из них предназначены для на- Внешний вид клиента RDC приве- Личное мнение: rdesktop – основ-
стройки процесса регистрации поль- ден на рис. 23. ной инструмент системного админис-
зователя в системе – возможно, на- тратора, а krdc – бесполезная игрушка.
пример, отключить выполнение про- Организация терминальных Список серверов, который она должна
грамм из секции автозапуска, настро- сессий UNIX → Windows выдавать, строится только на основа-
ить группы устройств, которые будут Организация терминальных сессий нии протокола SLP и в сетях Windows
автоматически подключаться – дис- UNIX → Windows практически ничем совершенно бесполезен. С моей точ-
ки, принтеры и т. д., ограничить сес- не отличается от терминальных сес- ки зрения, более удобно меню, в ко-
сию пользователя по времени. Можно сий Windows → Windows. Меняется раз- тором вызывается непосредственно
задать настройки шифрования, ука- ве что клиент – вместо Remote Desktop rdesktop со всеми необходимыми па-
зать группу (или группы) пользова- Connection используется rdesktop с ин- раметрами.
телей, которые смогут пользоваться терфейсом из командной строки или
данным сервисом и понизить качес- «оболочка оболочек» Krdc, который Терминальная сессия
тво графики для ускорения работы. тем не менее все равно требует нали- Windows → UNIX через Xvnc
Внешний вид подключенного клиента чия rdesktop. Да-да, вы не ошиблись. Это возмож-
ничем не отличается от обычного ра- Если используется Krdc, то при под- но. И даже не очень сложно. Для это-
бочего стола и напоминает «Windows ключении клиента сверху появляется го достаточно на Windows иметь VNC-
внутри Windows». небольшая панель инструментов, кото- клиента, который умеет подключаться
С клиентской стороны в свою оче- рая практически бесполезна. к произвольному порту VNC (UltraVNC,
редь можно указать имя пользовате- Настроек у Krdc значительно мень- RealVNC), а на сервере – програм-
ля, домен и пароль, понизить настрой- ше, чем у Remote Desktop Connection, му Xvnc и ее скрипт запуска vncserver.
ки графики и задать разрешение экра- можно указать разрешение экрана, на- Обе эти программы входят в пакеты
на, указать, какие локальные ресур- стройки графики, тип протокола RDC TightVNC или TridiaVNC.
сы будут подключаться к соответству- и работу в режиме «view-only», при- Работает это все следующим обра-
ющим удаленным (диски, принтеры, чем большинство параметров придет- зом – пользователь запускает на UNIX
COM-порты), отключить лишние визу- ся задавать из командной строки. Имя сервер VNC с помощью скрипта
альные эффекты, фоновую картинку, пользователя, пароль и домен берут- vncserver. Vncserver запускает Xvnc, ко-
темы, анимацию. ся из настроек KDE. Для rdesktop эти торый создает новый X-сервер на за-
Дистрибутив клиента находится значения указываются в командной данном порту плюс 1 и HTTP-сервер
в %SYSTEMROOT%/system32/clients/ строке. Если не указано ничего, соот- на заданном HTTP-порту плюс 1. Ес-
tsclient/win32. ветствующие строки при начале со- ли в домашнем каталоге отсутствовал
Сервер RDC работает на TCP-порту единения будут пустыми, если указа- подкаталог .vnc, то он создается, в нем
3389 и не предоставляет возможности ны – будут подставлены указанные создается стартовый скрипт по умол-
его изменить. значения. чанию xstartup, который вызывается
Внешний вид программы для на- Внешний вид клиента rdesktop, при начале сессии на данном сервере.
строек терминального сервера приве- подключенного из KDE, приведен Здесь же записывается журнал, в ко-
ден на рис. 22. на рис. 24. торый выводятся все сообщения (ана-

№5, май 2007 29


администрирование
кально и, возможно, управляется удаленно через Shared
Desktop сервис KDE.
Внешний вид Windows-клиента (в данном случае
UltraVNC), подключенного таким образом к VNC-серверу,
приведен на рис. 25.
Личное мнение: наиболее простой и экономичный спо-
соб работы в терминальной сессии. Настройки скорости ра-
боты будут определяться в большей степени клиентом. В не-
которых дистрибутивах Linux (например, SuSE) vnc включа-
ется на этапе установки как встроенный сервис.

Терминальная сессия Windows → UNIX


через XDMCP
В этом мире возможна даже такая вещь, какой бы невоз-
можной она ни казалась. Фирма NetSarang Computers для
этой цели выпускает специальную программу Xmanager,
последнюю версию которой 2.0 мы и рассмотрим.
Правда, для начала нам придется привыкнуть к одной
Рисунок 28. Внешний вид клиента NX Client для Windows на первый взгляд невероятной вещи – в Х Windows System
сервер – это то место, где экран, а то место, где запускают-
лог .xsession-errors) и статистика работы по окончании сес- ся программы, – клиент, то есть все с точностью до наобо-
сии (см. вывод журнала). рот по отношению к тому, как это воспринимается обычно.
При запуске другого VNC-сервера от другого пользова- Таким образом, в Windows запускается X-сервер, в котором
теля он будет размещен на другом порту. Таким образом од- работают клиентские приложения на UNIX. Итак, что собой
новременно может функционировать фактически неогра- представляет Xmanager? Это довольно неплохо выполнен-
ниченное количество серверов. ная по дизайну программа, которая является X-сервером,
Теперь понятно, зачем нужен был клиент, в котором позволяющим с помощью xdm/kdm авторизоваться в кли-
можно было бы задавать произвольный порт – VNC-серве- ентской системе и запустить там программы. Xmanager за-
ры размещаются, начиная с порта 5901, при этом при под- поминает созданные сессии, может отображать клиентов,
ключении образуется новая сессия, совершенно независя- с которых были обнаружены широковещательные пакеты,
щая от той сессии, которая в данный момент открыта ло- позволяет выбирать метод подключения и т. д. Внешний
вид подобен Radmin и Timbuktu – ра-
24/03/07 01:29:36 Xvnc version TightVNC-1.3.8 бочая область, в которой размещают-
24/03/07 01:29:36 Copyright (C) 2000-2006 Constantin Kaplinsky ся значки, каждый из которых обозна-
24/03/07 01:29:36 Copyright (C) 1999 AT&T Laboratories Cambridge
24/03/07 01:29:36 All Rights Reserved. чает сессию определенного типа – ста-
24/03/07 01:29:36 See http://www.tightvnc.com/ for information on TightVNC тическую, динамическую или сессию,
24/03/07 01:29:36 Desktop name 'X' (vmfree.shelton.net:2)
24/03/07 01:29:36 Protocol versions supported: 3.7t, 3.7, 3.3
созданную через Xstart. Внешний вид
24/03/07 01:29:36 Listening for VNC connections on TCP port 5902 окна Xbrowser приведен на рис. 26.
24/03/07 01:29:36 Listening for HTTP connections on TCP port 5802 После подключения в окне запус-
24/03/07 01:29:36 URL http://vmfree.shelton.net:5802
xrdb: No such file or directory кается новая X-сессия через xdm/kdm,
xrdb: can't open file '/root/.Xresources' который соединяется с Xmanager. Ис-
Warning: kbuildsycoca is unable to register with DCOP.
пользуется стандартный TCP-порт 177.
kbuildsycoca running...
.................... В окне, создаваемом сервером, не со-
24/03/07 01:32:42 Got connection from client 192.168.203.1 здается панелей инструментов, вместо
24/03/07 01:32:42 Using protocol version 3.7
24/03/07 01:32:45 Full-control authentication passed by 192.168.203.1 этого, так же как Timbuktu и RealVNC
24/03/07 01:32:45 Using hextile encoding for client 192.168.203.1 при нажатии правой кнопки на заго-
24/03/07 01:32:45 Pixel format for client 192.168.203.1: ловке окна, появляется меню, в кото-
24/03/07 01:32:45 16 bpp, depth 16, little endian
24/03/07 01:32:45 true colour: max r 31 g 63 b 31, shift r 11 g 5 b 0 ром можно настроить свойства под-
24/03/07 01:32:45 no translation needed ключения, сбросить его и т. д. Здесь
24/03/07 01:32:45 Enabling full-color cursor updates for client 192.168.203.1
24/03/07 01:32:45 rfbProcessClientNormalMessage: ignoring unknown encoding -223 важно помнить, что в XDMCP, точно
24/03/07 01:32:45 Using hextile encoding for client 192.168.203.1 так же как в Radmin, отсутствуют ка-
24/03/07 01:32:45 rfbProcessClientNormalMessage: ignoring unknown encoding 16 кие бы то ни было средства для со-
24/03/07 01:32:45 rfbProcessClientNormalMessage: ignoring unknown encoding 15
xterm: unable to open font "9x18", trying "fixed".... кращения трафика между клиентом
24/03/07 01:33:28 Client 192.168.203.1 gone и сервером типа отключения фоновой
24/03/07 01:33:28 Statistics:
24/03/07 01:33:28 key events received 24, pointer events 646
картинки, упрощения настроек графи-
24/03/07 01:33:28 framebuffer updates 246, rectangles 724, bytes 2423216 ки, то есть вся разница между локаль-
24/03/07 01:33:28 cursor shape updates 55, bytes 23076 ным и удаленным пользователем бу-
24/03/07 01:33:28 copyRect rectangles 77, bytes 1232
24/03/07 01:33:28 hextile rectangles 592, bytes 2398908 дет только в месте расположения кла-
24/03/07 01:33:28 raw bytes equivalent 5258382, compression ratio 2.191990 виатуры и мыши, все остальное будет

30
администрирование
точно таким же, как при локальной ре-
гистрации.
Планировка устройств выполняет-
ся самим Xmanager. Также здесь обяза-
тельно нужно заметить, что Xmanager –
это только X-сервер, создающий сес-
сии путем подключения к клиентам.
Он не способен сам принимать кли-
ентские подключения. Внешний вид
Xbrowser, подключившегося к клиен-
ту UNIX, приведен на рис. 27.
Личное мнение: Все, что мне по-
надобилось сделать для того, чтобы
этот метод заработал, – это разрешить
kdm рассылать широковещательные
сообщения XDMCP. Фактически это
и есть терминальная сессия, в том ви-
де, как мы привыкли ее воспринимать
при работе по RDC.

Терминальная сессия Рисунок 29. Внешний вид сессии с NX-сервером


Windows → UNIX через NXServer
Еще одним вариантом запуска тер-
минальной сессии с Windows на UNIX
является использование програм-
мы NX Client для Windows, разрабо-
танный фирмой NoMachine. Програм-
мные продукты NoMachine предна-
значены для создания терминального
сервера на базе Linux- и Solaris-плат-
форм, открытого аналога не имеют,
но поскольку их базовая часть (core
libraries) лицензирована по GPL, су-
ществует свободно распространяемая
версия FreeNX, которая организовыва-
ет терминальный сервер, например на
FreeBSD, который мы и рассмотрим. Рисунок 30. Главное окно программы IDEAL Administration
Скажу сразу, что NX впечатляет.
Даже простое изучение настроек про- полагающиеся на Windows-дескто- пользовании режима Floating Windows
граммы-клиента, внешний вид кото- пе, смотрятся довольно необычно пространство рабочего стола сервера
рого приведен на рис. 28, показыва- (см. рис. 29). вообще не отображается, только от-
ет, что это пакет с большими возмож- Авторизация целиком зависит крытые окна, что упрощает передачу
ностями. от настроек сервера, поскольку вся изображения.
К сожалению, в жизни все оказа- работа фактически выполняется че- Сервер может работать на любом
лось более грустно. Может быть, пре- рез сессию SSH – первоначально кли- доступном порту. У клиента сущест-
словутая «свобода», а может быть, ент подключается как пользователь nx, вует одна, не очень очевидная про-
просто недоработки привели к тому, стартовой оболочкой у него запускает- блема – он написан с использованием
что, во-первых, я очень долго возился ся nxserver, который выполняет поль- Cygwin и поэтому может оказаться не-
с настройкой nxserver – в nxserver про- зовательскую авторизацию, управляет совместимым с другими программами,
писаны жесткие пути к каталогу /home, сессиями и т. д. Если UNIX-сервер спо- также использующими Cygwin.
которого у меня никогда не было, ис- собен использовать пользовательские
пользует он исключительно OpenSSH, бюджеты Windows, то возможна авто- Программы
который я, в свою очередь, никогда не ризация с их применением. для удаленного
использую... Но как бы то ни было, мне Шифрование контента выполняет- выполнения задач
удалось его настроить и запустить. ся точно так же, как это делает SSH, Такой вот довольно корявый перевод
Правда, из всех вариантов сессий со всеми его возможностями по нас- термина Remote Management. Друго-
клиента заработала только unix-default, тройке. го мне придумать не удалось, пото-
обозначаемая в списке как Custom. На стороне клиента возможна на- му что это программы, на самом деле
Окна UNIX-сессии, произвольно рас- стройка работы с графикой. При ис- предназначенные для выполнения не-

№5, май 2007 31


администрирование

Рисунок 31. Контекстное меню объекта


«Компьютер» Рисунок 32. Просмотр свойств файла и прав на файл

которого фиксированного набора за- ши – не главное (хотя возможное, если ленный домен, тип компьютера (сер-
дач на целевом компьютере. Мы крат- на той стороне настроен TightVNC или вер, рабочая станция) или операци-
ко рассмотрим один вариант – IDEAL совместимый сервис). Главное – полу- онную систему (правда, здесь список
Administration под Windows. чить информацию и/или выполнить за- исчерпывается Windows, Novell, Apple
данную задачу. Любую. От получения и пр.). Внешний вид главного окна при-
IDEAL Administration информации о свойствах компьютера, веден на рис. 30.
С первого взгляда на программу IDEAL до его удаленного выключения. От мо- Как и положено, нажатие правой
Administration от Pointdev сразу понима- ниторинга открытых файлов до низко- кнопки мыши вызывает появление кон-
ешь, что это не просто амбициозное уровневого редактирования объектов текстного меню, которое поражает сво-
название. В программе действительно Active Directory. ими размерами (рис. 31).
есть все или почти все, что может пона- Построена программа в привычном Здесь представлены все возмож-
добиться системному администратору для администраторов Windows-стиле – ные операции, которые можно про-
Windows в его работе, чтобы, не вста- слева список объектов – сетей, доме- вести с данным компьютером. Я не бу-
вая с места, обслуживать десятки ком- нов, групп компьютеров и т. д., справа – ду их перечислять – их названия гово-
пьютеров. Для этой программы пре- «обозреватель сети», в котором мож- рят сами за себя, и их прекрасно зна-
доставить доступ к клавиатуре и мы- но выбрать все компьютеры, опреде- ет любой Windows-администратор. Но
это еще не все – контекстное меню, вы-
падающее при нажатии на компьютер
в «обозревателе», отличается от кон-
текстного меню в списке слева – оно
меньше на пункты с операциями син-
хронизации с DC, частичной или пол-
ной. А возможность удаленного уп-
равления процессами! А возможность
удаленного просмотра свойств фай-
лов (дата создания, дата модифика-
ции, атрибуты, владелец, права на
файл, см. рис. 32)! Заметьте, что я пе-
речисляю только те задачи, которые
невозможно решить через «Управле-
ние компьютером».
Но это еще не все, чем богат IDEAL
Administration. Не секрет, что основным
инструментом для Windows-админист-
ратора является MMC. А для управле-
ния учетными записями пользоваете-
лей – оснастки «Пользователи и ком-
Рисунок 33. Редактор для создания и управления объектами «Пользователь»,
«Группа», «Компьютер» в IDEAL Administration пьютеры», «Домены и доверительные

32
администрирование
Сводная таблица по продуктам
Программа Radmin NetOp UltraVNC MetaVNC TightVNC RealVNC Timbuktu
Используемый порт 4899 6502 5900 5900 5900 5900 407
Стоимость ($), за одну ли- 49 40-275 2
бесплатно бесплатно бесплатно 50 89
цензию
Клиенты Windows Windows, Linux, DOS, Solaris, Windows Windows Windows, Linux, Windows Windows,
Mac OS, Windows Mobile FreeBSD Mac OS
Отключение нет да да да да да да
Настройки графики

фона
Отключение нет да нет нет нет да да
визуальных
эффектов
Понижение нет да да да да да да
цветности
Отключение да да да да да да да
Настройки управления

удаленной мыши
Отключение да да да да да да да
вводом данных

удаленной
клавиатуры
View-only да да да да да да да

Авторизация Local (multi), Local (multi), Windows Local (single), Local (single) Local (single) Local (multi), Local (multi),
Windows Windows Windows Windows
Наличие русского да нет нет нет нет нет нет
интерфейса
Удобство использования1 высокое высокое среднее низкое низкое среднее среднее
Шифрование да да да нет нет да нет
Скрытие значка нет 3
да да нет нет нет нет
Файлообмен да да да да да нет да
Обмен сообщениями да да да нет нет нет да
Дополнительные сервисы да да нет нет нет нет нет
1
Удобство использования – категория субьективная, она отражает оценку автора обзора и не более.
2
В зависимости от числа покупаемых лицензий цена меняется от 275 (1 Host + 1 Guest) до 40 за 1 Host при покупке более 500 Host-лицензий.
3
По специальному запросу под дополнительное соглашение представляется версия, которая может работать в stealth-режиме.

отношения» и «Сети и сервисы». Кроме от количества приобретаемых лицен- те подобрать программу, которая соот-
того, многие системные администра- зий. Одна лицензия стоит 399 евро. ветствует вашим требованиям.
торы используют программы для низ-
коуровневого редактирования Active Заключение 1. Remote Administrator (Radmin) – http://
Directory, например ADSI Edit. Так вот, Сейчас уже трудно представить себе www.radmin.com.
IDEAL Administration содержит собс- сеть без программ удаленного управ- 2. Danware NetOp – http://www.netop.com.
твенный вариант оснастки «Пользо- ления. Программы «удаленного помощ- 3. MetaVNC – http://metavnc.sourceforge.net.
ватели и компьютеры», который, с мо- ника» используются для того, чтобы, 4. TightVNC – http://www.tightvnc.com.
ей точки зрения, ничуть не хуже, чем не сходя с места, показать пользовате- 5. UltraVNC – http://ultravnc.sourceforge.net.
от Microsoft (см. рис. 33). Единственный лю, как ему следует поступить в той или 6. RealVNC – http://www.realvnc.com.
его минус – невозможность тут же пе- иной ситуации, программы терминаль- 7. Pointdev IDEAL Administration –http://
рейти в редактор групповой политики. ных сессий используются для удален- www.pointdev.com.
Но и это еще не все. ного администрирования серверов или 8. Remote Desktop Connection (RDC) –
IDEAL Administration содержит так- одновременной работы на них (в осо- http://www.microsoft.com.
же средство управления удаленной ус- бенности если там установлено какое- 9. Timbuktu Pro версии 8.6.3 – http://www.
тановкой программного обеспечения либо уникальное программное обеспе- netopia.com.
IDEAL Dispatch (это самостоятельный чение), программы удаленного выпол- 10. Xmanager версии 2.0 – http://www.
продукт, но он входит сюда). нения задач применимы для выполне- netsarang.com.
Эта программа хороша всем, кро- ния каких-либо фиксированных задач, 11. NX Client для Windows – http://www.
ме отсутствия русского интерфей- которые, конечно, можно выполнить nomachine.com.
са. Это не удивительно – зарубежные и через удаленного помощника или тер- 12. TridiaVNC версии 1.4 – http://www.
разработки вообще редко снисходят минальную сессию, но для использо- tridiavnc.com.
до «не-английского» интерфейса. Про- вания данных программ (под Windows) 13. Rdesktop – http://www.rdesktop.org.
грамма распространяется по коммер- не нужна клиентская часть. И может 14. Free NX server – http://www.nomachine.
ческой лицензии, стоимость ее зависит быть, прочитав эту статью, вы сможе- com.

№5, май 2007 33


администрирование

Используем Cisco PIX для обеспечения


VPN-подключений к локальной сети

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

Исходные данные ще всего термин «VPN» ассоциирует- Этот младший представитель се-
Идея виртуальной частной сети (VPN) ся с передачей данных именно через мейства PIX 500 позиционируется
проста – это инкапсуляция пакетов Интернет. как устройство для использования
или фреймов в датаграммы 3-го или Одним из промышленных стандар- в малых и домашних офисах. Несмотря
4‑го уровня сетевой модели OSI для то- тов для VPN является семейство про- на это, его быстродействия достаточ-
го, чтобы можно было передать их че- токолов IPSec, о нем и пойдет речь се- но для работы в качестве firewall в по-
рез сети с глобальной адресацией. Та- годня. токе данных со скоростью до 60 Мбит/с.
кой сетью с глобальной адресацией В качестве сервера, принимающе- Применительно к VPN быстродействия
может быть не только Интернет – су- го VPN-подключения удаленных поль- PIX 501 хватает для обеспечения
ществует много операторов, предо- зователей, используется распростра- шифрования данных по алгоритму
ставляющих VPN через собственные ненный межсетевой экран Cisco PIX 3DES на скорости до 3 Мбит/с, а при
глобальные сети – но, как правило, ча- модель 501 (см. рис .1). использовании более современно-

34
администрирование
го алгоритма шифрования AES-128 – Как видите, на нашем firewall уста-
до 4.5 Мбит/с. Аутентификация уда- новлены лицензии, позволяющие ис-
ленных пользователей может произво- пользовать его для работы с VPN, алго-
диться как с помощью логина и паро- ритмы шифрования DES, 3DES и AES.
ля, так и по цифровым сертификатам Количество одновременных VPN-под-
X.509. Мы остановимся только на пер- ключений ограничено 10 пользовате-
вом способе аутентификации. лями (строчка IKE peers).
Для простоты допустим, что этот В случае если на PIX не установле-
Рисунок 1. Внешний вид межсетевого
же firewall PIX будет использовать- ны лицензии VPN, их можно бесплат- экрана Cisco PIX 501
ся для предоставления внутренним но получить на веб-сайте Cisco: http://
рабочим станциям доступа в Интер- www.cisco.com/go/license. Предвари- Войдя в режим конфигурирования,
нет (NAT). тельным условием для этого является начнем настройку:
В качестве сервера аутентифи- регистрация: http://tools.cisco.com/RPF/
кации будет использоваться сервер register/register.do. # conf t
Microsoft Windows 2003. Наличие тако- Мы будем использовать для на- pixfirewall(config)#
го или подобного сервера типично для шей VPN алгоритм шифрования 3DES,
сети небольшого предприятия. На нем как наиболее защищенный. Как уже го- Определим внешний и внутренний
же зачастую работают сервисы DHCP, ворилось, PIX 501 имеет известное ог- интерфейсы и присвоим им IP‑адреса:
DNS, WINS – все это пригодится нам раничение производительности в этом
в дальнейшем (см. рис. 2). режиме – не более 3 Мбит/с – но учиты- # interface ethernet0 auto
# interface ethernet1 auto
Для VPN-подключения на компью- вая, что у нас в любом случае не может # nameif ethernet0 outside ↵
терах удаленных пользователей ис- быть одновременно подключено более security0
# nameif ethernet1 inside ↵
пользуется штатный VPN-клиент Cisco. 10 пользователей, это не столь важно. security100
Его можно приобрести у поставщи-
ков оборудования Cisco (Part Number
CVPN‑CLIENT-K9=). Почитать о нем вы
можете на странице поддержки Cisco
Systems: http://www.cisco.com/application/
pdf/en/us/guest/products/ps2308/c1650/
cdccont_0900aecd801a9de9.pdf.

Настройка Cisco PIX


Сначала выполним обычную процеду-
ру, подключившись к PIX через кон-
сольный порт:

pixfirewall> enable
Username: pix
Password: *****
pixfirewall#

Давайте посмотрим, что он из себя


представляет. Нас особенно интересу-
ет раздел Licensed Features:

# show version
Cisco PIX Firewall Version 6.3(3)
Cisco PIX Device Manager Version 3.0(1) Рисунок 2. Схема сети
(часть вывода удалена)

Licensed Features:
Failover: Disabled
VPN-DES: Enabled
VPN-3DES-AES: Enabled
Maximum Physical Interfaces: 2
Maximum Interfaces: 2
Cut-through Proxy: Enabled
Guards: Enabled
URL-filtering: Enabled
Inside Hosts: 50
Throughput: Unlimited
IKE peers: 10
Рисунок 3. Создание нового RADIUS-клиента в IAS

№5, май 2007 35


администрирование
# ip address outside ↵ # global (outside) 1 1.1.1.1
1.1.1.1 255.255.255.252 # nat (inside) 0 access−list 101
# ip address inside ↵ # nat (inside) 1 0.0.0.0 0.0.0.0 0 0
192.168.224.1 255.255.255.0
Будем использовать имеющийся в сети сервер
Добавляем маршрут по умолчанию: Windows 2003 как сервер аутентификации. Чуть позднее
расскажу об этом поподробнее, а пока что включим на PIX
# route outside 0.0.0.0 0.0.0.0 1.1.1.2 использование протокола RADIUS для этого сервера:

Мы будем выдавать подключающимся VPN-клиентам # aaa−server RADIUS protocol radius


# aaa−server partnerauth protocol radius
адреса из диапазона 192.168.250.1–192.168.250.14. Созда- # aaa-server partnerauth (inside) host 192.168.224.127 ↵
дим пул этих адресов под названием vpnclient: radiuspassword timeout 10

# ip local pool vpnclient 192.168.250.1-192.168.250.14 Поскольку на firewall PIX по умолчанию запрещены вхо-
дящие IP-пакеты, нужно в явном виде дать ему разреше-
Включим NAT, и учтем при этом, что пакеты, направляю- ние принимать входящие VPN-подключения:
щиеся из локальной сети к клиентам VPN, подвергать NAT
не нужно. Для того чтобы исключить эти пакеты из процес- # sysopt connection permit−ipsec
са NAT, напишем простой access-лист:
Подготовительные шаги завершены, теперь начина-
# access−list 101 permit ip 192.168.224.0 255.255.255.0 ↵ ем настраивать VPN. Сначала определим, какой алгоритм
192.168.250.0 255.255.255.240
шифрования и подписывания пакетов будет использовать-
ся. Мы уже решили, что шифрование данных будет осущест-
вляться по алгоритму 3DES. Описываем это в трансформе
с условным именем mytrans1:

# crypto ipsec transform-set mytrans1 esp-3des esp-md5-hmac

Поскольку удаленные пользователи в общем случае


не имеют статических IP-адресов, нам придется использо-
вать динамические карты.
Создадим такую карту с условным именем dynmap и ука-
жем в ней использование только что созданного трансфор-
Рисунок 4. Присвоение новому RADIUS-клиенту IP-адреса ма mytrans1:
и имени
# crypto dynamic-map dynmap 10 set transform-set mytrans1

и уже эту динамическую карту добавляем в криптокарту,


назовем ее mymap:

# crypto map mymap 10 ipsec-isakmp dynamic dynmap

Отметим в карте, что мы требуем от подключающихся


пользователей, чтобы они прошли аутентификацию на сер-
вере RADIUS:

# crypto map mymap client authentication partnerauth

Рисунок 5. Ввод пароля для RADIUS-клиента


Привяжем криптокарту к внешнему интерфейсу PIX, что-
бы определить, откуда следует ожидать входящих VPN‑со-
единений:

# crypto map mymap interface outside

Теперь вспомним, что прежде чем начнется обмен за-


шифрованными данными, и даже прежде аутентификации,
клиентам и серверу необходимо договориться об использу-
емом шифре, времени жизни шифровальных ключей и т. п.
В семействе протоколов IPSec этим занимается протокол
Рисунок 6. Создание новой политики удаленного доступа обмена ключами ISAKMP.

36
администрирование
Настроим его:

# isakmp enable outside


# isakmp policy 10 authentication pre-share
# isakmp policy 10 encryption 3des
# isakmp policy 10 hash md5
# isakmp policy 10 group 2
# isakmp policy 10 lifetime 3600

И в заключение опишем групповые настройки для под-


ключающихся к VPN удаленных пользователей. Об этом
чуть подробнее.
Мы можем разделить подключающихся пользователей
на несколько групп, в зависимости от того, например, к ка-
ким ресурсам им следует предоставить доступ. Пользова-
телям, входящим в разные группы, могут выделяться IP‑ад- Рисунок 7. Присвоение имени новой политике удаленного
реса из разных пулов, так чтобы в дальнейшем системный доступа
администратор смог, основываясь на адресе клиента, раз-
граничивать ему доступ к сетевым ресурсам. В нашем при-
мере такая группа одна, под названием pixvpn, групповой
пароль – myVPNgrouppassword.
Аутентификация каждого пользователя происходит
в два приема, и идея здесь такова. Сначала мы проверяем
принадлежность пользователя VPN к той или иной группе
и на этом основании выдаем ему IP-адрес, сообщаем адреса
серверов DNS и WINS и имя домена. Затем мы запрашиваем
у пользователя его личные логин и пароль, под которыми он
известен в домене нашей локальной сети. Эти данные пе-
редаются на сервер RADIUS, который проверяет их, а также
проверяет, есть ли у пользователя право на удаленный до-
ступ к сети. Если логин и пароль домена введены правиль-
но, и если у пользователя есть право на удаленный доступ,
сервер RADIUS возвращает подтверждающий ответ, и поль-
зователю предоставляется доступ. Достоинство этой схе- Рисунок 8. Выбор способа удаленного доступа (VPN)
мы – гибкость. У любого пользователя в любой момент мож-
но отобрать право подключаться к VPN, и наоборот – любо-
му пользователю можно такое право дать, с минимумом за-
траченного времени системного администратора. Ещё бо-
лее удобной и безопасной схемой является схема с аутенти-
фикацией по сертификатам X.509, но она требует несколько
больше усилий для настройки (развертывание PKI, созда-
ние и поддержка центра сертификации, и т. п.).
Итак, мы конфигурируем групповые настройки для груп-
пы pixvpn, и на этом настройка PIX заканчивается:

# vpngroup pixvpn address−pool vpnclient


# vpngroup pixvpn dns−server 192.168.224.127
# vpngroup pixvpn wins−server 192.168.224.127
# vpngroup pixvpn default−domain peanuts-unlimited.local
# vpngroup pixvpn split-tunnel 101
# vpngroup pixvpn idle−time 1800
# vpngroup pixvpn password myVPNgrouppassword

О строчке «vpngroup pixvpn split-tunnel 101» следует ска- Рисунок 9. Добавление группы в создаваемую политику
удаленного доступа
зать особо. В ней VPN-клиенту дается указание шифровать
исключительно сетевой трафик, передаваемый по VPN
и предназначенный для локальной сети (ACL 101), весь.
В противном случае после подключения к VPN у удален-
ного пользователя пропал бы доступ в Интернет, и остал-
ся лишь доступ через VPN к локальной сети.
Выходим из режима настройки:

# exit
Рисунок 10. Новая политика создана

№5, май 2007 37


администрирование

Рисунок 11. Свойства созданной Рисунок 12. Выбор метода аутентификации Рисунок 13. Выбор метода шифрования
политики для удаленных соединений данных для удаленных соединений

и записываем изменения в память PIX, Маршутизаторы, коммутаторы с паролем «radiuspassword» (поле


для сохранения конфигурации между и межсетевые экраны Cisco могут ис- «Shared secret») (см. рис. 5).
перезагрузками: пользовать два протокола аутенти- После этого нам нужно настроить
фикации и авторизации: TACACS+ политику доступа. Следует иметь в ви-
pixfirewall# wr mem (Terminal Access Controller Access- ду, что при использовании политики
Building configuration... Control System) и RADIUS (Remote для разграничения доступа на уров-
Cryptochecksum: 44b22e1d b86f29d9 Authentication Dial-In User Service). Пер- не групп домен Windows должен рабо-
c40e403f bd7098f6
[OK] вый из них был разработан компанией тать в режиме Native mode. Если до-
pixfirewall# Cisco Systems и используется почти ис- мен работает в смешанном режиме
ключительно в её продуктах. Второй – (Mixed mode), опция «Control access
Настройка Windows Server открытый протокол, и существует мно- through Remote Access Policy» на за-
2003 жество его реализаций под различные кладке «Dial-In» в свойствах пользо-
Как уже говорилось, мы используем операционные системы. В том числе – вателей будет недоступна.
сервер Windows 2003. Для сервера и под Windows. Компания Microsoft раз- Создадим в домене новую группу
Windows 2000 описание настройки бу- работала собственную версию серве- под названием, например, «VPN users»,
дет незначительно отличаться. ра RADIUS и назвала её IAS – Internet а затем в настройках сервера IAS со-
Итак, мы будем использовать Authentication Service. здадим новую политику удаленного до-
для второй ступени аутентификации Надо сказать, что с таким же ус- ступа, выбрав для простоты использо-
сервер RADIUS. пехом в качестве сервера аутенти- вание мастера создания новой поли-
фикации можно было бы использо- тики. Ее настройки пока оставим та-
вать, например, Cisco Secure ACS кими, какими их предлагает мастер –
(Access Control Server), установленный откорректировать их можно позднее
на тот же сервер Windows 2003, или ка- (см. рис. 6-9).
кой-нибудь из многочисленных Open В результате после завершения ра-
Source-серверов RADIUS. Реализация боты мастера создания новой полити-
от Microsoft выбрана ввиду ее большей ки в Remote Access Policies сервера
распространенности, а также потому, IAS появилась наша новая политика
что нам, в сущности, требуется от не- по имени VPN (см. рис. 10).
го лишь базовая функциональность – Как можно видеть на рис. 11, ус-
проверка логина и пароля пользовате- ловием применения данной политики
ля в домене Windows. является принадлежность подключа-
В панели управления сервисом IAS ющегося пользователя к группе «VPN
Рисунок 14. Создание нового соединения создадим нового клиента RADIUS – users». При выполнении этого условия
в Cisco VPN Client
наш PIX (cм. рис. 3). доступ пользователю будет открыт.
В поле «Friendly name:» введем В завершение нужно отредактиро-
любое имя, например pix501, а в по- вать профиль политики (кнопка «Edit
ле «Client address» – IP-адрес нашего Profile»). Следует разрешить переда-
VPN‑шлюза (192.168.224.1) (см. рис. 4). чу паролей PAP и CHAP, которые по
В следующем окне указываем сер- умолчанию отключены. В данном слу-
веру, что клиент будет работать с ним чае нет ничего страшного в том, что
Рисунок 15. Аутентификация пользователя
сервером RADIUS по стандартному протоколу RADIUS, протокол PAP передает пароль без

38
администрирование
шифрования, поскольку канал передачи уже и так зашиф-
рован IPSec. Для этого выберите закладку «Authentication»
(см. рис. 12).
По этой же причине нужно разрешить нешифрованную
передачу данных (закладка «Encryption», см. рис. 13).
Дело сделано. Осталось добавить выбранных пользова-
телей домена в группу «VPN users» и перейти к настройке
клиентского программного обеспечения Cisco VPN.

Настройка Cisco VPN Client


и проверка работы
Установка Cisco VPN Client тривиальна. После его установки
в системе появляется виртуальный сетевой адаптер, не тре-
бующий настройки. Запустив приложение, перейдем на за-
кладку «Connection entries» и нажмем кнопку «New». В по-
Рисунок 16. Статистика VPN-подключения
явившемся окне заполним данные группового VPN-досту-
па и нажмем кнопку «Save» (см. рис. 14).
Настало время подключиться к удаленной сети через
VPN. Нажимаем кнопку «Connect». Если первая ступень ау-
тентификации прошла нормально, мы увидим появившее-
ся окошко (cм. рис. 15).
Это означает, что началась вторая ступень аутенти-
фикации, и теперь нам нужно ввести наши логин и пароль
в удаленном домене. После ввода логина и пароля и нажа-
тия кнопки «OK» окошко должно исчезнуть, а еще через
полсекунды окошко Cisco VPN Client будет автоматически
свернуто и помещено в системный трей. Нам удалось ус- Рисунок 17. Результат проверки VPN-подключения
тановить VPN-соединение.
Для проверки щелкнем правой кнопкой мыши на иконку
Cisco VPN Client в трее и выберем «Statistics» (см. рис. 16).
Как видно на рис. 16, VPN-клиенту присвоен IP-адрес
192.168.250.1 (как мы помним, это первый адрес из пула вы-
деляемых VPN-клиентам адресов), и наше подключение за-
шифровано по алгоритму 3DES – как и предполагалось.
Попробуем что-нибудь отправить по этому соединению
Рисунок 18. Проверка параметров VPN-подключения командой
(см. рис. 17). Пакеты ICMP успешно путешествуют по за- ipconfig
шифрованному туннелю между нашим компьютером и сер-
вером локальной сети. Для верности посмотрим еще на вы- NAS-Port-Type = <not present>
NAS-Port = 4
вод команды ipconfig командного shell (см. рис. 18). Proxy-Policy-Name = Use Windows authentication for all users
Из вывода ipconfig видно, что наш компьютер получил Authentication-Provider = Windows
от VPN-шлюза не только собственный IP-адрес, но и адре- Authentication-Server = <undetermined>
Policy-Name = VPN
са DNS и WINS локальной сети. Благодаря этому пользо- Authentication-Type = PAP
ватель может просматривать домен через «Сетевое окру- EAP-Type = <undetermined>

жение» и с большими удобствами подключаться к сетевым Имеет смысл также заглядывать в этот журнал в том
ресурсам домена. случае, если по каким-то причинам не проходит вторая сту-
Любопытства ради можно взглянуть в журнал событий пень аутентификации. Записи о событиях сервиса IAS по-
на сервере Windows. Мы увидим там примерно такое: могут разобраться в причинах происходящего.
Event Type: Information
Event Source: IAS Заключение
Event Category: None Описанный в статье метод настройки межсетевого экрана
Event ID: 1
Date: 3/30/2007 Cisco относится не только к модели 501, но и ко всей линей-
Time: 3:10:54 PM ке PIX, при том, однако, условии, что межсетевой экран ра-
User: N/A
Computer: MAIN
ботает под управлением операционной системы версии 6.x.
Description: Как уже говорилось, серьезным ограничением PIX 501 явля-
User i.petrov was granted access.
Fully-Qualified-User-Name = peanuts-unlimited.local/Users/Ivan Petrov
ется количество одновременных подключений VPN – не бо-
NAS-IP-Address = 192.168.224.1 лее десяти. Если нужно обеспечить возможность одновре-
NAS-Identifier = <not present>
Client-Friendly-Name = pix501
менной работы большего количества удаленных пользова-
Client-IP-Address = 192.168.224.1 телей, следует подумать о модели 506 (до 25 пользовате-
Calling-Station-Identifier = 2.2.2.2 лей) или даже модели 515E (до 2000 пользователей).

№5, май 2007 39


администрирование

Split DNS: заставим BIND


работать на два фронта!

Яков Коваленко
Вы системный администратор организации, которая использует много внешних адресов
и свои DNS-серверы? У вас единое адресное пространство для внешних и внутренних серверов?
Вы используете разные DNS-серверы для внутренней и внешней сети? Не стоит так усложнять
себе жизнь. Есть способ заставить BIND работать на два фронта!

B
IND – DNS-сервер для UNIX. именами все свои серверы и рабочие мы с безопасностью и дополнитель-
Для воплощения в жизнь инфор- компьютеры. ные финансовые затраты.
мации из этой статьи вам потре- Н а п р и м е р, с е р в е р р а з р а б о т- Я знаю несколько системных ад-
буются знания UNIX и BIND на уровне ки dev.hornsandhooves.ru, почтовые минис траторов, которые пок упа-
продвинутого пользования. серверы – mx1.hornsandhooves.ru ли и настраивали совершенно отде-
Что такое Split DNS-конфигурация? и mx2.hornsandhooves.ru, компьюте- льные DNS-серверы, один для интер-
Конфигурация BIND, позволяющая ры сотрудников тоже захочется на- нет-сервисов, другой для внутренних
использовать различные настройки звать понятными именами, например сервисов. Схема их сети была такой,
DNS в зависимости от адреса источ- bender.hornsandhooves.ru, panikovsky. как на рис. 1. Как видим – DNS раз-
ника запроса. hornsandhooves.ru и так далее. делен на внутренние серверы, кото-
Для чего это может быть полез- Получается, что внутренние ком- рые обеспечивают разрешение имен
но? Допустим, ваша организация на- пьютеры и внешние серверы объеди- внутренних сервисов, кэшируют запро-
зывается «Horns And Hooves inc.» нены общим именным пространством. сы, разрешают имена и делают прочую
и соответс твенно доменное имя Это, на первый взгляд, очень удоб- полезную работу.
hornsandhooves.ru. Вероятно, систем- но при администрировании, но несет За брандмауэром расположены
ному администратору покажется удоб- в себе дополнительные трудозатра- DNS-серверы для обслуживания зо-
ным назвать логичными и понятными ты при администрировании, пробле- ны hornsandhooves.ru.

40
администрирование
Вполне логичная и безопасная схе- Листинг 1. Файл ext.hornsandhooves.ru
ма, но экономически не эффективна $TTL 86400
и усложнена для администрирования. hornsandhooves.ru. IN SOA ns1.hornsandhooves.ru. noc.hornsandhooves.ru.
(
Давайте попробуем разобраться, 2007032900 ; serial
каким образом, используя всего одну 21600 ; refresh (6 hours)
1200 ; retry (20 minutes)
пару DNS-серверов, отдавать в Интер- 86400 ; expire (1 day)
нет только то, что положено – www‑сер- 432000 ; minimum (5 days)
)
вер с внешним адресом, DNS-сервер, IN NS ns1.hornsandhooves.ru.
почтовые серверы, а внутренним кли- IN NS ns2.hornsandhooves.ru.
ентам – адреса внутренних серверов IN MX 5 mx1.hornsandhooves.ru.
и клиентских компьютеров, так на- IN MX 10 mx2.hornsandhooves.ru.
зываемое «затененное пространство IN A 194.0.1.1
имен», которое показывать в Интер- www IN A 194.0.1.1
нете минимум опасно. ns1 IN A 194.0.1.3
ns2 IN A 194.0.1.4
Расщепление пространства mx1 IN A 194.0.1.3
имен. Виды mx2 IN A 194.0.1.4
Нам потребуется создать 2 разных
файла зоны hornsandhooves.ru: один Листинг 2. Файл int.hornsandhooves.ru
из них будет содержать информацию $TTL 86400
для Интернета, второй будет содер- hornsandhooves.ru. IN SOA ns1.hornsandhooves.ru. noc.hornsandhooves.ru.
(
жать информацию для внутренних 2007032900 ; serial
клиентов. 21600 ; refresh (6 hours)
1200 ; retry (20 minutes)
Примечание: все доменные име- 86400 ; expire (1 day)
на и IP-адреса вымышлены, совпаде- 432000 ; minimum (5 days)
)
ния случайны. IN NS ns1.hornsandhooves.ru.
В файле зоны ext.hornsandhooves.ru IN NS ns2.hornsandhooves.ru.
указан минимальный набор серверов, IN MX 5 mx1.hornsandhooves.ru.
необходимых для того, чтобы компания IN MX 10 mx2.hornsandhooves.ru.
нормально работала, разрешала свои IN A 192.168.1.1
интернет-имена и принимала почту. www IN A 192.168.1.1
При условии, что у регистратора зоны ns1 IN A 192.168.1.3
прописаны ваши DNS-серверы как от- ns2 IN A 192.168.1.4
ветственные за зону (см листинг 1). mx1 IN A 192.168.1.3
А в файле int.hornsandhooves.ru, mx2 IN A 192.168.1.4
кроме внешних интернет-сервисов, dev IN A 192.168.1.10
но с внутренними адресами, мы ви- gate IN A 192.168.1.11
filesrv IN A 192.168.1.12
дим еще несколько адресов, а имен- dhcp IN A 192.168.1.13
но адреса внутренних сервисов, о ко-
bender IN A 192.168.1.20
торых незачем знать внешнему Ин- panikovsky IN A 192.168.1.21
тернету, плюс адреса рабочих стан- funt IN A 192.168.1.22
shura IN A 192.168.1.23
ций, о которых Интернету знать тоже
незачем (см. листинг 2).
Итак, мы создали 2 разных фай- В каждом сервере по два сетевых нета, а в другом – зону для внутренней
ла для зоны, теперь осталось научить интерфейса. Один имеет внешний сети. Назовем их external и internal.
BIND отдавать информацию из этих IP-адрес (194.0.1.3 для ns1 и 194.0.1.4 Файл конфигурации named.conf
файлов дифференцированно. Зоны д ля ns2), второй интерфейс име - для master-сервера:
обратного отображения тоже должны ет адрес из внутренней сети
быть разными. (192.168.1.3 и 192.168.1.4 соот- options {
directory "/var/named";
ветственно). notify yes;
Конфигурирование О конфигурации с одним pid-file "/var/run/named/named.pid";
statistics-file "named.stats";
named.conf интерфейсом с внутренним
Для начала разберемся с конфигура- адресом (например, если у вас };
цией наших DNS-серверов. DMZ) будет сказано в конце
У нас 2 сервера, master и slave. Ns1 статьи. controls {
inet 127.0.0.1 allow { localhost; } ↵
и ns2 соответственно. Они по совмес- В BIND 9 есть замечатель- keys { rndckey; };
тительству являются почтовыми серве- ная возможность создавать };
рами, ничто им не мешает заниматься Views (виды). В одном View мы // Создадим ACL, в котором укажем,
еще и почтой. расположим зону для Интер- // что внутренние адреса – подсеть 192.168.1

№5, май 2007 41


администрирование
acl "internals" {192.168.1.0/24; 127.0.0.1/32;}; чим 194.0.1.1. Если из внутренней сети дать запрос на раз-
// Объявляем вид – internal зоны для внутренней сети решение имени bender.hornsandhooves.ru, то получим
view "internal" { 192.168.1.20, а если из Интернета, то ничего не получим.
// Этот вид разрешено просматривать только Вот так наш сервер стал работать на два фронта.
// внутренним клиентам Теперь давайте разберемся со slave-сервером.
match-clients { "internals"; };
Я не буду рассказывать, зачем нужен slave-сервер,
// Обозначим slave-сервер. Только ему разрешим но расскажу, как нужно его настроить специальным обра-
// скачивать зону
allow-transfer {192.168.1.4;}; зом, для того чтобы он правильно синхронизировал зоны.
Специальная настройка заключается в указании сер-
// Наш сервер рекурсивен для внутренних клиентов,
// сам будет узнавать адрес для клиента веру, с какого интерфейса надо запрашивать каждый вид.
recursion yes; Делается это для того, чтобы сервер не перепутал виды
//ROOT zone и не скачал внутреннюю зону во внешний View.
zone "." IN { Конфигурационный файл named.conf для slave-сервера:
type hint;
file "named.ca";
}; options {
directory "/var/named";
//Forward zones notify yes;
zone "hornsandhooves.ru" in { pid-file "/var/run/named/named.pid";
type master; statistics-file "named.stats";
file "forward/int.hornsandhooves.ru"; };
};
controls {
//Reverse zone inet 127.0.0.1 allow { localhost; } ↵
zone "1.168.192.in-addr.arpa" in { keys { rndckey; };
type master; };
file "reverse/1.168.192";
}; //ACLs
acl "internals" {192.168.1.0/24; 127.0.0.1/32; };
zone "localhost" IN {
type master; view "internal" {
file "localhost.zone";
allow-update { none; }; match-clients { "internals"; };
};
query-source address 192.168.1.4 port 43303;
zone "0.0.127.in-addr.arpa" IN {
type master; recursion yes;
file "named.local";
allow-update { none; }; // Здесь мы как раз указываем, с какого
}; // интерфейса запрашиваем передачу зоны
}; // В данном случае – с внутреннего, так как
// на внутреннем виде, на мастере, трансфер
// Объявляем вид для внешних запросов // разрешен для внутреннего интерфейса
view "external" { transfer-source 192.168.1.4;

// К этому виду имеют доступ все //ROOT zone


match-clients {"any"; }; zone "." IN {
type hint;
// Наш сервер не рекурсивен для Интернета file "named.ca";
allow-recursion { localhost; }; };

// Укажем внешний адрес slave-сервера zone "hornsandhooves.ru" in {


allow-transfer { 194.0.1.4;}; type slave;
file "slave/int.hornsandhooves.ru";
//ROOT zone masters { 192.168.1.3; };
zone "." IN { };
type hint;
file "named.ca"; zone "localhost" IN {
}; type master;
file "localhost.zone";
//Forward zones allow-update { none; };
zone "hornsandhooves.ru" in { };
type master;
file "forward/ext.hornsandhooves.ru"; zone "0.0.127.in-addr.arpa" IN {
}; type master;
file "named.local";
//Reverse zone allow-update { none; };
zone "1.0.194.in-addr.arpa" in { };
type master;
file "reverse/1.0.194"; //Reverse zone
}; zone "1.168.192.in-addr.arpa" in {
}; type slave;
file "reverse/1.168.192";
include "/etc/rndc.key"; masters { 192.168.1.3; };
// Файл можно сгенерировать командой };
// rndc-confgen -a -c /etc/rndc.key };

view "external" {
Теперь, если с компьютера из внутренней сети сде-
match-clients {"any"; };
лать запрос на разрешение имени www.hornsandhooves.ru,
то в ответ получим 192.168.1.1, если из Интернета, то полу- query-source address 194.0.1.4 port 43303;

42
администрирование

allow-recursion { localhost; };

// Здесь мы указываем, что забираем зону
// с внешнего интерфейса – только для него
// на мастере внешняя зона отдается
transfer-source 194.0.1.4;

//ROOT zone
zone "." IN {
type hint;
file "named.ca";
};

//Forward zones
zone "hornsandhooves.ru" in {
type slave;
file "slave/ext.hornsandhooves.ru";
masters { 194.0.1.3; };
};

//Reverse zone
zone "1.0.194.in-addr.arpa" in {
type slave;
file "reverse/1.0.194";
masters { 194.0.1.3; };
};
};
Рисунок 1. Модель обычной расстановки DNS-серверов
include "/etc/rndc.key"; без использования Split DNS

Что получилось в результате?


На рис. 2 схематично представлено, что примерно долж-
но получиться.
В результате мы добились экономической эффектив-
ности, легкости в администрировании, надежности и бе-
зопасности.
Во-первых, вместо четырех серверов у нас всего два.
Во-вторых, изменения нужно вносить только в master‑сер-
вер, на slave будут корректно синхронизироваться зоны.
В-третьих, у нас два сервера, полностью взаимозаме-
няющие друг друга. Если даже один из них сломается, вто-
рой полностью возьмет на себя его функцию.
В-четвертых, адреса внутренних ресурсов не вид-
ны, так как ограничен просмотр видов и четко определен
slave‑сервер, которому разрешается скачивать зону.
Такая схема вполне подойдет для малых и средних ком-
паний. На внешних серверах нужно соответствующим об-
разом настроить врапперы и внутренние брандмауэры, да-
бы усложнить взломщикам жизнь.
Крупным компаниям рекомендуется использовать DMZ
для интернет-серверов. С DMZ схема будет немного дру-
Рисунок 2. Модель расстановки DNS-серверов при использовании
гая, так как не будет внешнего и внутреннего интерфей- Split DNS
са, будет всего один.
Здесь 192.168.1.5 – дополнительный интерфейс, кото-
Конфигурация с DMZ рым мы будем скачивать external view. Ему не разреше-
Если ваши серверы находятся в DMZ, то у них используют- но скачивать internal view (перед адресом стоит восклица-
ся только внутренние DMZ-IP-адреса, которые DMZ-марш- тельный знак).
рутизатором транслируются во внешние. Как решить про- Вот такое решение.
блему скачивания зон на slave-сервере?
Очень просто – поднимите дополнительный интерфейс Послесловие
на slave-сервере (можно alias, например eth0:1) и укажите Если отбросить UNIX и BIND составляющую прочитанной
его как transfer-source для одного из видов. На master-сер- вами статьи, кстати, спасибо, что дочитали, то информа-
вере для выбранного вида поставьте разрешение на ска- цию можно применить к любому DNS-серверу на любой
чивание, а для второго вида поставьте отказ в доступе. Де- платформе.
лается это через acl. Комментарии и предложения, а также просьбы о разъ-
Например: яснениях непонятных вам деталей, принимаются на элек-
тронную почту.
acl "internals" {!192.168.1.5; 192.168.1.0/24;}; Удачи!

№5, май 2007 43


администрирование

Строим Jabber-сервер
с OpenFire

Сергей Яремчук
Сегодня для более эффективной организации совместной работы сотрудников все чаще
используют системы мгновенного обмена сообщениями. Рассмотрим, как установить
и настроить Jabber-сервер OpenFire.

Н
аиболее известным протоко- дуктам. Но в то же время использо- ше, чем электронной почте и инфор-
лом мгновенного обмена со- вание ICQ в корпоративных целях мо- мации на веб-сайтах. Такие системы
общениями (instant messaging, жет иметь и отрицательные последс- всегда привлекали и будут привлекать
IM) несомненно, является ICQ. В не- твия. Вероятно, из-за обмена сообще- в будущем большое внимание со сто-
которых организациях подключаются ниями в реальном времени, когда ве- роны хакеров, вирусописателей, не-
к этой сети и используют ее возмож- дется обычный диалог, пользователи равнодушны к ним и фишеры. Поэто-
ности, не прибегая к сторонним про- часто доверяют IM-сетям даже боль- му в любой момент компьютер может

44
администрирование
быть атакован через ошибки в клиент-
ских программах, ссылка, вставленная
в сообщение, может привести на вре-
доносный ресурс. Не стоит забывать,
что ICQ – это закрытый протокол, под-
верженный частым изменениям. Да и
вообще сеть иногда попросту не рабо-
тает. Итак, назревает вопрос о созда-
нии своего сервера.
Если просмотреть доступные бес-
платные предложения, то можно об-
наружить, что в качестве ICQ-сер-
вера на всех ресурсах рекомендует-
ся только один – IServerd (ICQ server
daemon) [1], изначально работающий
только под UNIX-совместимыми систе-
мами и весьма простой в настройках.
Список же Jabber-серверов [2] на по-
рядок больше. Напомню, что в Jabber
для обмена сообщениями используют Рисунок 1. Настройка соединения с базой данных
открытый протокол XMPP (eXtensible
Messaging and Presence Protocol), ба-
зирующийся на XML. Последнее да-
ет большую гибкость и возможность
расширения. Так, в принципе любой
Jabber-сервер вполне способен под-
держивать множество других протоко-
лов – ICQ, IRQ, MSN, RSS, Yahoo и др.
В одних это заложено в базовой конс-
трукции, а в других с использовани-
ем дополнительных модулей. Также
Jabber позволяет организовать и груп-
повые чаты. Поэтому вместо двух сер-
веров (ICQ и IRC) вполне возможно
обойтись и одним, что гораздо удоб-
нее для пользователей и админист-
раторов. Сам Jabber отличает проду-
манная система защиты информации,
все реализации серверов поддержи-
вают SSL, а клиенты – шифрование
с помощью PGP/GPG, пароли переда- Рисунок 2. Создание пользователя
ются не в открытом виде, а использу-
ются md5-хеши. Проблем с кодировкой не должно никого пугать. Но зато его лее он предназначен исключительно
тоже нет, так как изначально исполь- можно установить в любой системе, для административных целей, а лю-
зуется Unicode. для которой доступен Java Runtime бой админ так или иначе должен вла-
Environment (AIX, *BSD, HP-UX, Linux, деть базовым английским. В установке
Проект OpenFire MacOS X, Solaris, Windows). Для сохра- по умолчанию OpenFire имеет большое
После знакомства со списком, при- нения различных настроек и профи- количество возможностей, среди кото-
веденным по ссылке [1], особен- лей можно использовать как внутрен- рых управление списком пользовате-
но со столбцами «Feature Score» и нюю базу данных HSQLDB, так и вне- лей и отображение списка пользова-
License=Gnu GPL, из всех присутству- шнюю. В качестве последних подде- телей на клиентах, отправление сооб-
ющих можно отобрать лишь несколь- рживаются: MySQL, Postgres, Microsoft щений пользователям, которые на дан-
ко. Особо выделяется проект OpenFire SQL Server, Oracle, IBM DB2. Для ра- ный момент отключены, поиск пользо-
(ранее – Wildfire), который позицио- боты с ними понадобится JDBC-драй- вателей, а остальное (Asterisk, широ-
нируется как открытая альтернатива вер. OpenFire очень прост в настрой- ковещательные сообщения, IM‑шлюз,
проприетарным серверам мгновен- ке, все операции осуществляются че- контент-фильтр и прочее) реализуется
ных сообщений масштаба предпри- рез понятный веб-интерфейс, кото- посредством плагинов. Поддерживает
ятия. Написан на Java, по-моему, се- рый хотя и не локализован, но разо- работу по протоколам SSL/TLS. Опци-
годня использование этого языка уже браться с ним будет просто. Тем бо- онально сервер способен использо-

№5, май 2007 45


администрирование
вать существующую систему автори-
зации предприятия на основе LDAP.
Как и большинство подобных решений,
OpenFire легко интегрируется в сеть
серверов Jabber. Сервер выходит под
двойной лицензией – Open Source GPL
и коммерческий вариант. Все плагины,
кроме двух: Spark Fastpath Webchat
(веб-чат) и Wildfire Enterprise (графики,
контроль версий клиентов, архивиро-
вание) доступны под лицензией GPL.
Для тестирования коммерческих пла-
гинов необходимо вначале получить
тестовый ключ, который даст возмож-
ность полноценно погонять его в тече-
ние 30 дней.

Устанавливаем OpenFire
Перед началом установки OpenFire
следует инсталлировать пакеты sun- Рисунок 3. Установленные плагины
java6-jre. И если планируется использо-
вать внешний сервер базы данных, то и его. Тестовая уста- сервера. По умолчанию используется вывод hostname, хо-
новка производилась на Ubuntu 7.04 в качестве БД – MySQL. тя можно здесь использовать IP-адрес. Впоследствии имя
Для других дистрибутивов все сказанное, кроме особен- можно изменить, после чего понадобится изменение и сер-
ностей работы менеджеров пакетов, будет действительно. тификатов. Здесь же указываем порт, который будет ис-
пользоваться при администрировании сервера, обычный
$ sudo apt-get update и с использованием защищенного соединения (по умолча-
$ sudp apt-get install sun-java6-jre mysql-server
нию соответственно 9090 и 9091).
Теперь распаковываем полученный архив в каталог /opt: Следующий шаг позволяет определить, какую из баз
данных мы будем использовать для работы. Самым прос-
$ cd /opt/ тым вариантом будет выбор встроенной базы (Embedded
$ sudo tar xzvf /home/source/openfire_3_3_0.tar.gz
DataBase). В этом случае никаких дополнительных настроек
В результате в каталоге /opt появился подкаталог далее делать не нужно. Для небольшого количества поль-
openfire, в котором содержатся все библиотеки и исполня- зователей ее производительности вполне хватает. Мы же
емые файлы. используем MySQL, поэтому отмечаем «Standard Database
Создаем необходимую для работы базу данных: Connection» и жмем Continue. В следующем окне указываем
параметры подключения к базе данных. Для этого в строке
$ sudo mysqladmin --user=root --password=db_passwd ↵ Database Driver Presets выбираем тип базы, с которой бу-
create jabber
$ cat ./openfire/resources/database/openfire_mysql.sql | ↵ дем работать, в строке Database URL все слова в квадрат-
mysql --user=root --password=db_passwd --database=jabber ных скобках подменяем своими значениями (то есть вмес-
то [host-name] пишем адрес сервера, на котором располо-
В указанном каталоге находятся файлы и для осталь- жена база MySQL, а вместо [database-name] пишем имя ба-
ных баз данных, поддерживаемых OpenFire. зы, в нашем случае база называется jabber). То есть, если
Запускаем сервер (привилегий администратора не тре- MySQL установлен на том же компьютере, в поле Database
буется): URL получается:

$ cd openfire/bin jdbc:mysql://localhost:3306/jabber
$ ./openfire
testing JVM in /usr ...
Далее вводим имя пользователя и пароли и пробуем
Usage: ./openfire {start|stop|status}
соединиться с базой данных. Шаг «Profile Settings» позво-
$ ./openfire start лит выбрать вариант сохранения информации о пользова-
телях. Это может быть внутренняя база данных либо LDAP.
Теперь набираем в браузере http://localhost:9090/ и пе- В последнем случае настраиваем соединение с сервером,
реходим к этапу настройки. предоставляющим соответствующие услуги.
Как уже говорилось выше, сервер очень прост в нас- И последний шаг настройки – установка пароля адми-
тройке. Необходимо будет последовательно пройти всего нистратора. Учетная запись в этом поле пишется с добав-
5 этапов. Вначале выбираем язык интерфейса, русского лением домена – admin@example.com. По окончании на-
в списке нет, поэтому придется довольствоваться англий- стройки система предложит нажатием на кнопку «Login to
ским. На следующем шаге в строке Domain указываем имя the admin console» зарегистрироваться в консоли админис-

46
администрирование
тратора. Конфигурация сохраняется
в файле /opt/openfire/conf/openfire.xml,
если что-то не получилось можно заме-
нить его, взяв версию из архива, либо
удалить из него предпоследнюю стро-
ку, начинающуюся с <setup>. После че-
го повторить установку. Сервер теперь
готов принимать клиентов, хотя стоит
поначалу все-таки обратиться к неко-
торым настройкам.

Настройки в консоли
администратора
Настроек в OpenFire предостаточно,
все их описать невозможно, скажу
только о некоторых. На главной стра-
нице, которая будет выведена после
регистрации в консоли, будет показа-
на статистика сервера и текущие на-
стройки. Чтобы отредактировать имя Рисунок 4. Сертификаты сервера
сервера, порт подключения сервер-
сервер, клиент-сервер и консоли адми- зовать внутри организации, лучше твие сервера, если новый пользова-
нистратора, а также включить или вы- запретить пользователям самосто- тель попробует зайти с именем, кото-
ключить поддержку SSL, следует на- ятельно создавать учетные записи. рое уже задействовано (протокол это
жать кнопку Edit Properties в самом ни- Для этого переходим в «Registration & допускает).
зу страницы. Далее идем в «Language Login» и устанавливаем переключа- Теперь можно зазывать пользова-
and Time Settings» в «Choose Time тель в Disabled в поле «Inband Account телей на новый ресурс, но если выбра-
Zone», выбираем свой часовой пояс, Registration». Используя переключа- на политика, запрещающая самостоя-
если он выставлен неправильно (бе- тель в поле «Anonymous Login», мож- тельную регистрацию, сначала регис-
рется из системных настроек). Пе- но разрешить или запретить аноним- трационные записи нужно будет со-
рейдя в «Email Settings», указываем ные подключения к серверу. И, нако- здать. Для чего переходим в «Users/
SMTP-сервер и учетные данные, не- нец, можно ограничить соединения Groups», выбираем «Create New User»
обходимые для отправки почтовых со- с сервером только диапазоном опреде- и вводим имя пользователя и пароль.
общений. ленных адресов, указав их в «Restrict Опционально можно ввести и имя
Сервер OpenFire может быть на- Login» в виде 192.168.1. Переключа- с почтовым адресом. Если создает-
строен как закрытый, так и в качест- тель в поле «Change Password» лучше ся сразу несколько учетных записей,
ве открытого ресурса, к которому мо- установить в Enabled, тем самым раз- удобнее после заполнения всех па-
гут подключаться новые пользовате- решив пользователям самостоятельно раметров нажимать кнопку «Create
ли. По умолчанию он настроен имен- изменять свои пароли. Меню «Conflict & Create Another». В этом случае пос-
но так. Если его планируется исполь- Policy» позволяет определить дейс- ле создания нового пользовательско-
го бюджета появится снова окно на-
eJabberd фейс. Конфигурационный файл весьма по- строек, иначе будет показано окно
Еще одним популярным Jabber-серве- нятен по структуре, хотя к его редактиро- со свойствами учетной записи. Ана-
ром является eJabberd (http://www.process- ванию следует относиться весьма внима- логично создаются и группы.
one.net/en/ejabberd). Написан он на язы- тельно. Так как любая погрешность приве- Параметров, как видите, немного,
ке Erlang (http://erlang.org), который пред- дет к тому, что сервер будет работать не так, но если добавить плагин registration,
назначен для создания отказоустойчи- как надо. В настройках сервера есть свои появится новый пункт «Registration
вых распределенных приложений. Поэто- особенности. Так, все изменения, произ- Properties», в котором можно активи-
му eJabberd изначально может работать веденные через веб-интерфейс, заносятся ровать соответствующие пункты и за-
в кластере, когда один домен физически сразу в базу данных, в конфигурационном тем указать IM контакты и адреса элек-
обслуживает сразу несколько компьютеров, файле они никак не отражаются. При нали- тронной почты, на которые будут от-
синхронизируя информацию через единую чии записей override_* они будут действи- сылаться сообщения о новых пользо-
базу данных. Откомпилированные прило- тельны до первой перезагрузки. В качест- вателях, группу по умолчанию, в ко-
жения выполняются в Erlang (JAM) emulator, ве базы данных используется Mnesia, хо- торую будет включен пользователь
в этом он несколько похож на Java. Подде- тя поддерживаются и некоторые другие – и приветствие после успешной регис-
рживаются все популярные сегодня опера- MySQL, PostgreSQL. Большинство возмож- трации.
ционные системы. Все настройки осущест- ностей реализовано из коробки. Для созда- Здесь же можно разрешить регист-
вляются путем внесения изменений в кон- ния транспорта ICQ <-> Jabber понадобится рацию через веб-форму, для чего поль-
фигурационный файл или через веб-интер- PyICQt (http://pyicq-t.blathersource.org). зователь должен будет зайти по адре-

№5, май 2007 47


администрирование
су http://server:9090/plugins/registration/sign-up.jsp. Модуль $ cd /opt/openfire/resources/security/
userImpo=rtExport позволит экспортировать и импортиро-
вать пользователей в XML-файл. Сначала меняем пароль к keystore:
Установленные плагины можно найти во вкладке
«Plugins», где их можно перезапускать, удалять и просмат- $ sudo keytool -storepasswd -keystore keystore
ривать информацию о назначении плагина. По умолчанию
здесь только один обеспечивающий поиск пользователей, Вводим пароль changeit и затем новый, повторив его
чтобы установить остальные, необходимо скачать их с сай- два раза. Удаляем старые сертификаты:
та проекта и скопировать в подкаталог plugins. После чего
их список появится в одноименной вкладке. $ sudo keytool -delete -keystore keystore -alias rsa
$ sudo keytool -delete -keystore keystore -alias dsa
Многие пользователи уже имеют ICQ UIN, в этом слу-
чае необходимо будет настроить транспорт. Устанавлива- При желании это можно сделать и через веб-интерфейс.
ем плагин gateway, после чего во вкладке Server появится Теперь создаем новый сертификат:
новый пункт «Gateways». Выбираем «Setting» и устанавли-
ваем флажок напротив ICQ. Нажав ссылку «Test» и кноп- $ sudo keytool -genkey -keystore keystore -alias grinder.com
ку «Test Connection», можно протестировать подключение
к выбранному серверу ICQ. В «Options → Encoding» указы- Сначала вас спросят новый пароль keystore, а затем
ваем кодировку проходящих сообщений. По умолчанию ис- потребуется ввести некоторую информацию о серве-
пользовать шлюз могут все, изменить такой порядок мож- ре (организация, город, страна), как это обычно делает-
но, выбрав «Permissions», где можно указать пользовате- ся при создании любого сертификата. Перейдя по ссыл-
лей или группы, которым разрешена работа с шлюзом, либо ке в «Signing Request» на странице «Server Certificates»,
ручная регистрация в подменю «Registrations». Чтобы свя- можно занести всю информацию в файл, чтобы затем
заться с корреспондентом через шлюз, достаточно указать не вводить ее каждый раз. По окончании будет задан
его UIN в виде uin@jabber_server.com. вопрос о пароле для доступа к ключу. Можно ввести дру-
гой пароль, нажатием на <Ente> установить такой же па-
Настройка SSL роль, как и keystore.
После установки сервера OpenFire самостоятельно со- Если планируется подпись сертификата сервера сторон-
здаст все необходимые (самоподписанные) сертификаты ней организацией, необходимо сгенерировать файл в стан-
для используемого домена, их можно просмотреть в Server дартном формате CSR (Certificate Signing Request):
Certificates. Для организации SSL используется стандарт-
ная реализация Java. Ключи и сертификаты сервера сохра- $ sudo keytool -certreq -keystore keystore ↵
-alias grinder.com -file grinder_com.csr
няются в стандартном хранилище сертификатов – keystore
и используются для подтверждения полномочий. Возмож- Этот запрос отсылается в любую выбранную службу
но использование второй пары ключей truststore, с помо- сертификации. Подписанный сертификат импортирует-
щью которых проверяется подлинность клиентов. Если пла- ся командой:
нируется работа через SSL, этого мало, необходимо вклю-
чить соответствующие механизмы сервера. Для чего пе- $ sudo keytool -import -keystore keystore ↵
-alias grinder.com -file signed_ grinder_com.csr
реходим во вкладку «System Properties» и, используя по-
ле «Add new property», добавляем или включаем следую- Клиентские сертификаты в truststore импортируют-
щие параметры: ся также просто. Сначала меняем пароль (по умолчанию
n xmpp.socket.ssl.active – true; тот же changeit):
n xmpp.socket.ssl.port – порт для SSL обычно 5223;
n xmpp.socket.ssl.storeType – необязательное поле, оз- $ sudo keytool -storepasswd -keystore truststore
начающее формат, по умолчанию используется jks;
n xmpp.socket.ssl.keystore – местонахождение файла И теперь импортируем сертификат каждого клиента:
keystore, если оставить пустым, будет использовано зна-
чение по умолчанию; $ sudo keytool -import -keystore truststore ↵
-alias user1 -file user1_certificate_file
n xmpp.socket.ssl.keypass – пароль к keystore, по умол-
чанию changeit; Как видите, OpenFire очень прост в установке и настрой-
n xmpp.socket.ssl.truststore – расположение файла ке. Привести его в рабочее состояние можно всего за па-
truststore относительно корневого каталога, если не пла- ру часов, после чего вы забудите о многих проблемах, свя-
нируется его использовать, оставьте пустым; занных с использованием ICQ или других внешних серви-
n xmpp.socket.ssl.trustpass – пароль к truststore. сов мгновенного обмена сообщениями.

Возможна ситуация, когда придется создавать клю- 1. Домашняя страница проекта IServerd – http://iserverd.khstu.ru.
чи и сертификаты самому, также необходимо обязатель- 2. Список Jabber-серверов – http://www.jabber.org/software/
но сменить пароль к keystore с changeit на что-то более бе- servers.shtml.
зопасное. Это в принципе просто. Переходим в каталог 3. Д о м а ш н я я с т р а н и ц а п р о е к т а O p e n F i r e  – h t t p : / /
ключей. www.igniterealtime.org/projects/openfire.

48
администрирование

Разворачиваем кластер на основе


Windows Server 2003

Андрей Бирюков

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


Но у многих администраторов внедрение и обслуживание кластерных систем по-прежнему
вызывает много вопросов. Рассмотрим реализацию отказоустойчивого кластера на основе
Windows Server 2003.

50
администрирование
Приступая к работе Прежде всего я поставлю зада- серверную лицензию на операцион-
Одним из необходимых условий ста- чу, решению которой будет посвяще- ную систему на каждый узел класте-
бильного функционирования сети на эта статья. ра. Плюс лицензии клиентского досту-
крупной организации является отка- У нас имеется два сервера с иден- па (CAL) в том же количестве, что и для
зоустойчивость. Даже минутный сбой тичной аппаратной частью. Требова- одного сервера.
может привести к весьма неприятным ние идентичности не является обяза- Поясню на примере. Если у вас
последствиям. тельным, но желательно, чтобы мощ- в организации 250 пользователей и вы
Так, например, во время перезаг- ность серверов была сходной. разворачиваете двухузловой клас-
рузки почтового сервера в разгар ра- Необходимо объединить их в отка- тер, то вам необходимо приобрести
бочего дня сотрудники компании бу- зоустойчивый кластер. В качестве при- две серверные лицензии на Windows
дут получать сообщения об ошибке мера настройки отказоустойчивого ре- Server 2003 и 250 лицензий клиент-
и, как правило, звонить в службу тех- сурса я настрою службу File Share. ского доступа.
нической поддержки компании, при- Подробнее о типах кластеризу- Таким образом, количество узлов
бавляя работы системным админис- емых ресурсов мы поговорим чуть в кластере не влияет на число клиент-
траторам. позже. ских лицензий.
Это особенно неприятно, когда о
недоступности почты или любого дру- О редакциях и лицензиях Новые понятия
гого сервиса сообщает руководство. Перед тем как начать описание про- Для лучшего понимания концепции
Избежать подобных проблем можно цесса установки и настройки клас- кластеризации мы рассмотрим не-
с помощью отказоустойчивых клас- тера, нам необходимо определить- сколько основных понятий.
теров. ся с редакциями операционной сис- Отказоустойчивый кластер, как
Кластер серверов – это группа не- темы, которая будет использоваться, правило, состоит из четырех узлов,
зависимых узлов, которые взаимо- а также рассмотреть вопросы лицен- использующих общий дисковый ре-
действуют как одна система. Они ис- зирования. сурс для обмена данными. Этот ре-
пользуют общую базу данных класте- При построении кластера следу- сурс также именуется кворум-устройс-
ра, которая позволяет выполнять вос- ет запомнить, что наиболее распро- твом (quorum).
становление в случае отказа любо- страненная редакция Windows Server В идеале это кворум-устройство
го узла. 2003 Standard не поддерживает клас- должно представлять из себя отде-
Данные решения могут быть как теризацию. льное аппаратное хранилище данных
аппаратными, так и программными. Таким образом, при построении с собственной поддержкой отказо-
Выбор зависит от размера вашей орга- отказоустойчивой системы следует устойчивости (диски RAID 1, RAID 5),
низации, критичных для бизнеса при- использовать Windows Server 2003 подключающееся ко всем узлам клас-
ложений и, естественно, бюджета, вы- Enterprise Edition. тера.
деляемого на IT-инфраструктуру. Кстати, редакцию Enterprise нуж- Подобные решения предоставляют
В своей статье я рассмотрю про- но использовать и при построении IBM, EMC и другие производители.
граммную реализацию двухузлового кластеров для Microsoft Exchange Но в случае ограниченных финан-
кластера на основе службы Microsoft и Microsoft SQL Server 2000. В против- совых возможностей компании для со-
Clustering Service. Такое решение яв- ном случае вы не сможете кластери- здания кворум-устройства можно ис-
ляется наиболее приемлемым для ор- зовать почту и базы данных. пользовать диск на разделяемой SCSI-
ганизаций средних размеров с неболь- Что касается вопросов лицензи- шине, подключенный ко всем узлам
шим IT-бюджетом. рования, то необходимо приобретать кластера.

Рисунок 1. Имя кластера и домен Рисунок 2. Результат проверки конфигурации

№5, май 2007 51


администрирование

Рисунок 3. Страница с предлагаемыми настройками Рисунок 4. Обнаружение ошибок в конфигурации

Кластер содержит два различных При устранении причины отказа n Стандартный разделяемый фай-
типа сетей: частная сеть, которая ис- исходного узла вся группа передается ловый ресурс, когда видна только
пользуется для поддержки соединений назад в исходный узел в соответствии папка верхнего уровня, представ-
между узлами кластера, и сеть общего с политикой возврата после восстанов- ленная разделяемым именем.
пользования (локальная сеть), которая ления (failback) для данной группы. n С разделяемыми подпапками,
используется клиентами кластера для когда папка верхнего уровня и каж-
подсоединения к службам в этом клас- Ресурсы – наше все дая из ее непосредственных подпа-
тере. Обе эти сети могут совместно ис- Следующим понятием являются ресур- пок предоставляются для разделя-
пользовать одну сетевую карту и од- сы – логические или физические эле- емого доступа с различными име-
но физическое соединение, но лучше менты, которые можно подсоединять нами.
держать их отдельно. или отсоединять от сети. n Автономный корень распреде-
Поскольку соединение между узла- В систему Windows Server 2003 ленной файловой системы Dfs
ми кластера – это потенциальная точ- Enterprise Edition включено несколько (Distributed File System). Но вы
ка отказа, оно всегда должно предус- различных типов ресурсов: не можете использовать ресурс
матривать избыточность. n Physical Disk; File Share кластерного сервера
В случае, если используются два n DHCP; как часть отказоустойчивого кор-
сетевых интерфейса, то при отказе од- n WINS; ня Dfs.
ного из них администратор сможет без n Print Spooler;
особых усилий переключиться на ис- n File Share; Internet Protocol Address и Network
пользование второго. К тому же ис- n Internet Protocol Address; Name используется для создания вир-
пользование двух интерфейсов уве- n Local Quorum; туального сервера, который позволя-
личивает скорость обмена данными n Majority Node Set; ет клиентам использовать то же имя
и в конечном счете увеличивает ско- n Network Name; для доступа к кластеру даже после пе-
рость работы всего кластера в целом. n Generic Application; рехода по отключению failover.
Следующим важным понятием n Generic Script; Ресурс Local Quorum использует-
кластеризации являются группы. n Generic Service. ся для управления системным диском
Группы – это блоки для перехо- в локальном узле кластера.
да по отключению (failover). Каждая Несколько слов по каждому из ви- Majority Node Set применяется
группа содержит один или несколько дов ресурсов. для управления конфигурацией дан-
ресурсов. При отказе любого из ре- Physical Disk используется для кво- ных кластера, которые могут распо-
сурсов внутри группы для всей груп- рум-ресурса. Требуется для всех сер- лагаться на ЗУ кластера или вне этого
пы выполняется совместный переход веров кластера. устройства. Используется для согла-
по отключению согласно политике пе- DHCP и WINS используются в ка- сования данных между географически
рехода по отключению, определенной честве ресурса кластера для обес- разбросанными устройствами.
для данной группы. печения отказоустойчивости данных Тип ресурса Generic Application
В любой момент времени группа служб. позволяет вам управлять в кластере
может принадлежать только одному Print Spooler позволяет кластери- обычными приложениями, не распоз-
узлу. При отказе какого-либо ресурса зовать службы печати. нающими своего присутствия в клас-
внутри группы он должен быть пере- Тип ресурса File Share позволя- тере.
мещен в альтернативный узел вмес- ет управлять разделяемыми файло- Generic Script – управление сце-
те со всеми остальными ресурсами выми системами тремя различными нариями операционной системы как
этой группы. способами: кластерным ресурсом.

52
администрирование
Generic Service – позволяет управ- Приведу небольшой пример пост- адреса, чтобы впоследствии не воз-
лять службами Windows Server 2003 роения дерева зависимостей для ре- никло проблем с соединением.
как ресурсами кластера. сурса File Share. После успешной установки необ-
Очевидно, что этот ресурс зави- ходимо дать имена каждому из узлов
Важность планирования сит от Physical Disk, так как это ос- кластера. Для простоты назовем узлы
Для стабильной работы кластера не- новной ресурс, используемый всеми Node1 и Node2.
обходимо заранее спланировать, ка- узлами кластера. Далее для ресур- Далее на сервере Node 1 захо-
кие приложения будут выполняться, сов общего доступа важно сетевое дим в «Administrative Tools → Cluster
а также точно выбрать, без каких при- имя Network Name. Но в свою очередь Administrator». В окне «Open Connection
ложений вы можете обойтись и какие Network Name не может использовать- to Cluster» выбираем «Create new
приложения должны поддерживаться ся без IP Address. cluster». Запустится мастер создания
при любых обстоятельствах. Таким образом, получаем следу- нового кластера.
Вначале необходимо определить ющие зависимости: ресурс File Share В следующем окне необходимо
количество групп или виртуальных явно зависит от Physical Disk и Network указать имя домена, в котором на-
серверов. Name и неявно – от IP Address. ходятся узлы, а также имя кластера
Приложения и ресурсы, находящи- В случае, если вы забудете указать (см. рис. 1).
еся в одной группе, будут передавать- какую-либо зависимость, вы получите Далее в поле Computer Name ука-
ся по отключению все вместе одному сообщение об ошибке в процессе ус- зываем имя первого узла в кластере.
серверу. То есть вам необходимо оп- тановки ресурса. На следующем этапе мастер автома-
ределить, какие приложения зависят Завершая тему планирования, хо- тически анализирует конфигурацию
друг от друга, и им требуется совмес- чу напомнить, что каждый из узлов (см. рис. 2).
тная работа. кластера должен обладать достаточ- Если проверка по всем пунктам за-
Таким образом, перед началом раз- ной мощностью и не быть перегружен кончилась успешно, то в следующем
вертывания кластера вам необходи- дополнительными, некластеризован- окне вам необходимо указать IP-ад-
мо составить список всех приложе- ными приложениями, так как в случае, рес кластера.
ний в вашей среде, четко определить, если после переключения хозяином Затем требуется указать учетную
для каких из них допускается отказ, ресурса оказался менее мощный сер- запись, из под которой кластер будет
а для каких требуется переход по от- вер, это обязательно отразится на быс- запускаться. Это может быть сущес-
ключению. тродействии приложений, и, возможно, твующая или новая учетная запись.
Далее определите зависимость приведет к сбоям. Данному пользователю будут предо-
этих приложений и ресурсы, которые ставлены права локального админис-
им требуются для работы. Зависимые Установка тратора на всех узлах кластера.
приложения нужно объединить в од- Обсудив особенности реализации Наконец, переходим к последней
ну группу. Microsoft Cluster Service, приступим не- странице, в которой выводятся дан-
Обратите внимание на то, что ре- посредственно к развертыванию. ные для подтверждения. Здесь можно
сурс не может охватывать группы, по- Первым делом на каждый из узлов указать кворум-устройство, как пока-
этому если несколько приложений за- устанавливаем Windows Server 2003 зано на рис. 3.
висят от ресурса, они должны содер- Enterprise Edition. При нажатии «Next» запускается
жаться в одной группе или в одном Сам процесс установки стандарт- процесс установки кластера, внешне
виртуальном сервере, тогда будут ис- ный и описывать его в статье нет смыс- схожий с уже описанным анализом
пользоваться одни и те же политики ла. Единственное, о чем следует упо- конфигурации.
перехода по отключению и после вос- мянуть, – это IP-адресация. Необходи- После успешной установки долж-
становления. мо сразу выставить фиксированные но открыться окно администрирова-

Рисунок 5. Настройки сети для кластера Рисунок 6. Двухузловой кластер

№5, май 2007 53


администрирование
нал, в процессе установки необходи- му этапу – добавлению второго узла.
мо присвоить статические адреса се- Для этого на втором сервере также за-
тевым адаптерам. пускаем «Administrative Tools → Cluster
Для идентификации более слож- Administrator».
ных ошибок можно воспользоваться Только теперь выбираем «Add nodes
кнопкой «View Log» для просмотра де- to cluster» и указываем имя кластера.
тального журнала событий. На следующем шаге прописываем
имя сервера, который будет использо-
Добавляем узлы ваться в кластере.
Теперь необходимо добавить узел Затем запускается анализ конфи-
в кластер. Но прежде сделаем не- гурации. В случае завершения анали-
Рисунок 7. Новая группа сколько дополнительных настроек. за без серьезных ошибок на следую-
В консоли Cluster Administration вы- щем шаге указываем учетную запись,
ния созданного нами нового класте- бираем «Cluster Configuration», далее которая использовалась при создании
ра для дальнейшей работы. «Networks» (см. рис. 5). кластера. Далее производится уста-
У каждого узла кластера два сете- новка служб кластера на второй сер-
Работа над ошибками вых интерфейса, при этом один под- вер. Полученный результат смотри-
При установке кластера могут возник- ключен к локальной сети (LAN), а вто- те на рис. 6.
нуть различные проблемы. Я опишу ре- рой используется для взаимодействия На этом, собственно, сам процесс
шение некоторых из них. Как правило, между узлами кластера (Heartbeat). установки кластера заканчивается.
большинство проблем выявляются на Поочередно откройте закладку В случае, если необходимо добавить
этапе анализа конфигурации класте- «Properties» для каждого из этих сете- еще узлы, достаточно проделать вы-
ра. На рис. 4 показано, как это может вых интерфейсов. шеописанные операции по добавле-
выглядеть. Для LAN в свойствах необходи- нию сервера.
Как видно, при анализе были обна- мо указать «Client Access Only (public
ружены две ошибки, вернее, пробле- only)», а д ля Heartbeat выбираем Настраиваем ресурсы
мы. Так как полоска Task Completed зе- «Internal Cluster Communications Only Теперь необходимо подключить ресур-
леного цвета, можно продолжать ус- (private network)». сы, которые будут использоваться в на-
тановку, но лучше сначала разрешить Таким образом, теперь у нас ин- шем кластере.
проблемы. терфейс LAN будет использоваться Как упоминалось в начале статьи,
Итак, что же было найдено в про- только для внешнего взаимодействия, мы будем настраивать ресурсы для
цессе анализа системы: а Heartbeat – только для обмена ин- службы File Share.
n Не найдено кворум-устройство. формацией между узлами кластера. Для этого мы сначала создадим
Как уже обсуждалось ранее, оно Это позволяет увеличить быстродейс- новую группу на виртуальном серве-
представляет собой SCSI‑диск, ис- твие системы вцелом. ре HOME.
пользуемый всеми узлами клас- Только не забудьте также разгра- Перед созданием группы необхо-
тера. Если вы получили такое со- ничить сегменты на сетевом уровне. димо определиться с её расположени-
общение, проверьте правиль- То есть сегмент, содержащий соеди- ем. Можно, конечно, поместить ресур-
ность подключения к SCSI-ши- нения Heartbeat, должен быть подклю- сы в главную группу Clusters, но луч-
не серверов. Также проверьте на- чен в отдельный коммутатор или кон- ше сразу группировать в соответствии
личие данного диска в разделе центратор (не в ту же физическую сеть с их предназначением. Тем более по-
«Administrative Tools → Computer что и LAN!) из соображений безопас- тому, что управление политиками пе-
Management → Disk Management». ности и надежности. рехода по отключению осуществляет-
n На сервере найден только один В данном случае использование ся на уровне групп.
сетевой адаптер. Большинство концентратора может оказаться даже Поэтому для создания нашего ре-
промышленных серверов име- предпочтительнее, так как он не содер- сурса типа File Share нужно сделать
ют две сетевые карты, так что это жит кэш MAC-адресов, а сеть Heartbeat следующее:
довольно редкая ошибка. Но если в данном случае используется только n создать группу, которая будет со-
она появилась, то необходимо про- для проверки доступности узлов и вы- держать нужные ресурсы;
верить работоспособность второ- бора нового в случае отказа. n создать ресурс типа Physical Disk;
го адаптера. В случае, если вы хо- Если вы хотите использовать толь- n создать ресурс типа IP Address;
тите использовать только один ин- ко один интерфейс, то укажите Internal n с оз д ать ресурс типа Net work
терфейс, воспользуйтесь описани- and Client Access в свойствах LAN Name;
ем из раздела «Добавляем узлы». и Heartbeat. При этом и LAN и Heartbeat n создать ресурс типа File Share.
будут содержать один физический ин-
Еще одной ошибкой, проявляю- терфейс. Начнем с создания кластерной
щейся в процессе анализа, является Итак, мы оптимизировали настрой- группы.
динамическое присвоение IP-адресов ки сетевых интерфейсов узла класте- Д ля этого в консоли «Cluster
сетевым адаптерам. Как я уже упоми- ра и теперь переходим к следующе- Administrator» щелкните на папке

54
администрирование
«Active Groups» для сервера, на ко- Третьим по списку мы должны со- так как полноценная аппаратная ре-
тором будет находиться ресурс типа здать ресурс типа IP Address. ализация требует определенных, за-
File Share, и выберите пункт «Group» По аналогии с предыдущим разде- частую немалых, финансовых затрат.
в меню «New». Появится окно мастера лом выбираем пункт «Resources» в на- А с помощью виртуального кластера
создания группы «New Group Wizard» шей группе, далее – «New». Указываем протестировать систему или подгото-
(см. рис. 7). тип ресурса – IP Address, затем – воз- виться к сертификационному экзаме-
Далее введите имя группы (File можные владельцы. ну можно без каких-либо дополнитель-
Share) и описание (User’s folders). В следующем окне, Dependencies, ных расходов.
В следующем окне необходимо должен появиться уже созданный на- К примеру, для того чтобы развер-
указать предпочтительных владельцев ми ресурс Physical Disk. Но выбирать нуть двухузловой кластер на основе
ресурса Preffered Owners. Здесь можно его не нужно, так как в данном случае VMware, мне достаточно было рабо-
указать несколько узлов в зависимос- никакой зависимости нет. чей станции с 1 Гб оперативной па-
ти от их предпочтительности. На следующей странице необхо- мяти. И никаких внешних SCSI-дис-
К примеру, вполне логично в нача- димо указать настройки для IP-адре- ков, шумных серверов и прочей ап-
ле списка указать наиболее мощные са. Затем нажимаем «Finish». паратуры.
и менее загруженные узлы кластера. Создадим ресурс типа Network Так что, если вас интересует реали-
В нашем случае необходимо вы- Name. Для этого необходимо еще раз зация кластеров на базе виртуальной
брать узел и нажать «Add», затем ана- проделать все те действия, которые машины VMware, то рекомендую обра-
логично добавить Node 2. После на- мы выполняли ранее для других ти- титься к статье [3].
жатия кнопки «Finish» группа будет пов ресурсов.
создана. Но в разделе Dependencies теперь Заключение
Но обратите внимание на то, что необходимо указать зависимость от Итак, мы развернули отказоустойчи-
сейчас она находится в автономном ресурса IP Address. вый двухузловой кластер и установили
состоянии, так как с ней не связаны Приступаем к завершающему эта- разделяемый ресурс File Share.
никакие активные ресурсы. пу в создании кластерного ресурса Однако одним из наиболее рас-
Теперь пришло время создать ре- File Share. пространенных применений службы
сурс типа Physical Disk. Для этого щел- Повторим все те же действия, но при Microsoft Cluster Services является ор-
кните правой кнопкой мыши на толь- указании зависимостей Dependencies ганизация кластеров почтовых серве-
ко что созданной группе и выберите необходимо выбрать все три элемен- ров MS Exchange.
пункт «Resource». та списка. В следующей статье я подробно
Заполните поля Name и Description Далее нажимаем «Next» и в окне рассмотрю процесс установки и на-
и выберите в раскрывающемся спис- File Share Parameters указываем имя стройки отказоустойчивой почтовой
ке «Resource Type» вариант «Physical разделяемого ресурса и путь. системы Microsoft Exchange.
Disk». В разделе Advanced можно ука-
На следующем шаге укажите воз- зать скрывать ли разделяемые ресур- 1. Рассел Ч. Microsoft Windows Server 2003.
можных владельцев ресурса Possible сы-поддиректории. Справочник администратора.
Owners. Тут нужно указать те машины, Разделяемый ресурс создан. 2. Бережной А. Строим сетевую инфра-
которые могут содержать этот ресурс Обратите внимание на то, что структуру на основе VMware Server.
(Node1, Node2). по умолчанию для ресурса File Share //Системный а дминистратор, №3,
Далее необходимо указать Depend- будут заданы полномочия Read Only. 2007 г. – С. 14-18.
encies (зависимости). Сейчас страница Изменить эту установку можно в окне 3. Статья о развертывании кластера
должна быть пустой, так как это пер- File Share Parameters. на VMware – http://www.rootpermissions.
вый ресурс в группе. Итак, мы получили отказоустой- net/Files/MS_Windows_2003_Cluster_
На следующем этапе указываем чивый ресурс в кластере и тем са- on_VMware_GFX_3.rar.
параметры диска (Disk Parameters). мым повысили доступность файло-
В раскрывшемся списке будут пред- вых ресурсов с помощью кластеров
ставлены все ресурсы типа Physical Microsoft.
Disk, которыми может управлять служ-
ба кластера. Кластеры в виртуальной
Следует обратить внимание на тот реальности
факт, что эта служба может управлять Последнее время все более широкое
только базовыми дисками, но не ди- распространение получают виртуаль-
намическими, и все используемые ные машины [2].
службой кластера разделы этого дис- Виртуальные машины помимо про-
ка должны быть отформатированы, чего чрезвычайно удобны при разра-
как NTFS. ботке и тестировании различных сис-
После указания диска нажмите тем, обучении и демонстрации.
на кнопку «Finish», чтобы создать этот Эти свойства особенно полезны
ресурс. при работе с кластерными системами,

№5, май 2007 55


администрирование

Резервное копирование
и восстановление базы данных
Oracle средствами ОС

Сергей Косько

Мы установили какое-либо приложение, хранилищем данных в котором служит СУБД Oracle.


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

56
администрирование

О
дним из самых функциональных Возьмём в качестве исходной сле- 
/ora/oracle/oradata/Redo-Ctrl/
средств резервного копирова- дующую информацию: replica1 – вторая копия управля-
ния от Oracle является утили- n В тестах будем использовать СУБД ющих и журнальных файлов;
та RMAN. Однако использовать столь Oracle версии 10.2. для ОС Solaris. /ora/oracle/oradata/log – файлы

сложную систему для резервного ко- n СУБД настроена на работу в режи- архивных журналов.
пирования зачастую избыточно (если ме АRCHIVELOG.
эксплуатируется одна-две базы дан- n Рассмотрим 2 сценария восстанов- Сделаем полную копию БД двумя
ных). Кроме того, RMAN, как правило, ления: полного и неполного. вышеуказанными способами:
использует отдельную базу в качест- n Будем исходить из того предпо- 1. Холодная копия (cм. листинг 1).
ве хранилища своей собственной ин- ложения, что мы восстанавлива- Это самый простой пример, он
формации. Чтобы избежать ситуации, ем данные на тот же самый сер- применяется редко. Мы рассмот-
когда данные, необходимые для вос- вер (или точную копию рабочего рим его в целях сравнения с более
становления базы, хранятся в этой сервера БД, на котором уже уста- сложными примерами.
же базе, для резервного копирования новлена ОС, ПО СУБД Oracle, все
собственно каталога RMAN необходи- необходимые исправления и со- $backuponl.sh ORCL /backup/hot
мо использовать другие средства. Раз- здана необходимая структура ка-
личные универсальные программы ре- талогов). 2. Горячая копия (см. листинг 2). Со-
зервного копирования, которые могут n Для наглядности создадим отде- здаёт практически аналогичный
работать с базами данных Oracle, тоже льные архивы для файлов данных, набор файлов данных, за исключе-
избыточны или небесплатны. Что же управляющих файлов, файлов ини- нием того, что копии активных жур-
выбрать? Самый простой и эконом- циализации и паролей. налов redo делать не нужно. Сохра-
ный способ – решить эту задачу с по- n Выполним полную копию базы дан- ним в архиве одну копию управля-
мощью обычных скриптов и стандарт- ных двумя способами: ющего файла и скрипт control.sql
ных системных утилит.  с остановкой экземпляра (хо- для его пересоздания.
Основным критерием качества лодная копия);
методов восстановления данных яв-  без остановки работы экземп- $backup.sh ORCL /backup/cold
ляется их адекватность, способность ляра (горячая копия).
восстановить необходимые данные n Расположение файлов базы дан-
при любом возможном сбое. Предла- ных имеет следующую структуру: Сценарии восстановления
гаю вам свой способ решения этой за-  /ora /oracle/oradata /ORCL – Будем имитировать сбой носителя
дачи для СУБД Oracle. файлы данных; в некоторый момент времени после
Рассмотрим несколько примеров  /ora/oracle/oradata/Redo-Ctrl/ выполненного резервного копирова-
резервного копирования-восстановле- replica0 – первая копия управ- ния, выполняя несколько принудитель-
ния без использования RMAN или дру- ляющих и журнальных фай- ных переключений активных журна-
гих утилит. лов; лов командой:

Листинг 1. Холодная копия БД (файл backup.sh) set heading off


set pagesize 0
#!/bin/sh set linesize 300
# set feed off
if [ $# -ne 2 ] select name from v\\$controlfile ;
then echo "script needs two parameters: \${ORACLE_SID} ↵ exit ;
<dest dir>" EOF`
exit; #Online Redo logs.
fi redolist=`sqlplus -s "/ as sysdba" <<EOF
# set heading off
ORACLE_SID=${1};export ORACLE_SID set pagesize 0
copydir=${2};export copydir set linesize 300
#Create lists of files. set feed off
#Regular database files select member from v\\$logfile ;
datalist=`sqlplus -s "/ as sysdba" <<EOF exit ;
set heading off EOF`
set pagesize 0 #
set linesize 300 sqlplus "/ as sysdba" <<EOF
set feed off shutdown immediate
select file_name from dba_data_files ; exit;
exit ; EOF
EOF` cd ${copydir}
#Temporary files tar cvf data.tar ${datalist} ${templist}
templist=`sqlplus -s "/ as sysdba" <<EOF tar cvf control.tar ${controlist}
set heading off tar cvf redo.tar ${redolist}
set pagesize 0 tar cvf dbs.tar ${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora \
set linesize 300 ${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora \
set feed off ${ORACLE_HOME}/dbs/orapw${ORACLE_SID}
select file_name from dba_temp_files; sqlplus "/ as sysdba" <<EOF
exit; startup
EOF` exit;
#Control files ( copy all ) EOF
controlist=`sqlplus -s "/ as sysdba" <<EOF #

№5, май 2007 57


администрирование
SQL> alter system switch logfile; testcase$sqlplus "/ as sysdba"
SQL>startup mount

Затем будем стирать и восстанавливать из архива файлы, …


Database mounted.
принадлежащие БД. Предполагаем, что архивные журналы SQL> recover database using backup controlfile until cancel;
имеются и доступны для восстановления в каталоге, указан- ORA-00279: change 817959 generated at 05/04/2007 09:15:19 needed
ном в параметрах db_recovery_file_dest/log_archive_dest. for thread 1
ORA-00289: suggestion :

Сценарий 1. Клонирование БД из холодной копии Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Допустим, нам необходимо запустить базу данных на ком- Media recovery cancelled.
пьютере с аналогичным программным обеспечением и дис-
ками. Сделаем это с помощью холодной копии. Удалим все SQL>alter database open resetlogs;
файлы базы данных: Database altered.

testcase$cd /ora/oracle/oradata/ORCL;find . -type f ↵ В этом случае применения архивных журналов не про-


-exec rm -f {} \;
testcase$cd /ora/oracle/oradata/Redo-Ctrl;find . -type f ↵ исходит, мы просто обманываем базу данных, заставляя её
-exec rm -f {} \; пересоздать активные журналы.

Проведём восстановление: Сценарий 2. Полное восстановление из горячей


резервной копии
testcase$cd /backup/cold Смоделируем потерю файлов данных БД. Удалим файлы
testcase$tar xvf control.tar
testcase$tar xvf data.tar данных, но не управляющие и журнальные файлы:
testcase$tar xvf dbs.tar
testcase$tar xvf redo.tar
testcase$dbstart testcase$cd /ora/oracle/oradata/ORCL;find . -type f ↵
-exec rm -f {} \;

Это практически единственный случай, когда могут при- Проведём восстановление только файлов данных из го-
годиться копии активных (не путать с архивными) журна- рячей резервной копии (см. листинг 3):
лов базы данных. Во всех остальных случаях необходимо
восстановление БД, и устаревшие копии уже не содержат testcase$cd /backup/hot
testcase$tar xvf data.tar
актуальной информации. Гораздо важнее иметь полный testcase$recover.sh ORCL
(без пропусков) набор архивных журналов. На самом деле
в данном случае активные журналы тоже не обязательны. В зависимости от версии базы данных и операцион-
Часто при создании копии рабочей базы нет необхо- ной системы может понадобиться пересоздать временный
димости запускать базу именно с опцией NORESETLOGS. файл – это можно сделать, например, скриптом (см. лис-
Если есть холодная копия, но без копии журналов (файл тинг 4):
redo.tar), после восстановления файлов из архива нужно
сделать следующее: testcase$tmprecov.sh ORCL

Листинг 2. Горячая копия БД (файл backuponl.sh) controldir=`dirname $controlist`


#
#!/bin/sh sqlplus "/ as sysdba" <<EOF
# alter database begin backup;
if [ $# -ne 2 ] exit;
then echo "script needs two parameters: \${ORACLE_SID} ↵ EOF
<dest dir>" cd ${copydir}
exit; tar cvf data.tar ${datalist}
fi # Init & passwd files
# tar cvf dbs.tar ${ORACLE_HOME}/dbs/init${ORACLE_SID}.ora \
ORACLE_SID=${1};export ORACLE_SID ${ORACLE_HOME}/dbs/spfile${ORACLE_SID}.ora \
copydir=${2};export copydir ${ORACLE_HOME}/dbs/orapw${ORACLE_SID}
#Make lists of files for backup. sqlplus "/ as sysdba" <<EOF
#data files alter database end backup;
datalist=`sqlplus -s "/ as sysdba" <<EOF alter database backup controlfile to ↵
set heading off '$controldir/conbackup.ctl' reuse ;
set pagesize 0 alter database backup controlfile to trace as ↵
set linesize 300 '$controldir/control.sql';
set feed off alter system archive log current ;
select file_name from dba_data_files ; exit;
exit ; EOF
EOF` #
#Controlfile make one copy and one trace for i in ${controlist}
controlist=`sqlplus -s "/ as sysdba" <<EOF do
set heading off # cp /tmp/conbackup.ctl ${copydir}/`basename ${i}`
set pagesize 0 tar cvf control.tar $controldir/conbackup.ctl ↵
set linesize 300 $controldir/control.sql
set feed off rm -f $controldir/conbackup.ctl
select name from v\\$controlfile rm -f $controldir/control.sql
where rownum=1; done
exit ; #
EOF`

58
администрирование
Сценарий 3. Восстановление файлов управления log_archive_format, выполнить неполное восстановление
Если мы потеряли часть наших управляющих файлов, но со- и открыть базу с опцией RESETLOGS (потери зафиксиро-
хранилась хотя бы одна копия из указанных в файле init.ora/ ванных транзакций при этом не произойдёт, но нумерация
spfile.ora, нужно скопировать эту копию во все указанные архивных журналов начнётся сначала).
местоположения (например, если пропали файлы в катало-
ге replica0, нужно скопировать их из каталога replica1). Ес- Сценарий 4. Восстановление БД при утере копии
ли пропали все копии управляющих файлов, и только они, добавленного файла
необходимо отредактировать файл control.sql (полученный После выполнения резервного копирования был добав-
при выполнении горячей копии БД, листинг 2) и выполнить лен один файл базы данных (см. листинг 5), и впоследс-
пересоздание управляющего файла. Если такого скрипта мы твии произошла поломка жесткого диска. А копии управля-
заранее не создали, тогда нам остаётся только воспользо- ющего файла и нового файла данных мы сделать не успе-
ваться сделанными ранее копиями управляющих файлов: ли. Если попытаться провести восстановление базы из су-
ществующих резервных копий, восстановление будет ид-
testcase$tar xvf control.tar ти только до момента создания нового файла, после чего
testcase$cp control01.ctl ↵
/ora/oracle/oradata/Redo-Ctrl/replica0/control01.ctl возникнет ошибка:

testcase$cp control01.ctl ↵ SQL> alter database recover automatic using backup ↵
/ora/oracle/oradata/Redo-Ctrl/replica1/control03.ctl controlfile;
testcase$sqlplus "/ as sysdba"
SQL>startup mount alter database recover automatic using backup controlfile
SQL> alter database backup controlfile to trace as ↵ *
'control.sql' ; ERROR at line 1:
SQL>shutdown ORA-00283: recovery session canceled due to errors
SQL>exit ORA-01244: unnamed datafile(s) added to control file by media recovery

Затем отредактировать и выполнить скрипт. Сущест- Я думаю, самым надёжным способом избежать подоб-
вует ещё один способ: скопировать текущий активный ной ситуации будет иметь достаточное количество реплик
журнал в местоположение log_archive_dest в формате файла управления и всегда делать резервную копию добав-
ляемых файлов. Если же такая ситуация произошла, можно
Листинг 3. Полное восстановление БД (файл recover.sh) воспользоваться последовательностью команд, представ-
ленной в листинге 6. Отмечу, что это не готовый скрипт,
#!/bin/sh
# а лишь примерная последовательность команд с коммен-
if [ $# -ne 1 ] тариями, поскольку невозможно заранее предугадать но-
then echo "script needs one parameter: \${ORACLE_SID}"
exit; мера и названия файлов данных.
fi
#
ORACLE_SID=${1};export ORACLE_SID Сценарий 5. Восстановление при потере активных
sqlplus "/ as sysdba" <<EOF журналов БД
startup mount;
alter database recover automatic ; Если потеряны не все группы REDO, а только какая-то од-
alter database open; на реплика REDO файлов БД, то остановки базы при этом
exit;
EOF не происходит. В этом случае журналы можно пересоздать
или при перезагрузке скопировать файлы из одного катало-
Листинг 4. Добавление к БД нового временного файла га в другой. Если же мы потеряли все файлы REDO (или хо-
(файл tmprecov.sh) тя бы как минимум активную группу), полное восстановле-
#!/bin/sh ние невозможно. Остаётся вариант неполного восстанов-
# ления и последующий запуск БД с опцией RESETLOGS.
if [ $# -ne 1 ]
then echo "script needs one parameter: \${ORACLE_SID}" В этом случае возможна потеря зафиксированных тран-
exit; закций, и произойдёт сброс последовательности архи-
fi
# вных журналов.
ORACLE_SID=${1};export ORACLE_SID Смоделируем ситуацию:
#
#Temporary files
templist=`sqlplus -s "/ as sysdba" <<EOF testcase$dbshut
set heading off testcase$cd /ora/oracle/oradata/Redo-Ctrl
set pagesize 0 testcase$find . –type f -name \*.log –exec rm –f {} \;
set linesize 300 testcase$sqlpplus "/ as sysdba"
set feed off SQL>startup mount
select file_name from dba_temp_files; SQL>recover database until cancel
exit;
EOF` ...
for i in ${templist} cancel
do
sqlplus "/ as sysdba" <<EOF SQL> alter database open resetlogs;
alter database tempfile '$i' drop INCLUDING DATAFILES; SQL>exit
ALTER TABLESPACE "TEMP" ADD TEMPFILE '$i' size 25M ↵
autoextend on;
exit; Из этого примера видно, как важно иметь хотя бы две
EOF реплики активных журналов базы данных (redo log). В слу-
done
чае их уничтожения – потеря информации (пусть иногда и

№5, май 2007 59


администрирование
Листинг 5. Восстановление БД при утере копии вновь водится неполное восстановление (см. листинг 7). БД от-
добавленного файла и файлов управления (файл addfile.sh)
крывается с опцией RESTLOGS.
#!/bin/sh
# testcase$recovincomplett.sh ORCL
#Script for adding new dstsfile
sqlplus "/ as sysdba" <<EOF
alter tablespace users add datafile
'/ora/oracle/oradata/ORCL/users02.dbf' size 20M;
exit Итоги
EOF
Подводя итоги рассмотренных сценариев, хотелось бы от-
метить основные моменты:
Листинг 6. Неполное восстановление при потере активных
журналов (файл nofile.sql) n Резервная копия должна быть обязательно полной
(все файлы данных, все архивные журналы, файлы уп-
connect / as sysdba равления, инициализации и пароли).
startup mount
alter database recover automatic using backup controlfile n При восстановлении производственной базы нужно ста-
-- раться не допустить случая неполного восстановления
--ERROR at line 1:
--ORA-00283: recovery session canceled due to errors (с опцией RESETLOGS), поскольку это изменяет после-
--ORA-01244: unnamed datafile(s) added to control file by media recovery довательную нумерацию журналов и есть риск потери
--ORA-01110: data file 5: '/ora/oracle/oradata/ORCL/users02.dbf'
-- данных. Вариант восстановления БД с переходом через
alter database backup controlfile to trace as точку RESETLOGS вообще-то существует, но он доволь-
'dmpctl.sql';
select name from v$datafile where file#=5; но громоздкий. Не стоит усложнять самому себе жизнь.
--NAME Описание этого метода приводится, например, в книге
------------------------------------------------
--/ora/oracle/dbs/UNNAMED00005 «Oracle Backup & Recovery Handbook» [2, глава 10].
-- n Чтобы избежать случая неполного восстановления, сле-
alter database create datafile
'/ora/oracle/dbs/UNNAMED00005' дует беречь активные журналы. В большинстве случа-
as '/ora/oracle/oradata/ORCL/users02.dbf'; ев их резервная копия невозможна, необходимо иметь
-- Make changes in scripts for recreate controlfile.
host vi dmpctl.sql несколько реплик, размещать их на RAID1 и т. п.
-- n Копировать активные журналы REDO, можно только
shutdown
@dmpctl.sq при холодной копии, и нужны они только для создания
клона БД.
Листинг 7. Неполное восстановление при потере активных n Не менее важно беречь и управляющие файлы. Их мож-
журналов (файл recovincomplett.sh) но, как правило, пересоздать, но это требует времени,
#!/bin/sh потеря хотя бы одной копии управляющего файла де-
# лает невозможным старт БД.
if [ $# -ne 1 ]
then echo "script needs one parameter: \${ORACLE_SID}" n Для восстановления необходимо иметь архивные жур-
exit; налы, их тоже желательно включать в резервную ко-
fi
sqlplus "/ as sysdba" <<EOF пию, или настроить файл параметров так, чтобы жур-
startup mount; налы архивировались в несколько мест сразу, на-
alter database recover automatic using backup controlfile;
alter database open resetlogs; пример, на локальный диск и на сетевой. (Параметр
exit; LOG_ARCHIVE_DEST_N.)
EOF
n Холодная и горячая резервные копии БД для восстанов-
ления пригодны одинаково, нельзя сказать, что горячая
допустимая) неизбежна. Её можно лишь минимизировать, копия не позволяет сделать то, что позволяет холодная.
например установив параметр archive_lag_target (его мини- За исключением случая клонирования. Горячая копия
мальное значение – 60 секунд). всегда нуждается в применении впоследствии коман-
ды «recover». Для этого не обязательно, но полезно пос-
Сценарий 6. Восстановление только ле завершения копии принудительно переключить ак-
по резервной копии и архивным журналам тивный журнал, чтобы не ждать, когда он переключится
Исходная БД погибла, остались резервная копия и архивные сам, а сразу приступать к клонированию базы данных.
журналы. В данном случае, если нет специальных систем n Ну и напоследок, моё трепетное отношение к полному
аппаратного зеркалирования управляющих файлов и жур- восстановлению относится в основном к производствен-
налов, возможно только неполное восстановление и после- ным базам. Если необходимо восстаноить БД на какой‑то
дующий запуск с опцией RESETLOGS. Последовательность момент времени в прошлом, то такой сценарий предус-
шагов во многом аналогична сценарию 2, но есть отличия: матривает именно неполное восстановление.
восстанавливаются не только файлы данных, но и управ-
ляющие файлы, файлы инициализации и паролей. 1. Oracle Database Backup and Recovery Advanced User's Guide
10g Release 2 (10.2) Part Number B14191-02 – http://download-
testcase$tar xvf data.tar uk.oracle.com/docs/cd/B19306_01/backup.102/b14191/toc.htm.
testcase$tar xvf control.tar
testcase$tar xvf dbs.tar 2. Oracle8i Backup & Recovery Handbook, Rama Velpuri and
Anand Adkoli.McGraw-Hill/OsborneMedia; 4Rev Ed edition
Потом, поскольку активные журналы потеряны, произ- (November 14, 2000).

60
bugtraq

Переполнение буфера в 3proxy


Программа: 3proxy версии до 0.5.3h. Переполнение буфера в службе DNS
Опасность: Высокая. в Microsoft Windows
Описание: Уязвимость существует из-за ошибки проверки Программа: Microsoft Windows 2000 Server, Microsoft
границ данных при обработке прозрачных запросов. Уда- Windows 2003 Server.
ленный пользователь может послать уязвимому серверу Опасность: Критическая.
специально сформированный запрос и выполнить произ- Описание: Уязвимость существует из-за ошибки проверки
вольный код на целевой системе. границ данных в RPC-интерфейсе DNS-службы, используе-
URL производителя: www.3proxy.ru. мого для удаленного управления. Удаленный пользователь
Решение: Установите последнюю версию (0.5.3h) с сайта может с помощью специально сформированного RPC‑за-
производителя. проса вызвать переполнение буфера и выполнить произ-
вольный код на целевой системе с привилегиями учетной
Несколько уязвимостей в Trillian записи SYSTEM.
Программа: Trillian Pro 3.1, возможно, более ранние версии; URL производителя: www.microsoft.com.
Trillian Basic 3.1, возможно, более ранние версии. Решение: В настоящее время способов устранения уяз-
Опасность: Высокая. вимости не существует. В качестве временного решения
Описание: 1. Уязвимость существует из-за ошибки в опе- рекомендуется отключить удаленное администрирование
рации копирования в окне IRC-сообщения (при выделении DNS-службы через RPC.
текста). Удаленный пользователь может с помощью слиш-
ком длинного URL, состоящего из UTF-8-символов, вызвать
переполнение динамической памяти и выполнить произ- Несколько уязвимостей
вольный код на целевой системе. в Microsoft Content Management Server
2. Уязвимость существует из-за ошибки в IRC-мо- Программа: Microsoft Content Management Server 2001,
дуле при обработке сообщений, содержащих font face Microsoft Content Management Server 2002.
HTML-тег с слишком длинным атрибутом face, состоящем Опасность: Высокая.
из UTF‑8‑строки. Удаленный пользователь может с помо- Описание: 1. Уязвимость существует из-за ошибки при об-
щью специально сформированного сообщения вызвать пе- работке определенных символов в HTTP-запросе. Удален-
реполнение динамической памяти и выполнить произволь- ный пользователь может с помощью специально сформи-
ный код на целевой системе. рованного URL в HTTP GET-запросе выполнить произволь-
3. Уязвимость существует из-за ошибки при обработке ный код на целевой системе.
CTCP PING-сообщений, содержащих UTF-8-символы. Зло- 2. Уязвимость существует из-за недостаточной обработ-
умышленник может заставить клиента вернуть специально ки входных данных. Удаленный пользователь может с по-
сформированный ответ с отсутствующим символом терми- мощью специально сформированного запроса выполнить
нирования новой строки, что позволит отправить текст со- произвольный код сценария в браузере жертвы в контекс-
общения атакующему вместо сервера. те безопасности уязвимого сайта.
4. Уязвимость существует из-за ошибки в системе сооб- URL производителя: www.microsoft.com.
щений Rendezvous/XMPP (Extensible Messaging and Presence Решение: Установите исправление с сайта производите-
Protocol). Удаленный пользователь может послать специ- ля.
ально сформированное сообщение на порт 5298/TCP, вы-
звать переполнение динамической памяти и выполнить про-
извольный код на целевой системе. Уязвимость при обработке
URL производителя: www.ceruleanstudios.com. команд в eIQNetworks Enterprise
Решение: Установите последнюю версию (3.5.1.0) с сай- Security Analyzer
та производителя. Программа: eIQNetworks Enterprise Security Analyzer 2.5.6
и более ранние версии.
Уязвимость при обработке IPv6-пакетов Опасность: Высокая.
в ядре Linux Описание: Уязвимость существует из-за ошибки при обра-
Программа: Linux Kernel, версии до 2.6.20.9 и 2.6.21. ботке команд в процессе MainEngine.exe. Удаленный пользо-
Опасность: Средняя. ватель может послать слишком длинный аргумент на порт
Описание: Уязвимость существует из-за ошибки при об- 10616/TCP, вызвать переполнение буфера и выполнить про-
работке IPv6-пакетов, содержащих type 0 route-заголов- извольный код на целевой системе.
ки. Удаленный пользователь может с помощью специаль- URL производителя: www.eiqnetworks.com/products/
но сформированного IPv6-пакета вызвать отказ в обслу- EnterpriseSecurityAnalyzer.shtml
живании системы. Решение: Установите последнюю версию (2.5.9) с сайта
URL производителя: www.kernel.org. производителя.
Решение: Установите последнюю версию ядра (2.6.20.9
или 2.6.21) с сайта производителя. Составил Александр Антипов

№5, май 2007 61


человек номера

Мечты сбываются
чить школу экстерном как Майкл, прос-
то бы посмеялись. Это что значит –
«не желаю учиться в старших классах,
в жизни хватает важных дел»? Но толь-
ко не в Америке. В этой стране дело-
вой подход приветствуется, и неваж-
но, сколько тебе лет… У юного Делла,
правда, не вышло сразу обойти такую
глыбу, как государственное образо-
вание, но только потому, что родите-
ли были достаточно консервативными
людьми. Сами они учились как положе-
но – в школе, в вузе, получили уважа-
емые профессии ортодонта и брокера,
и представляли, что сын пойдет по сто-
пам отцам, тоже станет медиком. Од-
нако Майкл оказался не просто упря-
мым мальчиком, но и целеустремлен-
ным. Параллельно с учебой он стал го-
товить себя к взрослой жизни. Торго-
вал марками (заработал две тысячи
долларов), продавал подписку на го-
родскую газету Houston Post (зарабо-
тал 18 тысяч долларов). Но главным
событием его школьной жизни стало
знакомство с персональным компью-
тером. Майкл Делл был семиклассни-
ком, когда в своей школе в Хьюстоне,
штат Техас, он впервые попал к экрану
монитора, и, по его словам, «был весь-
ма восхищен тем, что мог дать новый
инструмент». В пятнадцать лет Делл
купил свой собственный комп фир-
мы IBM и «тут же разобрал его, пото-
му что хотел узнать, как он работает».
Итак, дело, о котором американец меч-
тал еще в раннем детстве, нашло свое-
Глава одноименной фирмы Майкл Делл не боится ставить го героя! Как и в случае со школой, ко-
нереальные задачи и планомерно воплощать их в жизнь. торая встала поперек славной биогра-
фии Делла, Майкл-пользователь ком-

В
сем известен сюжет преслову- он работает с людьми, чтобы осущест- пьютера, потребитель продукции ком-
той «американской мечты»: бед- вить это. Именно эта комбинация, я ду- пьютерной фирмы, а также клиент ди-
ный юноша просыпается бога- маю, делает его работу столь эффек- лера, который продал ему машину, за-
тым и знаменитым после энного ко- тивной». Если проследить жизненный метил несколько серьезных недостат-
личества перипетий, бедная и гордая путь Делла, окажется, что от мечтате- ков: «Первое – путь от производителя
девушка выходит замуж за принца… ля в нем ничего и нет. Потому что, начи- до потребителя очень долог, часто год
И так далее и тому подобное. Является ная мечтать о чем-то, он сразу вопло- и более. Второе – розничные компании
ли судьба миллиардера Майкла Делла, щает свою мечту в реальность. И сбо- неэффективны, продают компьютеры
владельца одноименной компании, но- ев за 42 года практически не было, с весьма солидной наценкой. Третье –
вой историей воплощения американс- а если и бывают неполадки, то скорее люди, продававшие компьютеры, за-
кой мечты? И да, и нет. В марте этого по вине коллег и сподвижников. В кон- частую почти ничего о них не знают,
года на вручении мистеру Деллу награ- це концов, нельзя объять необъятное, и, хуже того, не могут предоставить
ды с претенциозным названием «Пат- даже если ты слывешь с младых ног- поддержки и сервиса. Может, у кого-
риот цифровых технологий» его колле- тей вундеркиндом… то другой опыт, но это то, что я видел».
га по сфере IT, президент Google, Inc. Цитата современная, но юный Делл
Эрик Шмидт сказал: «Майкл одновре- 8 лет думал точно так же, иначе не стал бы
менно мечтатель и живой человек. Хочу заниматься делом разбирать сложную технику, куплен-
В роли мечтателя он перестраивает В любом другом обществе над малень- ную за свои кровные. Он просто знал,
промышленность. Как живой человек, ким мальчиком, который решил закон- что благодаря множеству умных спра-

62
человек номера
вочников можно легко вернуть все де-
тали на место. Сегодня, кстати, такой
номер не прошел бы. Майкл смеется:
«Сейчас, если вы снимете корпус одно-
го из компьютеров, которые мы произ-
водим, то увидите внутри большой чер-
ный чип с надписью «Пентиум», и 260
контактов, соединяющих его с кла-
виатурой, и у вас не будет ни малей-
шего понятия, как эта штука работа-
ет. И не думаю, что кто-то вам об этом
расскажет». Мечта о своем деле при-
обрела вполне реальные очертания –
исправить чужие ошибки и зарабо-
тать на этом.

19 лет Форд» модели «Т» сделал автомобиль доступным массам, Майкл Делл сделал то же
Хочу быть знаменитым с компьютерами
и богатым
Делл вспоминает: «В 1984 году, в кон- Пол Отеллини, президент Intel ните с цифрой 1991 финансового го-
це моего первого курса в университете Corporation: «Если бы Майкл не изоб- да – 546 миллионов), корреспондент
Техаса я основал нашу компанию. Идея рел свою первую модель, бизнес был популярного делового издания «Fast
была простой: продавать компьютеры бы намного меньше, персональные Company» Чарльз Фишман букваль-
непосредственно потребителям. И мне компьютеры – намного дороже и до- но прорвался на интервью со звез-
повезло, что я жил в Америке, где но- ступны гораздо меньшему количест- дой сферы IT.
вые идеи могут пробиться, даже если ву людей в мире. «Форд» модели «Т» Штаб-квартира компании Dell в Ра-
они исходят от 19-летнего юнца, поки- сделал автомобиль доступным массам, унд Роке была как непреступный фор-
нувшего колледж». Реверанс в сторо- Делл сделал то же с компьютерами». пост для «акул пера» с личными воп-
ну системы ценностей родной страны Мег Уитмэн, президент eBay Inc.: росами. Но журналист как-то сумел
вполне искренний: свобода предпри- «Компьютеры и Интернет стали потря- упросить уделить ему немного време-
нимательства позволила Майклу со- сением для нашего поколения. Это яв- ни, и узнал кое-что о семье и привыч-
здать фирму Dell Computer, выбиться ление столь же важное, как и промыш- ках Майкла.
в люди и очень скоро доказать родите- ленная революция на рубеже веков
лям, что он не зря покинул первый курс в смысле влияния на общество, обра- Опишите ваш рабочий день.
биологического факультета Техасского зование, здравоохранение, на все важ- Встаю в 5.45 или 6. Зарядка. Бег. Или
государственного университета. Через ные аспекты жизни общества. Компа- штанга. Или плавание. В 7.15-7.30 отво-
много лет корреспондент спросил Дел- ния Dell, сам Майкл были на переднем жу детей в школу и еду на работу.
ла: «Нет ли у вас чувства, что вы что-то крае этой революции. Сколько людей
упустили, бросив колледж? Например, вы знаете, у которых есть персональ- Вы готовите детям завтрак?
курс истории искусств?» – «Нет, не ис- ные компьютеры или ноутбуки компа- (Выглядит озадаченным.) Не совсем.
торию искусств! Я был в колледже це- нии Dell? Практически у всех». Они знают, что им делать. Один раз
лый год, так что успел получить многое Гэри Шапиро, президент CEA: «Он я испек им оладьи (смеется). Первая
из того, ради чего люди поступают в вуз. корпоративный лидер, деловой лидер, порция была не очень, зато вторая
Я полагаю, что, занимаясь тем, чем я за- лидер в области защиты окружающей уже лучше.
нимался, я научился гораздо большему, среды, но одновременно – жесткий В этом вся система Делла! Я всег-
чем если бы оставался студентом». конкурент. Он настоящий новатор». да учусь на своих ошибках.
В чем состоит революция, которую Знаменитым – стал, богатым – не- Приезжаю домой около 6.30 и про-
совершил техасский паренек Майкл сомненно. Он миллиардер и крупней- вожу время с семьей, ужинаю с детьми.
Делл, хорошо известно: он предло- ший держатель акций собственной Я с этим хорошо справляюсь.
жил своим клиентам, частным лицам компании. А ведь в такое сказочное бу- Немного работаю с электронной
и организациям, компьютеры на заказ, дущее не верили ни родители, ни пер- почтой, пока дети готовятся ко сну.
под нужды каждого конкретного поку- вые партнеры по бизнесу… Читаю им что-нибудь на ночь и укла-
пателя, он значительно снизил цены, дываю их. Когда они ложатся, возвра-
убрав из системы продаж посредников, 36 лет щаюсь к почте. Это прекрасное время
он организовал систему мгновенного Хочу красавицу-жену, детей, для работы. Тихо. И все остальные то-
сервиса. И теперь его партнеры дела- дом… же работают.
ют ему комплименты, сильно смахива- В 2001 году, в зените славы, ког-
ющие на фрагменты учебника «Успеш- да продажи компании Dell взлетели А чем в это время занимается ва-
ный бизнес, как его организовать». до 32 миллиардов долларов (срав- ша жена?

№5, май 2007 63


человек номера
Своей почтой. А я стараюсь лечь спать и прокуратура штата Нью-Йорк заня- Вторая крупная идея вернувшего-
в 10.30. лась проверкой финансовой докумен- ся к практической деятельности Дел-
тации за последние пять лет… ла – охрана окружающей среды. Делл
Вы не любитель телешоу? В общем, Делл вернулся на пост заявляет: «Мы знаем, что каждый про-
(Выглядит озадаченным.) Нет. главы компании, поувольнял топ-ме- данный нами компьютер имеет четко
неджеров, а оставшимся увеличил на- определенный срок жизни. Что проис-
Согласитесь, трудный собеседник. грузки, отменил премии и намерен за- ходит с ним после того, как его пере-
Ответы Делла лаконичны, а чувство няться серьезными реформами внут- стают использовать? Если мы как от-
юмора, замечает корреспондент, у не- ри отдельно взятой фирмы. расль промышленности производим
го «пересохло». Майкл сбежал с ин- В частности, ее имиджем. Похоже, около 250 миллионов компьютеров
тервью, обидевшись на какой-то шу- что времена, когда Майкла Делла счи- в год и, предположим, 125 миллионов
точный вопрос. тали застенчивым и неразговорчивым, из них идет на замену, то что происхо-
На мой взгляд, такой стиль поведе- канули в Лету. Теперь он говорит охот- дит с теми ПК, которые перестают ра-
ния доказывает, что Майкл – счастли- но, в том числе и с журналистами. Он ботать? Ответ на этот вопрос неверо-
вый муж и отец. Его супруга Сьюзен – объясняет новые принципы работы Dell ятно важен для нашей окружающей
симпатичная женщина, которая одно- и свои личные планы. среды. Мы взяли курс на экологичес-
временно воспитывает четверых де- И эти самые планы, как всегда, кую ответственность нашей отрасли.
тей, старшему из которых всего 14 лет, грандиозные. Например, Делл наме- Мы – первая компания в нашей отрас-
производит женскую одежду, владе- рен возглавить, по крайней мере, на ли, рециркулирующая нашу продукцию
ет бутиком в Остине и вместе с му- идеологическом уровне, борьбу с так и продукцию наших конкурентов без-
жем занимается благотворительнос- называемым «цифровым неравенс- возмездно и во всем мире».
тью в Фонде Майкла и Сьюзен Делл, твом». Перед новым 2007 годом он «Рециркуляция» – переработка де-
созданном для помощи детям из ма- заявил: «Сегодня в мире около одно- талей, так, чтобы отходы не загрязня-
лоимущих семей по всему миру. го миллиарда людей, использующих ли окружающую среду, а шли в дело.
Известно также, что Делл воспиты- компьютер и подключенных к Интер- Этакий пионерский порыв к сбору ма-
вает своих отпрысков, во многом опи- нету. Это огромный прогресс. Но так- кулатуры, вернее, металлолома. По-
раясь на свой деловой опыт, который же в мире живет шесть миллиардов, рыв серьезный, который волей-нево-
изобилует не только розами, но и тер- которые не имеют возможности выхо- лей обязательно подхватят конкурен-
ниями. Они не ждут, что папа вручит дить во Всемирную сеть. Наш мир ста- ты Делла, как когда-то были вынуж-
каждому по паре миллионов долла- новится все теснее, и плата за отста- дены скопировать его прямую модель
ров и позволит наслаждаться жизнью, лость становится все выше. продаж. Это сейчас они сопротивля-
наследники Делла понимают уже сей- В то время как технологии помога- ются… «В январе я предложил всем
час, что придется трудится, и серьез- ют делать мир богаче и комфортнее, производителям компьютеров в мире
но. Майкл строг: «Когда я был ребен- мы должны больше думать о тех шести присоединиться к нам в бесплатной
ком, мои родители говорили, что я дол- миллиардах людей, которых надо под- рециркуляции ПК. Ну, мое предложе-
жен съедать все, что мне дают, так как ключить к Интернету. Бизнес и просто ние не нашло пока поддержки, но вре-
в мире множество детей, которые го- граждане играют важную роль в рас- мя еще есть, и сегодня я снова обра-
лодают… Теперь я говорю своим де- ширении доступа к цифровым услугам. щаюсь ко всем коллегам в нашей от-
тям, что они должны выполнять до- Это не бремя и не социальная обязан- расли. Я уверен, что это нужно нашим
машние задания, потому что в мире ность. Это две возможности: улучшить потребителям и, что еще важнее, на-
много детей, желающих занять их ра- качество жизни, делая технологии бо- шей планете».
бочее место!» лее доступными, и, второе, расширить Майкл Делл еще себя покажет. Ес-
наш рынок. В этом может принять учас- ли по-прежнему его мечты будут гло-
42 года тие каждый». бальны и на, первый взгляд, нереаль-
Хочу быть «впереди планеты Делл ждет, когда население Сети ны и если не перестанет быть смель-
всей» достигнет двух миллиардов. Произой- чаком, которому по плечу любые зада-
Сегодня «Делл» снова на пике попу- дет это, считает американский бизнес- чи. В том числе работа над ошибками
лярности. Но повод скорее печаль- мен, за счет стран с быстро растущи- своих сотрудников.
ный – в фирме большие неприятнос- ми и развивающимися рыночными эко-
ти. Объемы реализации продукции со- номиками. В этот список входит и Рос- 1. http://www.dell.com.
кратились на 9%. Компания уступила сия, и бывшие советские республики. 2. h t t p : / / w w w . a s k m e n . c o m / m e n /
место на компьютерном рынке основ- И, конечно, Китай, где Майкл Делл не- january00/8_michael_dell.html.
ному конкуренту – Hewlett-Packard, ко- давно представил новинку своей ком- 3. h t t p : / / w w w . m s d f . o r g / a b o u t /
торая на данный момент контролирует пании – новый настольный компьютер bio.aspx?id=39.
17-18% рынка, а «Делл» – всего 14-15%. для тех, кто впервые приобретает ПК. 4. http://news.com.com/Michael+Dell+back
Фирма понесла большие убытки в свя- Стоимость этой машины – всего 335 +as+CEO+Rollins+resigns/2100-1014_3-
зи с отзывом 4,1 миллиона дефектных долларов. Так что вклад в уничтоже- 6155185.html.
аккумуляторных батарей Sony, которы- ние цифрового неравенства Деллом
ми комплектовались ноутбуки. Да еще сделан серьезный. Оксана Родионова

64
безопасность

Технологии защиты ядра NT

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

66
безопасность

Я
дро операционной системы –
Thread execution Thread execution
это тот программный модуль
или набор модулей, который
предоставляет минимум базовых воз-
Win32 layer (kernel32, user32,
можностей операционной системы, Nt call Nt call gdi32, advapi32)
без которых она работать не может.
Также ядро ответственно за распре-
int 0x2e int 0x2e
деление ресурсов, что является од- sysenter sysenter Native layer (ntdll)
ной из важнейших функций операци-
онной системы. Поэтому если целос-
тность ядра нарушается, нарушается
работа всей системы. Соответствен-
Executive layer (ntoskrnl,
но ядру нужно предоставить какой-то Hal call
Win32k)
уровень защиты, чтобы драйверы, со-
держащие в себе «жучки», не смогли
бы повредить код или данные ядра опе-
HAL layer (hal)
рационной системы.
На Intel x386 NT может работать Рисунок 1. Обработка системного сервиса NT
в пользовательском режиме и режи-
ме ядра. Соответственно потоки са-
0xC0300000
мой ОС работают в привилегирован- Page Table 0, VPN: 0x0 – 0x3FF
PDE0 0xC0000000
ном режиме, а потоки приложений – 0xC0300004
Page Table 1, VPN: 0x400 – 0x7FF
в пользовательском режиме. Таким PDE1 0xC0001000
0xC0300008
образом, из четырех уровней защи- Page Table 2, VPN: 0x800 – 0xBFF
ты процессора NT пользуется толь- PDE2 0xC0002000
0xC030000C
ко двумя. В x386 режим работы про- Page Table 3, VPN: 0xC00 – 0xFFF
PDE3 0xC0003000
цессора характеризуется селектором
в регистре CS, а точнее, его первыми … …
0xC03007FC
двумя битами, которые и определяют
PDE511 0xC01FF000 Page Table 511, VPN: 0x7FC00 – 0x7FFFF
CPL кода. Пользовательские прило- 0xC0300800
жения для перехода в нулевое кольцо PDE512 0xC0200000 Page Table 512, VPN: 0x80000 – 0x803FF
используют либо инструкцию int 0x2e, 0xC0300804

либо оптимизированную sysenter. Сам PDE513 0xC0201000 Large Page ( Ntoskrnl)


0xC0300808
код, который эти инструкции и вызы-
PDE514 0xC0202000 Page Table 514, VPN: 0x80800 – 0x80BFF
вает, расположен на Native-уровне,
т.е. между ядром и подсистемой Win32 Рисунок 2. Каталог и таблицы страниц в Windows XP SP2 в системе с ОЗУ 256 Мб
(см. рис. 1).
Так было сделано с расчетом на то, Executive и ядро располагаются ям. Загруженный драйвер может де-
чтобы можно было подключать другие в одном файле – ntoskrnl.exe. Иден- лать с ядром что угодно, в том числе
подсистемы, например POSIX. И вы- тификация же функций ядра от функ- модифицировать код, важные струк-
зов, специфичный для конкретной ОС ций Executive может осуществлять- туры данных.
(подсистемы), а точнее, его семантика, ся по префиксам функций, например, С момента выхода Windows 2000
должны полностью совпадать с анало- префикс названий функций ядра – Ke, Microsoft решила адаптировать сис-
гичным вызовом в самой ОС (напри- а экспортируемых сервисов Executive – темы защиты ядра на новый уровень
мер, семантика fork должна быть такой, Nt. Нужно понимать, что в ядро выне- и попытаться защищать не только код
какой она регламентирована в самом сен код, работающий с конкретным NT, но и критические процессорно-за-
стандарте POSIX для UNIX). процессором, но не с оборудованием. висимые данные.
В момент запуска приложения под- Для изоляции самого ядра от спе- Действительно, на момент выхода
система Win32 формирует для контекс- цифики конкретного оборудования Windows 2000 достаточно было систе-
та первичного потока необходимые се- каждая версия NT для конкретной мы защиты, которая обнаруживала бы
лекторы (с RPL равным 3) и передает платформы располагает своим уров- перезапись кода ядра или кода драй-
эту информацию ntdll.dll. нем абстрагирования от оборудова- веров устройств в отличие от NT 4.0,
Структурно ядро разделяется на ния (Hardware Abstraction Layer), кото- в которой этого не было.
исполнительную систему Executive рый реализует специфичные функции Но сегодня этого уже недостаточно.
и ядро. Так было сделано специаль- по поддержке, например ввода/выво- Растет процент вирусов, которые реа-
но для изоляции кода, работающе- да для портов. лизуют LKM-атаки на ядро (т.е. моди-
го с конкретной аппаратно-зависи- В современном мире ядро долж- фицируют системные таблицы, спис-
мой конфигурацией. Этот код и выне- но рассматривать окружающую сре- ки). Соответственно нужно выходить
сен в ядро. ду как опасную и готовую к вторжени- на новый уровень защиты.

№5, май 2007 67


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

Write-Protected System Code
Начиная с Windows 2000 код ядра может быть защищен
от записи. Соответствующие страницы кода Ntoskrnl до-
ступны только для чтения (бит Write в PTE обнулен). Но так
происходит не на всех системах. Защита может быть акти-
вирована только в системе с ОЗУ меньше 128 Мб памяти,
а для Windows XP ОЗУ меньше 256 Мб. В противном слу-
чае ядро для оптимизации TLB (буфер быстрого преобра-
Рисунок 3. Главное окно Driver Verifier зования адресов, который содержит скэшированные про-
екции виртуальных страниц на физические, а также статус
того, находятся ли они в физической памяти или нет), бу-
дет проецироваться 4 Мб-страницами. Точнее, для этого бу-
дет использоваться TLB, кэширующий проекции 4 Мб-стра-
ниц. В таком случае код и данные ядра окажутся на одном
фрейме страницы и ей уже не может быть присвоен атри-
бут Read‑Only. На уровне каталога страниц, это означает,
что он адресует не таблицу страниц, описывающую данный
4 Мб-диапазон, а самую большую страницу. В итоге код ре-
жима ядра может свободно модифицировать не только дан-
ные ядра, но и его код!
Недостаток такого метода защиты в том, что в режи-
ме ядра он может быть отключен. В управляющем регис-
тре x386 (cr0) существует бит WP (Write Protection), кото-
Рисунок 4. Окно выбора драйвера, подлежащего проверке рый управляет всей защитой на уровне страниц. По умол-
чанию этот бит установлен ядром в единицу, но установка
Несмотря на все старания разработчиков ядра NT, на се- этого бита в ноль полностью отключает защиту на уровне
годняшний день оно является крайне незащищенным. В не- страниц. Как следствие, процессор может писать данные
которых случаях (в системах с определенной конфигура- даже на фреймы страниц, в PTE которых бит W равен 0.
цией) код и данные ядра защищены еще меньше, чем код Код, отключающий Write‑Protected System Code, применя-
обычного приложения. ется в руткитах режима ядра при модификации ntoskrnl.
Как следствие, именно сейчас все более вредонос- Также он был представлен в книге Hoglund, Butler «Rootkits.
ные программы ориентируются на работу в режиме ядра. Subverting windows kernel».
Как только код начинает работать в режиме ядра, он обла- Для наглядного представления техники Write-Protected
дает такими же привилегиями (в том числе и аппаратными), System Code на рис. 2 изображены каталог и таблицы стра-
как и само ядро. Это и является самым опасным. ниц Windows XP SP2 с выключенной защитой.
Ниже рассматриваются механизмы, которые применя- Как видно из рис. 2, каталог, который адресует Ntoskrnl,
ли разработчики ядра для того, чтобы хоть как-то обезопа- адресует 4 Мб-страницу, на которую Ntoskrnl вмещает-
сить ядро от разрушения. ся целиком, поэтому невозможно отделить код от данных.
Нужно также понимать, что с выходами новых Service На уровне больших страниц атрибут защиты адресуется
Pack ситуация все равно не изменится. Это обусловлено самим PDE, так как он адресуется не к таблице, а к само-
тем, что в NT изначально не было интегрированной систе- му фрейму с данными.
мы защиты ядра. В результате погони за оптимизацией Microsoft пони-
зила степень защищенности ядра. Как следствие, код яд-
Как и что нужно защищать ра стал еще менее защищенным, чем код любого прило-
Защита структур данных ОС не может быть обеспечена жения.
только программно. Соответствующая поддержка должна
быть и со стороны процессора. ОС должна защищать свои Patch Guard
структуры данных и программный код ядра. Ядром NT яв- В Microsoft прекрасно понимали, что подобная незащищен-
ляется файл Ntoskrnl, который и содержит важнейшие для ность ядра пагубно сказывается на работе системы в це-
работы ядра структуры данных и его код. Собственно, та- лом. Нужен был механизм защиты, не зависящий от аппа-
кие структуры и должны быть защищены. В x386 с линей- ратуры и увязанный в системных компонентах ядра. Зави-
ной моделью памяти NT это может быть сделано на уров- симость от процессора также не самым лучшим образом
не страниц. Однако нужно понимать, что не все структу- сказывается на защите, так как код режима ядра ее может
ры данных могут быть защищены, а лишь данные образа. просто отключить, как это было с Write-Protected System

68
безопасность
Code. Но ввести программную защиту ядра значило нару-
шить совместимость с существующими драйверами, ко-
торые могли использовать на тот момент вполне «закон-
ную» модификацию ядра. При этом обычно подвергалась
модификации таблица диспетчеризации системных серви-
сов (System Service Descriptor Table, SSDT) – KiServiceTable
и таблица дескрипторов прерываний (IDT).
С выпуском 64-разрядных версий NT – Windows Server
2003 64-bit и Windows XP 64-bit ситуация изменилась.
Microsoft «наложила запрет» на модификацию структур
данных ядра, аргументируя это тем фактом, что код яд-
ра для 64-разрядных версий перекомпилировать, а отчас-
ти и переписывать все равно придется, поэтому разработ-
чики могут внести в драйверы изменения и не опираться Рисунок 5. Окно выбора настроек для проверяемого драйвера
на модификацию ядра. Новая защита получила название
Patch Guard. И представляет собой программную техноло-
гию защиты ядра от записи. Технология защищает следу-
ющие критические структуры:
n SSDT.
n Таблицу глобальных дескрипторов (GDT).
n IDT.
n Спроецированные образы ядра, включая ntoskrnl.exe,
ndis.sys, hal.dll.
n MSR-регистры, предназначенные для активации дис-
петчера системных сервисов по sysenter.

Защита инициализируется при загрузке системы, при-


чем чрезвычайно неявно, это является следствием того,
что разработчики защиты старались максимально услож- Рисунок 6. Уже существующие настройки Driver Verifier
нить отладку системы защиты. В результате функции, отве-
чающие за инициализацию защиты, имеют названия, не вы- а для IDT – PgCreateIdtSubContext, в которых и вызывает-
дающие их истинного назначения. Например, защита ини- ся PgCreateBlockChecksumSubContext.
циализируется обычной функцией деления со специальным Аналогичная ситуация и с SSDT. Ее контрольную сум-
значением, которое приводит к переполнению (переполне- му создает та же PgCreateBlockChecksumSubContext. Кро-
ние генерируется, если при делении 64-разрядного операн- ме того, эта функция вызывается и для создания защиты
да на 32-разрядный результат не является 32-разрядным, таблицы дескрипторов – KeServiceDescriptorTable. В 64-раз-
процессоры AMD64), в результате чего генерируется исклю- рядной системе эта таблица хранит не настоящие смеще-
чение, а обработчик исключения – KiDivideErrorFault – уже ния функций в линейном адресном пространстве, а их сме-
вызывает функцию инициализации защиты. щения относительно самой KiServiceTable. Таким образом,
Patch Guard создает служебные структуры данных, в ко- чтобы получить адрес функции, на которую есть указатель
торых хранит контрольные суммы проверяемых компонен- в SSDT, нужно сложить адрес KiServiceTable со значением
тов, причем структуры создаются не для всего проверяе- индекса в этой таблице.
мого объекта, а только для отдельной его части. Например,
в случае с проверкой на валидность образов ядра созда- Технологии интеграции защиты
ются отдельные структуры для IAT, самих разделов и ди- на примере Driver Verifier
ректории импорта. Ядро NT поддерживает верификацию (проверку) драйве-
Сердцем защиты является функция, создающая кон- ров на предмет ошибок работы с памятью, IRQL и пр. Та-
трольные суммы структур, подлежащих верификации – кая технология получила название Driver Verifier. Для раз-
PgCreateBlockChecksumSubContext. Эта функция вызыва- работчиков драйверов она более известна не как техно-
ется как для создания таких контрольных сумм, как GDT, логия, а как программа, позволяющая своевременно об-
IDT, так и для IAT ntoskrnl. наруживать ошибки в драйверах. Между тем хотя пользо-
Так как Windows XP поддерживает и многопроцес- вательская часть Driver Verifier и функционирует в поль-
сорные системы, то ядро способно хранить контроль- зовательском режиме, свои возможности она реализует
ные суммы IDT, GDT для каждого процессора отде- в режиме ядра. Кроме того, в тесной интеграции с Driver
льно. Для получения адресов IDT, GDT ядро использу- Verifier работают: диспетчер памяти, диспетчер ввода-вы-
ет функцию KeSetAffinityThread, привязывая таким обра- вода, Win32k и HAL. Таким образом, проверка драйверов
зом поток к конкретному процессору. После того как ад- напрямую интегрирована в ядро. Пользовательская ее
реса таблиц получены, ядро вызывает для инициали- часть лишь записывает в реестр значения нужных пара-
зации защиты GDT функцию PgCreateGdtSubContext, метров, которые считываются ядром при загрузке систе-

№5, май 2007 69


безопасность
мы. Поэтому при изменении настроек верификации необ- n Display information about the currently verified drivers
ходима перезагрузка. (отобразить информацию о проверяемых драйве-
Ядро хранит настройки Verifier в разделе реестра, ко- рах) – выводит статистику по результатам мониторин-
торый ответственен за хранение настроек диспетчера па- га для конкретного драйвера (например, сколько байт
мяти – HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ выделено в пуле), а также отображает глобальные счет-
Control\Session Manager\Memory Management. Поэтому пер- чики использования ресурсов.
вое, что делает Driver Verifier при вызове функции отоб-
ражения существующих настроек, открывает этот раз- Настройки Driver Verifier, используемые чаще всего:
дел и сканирует ключевые параметры, среди которых:
VerifyDriverLevel и VerifyDrivers. Первый параметр содержит Special Pool (особый пул)
битовую маску включенных проверок для драйверов, а вто- Позволяет контролировать ошибки buffer overrun/underrun.
рой содержит список драйверов для верификации. Проана- При резервировании драйвером буфера в пуле управле-
лизировав эти поля, программа выводит в окне статисти- ние передается Driver Verifier, который перенаправляет этот
ку (см. рис. 6). запрос на резервирование в выделенный регион (особый
Сам же Driver Verifier рассредоточен по ядру и всегда пул), далее размер буфера округляется до размера, крат-
начинается с префикса Verifier. Например, VerifierAllocate ного размеру страницы, и «прижимается» к верхним адре-
PoolWithTag. Активация Driver Verifier происходит следую- сам страницы таким образом, чтобы последний байт буфе-
щим образом: на ранних этапах загрузки, когда диспетчер ра был последним байтом страницы. Это сделано для то-
памяти считывает свои настройки из реестра, он также про- го, чтобы можно было обнаруживать ошибки buffer overrun,
сматривает параметры Driver Verifier, если в списке есть про- при которых драйвер пишет по неуправляемому указате-
веряемые драйверы, то он сравнивает имена загружаемых лю за границу выделенного буфера, т.е. по старшим адре-
драйверов с драйверами из этого списка: проходя по образу сам. Страницы, находящиеся выше буфера (т.е. по более
драйвера, заменяет ссылки на функции ядра на свои функ- старшим адресам), Driver Verifier делает недействительны-
ции. Так, ExAllocatePool заменяется на VerifierAllocatePool, ми, чтобы «жучок» драйвера сразу же привел к возникно-
KeRaiseIrqlToDpcLevel на VerifierKeRaiseIrqlToDpcLevel, вению нарушения доступа. Таким образом, сразу же можно
KeAcquireSpinLockAtDpcLevel на VerifierKeAcquireSpinLock будет указать на драйвер, который сгенерировал ошибку.
AtDpcLevel. Перехватывая функции ядра, Driver Verifier спо- В противном случае драйвер перезаписал бы служебную
собен проводить проверки на корректность действий драй- структуру данных, а ее некорректность обнаружилась бы
веров. Например, для обнаружения одной из самых распро- в контексте совершенно другого потока (см. рис. 7).
страненных ошибок: buffer overrun/underrun, когда драйвер
содержит в себе «жучок», вылетающий за границы буфера. Force IRQL Checking (обязательная проверка IRQL)
Driver Verifier служит для обнаружения ошибок, которые до- Самая распространенная ошибка в коде режима ядра –
пускают программисты при индексации буферов. Для этого это когда драйвер пытается перераспределить процессор-
Driver Verifier выделяет себе из пула регион, в который пере- ное время на высоких IRQL (т.е. DPC/Dispatch или одном
направляет все запросы на выделение памяти. Для запус- из DIRQL). Если такая ситуация происходит, то в очередь
ка Driver Verifier наберите в «Пуск → Выполнить» команду DPC ставится запрос к диспетчеру, чтобы тот переключил
verifier. При этом вы увидите окно, подобное рис. 3. контекст. При этом так как DPC обрабатываются на том же
При этом вам необходимо выбрать из списка задачу уровне (в случае с текущим IRQL==DISPATCH_LEVEL)
для Driver Verifier. Доступны следующие задачи: или, тем более, при DIRQL, то переключение контекста будет
n Create standart settings (создать стандартные на- маскироваться до тех пор, пока DPC к диспетчеру не будет
стройки) – при этом Driver Verifier автоматически за- изъято из очереди. Суть ошибки заключается в том, что ес-
даст часто используемые настройки для проверки, а вам ли драйвер инициирует перераспределение процессорного
необходимо выбрать только драйвер(ы) для проверки времени на таком высоком уровне IRQL, то возникнет про-
(см. рис. 4). тиворечивая с точки зрения ядра ситуация, при которой по-
n Create custom settings (создать выборочные настрой- ток должен ждать, но планировщик не может вытеснить его
ки) – при этом Driver Verifier позволяет вам задать необ- с процессора, так как сам при таких высоких IRQL маски-
ходимые настройки (см. рис. 5). руется. Инициирование перераспределения процессорного
n Delete existing settings (удалить существующие на- времени может быть как явное, так и неявное. Явное, напри-
стройки) – удаляет все настройки Driver Verifier и выхо- мер, когда драйвер сам вызовет KeWaitForSingleObject при
дит из программы. высоком IRQL. Неявное – это попытка обращения к вирту-
n Display existing settings (отобразить существующие альной странице, не спроецированной на физическую (на-
настройки) – выводит окно с драйверами, подлежащими пример, в нерезидентном пуле). Как только поток сгенериру-
проверке, и настройки, применимые к ним (см. рис. 6). ет ошибку страницы, это повлечет за собой операцию ввода-
вывода для подкачки страницы с диска, а это в свою очередь
повлечет к блокированию потока и вытеснению его с про-
invalid page rand driver buffer invalid page
цессора (поток попадает в очередь ждущих), при этом про-
VPN 0 VPN 3 исходит переключение контекста на другой поток. Во всех
случаях вызов диспетчера на высоких IRQL повлечет за со-
Рисунок 7. Таким образом Driver Verifier предотвращает
ошибки переполнения бой STOP-ошибку: IRQL_NOT_LESS_OR_EQUAL. В случае

70
безопасность
если эта проверка активирована, то все ти. При включенном DEP для 32‑раз-
подкачиваемые данные ядра прину- рядной Windows XP последняя будет
дительно откачиваются на диск (вы- работать в PAE-режиме (т.е. параметр
водятся из системного рабочего набо- /PAE в boot.ini будет установлен). Соот-
ра), таким образом, если драйвер со- ветственно, будет использована PAE-
держит в себе неуправляемый указа- версия ядра и процессор также будет
тель, который при условиях, что отка- работать в PAE-режиме. В 64-разряд-
чиваемые страницы еще спроецирова- ной версии (с соответствующей подде-
ны на физические, в результате обра- ржкой со стороны процессора) DEP при-
щения к ним не вызовет нарушения до- меняется ко всем 64-разрядным про-
ступа, то с включенной проверкой сра- граммам и драйверам, а также к стра-
зу же произойдет крах системы с кодом, ницам стеков потоков. Однако в 32-раз-
указывающим на сбойный драйвер. рядной версии защита применяется
только к страницам с данными в поль-
DEP зовательском режиме (включая стеки
Не секрет, что самомодификация в потоков). При активации DEP в boot.ini
NT является простым делом. Доста- заносится параметр /NOEXECUTE. Та-
точно поменять атрибуты страницы ким образом, когда ntldr передаст уп-
на PAGE_WRITE, как код сразу же мож- равление ядру, последняя будет знать,
но править. Хотя в макросах, предна- что DEP включена.
Рисунок 8. Диалоговое окно, управляющее
значенных для защиты страниц, и пре- Защитой можно управлять и из са- некоторыми настройками DEP
дусмотрены специальные атрибуты ти- мой Windows. Для этого нужно перей-
па PAGE_EXECUTE, но все зависит от ти: «Пуск → Панель управления → Сис- ром, и следы его деятельности ни-
аппаратной платформы и тех атрибу- тема → Дополнительно → Параметры как не проверяются. Возможно даже,
тов защиты страниц, которые она пре- быстродействия → Предотвращение что сам руткит пройдется по PTE, ко-
доставляет. В x386 в PTE существует выполнения данных». При этом вы уви- торые адресуют фреймы страниц ко-
один бит, предназначенный для конт- дите окно как на рис. 8. да ntoskrnl, и установит у них бит Write,
роля вида доступа. Сброс или установ- Эти два параметра влияют на по- отключая таким образом защиту сис-
ка этого бита не влияет на то, будет вы- ведение DEP для 32‑разрядных про- темного кода от записи.
полняться код на странице или нет. грамм. Верхний параметр говорит Структуры данных, создающиеся
С Windows XP SP2 и Windows Server о том, что DEP будет применяться толь- и уничтожающиеся в пулах, вообще не-
2003 SP1 Microsoft стала продвигать ко к программам самой Windows. Ниж- льзя контролировать на запись, чтение,
технологию Data Execution Prevention ний параметр говорит о включении так как пул управляется не страницами,
(DEP), которая, разумеется, базируется DEP для всех 32‑разрядных программ, а из него возможно выделение данных
на аппаратной поддержке. Intel и AMD кроме тех, что добавлены в список. Об- произвольного размера. Хотя и здесь
ввели для своих процессоров новые би- ратитесь к документации по своему ядру можно привить некоторую интел-
ты защиты страниц. Для AMD функция процессору, чтобы определить, под- лектуальность. Если бы ядро изначаль-
называется no-execute page-protection держивает он DEP или нет. но было построено как защищенное
(NX), а для Intel – Execute Disable Bit Кроме редактирования DEP че- и контролировало бы доступ к своим
(XD). Попытка выполнить код на стра- рез Панель управления, вы также мо- структурам данных, то ничего не меша-
нице с таким атрибутом приведет к ге- жете вручную отредактировать файл ло бы системе выделять себе структу-
нерации исключения процессором. boot.ini, задав необходимые значения ры данных на отдельной странице пу-
NT также применяет эту защиту к сте- в форме /noexecute=value, где value ла и контролировать обращения к ней.
кам потоков, что блокирует действия может принимать значения указан- Контроль обращения в нерезидентном
многих червей и Shell-кода, которые по- ные в таблице. пуле можно организовать, специаль-
лучают управление через стек. но выводя из системного рабочего на-
DEP работает по-разному на раз- Заключение бора фреймы страниц со структурами.
ных машинах. Это зависит не толь- Ограничение существующих методов Затем, когда происходит #PF на стра-
ко от платформы, но и от версии NT очевидно в том, что, как только в ре- нице, то сравнить содержимое в стеке,
(32‑или 64-разрядная). При этом сле- жиме ядра запускается вредоносный сохраненного регистра EIP, на диапа-
дует учитывать некоторые особеннос- код, он также по сути становится яд- зон принадлежности ntoskrnl; если он
входит в диапазон, то само ядро обра-
Значение value в файле boot.ini щается к структурам данных.
Значение Описание Несмотря на все эти методы защи-
OptIn
Используется по умолчанию. Включает DEP для системных программ на компьютерах с аппаратной ты, здесь скорее нужен другой при-
поддержкой DEP
нципиальный подход. Например, за-
OptOut DEP включена для всех процессов, кроме тех, что указаны в списке (см. рис. 8) пуск только проверенного (подписан-
AlwaysOn DEP включена для всей системы (в том числе и для всех процессов) ного) кода режима ядра, как это сде-
AlwaysOff DEP отключена для всей системы, независимо от аппаратной поддержки лано в Vista.

№5, май 2007 71


bugtraq

Множественные уязвимости в Oracle Выполнение произвольного кода


Программа: JD Edwards EnterpriseOne Tools 8.x, JD в JustSystems Ichitaro
Edwards OneWorld Tools 8.x, Oracle Application Server 10g, Программа: Ichitaro 2005, Ichitaro 2006, Ichitaro 2007, Ichitaro
Oracle Collaboration Suite 10.x, Oracle Database 10.x, Oracle viewer 4.x.
E‑Business Suite 11i, Oracle E-Business Suite 12.x, Oracle Опасность: Критическая.
Enterprise Manager 9.x, Oracle PeopleSoft Enterprise Human Описание: Уязвимость существует из-за неизвестной
Capital Management 8.x, Oracle PeopleSoft Enterprise Tools ошибки при обработке документов. Удаленный пользова-
8.x, Oracle Secure Enterprise Search 10.x, Oracle9i Database тель может с помощью специально сформированного доку-
Enterprise Edition, Oracle9i Database Standard Edition. мента выполнить произвольный код на целевой системе.
Опасность: Высокая. URL производителя: www.justsystem.com.
Описание: 1. Oracle TNS Listener может быть остановлен Решение: В настоящее время способов устранения уязви-
путем отправки команды «TNS STOP» на Oracle Discoverer мости не существует.
Servlet.
2. Уязвимость существует из-за недостаточной об- Уязвимость при обработке URL
работки входных данных в «expType» в сценарии search/ в Microsoft Agent
admin/sources/boundary_rules.jsp в Oracle Secure Enterprise Программа: Microsoft Windows 2000, Microsoft Windows XP,
Search. Удаленный пользователь может с помощью специ- Microsoft Windows 2003.
ально сформированного запроса выполнить произвольный Опасность: Высокая.
код сценария в браузере жертвы в контексте безопаснос- Описание: Уязвимость существует из-за ошибки в Microsoft
ти уязвимого сайта. Agent (agentsvr.exe) при обработке URL, передаваемого
3. Уязвимость существует из-за недостаточной обра- в качестве аргумента определенным методам. Удален-
ботки входных данных в пакетах DBMS_APPLY_USER_ ный пользователь может с помощью специально сформи-
AGENT, DBMS_ AQADM _SYS, DBMS_CDC_ PUBLISH рованного веб-сайта выполнить произвольный код на це-
и DBMS_UPGRADE_INTERNAL. Удаленный пользователь левой системе.
может выполнить произвольные SQL-команды в базе дан- URL производителя: www.microsoft.com.
ных приложения. Решение: Установите исправление с сайта производите-
4. Злоумышленник может обойти триггер на вход в ба- ля.
зу данных Oracle.
5. Уязвимость существует из-за ошибки проверки гра- Межсайтовый скриптинг
ниц данных в DBMS_SNAP_INTERNAL-пакете при обработ- в Mozilla Firefox Wizz RSS News Reader
ке параметров SNAP_OWNER и SNAP_NAME. Удаленный Программа: Wizz RSS News Reader (расширение к Mozilla
пользователь может вызвать переполнение буфера и ава- Firefox) версии до 2.1.9.
рийно завершить работу приложения. Опасность: Высокая.
6. Уязвимость существует из-за ошибки в компоненте Описание: Уязвимость существует из-за недостаточной об-
ADI_BINARY в E-Business Suite. Злоумышленник может ска- работки входных данных. Удаленный пользователь может
чать документы в таблице APPS.FND_DOCUMENTS. с помощью специально сформированного запроса выпол-
7. Уязвимость существует из-за ошибки в пакете нить произвольный код сценария в браузере жертвы в кон-
APPLSYS.FND_DM_NODES. Злоумышленник может уда- тексте безопасности зоны «chrome:».
лить произвольные Document Management-ноды. URL производителя: https://addons.mozilla.org/en-US/firefox/
8. Злоумышленник может повысить свои привилегии на addon/424.
системе, если на Windows XP включено Simple File Sharing. Решение: Установите последнюю версию (2.1.9) с сайта
9. Уязвимость состояния операции существует в триг- производителя.
гере RLMGR_TRUNCATE_MAINT. Локальный пользователь
может повысить свои привилегии на системе. Уязвимость форматной строки
10. Некорректное использование функции «SetSecurityD в Sun Solaris и Java Web Console
escriptorDacl()» может позволить удаленному пользователю Программа: Sun Solaris 10, Java Web Console 2.2.2 по
выполнить произвольный код на целевой системе. 2.2.5.
11. Уязвимость существует из-за отсутствия проверки Опасность: Высокая.
аутентификации в Oracle Intelligent Agent. Удаленный поль- Описание: Уязвимость форматной строки существует из‑за
зователь может выключить уязвимый агент. ошибки проверки данных при вызове функции syslog() для
12. Уязвимость существует из-за ошибки проверки гра- записи в журнал неудачных попыток входа в систему. Уда-
ниц данных в пакете DBMS_CDC_IPUBLISH. Удаленный ленный пользователь может с помощью специально сфор-
пользователь может с помощью слишком длинного пара- мированных данных выполнить произвольный код на це-
метра CHANGE_TABLE_NAME вызвать переполнение стека левой системе.
и выполнить произвольный код на целевой системе. URL производителя: www.sun.com.
URL производителя: www.oracle.com. Решение: Установите последнюю версию с сайта произ-
Решение: Установите исправление с сайта производите- водителя.
ля.

72
bugtraq

Множественные уязвимости Множественные уязвимости в PHP


в VMware Workstation Программа: PHP, версии до 4.4.7, PHP, версии до 5.2.2.
Программа: VMware Workstation версии до 5.5.4, Build Опасность: Средняя.
44386. Описание: 1. Уязвимость существует из-за ошибки в функ-
Опасность: Средняя. ции ftp_putcmd(). Злоумышленник может внедрить симво-
Описание: 1. Уязвимость существует из-за ошибки в реали- лы новой строки.
зации ACPI-процесса виртуальной машины (VMX) во время 2. Уязвимость существует из-за ошибки в функции
сбора информации о состоянии работающих виртуальных import_request_variables(). Злоумышленник может перепи-
машин. Злоумышленник может заставить процесс прочи- сать глобальные привилегии.
тать данные из некорректных адресов памяти. 3. Уязвимость существует из-за ошибки проверки гра-
2. Уязвимость существует из-за ошибки в VMX при со- ниц данных в функции make_http_soap_request() (PHP 5).
хранении специально сформированных конфигурационных Злоумышленник может вызвать переполнение буфера.
данных. Злоумышленник может вызвать отказ в обслужи- 4. Переполнение буфера обнаружено в функции
вании гостевой ОС. user_filter_factory_create() (PHP 5).
3. Уязвимость существует из-за ошибки при обработке 5. Переполнение буфера обнаружено в библиотеке
механизма защиты от общих ошибок (GPFs) на гостевой ОС libxmlrpc.
Windows. Злоумышленник может аварийно завершить ра- 6. Уязвимость существует из-за ошибки проверки вход-
боту гостевых систем под управлением Windows. ных данных в функции mail(). Злоумышленник может внед-
4. Уязвимость существует из-за неизвестных оши- рить произвольные заголовки в сообщение через парамет-
бок во время отладки приложений на 64-bit гостевой ОС ры To и Subject.
под управлением Windows на 64-bit хостовой системе. Зло- 7. Уязвимость существует из-за ошибки в функции mail().
умышленник может вызвать повреждение указателей сте- Злоумышленник может с помощью ASCIIZ-байтов урезать
ка или ядра. отправляемые сообщения.
5. Ошибка дизайна обнаружена в функционале «Shared 8. Злоумышленник может обойти защитные механизмы
Folders». Злоумышленник может через гостевую систе- safe_mode и open_basedir посредством «zip://» и «bzip://»-
му получить доступ на чтение и запись файлов на хосто- врапперов.
вой системе. Для успешной эксплуатации уязвимости тре- 9. Целочисленное переполнение обнаружено в функци-
буется, чтобы хотя бы один каталог был открыт для обще- ях substr_compare() и substr_count(). Злоумышленник может
го доступа. получить доступ на чтение памяти, расположенной за пе-
URL производителя: www.vmware.com/products/desktop/ ременными PHP.
ws_features.html. 10. Уязвимость существует из-за ошибки в функции
Решение: Установите последнюю версию VMware mb_parse_str(), которая позволяет злоумышленнику акти-
Workstation 5.5.4, Build 44386 с сайта производителя. вировать register_globals.
11. Уязвимость существует из-за ошибки в Zend при об-
работке разветвленных массивов переменных. Злоумыш-
Несколько уязвимостей в Asterisk ленник может вызвать отказ в обслуживании системы.
Программа: Asterisk, версии до 1.4.3. URL производителя: www.php.net.
Опасность: Высокая. Решение: Установите последнюю версию (5.2.2 или 4.4.7.)
Описание: 1. Уязвимость существует из-за ошибки провер- с сайта производителя.
ки границ данных в T.38 SDP-парсере SIP-каналов при об-
работке T38FaxRateManagement или T38FaxUdpEC SDP-па-
раметров в функции process_sdp() файла chan_sip.c. Уда- Уязвимость при обработке запросов
ленный пользователь может послать специально сформи- в ISC BIND
рованный SIP-пакет, содержащий слишком длинные SDP- Программа: ISC BIND 9.4.0, ISC BIND 9.5.0a1, 9.5.0a2
параметры, вызвать переполнение стека и выполнить про- и 9.5.0a3.
извольный код на целевой системе. Для удачной эксплуата- Опасность: Средняя.
ции уязвимости опция t38_udptl должна быть включена. Описание: Уязвимость существует из-за ошибки при вы-
2. Ошибка разыменования нулевого указателя су- зове функции query_addsoa(). Удаленный пользователь мо-
ществует в механизме аутентификации в Asterisk Remote жет послать специально сформированную последователь-
Management Interface. Удаленный пользователь может ава- ность запросов и аварийно завершить работу DNS-серве-
рийно завершить работу службы. Для успешной эксплуа- ра. Для успешной эксплуатации уязвимости рекурсия долж-
тации уязвимости Management Interface должен быть вклю- на быть включена.
чен и в файле manager.conf должен быть сконфигурирован URL производителя: www.isc.org.
пользователь без пароля. Решение: Установите последнюю версию (9.4.1) с сайта
URL производителя: www.asterisk.org. производителя.
Решение: Установите последнюю версию (1.4.3) с сайта
производителя. Составил Александр Антипов

№5, май 2007 73


безопасность

m0n0wall – дистрибутив для создания


межсетевого экрана

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

С
егодня существует большое Возможности m0n0wall Актуальной на момент написания
количество решений, как ап- Задачу, которую поставил перед со- статьи версия m0n0wall была 1.23. Ее
паратных, так и программных, бой автор m0n0wall Маньюэл Каспер размер составляет менее 6 Мб. И это
позволяющих превратить обычный (Manuel Kasper), кратко можно сфор- при том, что в его состав помимо необ-
ПК в межсетевой экран, работающих мулировать так – создание полноцен- ходимых для работы ядра и пользова-
под разными операционными систе- ного межсетевого экрана, по функци- тельских утилит включены: легкий веб-
мами, отличающимися стоимостью ональности не уступающего коммер- сервер, поддерживающий PHP, сер-
и лицензией. ческим решениям, легкого в настрой- вер DHCP, кэширующий DNS Dnsmasq
Крупные организации могут себе ке и простого в использовании, но при и для обновления DNS-таблиц ez-
позволить использовать такие продук- этом бесплатного. ipupdate, racoon (IPsec IKE), UCD-SNMP,
ты, как ISA 2006 Server. Но стоимость В качестве основы послужила BPALogin, MPD, сервер ISC и choparp.
последнего вместе с операционной FreeBSD. Поначалу m0n0wall пред- Обеспечиваются NAT/PAT, PPPoE, тун-
системой для средних и тем более не- ставлял собой простой веб-интер- нели IPsec VPN и PPTP, поддержка
больших компаний будет значительной фейс для фильтра пакетов, первая бе- беспроводных устройств, статичес-
расходной статьей в бюджете. та-версия которого появилась в 2003 кая маршрутизация, режим фильтру-
В этом случае на помощь могут году. Полноценный анонс состоял- ющего моста, обновление через веб-
прийти специализированные реше- ся в начале 2004 года после более 20 интерфейс и многое другое.
ния на базе свободных операционных предрелизов. Начиная с версии 1.1 появилась
систем. Они просты в настройке, не- Сейчас архитектура m0n0wall зна- возможность посылки сигнала с ад-
требовательны к системным ресурсам чительно переработана. Для большей министративного интерфейса «Wake
и в большинстве случаев бесплатны. гибкости интерфейса все системные on Lan» для включения клиентов, на-
В журнале уже шла речь о неко- настройки сохраняются в файле фор- стройка максимальной полосы пропус-
торых реализациях [1, 2, 3], проект мата XML, во время загрузки вместо кания для клиентских машин «Magic
m0n0wall [4] предлагает решение, с ко- привычных сценариев оболочки ис- Shaper» поддержка 802.1Q VLAN.
торым стоит познакомиться. пользуется PHP. Для работы m0n0wall можно ис-

74
безопасность
пользовать Flash-карту, жесткий диск
или привод компакт-дисков. В пос-
леднем случае все настройки авто-
матически сохраняются на вставлен-
ной дискете, и при перезагрузке кон-
фигурация восстанавливается. Кро-
ме стандартной x86 PC-платформы,
m0n0wall поддерживает встроенные
системы: net45xx/net48xx от Soekris
Engineering (www.soekris.com) и WRAP
(Wireless Router Application Platform)
от PC Engines (www.pcengines.ch). Пос-
ледние две платформы весьма ин-
тересны, занимают мало места, ма-
лошумны, экономичны и надежны,
так как большинство из них не имеет
жесткого диска (движущихся частей).
Распространяется m0n0wall под собс-
твенной лицензией, разрешающей ис-
пользование и модификацию исходно- Рисунок 1. Статус работы m0n0wall
го текста, без какого-либо ограниче-
ния, но при условии, что будет остав- навливать образ. Под Linux вводим та- Проблема здесь одна, часто весь-
лено авторское соглашение. кую команду: ма проблематично определить, какой
из интерфейсов m0n0wall посчитал
Записываем образ # gunzip -c generic-pc-1.23.img | ↵
dd of=/dev/hdb bs=16k
за LAN. Особенно если на компьюте-
Минимальные требования m0n0wall – ре установлено несколько однотипных
это компьютер с процессором i486-100, Аналогично устанавливаются об- сетевых карт, отличающихся только
ОЗУ 64 Мб, 2 и более сетевых карты, разы для Soekris и WRAP. В случае сетевыми адресами. Загрузка проис-
поддерживаемые FreeBSD 4.11, жес- с CD‑ROM просто записываем образ ходит очень быстро (около 40 секунд),
ткий диск или карта Flash с IDE-ин- и загружаемся. за выводимой информацией уследить
терфейсом размером не менее 8 Мб. трудно. В этом случае можно подобрать
Если BIOS поддерживает загрузку Установки из консоли имя сетевой карты экспериментально.
с CD‑ROM, то можно выбрать и этот ва- Теоретически к системному блоку мож- Обычно номера картам присваивают-
риант. Сравнив системные требования но не подключаться вообще, а зай- ся, начиная от процессора, хотя мне
с подобными дистрибутивами, можно ти сразу удаленно через webGUI, от- встречался вариант, когда m0n0wall
увидеть, что m0n0wall очень требова- куда и произвести все необходимые поступил с точностью наоборот. Пос-
телен к объему ОЗУ. Объясняется это действия. Установки по умолчанию ле загрузки в консоли будет выведе-
просто: m0n0wall ориентирован на ра- весьма рациональны, и m0n0wall вы- но следующее меню:
боту с Flash, которые критичны к коли- полняет основную свою задачу из ко-
LAN IP address: 192.168.1.1
честву циклов записи/перезаписи. По- робки, без какого либо дополнитель-
этому обращение к носителю сокраще- ного вмешательства. Так LAN‑интер- Port configuration:
но до минимума. После загрузки образ фейс будет использовать IP‑адрес LAN -> sis0
помещается в ОЗУ, обращение к носи- 192.168.1.1/24, на нем будет запуще- WAN -> sis1
телю идет только во время сохранения на служба DHCP, раздающая адре-
m0n0wall console setup
конфигурации и обновления системы са в диапазоне 192.168.1.100–199. Ис- **********************
или программного обеспечения, вхо- пользуется перенаправление DNS-за- 1) Interfaces: assign network ports
2) Set up LAN IP address
дящего в его состав. просов (адреса DNS-серверов берутся 3) Reset webGUI password
При загрузке дистрибутива сле- при DHCP‑подключении WAN), поэто- 4) Reset to factory defaults
дует выбрать образ под используе- му внутренние системы могут исполь- 5) Reboot system
6) Ping system
мую систему или вариант использо- зовать m0n0wall в качестве DNS-сер-
вания. В случае с ПК это generic-pc вера. Интерфейс WAN получает адрес Очевидно, m0n0wall ориентиро-
(жесткий диск, Flash) или CD‑ROM. по DHCP. Внешний трафик блокирует- ван больше на встроенные устройс-
В первом случае для переноса обра- ся, весь поступающий из LAN, наобо- тва, поэтому иногда выплывают име-
за на диск при работе в Windows ис- рот, разрешен. Для внутренней сети на вроде sis. Для указания того, какие
пользуем утилиту physdiskwrite.exe, включен NAT. Доступ к webGUI разре- карты, какому интерфейсу принадле-
которая доступна на сайте. Для чего шен только из LAN. Часовой пояс уста- жат, выбирается первый пункт. После
в командной строке необходимо ввес- новлен в Etc/UTC, периодически произ- ввода 1 будет выведена информация
ти «physdiskwrite generic-pc-1.23.img» водится синхронизация времени с сер- об интерфейсах, один из которых бу-
и затем указать, на какой диск уста- вером pool.ntp.org. дет активирован.

№5, май 2007 75


безопасность
ed0 00:30:4f:2a:6b:16 (up) Настройки webGUI активизируются соответствующие по-
vr0 00:30:4f:2a:6b:16 Для вызова веб-интерфейса следу- ля, которые необходимо заполнить.
ет набрать в браузере http://192.168.1.1 Также обязательно следует зай-
Вот и все. Если с внешнего ком- или другой адрес, назначенный при на- ти «System → General setup», где на-
пьютера активированный интерфейс стройке интерфейсу LAN, для аутен- страивается имя узла, адреса серве-
не пингуется, следует переключить тификации используем пользователя ров DNS (если они не получаются ав-
кабель или переназначить интерфейс. admin с паролем mono. После регист- томатически), указывается имя поль-
Будут заданы вопросы о том, будем ли рации попадаем на страницу, выводя- зователя и пароль для администри-
использовать VLAN, какой интерфейс щую статус работы системы (рис. 1). рования m0n0wall, использование за-
ему назначить: Веб-интерфейс очень прост и понятен, щищенного протокола при подключе-
хотя и не локализован. Все настройки нии через webGUI, порт для соедине-
Do you want to set up VLANs now? (y/n) n
сгруппированы по назначению (System, ния. Здесь же выбирается часовой по-
Затем LAN и WAN: Interfaces,Firewall, Services, VPN, Status яс и сервер NTP.
и Diagnostics) и прозрачны, запутаться Для настройки статической мар-
Enter the LAN interface name or 'a' for
auto-detection: ed0 в чем-либо очень сложно. Единствен- шрутизации следует перейти в Static
ное, что следует помнить: используй- Routes, нажать «+». В появившем-
Следует ввес ти название ин - те в описаниях настроек только латин- ся меню выбрать интерфейс, ввес-
терфейса либо нажатием «a» поп- ские символы. ти адрес сети, шлюз и краткое описа-
робовать найти его автоматически Для начала следует в «Status → ние. Как уже говорилось, в межсете-
(без проблем работает только когда Interfaces» проверить, правильно ли вом экране по умолчанию два прави-
остался один не занятый). Это обяза- настроены интерфейсы. Для измене- ла: разрешающее все соединения на-
тельно. Также m0n0wall позволяет ис- ния настроек выбираем «Interfaces → ружу и запрещающее извне. Такой ва-
пользовать интерфейсы, обозначен- Assign» и, используя выпадающий риант подходит только для очень без-
ные как Optional с номером. Впоследс- список, указываем, какой из них при- ответственных администраторов. На-
твии ему можно дать любое другое надлежит WAN или LAN. После это- стройка правил фильтрации произво-
название (например, DMZ). По окон- го нажимаем «Save» и перегружаем дится в «Firewall → Rules». Количес-
чании настройки последует перезаг- m0n0wall. Далее, выбрав соответству- тво вкладок здесь равно числу ис-
рузка; если для работы использует- ющую вкладку, настраиваем парамет- пользуемых интерфейсов. Сначала
ся CD‑ROM, вставьте дискету, ина- ры выбранного интерфейса. Так, LAN создаем разрешающее правило, поз-
че все придется повторять сначала. может использовать только статичес- воляющее соединяться удаленно че-
После перезагрузки в пункте 2 можно кий адрес, здесь доступны для изме- рез webGUI. Выбираем «Add new rule»
указать другой сетевой адрес и сете- нения лишь IP-адрес и сетевая мас- и указываем в Action – Pass, Interface –
вую маску (в CIDR) для LAN, а также ка. Для других интерфейсов настроек LAN, Protocol – TCP. Поля Source
включить или отключить DHCP. Про- больше. В поле Type интерфейса WAN и Destination, в том случае, когда ис-
верить правильность установок мож- (рис. 2) можно выбрать один из ва- пользуется 80 порт, можно установить
но, выбрав пункт 6 и пропинговав лю- риантов: static, DHCP, PPPoE, PPTP в Any, так как в этом случае пользова-
бую систему в сети. Назначение пун- и BigPond (крупнейший австралийский тели не смогут получить доступ к веб-
ктов 3, 4 и 5, я думаю, понятно. интернет-провайдер). После выбора ресурсам Интернета. В «Destination
port» устанавливаем HTTP. Анало-
гично настраивается доступ к осталь-
ным сервисам Интернета. Затем сле-
дует отметить разрешающее правило
в интерфейсе LAN, установив флажок.
Выбрать кнопку «Edit rule» и изменить
в выпадающем списке Action параметр
Pass на Block или Reject. Следует пом-
нить, что правила работают до перво-
го совпадения, поэтому запрещающее
правило следует разместить послед-
ним, используя кнопки «Move selected
rule» (рис. 3). (можно разрешающее
правило удалить, межсетевой экран
и так будет блокировать все не раз-
решенные пакеты). Когда все изме-
нения сделаны, следует нажать кноп-
ку «Apply Changes», чтобы они всту-
пили в силу.
Для того чтобы сделать прави-
Рисунок 2. Настройка WAN ла более читабельными, следует ис-

76
безопасность
пользовать псевдонимы (aliases), кото-
рые можно использовать для назначе-
ния понятных имен IP-адресам и под-
сетям и затем использовать в прави-
лах межсетевого экрана и других на-
стройках m0n0wall. Настроить псев-
донимы просто: заходим в «Firewall →
Aliases», нажимаем кнопку «+» и вво-
дим имя (псевдоним), тип псевдонима
(узел или сеть), вводим адрес и в поле
Description краткое описание. Теперь
в случае изменения сетевых настроек,
например IP-адреса, достаточно ука-
зать эти изменения в Alias, после чего
правила брандмауэра будут работать,
как обычно. Очень удобно.
Ограничение полосы пропускания
устанавливается во вкладке «Firewall →
Traffic shaper». Для начала следует ука-
зать максимальную полосу на вне- Рисунок 3. Правила брандмауэра
шнем интерфейсе для входящего и ис-
ходящего трафика. Для этого перехо- са. Сначала заходим в Pipes, нажима- TOS, флаги ТСР и другие параметры
дим в вкладку «Magic shaper wizard» ем «+» и создаем новое правило. Вво- (большинство которых не являются
и указываем необходимые значения дим в Bandwidth значение максималь- обязательными). Обратите внимание
в «Downstream speed» и «Upstream ной полосы, параметры Delay и Packet на наличие флажка «not» в некоторых
speed». Чтобы трафик распределял- loss rate в большинстве случаев стоит позициях. С его помощью можно со-
ся равномерно между всеми подклю- установить в 0, а поле Queue size оста- здавать исключения, например, огра-
ченными компьютерами, устанавлива- вить пустым. Поле Mask устанавлива- ничив канал для всех, кроме шефа, ус-
ем флажок в «Share bandwidth evenly ем в source или destination (входящий тановив IP-адрес его компьютера в по-
on LAN». А чтобы понизить приоритет или исходящий). Нажимаем «Save», ле Source и активировав not.
для пользователей P2P-сетей, включа- в Pipes появится новое правило. Те- Для разрешения просмотра статис-
ем «Set P2P traffic to lowest priority». На- перь в Rules, в котором необходимо тики и изменения некоторых парамет-
жимаем кнопку «Install/Update». После привязать созданное правило к источ- ров самими пользователями в «User
внесения изменений в трех остальных нику. Нажимаем «+» и попадаем в ок- manager», можно создать группы
вкладках (Rules, Pipes и Queues) поя- но «Edit Rule». Выбираем в раскрываю- и включить в них пользователей. Ана-
вились правила. Они действительны щемся списке Target созданное в Pipes логично производятся и остальные на-
для всех пользователей. Теперь созда- правило, затем указываем интерфейс, стройки. Как видите, это несложно.
дим правило для конкретного IP-адре- протокол, источник, порт, направление, Дистрибутив m0n0wall представля-
ет собой мощный и удобный в исполь-
зовании продукт, позволяющий ор-
ганизовать совместный доступ в Ин-
тернет пользователям нескольких се-
тей и защитить их от нападения из-
вне. Настроить его сможет любой ад-
министратор, понимающий конечную
цель и необязательно разбирающий-
ся в особенностях UNIX-систем.

1. Яремчук С. Роутер без диска. //«Сис-


темный администратор», № 9, 2004 г. –
С. 8-9.
2. Яремчук С. Маленький линукс в качес-
тве firewall. //«Системный администра-
тор», № 9, 2003 г. – С. 24-32.
3. Яремчук С. Сетевой полицейский.
//«Системный администратор», № 1,
2005 г. – С. 42-45.
4. Сайт проекта m0n0wall – http://m0n0.ch/
Рисунок 4. Сайт проекта m0n0wall – http://m0n0.ch/wall wall.

№5, май 2007 77


IP-телефония

Всё, что вы хотели знать о протоколе SIP

Андрей Погребенник
Что общего у Microsoft Exchange 2007, Asterisk и Google Talk? А общим здесь является
использование протокола SIP, который обещает единое решение задач как реализации
мультимедийных функций в веб-приложениях, так и переноса сигнального трафика в сетях
операторов связи.

78
IP-телефония

В
одном из писем своим компа-
ньонам Александер Грэм Белл История разработки SIP или иначе касается SIP. Так, рабочая груп-
впервые в истории и при этом Проект, который со временем стал стан- па SIPPING (SIP Investigation) была сфор-
весьма подробно изложил план соз- дартом SIP, был начат в 1996 году Хенин- мирована для исследования новых облас-
дания в большом городе телефонной гом Шулзри (Колумбийский университет) тей применения SIP, выработки требова-
сети, базирующейся на центральном и Марком Хэндли (UCL), участниками рабо- ний к расширениям SIP и документов ре-
коммутаторе. В письме он настаивал чей группы MMUSIC (Multi-Party Multimedia комендательного характера касательно
на том, что в целях рекламы было бы Session Control) ассоциации IETF. Черновик применения SIP в приложениях. Рабочая
желательно бесплатно установить те- IETF, описывающий SIP версии 1.0, увидел группа SIMPLE (SIP for Instant Messaging
лефонные аппараты в центральных свет в 1997 году. В следующем году был из- and Presence Leveraging Extensions) была
магазинах города. Это письмо стало дан уже черновик версии 2.0. Статус пред- сформирована для стандартизации расши-
первоисточником привычной теле- ложенного стандарта SIP получил в марте рений SIP для обмена мгновенными сооб-
фонной лексики, в том числе фразы 1999 года, а в апреле того же года был опуб- щениями и информацией о статусе состо-
«алло, центральная», которая умер- ликован RFC первой предложенной версии яния абонента.
ла лишь при появлении автоматичес- стандарта – RFC 2543. В сентябре 1999 го- Другие рабочие группы по SIP – ENUM
ких телефонных станций. В течение да была образована SIP Working Group, ра- (работающая над интеграцией SIP‑адре-
более чем 100 лет все значимые из- ботающая с тех пор над самим протоколом сации и принятых в ТфОП номерных пла-
менения, происходившие с телефон- и его расширениями. В июле 2000 года был нов), SIGTRAN (Signaling Transport, пере-
ной станцией, касались именно теле- опубликован RFC 2543 «bis», содержащий нос сигнализации SS7 поверх IP) и AVT
фонной станции. И лишь в эпоху Ин- множественные поправки и улучшения (Audio/Video Transport (RTP), отвечающая
тернета стало возможным говорить к оригинальной спецификации. Этот доку- за поддержку и расширение протокола
о действительно новом направлении мент лёг в основу RFC 3261 (2002 года), яв- RTP). MMUSIC же ответственна за SDP
коммуникаций. ляющегося и на сегодняшний день основ- (Session Description Protocol), SAP (Session
Путь будущего развития комму- ным SIP RFC. Заметьте, что номер версии Announcement Protocol), RTSP (Real Time
никаций лежит через разделение ло- всё ещё равен 2.0. Streaming Protocol) и исследование воз-
гики работы сетей и предоставления Постепенно были образованы и другие можностей применения SIP для мультиме-
услуг. Новые услуги будут предостав- рабочие группы IETF, работа которых так диа-конференций.
ляться опорной сетью, т.е. независимо
от сети доступа. Таким образом, в лю- Protocol/Multiprotocol Label Switching), ции; его задачи аналогичны тем, кото-
бом месте, при использовании любо- подключения корпоративных клиен- рые выполняет протокол общеканаль-
го метода доступа к сети и с любого тов, управления вызовами и обслу- ной сигнализации №7 (ОКС7 или SS7)
оконечного устройства пользователь живания клиентских устройств – и всё в обычной телефонии, а протоколы
может обращаться к одним и тем же это, как правило, с меньшими затрата- H.323 и MGCP (Media Gateway Control
услугам. В опорных сетях уже сейчас ми в сравнении с сетями TDM. Protocol) – в IP‑телефонии. Основны-
происходит переход от сетей с комму- Происходящие в последние годы ми функциями SIP являются:
тацией каналов и мультиплексирова- изменения на мировом рынке услуг n Определение местонахождения
нием с разделением по времени (Time- телефонной связи сравнимы по сво- адресата.
division Multiplexing, TDM), на которых ей значимости с переходом телефо- n Определение готовности адреса-
реализована вся традиционная теле- нии на автоматическую коммутацию. та установить контакт.
фония, к пакетным сетям. Дополня- Эти изменения не в последнюю оче- n Обмен данными о функциональ-
ет картину Fixed Mobile Convergence – редь связаны с появлением так назы- ных возможностях участников се-
идея интеграции функционала мо- ваемых услуг SIP-телефонии, активно анса.
бильных и фиксированных сетей. обсуждаемых в телекоммуникацион- n Изменение параметров медиапо-
Операторы готовят инфраструк- ном сообществе. Протокол SIP был тока уже установленного сеанса.
туру к предоставлению услуг следу- стандартизирован в апреле 1999 го- n Управление сеансом связи.
ющего поколения путем применения да, а актуальная спецификация (вер-
программных коммутаторов, отлича- сия 2.0 протокола SIP) датирована Непосредственным носителем
ющихся большой гибкостью. Програм- 2002 годом. голосовых или видеоданных являет-
мные коммутаторы реализуют функ- ся протокол RTP (Real-time Transport
ции сопряжения с телефонной сетью Назначение SIP Protocol), SIP-сообщение же выпол-
общего пользования (ТфОП), обеспе- Session Initiation Protocol (SIP) – это няет роль контейнера для сообще-
чивают централизованный биллинг, клиент-серверный протокол приклад- ний протокола описания сеансов свя-
управление и интеллектуальную ди- ного уровня, предназначенный для ус- зи SDP (Session Description Protocol).
намическую маршрутизацию звон- тановления, изменения и окончания Сообщение SDP описывает медиа-
ков. Их применение означает для опе- сеансов связи с одним или несколь- данные в рамках сессии: тип меди-
раторов фиксированной и мобильной кими участниками для обмена интер- аданных, транспортный протокол,
связи возможность предоставления активным трафиком: голосом, видео, формат данных и пр. RTP и SDP бу-
услуг транзита голосового трафика мгновенными сообщениями. SIP отно- дут рассмотрены в следующей ста-
через опорную сеть IP/MPLS (Internet сится к классу протоколов сигнализа- тье цикла, сейчас же сделаем акцент

№5, май 2007 79


IP-телефония
Таблица 1. Компоненты и сервисы протоколов сигнализации чем, эти границы постепенно размываются: в своём сегод-
Протокол H.323 SIP MGCP няшнем виде SIP так же сложен, как и H.323.
Прокси‑сервер, сервер Так или иначе, кажется, что отрасль уже сделала свой
Управляющие
компоненты сети
Привратник перенаправления, сервер Call Agent выбор в пользу SIP (хотя позиции H.323 в операторс-
регистрации
кой среде по-прежнему прочны). Выбор SIP консорциу-
Шлюз, Шлюз или мом 3GPP (3G Partnership Project) в качестве фундамен-
Конечные точки Пользовательский агент
терминал медиашлюз
та для строительства сетей мобильной связи следующе-
Управление звонками Шлюз,
и функции учёта привратник
Шлюз Call Agent го поколения в ноябре 2000 года способствовал появле-
Шлюз, нию сервисной архитектуры подсистемы IP-мультиме-
Статус звонка Шлюз Call Agent
привратник диа (IP Multimedia Subsystem, IMS). Протоколу SIP, кото-
Обработка адресной рый уже сегодня получил распространение в корпоратив-
Привратник Сервер регистрации Call Agent
информации ных и операторских сетях, уготовано центральное место
Контроль доступа
Привратник Не поддерживается Call Agent в унифицированной модульной архитектуре сетей нового
(admission control)
поколения (Next Generation Networks, NGN) – фактически
Таблица 2. Сравнительные характеристики протоколов то место, которое cистема сигнализации SS7 сегодня за-
сигнализации нимает в сетях TDM.
Протокол H.323 SIP MGCP SIP предполагает простую (и, следовательно, хорошо
Для IP-
Для управления масштабируемую) сеть с интеллектом, встроенным в ко-
Назначение Для IP-телефонии транспортными
коммуникаций
шлюзами
нечные элементы (пользовательские агенты). Другими
словами, функции SIP реализованы в конечных устройс-
Комитет
ITU-T IETF IETF твах, в отличие от традиционных возможностей SS7, кото-
стандартов
MGCP 1.0 рые поддерживаются самой сетью. Протокол SIP по струк-
Текущая версия H.323v4 SIP 2.0 (RFC 3261)
(RCF 3435) туре напоминает протоколы HTTP и SMTP. Из HTTP он
Тип архитектуры Распределённая Распределённая Централизованная взял клиент-серверную архитектуру и использование URL
Интеллект
Рассредоточен
В ядре сети В ядре сети
и URI, а из SMTP – способ кодировки текста и стиль за-
по элементам сети
головков.
Используемый TCP (H.225, H.245) UDP, TCP, TLS SIP ориентирован в первую очередь на взаимосвязи
UDP
транспорт и UDP (RAS) или SCTP
точка-точка, но поддерживает и режим многоадресной рас-
Поддержка
мультимедиа
Да Да Да сылки (multicast). Последний может использоваться для
Тип кодирования организации конференций, когда информация передает-
ASN.1 BER Текстовый Текстовый
сообщений ся на один multicast-адрес, а затем доставляется сетью ко-
Описание сеанса Протокол SDP Протокол H.245 Протокол SDP нечным адресатам. Другие два варианта организации кон-
Предоставляются Предоставляются
Предоставляются
ференций – соединение каждого пользователя с каждым
Дополнительные конечными или конечными или
услуги управляющими управляющими
конечными в режиме точка-точка и соединение каждого пользовате-
устройствами
устройствами устройствами ля с устройством управления конференцией.
Впрочем, «точка-точка» – это слегка идеализирован-
на том, что SIP был расширен для поддержки функций об- ный сценарий, возможный лишь в рамках одного домена.
мена мгновенными сообщениями и информацией о при- Типичная сеть SIP содержит и другие элементы: сервер ре-
сутствии и статусе абонента. Последнее позволяет вы- гистрации, прокси-серверы, а иногда и сервер переадре-
полнять более совершенное управление голосовыми вы- сации. SIP работает в среде IPv4 и IPv6 с использовани-
возами с переадресациями и продвинутой маршрутиза- ем транспорта протоколов UDP, TCP, TLS или SCTP. Таб-
цией. SIP поддерживает также приглашение участников лицы 1, 2 помогут читателю оценить различия архитек-
к текущим сеансам наподобие многоточечных конферен- тур SIP, H.323 и MGCP.
ций, добавление к текущему сеансу или удаление из него
мультимедийных данных, прозрачное распределение имён Структура сообщений
и перенаправление услуг, включая персональную мобиль- Теперь пора перейти к рассмотрению «строительных бло-
ность пользователя. ков» протокола SIP: методов, запросов и ответов, заго-
Так что, хотя о протоколе SIP чаще всего говорят в кон- ловков и т. д.
тексте IP-телефонии, на самом деле он может применять- SIP использует набор символов ISO 10646 в кодиров-
ся для установки поверх IP самых разнообразных сеан- ке UTF-8. Запросы и ответы SIP имеют одинаковый базо-
сов связи, порой не имеющих ничего общего с телефон- вый формат сообщения и различаются наборами симво-
ным звонком (что неудивительно для протокола, разра- лов и синтаксисом. Сообщение состоит из:
ботанного IETF, а не телекоммуникационной индустри- n стартовой строки;
ей, как H.323). Впрочем, H.323 сегодня также не ограни- n одного или нескольких полей заголовков;
чен голосовой связью и может обслуживать любой се- n пустой строки, обозначающей конец полей заголов-
анс связи. ков;
Традиционно H.323 называли более зрелым протоко- n тела сообщения (необязательно).
лом, а SIP – более динамичным, расширяемым, масшта-
бируемым и, главное, простым в сравнении с H.323. Впро- Возьмём небольшой пример в виде запроса INVITE:

80
IP-телефония
INVITE sip:bob@bigisp.com SIP/2.0 Таблица 3. Методы SIP
Via: SIP/2.0/UDP pc33.example.com;branch=z9hG4bK776asdhds Метод Описание Спецификация
Max-Forwards: 70
To: Bob <sip:bob@bigisp.com> INVITE
Абонент или услуга приглашаются для
RFC 3261
From: Alice <sip:alice@example.com>;tag=1928301774 установления связи
Call-ID: a84b4c76e66710@pc33.example.com Подтверждение получения финального ответа
CSeq: 101 INVITE ACK
на INVITE
RFC 3261
Contact: sip:alice@pc33.example.com
Content-Type: application/sdp OPTIONS
Запрос информации о функциональных
RFC 3261
Content-Length: 142 возможностях терминала адресата
BYE Запрос завершения сеанса RFC 3261
v=0
o=alice 2890844526 2890844526 IN IP4 example.com CANCEL Отмена вызова в стадии установления RFC 3261
c=IN IP4 10.1.3.33 Запрос регистрации пользовательского агента
t=0 0 REGISTER RFC 3261
на сервере регистрации
m=audio 49172 RTP/AVP 0
a=rtpmap:0 PCMU/8000 Запрос, предназначенный для обмена
INFO сигнальной информацией в процессе RFC 2976
установления и поддержания соединения
Теперь детально рассмотрим каждую строку запроса. Переносит мгновенное сообщение в теле
MESSAGE RFC 3428
Первая, или стартовая, строка запроса имеет следу- запроса

ющий формат: Передаёт информацию о изменении состоянии


NOTIFY ресурса, на уведомления о котором была RFC 3428
открыта подписка
<Имя метода> <Request-URI (адресат)> <Номер версии SIP>
Промежуточный ответ, сообщающий о статусе
PRACK RFC 3262
обработки запроса
Заметим, что имя метода указывает на назначение дан- Указывает на то, что получатель должен
ного сообщения. Под этим термином понимают как запро- отправить вызов третьей стороне, используя
REFER RFC 3515
контактную информацию, предоставленную
сы, так и ответы. Все последующие строки запроса несут в запросе
дополнительную информацию о сообщении. Запрашивает текущее состояние и информацию
SUBSCRIBE RFC 3265
Обязательный заголовок(ки) Via содержит список всех об обновлениях состояния удалённого ресурса
SIP-устройств на пути сообщения. Часть заголовка, сле- UPDATE Запрос изменения параметров сеанса RFC 3311
дующая после точки с запятой, является параметром.
Параметр branch самого верхнего заголовка Via служит Таблица 4. Заголовки SIP
для идентификации транзакции. Тип заголовка SIP Примеры
Заголовок Max-Forwards указывает максимальное ко- Accept Date
Accept-Encoding Expires
личество серверов SIP, разрешённое на сигнальном пути. Accept-Language From
Он обязателен во всех запросах SIP, кроме INFO. Общие заголовки
Alert-Info To
Call-ID Record-Route
Поля заголовков From и To идентифицируют отправи- Call-Info Route
теля и получателя сообщения; они обязательны во всех CSeq Timestamp
Contact Via
без исключения запросах. Параметр tag заголовков From
и To содержит псевдослучайное значение, применяемое Заголовки с информацией
Content-Disposition Content-Length
Content-Encoding Content-Type
(наряду с заголовком Call-ID) для идентификации диало- о теле сообщения
Content-Language
га на уровне сгенерировавшего сообщение пользователь- Authorization Proxy-Require
ского агента. Заголовки запросов
Max-Forwards Route Require
Organization Priority Subject
Call-ID – это идентификатор вызова, глобально уни- Proxy-Authorization User-Agent
кальный в рамках домена. Allow Unsupported
CSeq – это заголовок, помогающий идентифицировать Заголовки ответов
Error-Info Server
транзакцию в рамках диалога; содержит последователь- Proxy-Authenticate Warning
Retry-After WWW-Authenticate
но увеличивающийся порядковый номер сообщения и на-
звание метода, породившего транзакцию. В таблице 3 сведены основные методы SIP вместе
Contact содержит прямой путь к отправителю сообще- с их описаниями. По своему типу заголовки SIP можно раз-
ния – FQDN или IP-адрес. Заголовков Contact может быть делить на несколько категорий, см. таблицу 4.
несколько. На каждый запрос отправителю направляется ответ,
Наконец, поле заголовка Content-Type содержит опи- содержащий код результата выполнения запроса. Напри-
сание тела сообщения, а Content-Length – длину содержи- мер, положительный ответ на приведённый выше INVITE
мого тела сообщения в октетах. может быть таким:
После пробела следует тело сообщения. Тело сообще-
SIP/2.0 200 OK
ния несёт описание сеанса либо текстовые или двоичные Via: SIP/2.0/TCP pc33.example.com;branch=z9hG4bKnashds8;
данные, относящиеся определённым образом к нему. Те- received=10.1.3.33
To: Bob <sip:bob@bigisp.com>;tag=a6c85cf
ло сообщения может присутствовать как в запросе, так и From: Alice <sip:alice@example.com>;tag=1928301774
в отклике. Обычно телом сообщения выступает SDP- или Call-ID: a84b4c76e66710@pc33.example.com
CSeq: 102 INVITE
MIME-часть. Выше показано тело сообщения SDP. Пока Contact: <sip:bob@192.168.10.20>
мы пропустим его разбор; SDP будет рассмотрен в сле- Content-Length: 255
дующей части статьи. Content-Type: application/sdp

№5, май 2007 81


IP-телефония
Таблица 5. Ответы SIP это имя пользователя, зарегистрировавшегося в домене
Описание Примеры или на рабочей станции. Во второй части указывается имя
100 Trying домена, рабочей станции или шлюза. Если вторая часть
Информационные – запрос получен,
1xx
продолжаю его обрабатывать
180 Ringing адреса идентифицирует какой-либо шлюз, то в первой
183 Session Progressing
указывается телефонный номер абонента. В начале ад-
Успех – действие было успешно 200 OK реса ставится слово «sip:», указывающее, что это именно
2xx
получено, понято и выполнено 202 Accepted
SIP URI (бывают и другие, например «sips:» для SIPS URI
Перевод вызова – для завершения 300 Multiple Choices
3xx выполнения запроса необходимо 301 Moved Permanently или «tel:» для номеров в формате E.164).
обратиться к другому элементу SIP 302 Moved Temporarily Таким образом, возможны SIP URI следующего вида:
400 Bad Request n имя@домен (где домен – полностью квалифицирован-
401 Unauthorized
403 Forbidden ное доменное имя, FQDN) – bob@example.com;
Ошибка клиента – запрос содержит
404 Not Found n имя@хост – bob@proxy10.bigisp.com;
407 Proxy Authentication Required
4xx ошибки или не может быть обслужен
408 Request Timeout n имя@IP_адрес – bob@10.1.1.1;
на этом сервере
480 Temporary Unavailable n №_телефона@шлюз – sip:18665551234@gateway.com;
481 Call or Transaction Does Not Exist
486 Busy Here user=phone (user=phone означает, что это шлюз;
487 Request Terminated gateway.com – FQDN терминирующего шлюза).
Ошибка сервера – сервер не смог
502 Bad Gateway
5xx обслужить правильно построенный Если во второй части указывается доменное имя,
503 Service Unavailable
запрос
для определения IP-адреса устройства необходимо обра-
Глобальная ошибка – запрос не может 600 Busy Everywhere
6xx
быть обслужен ни на одном сервере 603 Decline титься к службе DNS. RFC 3263 описывает процедуры DNS,
с помощью которых можно транслировать SIP URI в IP-ад-
SDP-часть не показана для экономии пространства. рес, порт и транспортный протокол, необходимые для свя-
Все заголовки кроме стартовой строки вам уже знакомы, зи с абонентом. RFC также специфицирует использование
а стартовая строка ответа имеет следующий формат: для этой цели ресурсных записей DNS SRV и NAPTR.

<Номер версии SIP> <Код статуса> <Текст причины> Уровни протокола SIP.
Понятия транзакции и диалога
Код статуса – это 3-значное число, первая цифра кото- SIP представляет собой многоуровневый протокол, но не
рого указывает на класс ответа, а остальные две – иденти- каждый элемент, работающий по протоколу SIP, содер-
фицируют конкретный ответ в каждом классе. Устройство жит все уровни, а сами элементы, работающие в сети
может не знать, что означает код ответа, но должно обя- SIP, являются скорее логическими, нежели физическими.
зательно знать класс ответа. Всего существует 6 классов На рис. 1 показаны уровни протокола SIP; он также пос-
ответов (таблица 5). Информационные ответы сообщают лужит нам иллюстрацией того, из каких логических ком-
о стадии выполнения запроса, они не являются заверше- понентов состоит каждый элемент сети SIP. Самый ниж-
нием транзакции. Остальные же классы ответов завер- ний уровень отвечает за синтаксис и кодирование сооб-
шают транзакцию. щений. Вторым уровнем протокола является транспорт-
ный уровень – он определяет, как клиент передаёт запро-
Адресация в SIP сы и получает ответы от сервера и как сервер получает
Для идентификации абонентов и ресурсов в протоколе запросы и передаёт ответы клиенту; эти функции свойс-
SIP используются SIP URI-идентификаторы, описанные твенны всем элементам сети, следовательно, все они со-
в RCF 2396. SIP URI состоит из двух частей: первая часть – держат транспортный уровень.

Рисунок 1. Многоуровневая структура


протокола SIP Рисунок 2. Понятия транзакции и диалога

82
IP-телефония
Следующий уровень – это уровень Via совпадают с соответствующими
транзакций. О SIP говорят как о тран-полями запроса, образовавшего тран-
закционном протоколе. Транзакцией закцию. В случае проверки соответс-
называют совокупность соообщений, твия запроса ACK серверной тран-
состоящую из запроса, отправленно- закции, Request-URI, теги заголовков
го клиентом серверу, и всех ответов From и To, заголовки Call-ID, Cseq и Via
сервера на этот запрос (см. рис. 2). запроса ACK сравниваются с таковы-
Уровень транзакций содержит кли- ми в изначальном INVITE, а To-тег – с
ентскую часть, называемую клиент- тегом первого ответа серверной тран-
ской транзакцией, и серверную часть, закции на INVITE. Аналогично выпол-
называемую серверной транзакцией. няется проверка соответствия ответа Рисунок 3. Работа сервера регистрации
Уровень транзакций предпринимает клиентской транзакции.
повторную передачу сообщений, оп- Наконец, диалог – это равноправ- вающего абонента и недвусмыс-
ределяет соответствие ответов за- ное взаимодействие двух элементов ленно идентифицирует диалог
просу и уведомляет верхний уровень сети SIP в виде последовательности на уровне данного пользователь-
протокола о срабатывании таймеров. SIP-сообщений между ними. Диалог ского агента.
И на самом верху находится уровень всегда инициируется пользователь- n Тег заголовка From генерируется
пользователя транзакций (Transaction ским агентом, но другие элементы се- пользовательским агентом вызы-
User, TU), который управляет созда- ти также в нём участвуют. Сообщения ваемого абонента и также иденти-
нием транзакций. Все элементы сети в рамках одного диалога отличают- фицирует диалог на уровне данно-
SIP, за исключением прокси-сервера ся одинаковыми Call-ID и тегами за- го пользовательского агента.
без хранения состояния, обязательно головков From и To, а порядковый но-
содержат уровни транзакций и поль- мер в поле CSeq монотонно возраста- Компоненты SIP.
зователя транзакций. ет. Фактически CSeq идентифицирует Пользовательские
Правила проверки соответствия транзакцию в рамках диалога, а диа- агенты (User Agent – UA)
запроса серверной транзакции тако- лог является последовательностью Этим термином называют конечное
вы: сервер анализирует верхний за- транзакций, из которых только одна устройство сети SIP или приложение,
головок Via на предмет наличия па- может быть активна в каждый момент способное установить сеанс, управ-
раметра branch. Если он присутству- времени. Однако, кроме диалогообра- лять им и разорвать его, а также про-
ет и в начале его значения стоит на- зующих запросов, существуют и за- изводить обмен медиаданными с дру-
бор символов «z9hG4bK», как в рас- просы, не образующие диалогов. гими пользовательскими агентами.
смотренном выше примере: Здесь также уместно разъяснить Поскольку SIP – это одновременно
значение заголовка Call-ID и From- и и протокол типа «точка-точка», и кли-
Via: SIP/2.0/UDP pc33.example.com;
To-тегов: ент-серверный протокол, конечная
branch=z9hG4bK776asdhds,
n Call-ID – это некая уникальная точка SIP должна быть способна от-
следовательно запрос был сгенери- строка, идентифицирующая вы- вечать на запросы сессии SIP и ини-
рован клиентом, поддерживающим зов. Call-ID, как правило, не меня- циировать их. Следовательно, конеч-
RFC 3261 в полной мере, и параметр ется на протяжении всех диалогов, ная точка должна содержать два SIP-
branch уникален в каждой транзак- составляющих один вызов. стека одновременно:
ции данного клиента. Запрос прина- n Тег заголовка From генерируется n User Agent Client (UAC) – инициа-
длежит транзакции в том случае, если пользовательским агентом вызы- тор запросов.
значение параметра branch запроса
совпадает с таковым из запроса, об-
разовавшего транзакцию, а имя мето-
да из поля заголовка CSeq совпадает
с таковым из запроса, образовавше-
го транзакцию.
Если же параметр branch отсутс-
твует, как показано ниже:
Via: SIP/2.0/UDP pc33.example.com,

сервер руководствуется следующи-


ми правилами. Запрос принадле-
жит транзакции в том случае, если
Request-URI (часть стартовой строки,
указывающая на адресата данного за-
проса), теги заголовков From и To, за-
головки Call-ID и Cseq (включая на-
звание метода) и верхний заголовок Рисунок 4. Переадресация вызова

№5, май 2007 83


IP-телефония

ENUM с порядковым номером 100 нет. Если бы записей с порядковым


Как быть, когда при развёртывании SIP-сети необходимо предус- номером 100 было несколько, более приоритетной стала бы за-
мотреть возможность приёма входящих вызовов от абонентов пись с меньшим значением Preference. Затем «u» – это флаг, кото-
ТфОП, но использование DID-номеров (Direct Inward Dial) по тем рый контролирует интерпретацию последующих полей; «u» пред-
или иным причинам невозможно? Адреса E.164 могут хранить- писывает выполнить преобразование и не анализировать после-
ся в особой зоне, e164.arpa, службы DNS с помощью протокола дующие правила записи. Соответственно, если мы поддержива-
ENUM (TElephone NUmber Mapping). Любой телефонный номер, ем сервис, на который указывает поле «E2U+sip», правила с бо-
например +878102233350332, может быть преобразован в домен- лее высокими порядковыми номерами анализироваться не бу-
ное имя записью цифр в обратном порядке, разделением их точ- дут. Если приложение не поддерживает SIP, протокол mailto: под-
ками и добавлением суффикса e164.arpa, для нашего примера: держивается наверняка (как видите, ENUM не является протоко-
+878102233350332 -> 2.3.3.0.5.3.3.3.2.2.0.1.8.7.8.e164.arpa. лом, специфичным исключительно для VoIP). Заметим, что набор
Это преобразование выполняется на так называемом ENUM- сервисов не ограничен только этими тремя. Наконец, последнее
шлюзе (физически им может являться шлюз, UA или даже веб- поле задаёт регулярное выражение (синтаксиса регулярных вы-
браузер). Полученное доменное имя можно использовать в запро- ражений Perl, только вместо прямого слэша используется знак
се к DNS-серверу для получения ресурсной записи типа NAPTR восклицания), которое нужно применить к указанному в запросе
(Naming Authority Pointer DNS Resource Records, RFC 3403), кото- доменному имени, чтобы получить результат запроса. Как толь-
рая содержит предпочтения пользователя касательно того, как ко результат получен, дальнейшая маршрутизация выполняется
и куда следует терминировать вызов. Сама запись типа NAPTR обычными для данного протокола методами, а всё, о чём мы го-
поддерживает регулярные выражения, а алгоритм DDDS (Dynamic ворили до сих пор, абсолютно прозрачно для конечного пользова-
Delegation Discovery System, RFC 3401 – RFC 3405) используется теля. К тому же подписчик ENUM имеет возможность задать под
для преобразования доменного имени в адрес того или иного сер- одним E.164-номером множество протоколов и адресов, запрог-
виса с использованием данных регулярных выражений. раммировать перенаправление вызовов и т. д.
Например, возьмём NAPTR-запись такого вида: За работу зоны e164.arpa отвечает RIPE NCC: http://www.ripe.net/
$ORIGIN 2.3.3.0.5.3.3.3.2.2.0.1.8.7.8.e164.arpa. enum/, но ответственность за отдельные страны поручена локаль-
IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:andrew.pogrebennyk@sip2sip.info!i" .
IN NAPTR 101 10 "u" "E2U+h323" "!^.*$!h323:andrew.pogrebennyk@sip2sip.info!i" .
ным NIC (nic.at, nic.cz, …) или компаниям, работающим с ENUM
IN NAPTR 102 10 "u" "E2U+msg" "!^.*$!mailto:andrew.pogrebennyk@sip2sip.info!i" . (Neustar, Verisign). Владелец ENUM-номера обычно имеет воз-
Числа 100, 101, 102 указывают порядок, в котором записи долж- можность изменять связанный с номером SIP URI через веб-ин-
ны быть обработаны для образования упорядоченного списка терфейс.
правил, поэтому мы сначала выбираем первую запись. Число 10 Кроме уже упомянутых RFC, данной теме посвящён RFC
(Preference) для нас не имеет значения, поскольку других записей 3761.

n User Agent Server (UAS) – иници- та SIP-запроса. Данный URI запроса ный номера CSeq, Call-ID, маршрут-
атор ответов на запросы. UAS мо- всегда определяет хост, но не всегда – ные заголовки и характеристики ме-
жет взаимодействовать с пользо- порт и протокол. Если хост через ад- диапотоков.
вателем, поэтому вместе с запро- рес IP указан явным образом, UAC пы- Шлюзы, выполняющие преобразо-
сом SIP пользователь иногда в той тается связаться с UAS по этому ад- вание H.323 в SIP, ISDN в SIP или SS7
или иной форме получает уведом- ресу. Если URI запроса специфици- в SIP, с точки зрения SIP функциональ-
ление от UAS. рует полностью определенное домен- но ничем не отличаются от пользова-
ное имя Fully Qualified Domain Name тельских агентов (ведь другие элемен-
Для UA существует также другое (FQDN), UAC опрашивает службы ты сети SIP не «знают», действует ли
название – SIP-клиент. DNS для разрешения имен, используя UA, руководствуясь командами поль-
Сообщение SIP – это или запрос для этого ADDRESS, CNAME или дру- зователя или сообщениями/события-
от UAC к UAS, или ответ UAS компо- гие данные в ресурсной записи. Если ми других протоколов).
ненту UAC. В оригинальной специфи- URI запроса содержит номер порта,
кации SIP описано шесть возможных UAC пытается установить соединение Серверы регистрации
типов запросов (или методов), кото- с UAS, используя данный номер; если Архитектура SIP поддерживает пер-
рые может выдать UAC: INVITE, ACK, же URI запроса не указывает номер сональную мобильность пользовате-
OPTIONS, BYE, CANCEL и REGISTER. порта, UAC по умолчанию использует лей. Пользователи могут перемещать-
Расширения SIP, описанные в RFC, оп- в качестве порта назначения 5060. Ес- ся без ограничений в пределах сети,
ределяют дополнительные методы – ли URI запроса указывает транспорт- поэтому услуги связи должны предо-
такие, как MESSAGE, INFO и NOTIFY. ный протокол (TCP или UDP), UAC ис- ставляться им в любом месте этой се-
Когда UAC инициирует SIP-сессию, пользует его. В противном случае UAC ти. Пользователю присваивается уни-
он определяет протокол, порт и IP-ад- предпринимает попытку связи по UDP, кальный идентификатор, а сеть предо-
рес UAS, которому посылается запрос. а в случае ошибки UAC пытается за- ставляет ему услуги связи вне зависи-
При отсутствии любой информации действовать TCP. мости от того, где он находится. Поль-
о локально настроенном прокси-сер- Каждый UA должен хранить со- зователь косвенно информирует прок-
вере, UAC использует данные в URI стояние диалога, а именно: помнить си-сервер или сервер переадресации,
запроса для определения маршру- теги From и To, локальный и удалён- по какому адресу следует обращаться

84
IP-телефония
для установления сеанса связи. Обработкой этой инфор- конкретной сети, но мы рассмотрим некий усреднённый
мации и занимается сервер регистрации: получая от поль- пример. Итак,
зовательского агента запрос REGISTER, он создаёт вре- n Запросы к абонентам, принадлежащим к тому же ад-
менную связку из присвоенного пользователю SIP URI (на- министративному домену, что и прокси-сервер, марш-
зываемого также Address of Record – AOR) и URI заголов- рутизируются на основе:
ка Contact, который указывает на адрес, куда следует на-  базы данных сервера регистрации;
правлять запросы (см. рис. 3). База данных с информацией  статистически заданных маршрутов (например, для
о местоположении пользователей доступна для всех сер- вызовов по номеру 911).
веров в рамках данного административного домена (для n Запросы к абонентам, принадлежащим к другому доме-
прокси-серверов и серверов перенаправления), что делает ну, маршрутизируются исходя из результатов DNS-за-
возможной маршрутизацию входящих вызовов. Сам запрос проса ресурсной записи SRV (указывающей на распо-
REGISTER может использоваться для получения списка те- ложение службы).
кущих привязок, удаления всех привязок или добавления n Запросы, адресованные по некоторым предопределён-
новой. Отклик 200 OK на запрос REGISTER содержит заго- ным номерам, маршрутизируются к специализирован-
ловок Expires, указывающий, через сколько секунд нужно ным серверам приложений (например, *98 для доступа
обновлять регистрацию, а также один или несколько заго- к серверу голосовой почты).
ловков Contact со всеми текущими привязками. n Запросы, адресованные на номер в формате E.164, мар-
шрутизируются, основываясь на:
Сервер переадресации  Заранее заданных таблицах маршрутизации;
Сервер переадресации возвращает пользовательскому  Динамически получаемых (например, от биллинго-
агенту новый адрес для прямой маршрутизации вызова вой системы) маршрутов;
по этому адресу, иными словами – производит перенаправ-  ENUM (см. врезку «ENUM» на стр. 84).
ление вызывающей стороны к другому серверу (см. рис. 4).
Сервер переадресации отвечает на запрос, но никогда не Запись типа SRV предоставляет механизм для полу-
пересылает запрос дальше и не хранит состояние. Впрочем, чения списка хостов, предоставляющих некоторую служ-
нельзя сказать, что он применяется часто: каждый оператор бу посредством разных транспортных протоколов, с упо-
предпочитает полностью контролировать сеанс связи. рядочиванием по предпочтению. Для примера, пусть кли-
ент пытается разрешить URI sip:user@example.com. Клиент
Прокси-серверы производит DNS-запрос и выбирает ресурсные записи ти-
Наличие прокси-сервера является обязательным атрибу- па NAPTR для данного домена:
том каждой корпоративной или операторской сети. Прок-
;;;; Записи NAPTR для различных услуг SIP сети
си-сервер действует как посредник, который обслуживает ; order pref flags service regexp replacement
запросы пользовательских агентов и пересылает их даль- IN NAPTR 50 50 "s" "SIPS+D2T" "" _sips._tcp.example.com.
IN NAPTR 90 50 "s" "SIP+D2T" "" _sip._tcp.example.com.
ше, выполняя маршрутизацию сообщений. Прокси-серве- IN NAPTR 100 50 "s" "SIP+D2U" "" _sip._udp.example.com.
ры играют ключевую роль в сетях SIP, поскольку связыва-
ют вместе пользовательские агенты и другие элементы SIP- В примере видно, что сервер поддерживает TCP, UDP
сети в одном или множественных доменах, реализуя логи- и TCP через ТLS. Затем, обрабатывая записи SRV, кли-
ку маршрутизации. Прокси-сервер не генерирует запросы ент определяет сервер назначения (или список серверов)
самостоятельно (за исключением CANCEL), а лишь отве- для предпочитаемого им типа транспортного протокола:
чает или пересылает запросы, полученные от UAC. Также
;;;; Записи SRV для каждой SIP услуги
он выполняет интерпретацию, удаление, добавление или ;; Служба.протокол.имя Приоритет Вес Порт Цель
модификацию заголовков, касающихся прямых функций _sips._tcp.example.com SRV 10 1 5061 proxy1.example.com.
SRV 20 1 5061 proxy2.example.com.
прокси-сервера (таких, как Record-Route или Via), но ни- _sip._tcp. example.com SRV 10 1 5060 proxy1.example.com.
чего не «знает» о SDP-части. А основные функции прокси- SRV 20 1 5060 proxy2.example.com.
_sip._udp.example.com SRV 10 1 5060 proxy1.example.com.
сервера следующие: SRV 20 1 5060 proxy2.example.com.
n Маршрутизация – определение получателя вызова, по-
иск маршрута для отправки сообщения и собственно от- Дальнейшее разрешение имён производится с помощью
правка. привычных ресурсных записей адреса узла (A).
n Безопасность – с помощью функций контроля доступа Когда proxy-сервер пересылает SIP-запрос, он до-
прокси-сервер авторизирует доступ к той или иной ус- бавляет своё имя (имя сервера) в начало списка в поле
луге или ресурсу со стороны конечных абонентов или Via в заголовке SIP-сообщения. Это поле позволяет воз-
других прокси-серверов. вращать ответы по тому же маршруту, по которому про-
n Дополнительные услуги – прокси-серверы могут пре- ходил запрос. На «обратном» пути каждый proxy-сервер
доставлять набор дополнительных услуг, такик как: пе- удаляет своё имя из поля Via после обработки SIP-отве-
ренаправление вызова, уведомление о пропущенных та (см. рис. 5).
вызовах, обеспечение приватности и т. д. Обобщённый же алгоритм работы прокси-сервера мож-
но представить следующим образом:
Алгоритм маршрутизации не поддаётся формализа- 1) Проверка корректности составления входящего запро-
ции, поскольку определяется архитектурой и политикой са.

№5, май 2007 85


IP-телефония
турно представляет собой не что иное,
как B2BUA). Также B2BUA делает воз-
можным реализацию перекодирования
медиапотока, его перехвата и т. д.
Пользуясь лишь критерием хра-
нения состояния, B2BUA можно было
бы отнести к классу прокси-серверов
с хранением состояния диалога. На са-
мом деле это не прокси-сервер в при-
вычном смысле этого слова: он выпол-
няет несвойственные для прокси-сер-
вера операции по удалению и модифи-
кации заголовков (а иногда и модифи-
кацию SDP-части). Есть и другая харак-
терная черта: B2BUA фактически ни-
Рисунок 5. Маршрутизация вызова между доменами при посредничестве прокси-серверов когда не бывает реальным адресатом
запроса, а лишь пересылает его дру-
2) Приведение номера вызываемой вета. Прокси-сервер с хранением со- гой стороне. Такая функциональность
стороны к формату E.164. стояния транзакции ничего не «зна- выходит за рамки RFC 3261: RFC спе-
3) Аутентификация отправителя за- ет» о запросах UPDATE, REFER и BYE, цифицирует лишь то, что SIP-прокси
проса. но уже способен эффективно выпол- маршрутизирует один диалог, т.е. сооб-
4) Выполнение запрошенных вызы- нять отправку учётной информации, щения с одинаковыми Call-ID и тегами
вающей стороной процедур, таких разветвление, перенаправление вы- заголовков From и To, между конечны-
как удаление из запроса или изме- зова и некоторые другие расширен- ми устройствами, не изменяя их (кро-
нение идентифицирующих вызыва- ные функции. ме заголовков, используемых для мар-
ющую сторону заголовков. Прокси-сервер с хранением состо- шрутизации, включая неизвестные за-
5) Авторизация вызова. яния диалога (Dialog Stateful) – прок- головки), а B2BUA же создаёт новый
6) Обращение к серверу регистрации си-сервер, который вставляет заголо- диалог и может модифицировать лю-
для поиска подходящего получате- вок Record-Route в самый первый за- бую содержающуюся в запросе ин-
ля запроса. прос SIP для того, чтобы все последу- формацию перед отправкой сообще-
7) Если получатель найден – напра- ющие сообщения в рамках данного ния адресату. Разработчики могли бы
вить запрос ему (и при необходи- диалога проходили через этот же сер- для реализации каждого подмножес-
мости – выполнить такие действия, вер; это относится к каждому прокси- тва набора расширенных услуг пред-
как перенаправление вызова). серверу на пути между пользователь- лагать некий «расширенный» прокси-
8) Если получатель не найден – отпра- скими агентами. Такой прокси-сервер сервер, нарушающий отдельные ас-
вить звонок в ТфОП. способен предоставить полный набор пекты RFC 3261, но такой подход вряд
функций программного коммутатора ли можно счесть практичным и расши-
Различные типы классов 4 и 5. ряемым. Объединение же стеков UAC
прокси‑серверов и UAS в одном устройстве позволяет
Прокси-сервер без хранения состо- Back-to-Back UA (B2BUA) в точности придерживаться требова-
яния (Transaction Stateless) – прокси- «Back-to-back user agent» – это компо- ний спецификаций, а тщательный под-
сервер, который не хранит состояние нент, состоящий из двух SIP UA, ко- ход к реализации самих стеков – сде-
сеанса и руководствуется лишь внут- торые общаются между собой стро- лать B2BUA максимально прозрачным
ренней логикой маршрутизации сооб- го на прикладном уровне (с помощью для конечных абонентов.
щения, применяя её к каждому отде- SIP-сообщений). B2BUA образует свое- В следующий раз мы рассмотрим
льно взятому запросу. Такой прокси- го рода периметр безопасности между реальный пример вызовов в сети SIP,
сервер не выполняет повторную пере- SIP UA, находящимися по обе стороны поговорим о предоставлении спект-
дачу сообщений (а следовательно, не- от B2BUA: он скрывает детали реали- ра расширенных услуг на базе прото-
применим в рамках модели SIP/TCP). зации SIP на каждом из конечных уст- кола, протокол описания сеанса SDP
Целесообразным применение тако- ройств. В типичном случае B2BUA ис- и транспортный протокол реального
го прокси-сервера является при очень пользуется для форсирования обры- времени RTP.
высокой нагрузке или в балансиров- ва звонков в сетях операторов связи
щиках нагрузки прикладного уровня. по истечении предоплаченного объема 1. http://www.cs.columbia.edu/sip – сайт Хе-
Прокси-сервер с хранением состо- услуг и вообще какого-либа контро- нинга Шулзри, Колумбийский универ-
яния транзакции (Transaction Stateful) – ля диалога третьей стороной, а также ситет.
прокси-сервер, который запомина- скрытия топологии сети и обеспечения 2. http://www.sipcenter.org – SIP Center,
ет входящие и исходящие сообщения определённых функций безопасности портал на тему SIP.
в рамках данной транзакции до полу- (кстати говоря, шлюз уровня приложе- 3. http://www.tech-invite.com – Tech Invite –
чения (или отправки) финального от- ний, ALG, с поддержкой SIP, архитек- портал, посвящённый SIP и IMS.

86
ретроспектива

Патентные войны:
оберегай своё, не посягай на чужое

Дмитрий Мороз
Термин «патентный терроризм» был придуман в 2001 году ассистентом Intel Питером Диткином
неспроста. Ведь сегодня, в мире высоких технологий, отстаивание компаниями своей
интеллектуальной собственности является одной из наиболее насущных тем.

Ч
ем громче имя компании, тем боль- Однако чаще всего на месте истцов кую огласку, поскольку на кону сто-
ше конкурентов старается раз- оказываются обиженные конкуренты, ят не только очень большие суммы,
личными способами «насолить» или компании-аутсайдеры, вознаме- но и, что также немаловажно, репу-
её имиджу и репутации, попутно пожи- рившиеся напомнить миру о своём су- тация компаний.
вившись чужим технологическим «ба- ществовании. Сегодня рассказ пойдёт о наибо-
гажом». За примерами далеко ходить Если раньше каждый судебный иск лее громких и скандальных судебных
нет необходимости: гиганты инфор- был событием из ряда вон выходящим, процессах, в центре внимания которых
мационных технологий, такие как Intel, то сегодня практически ежедневно по- оказывались аппаратные разработки.
Microsoft и Apple, становятся жертвами являются новости об очередных «по- Первыми в списке идут производители
судебных разбирательств практичес- терпевших», требующих возмещения центральных процессоров, поскольку
ки ежемесячно. Иногда против обви- нанесённого им ущерба. именно на их долю выпало наибольшее
няемых компаний выступают изобре- Преднамеренно или нет, эти об- количество патентных «войн».
татели-одиночки, заявляющие о нару- винения становятся основой судеб-
шении их «нажитых непосильным тру- ных исков, призванных решить, кто Судебные тяжбы
дом» патентов. Обычно подобные ис- прав, а кто виновен. Часто судебные двух гигантов
ки предъявляются лишь с одной це- разбирательства в сфере информа- Intel против AMD. Ещё со времён их
лью – заполучить энную сумму денег. ционных технологий получают широ- основания (Intel – в 1968 году, AMD –

88
ретроспектива
в 1969 году) эти компании неустанно не имела права доступа к разработ- разъёмы которых были бы физичес-
враждовали между собой. кам Intel. В результате инженерам ком- ки совместимы с процессорами Intel
Начало многолетним распрям бы- пании пришлось путём обратной инже- следующей за Pentium архитектуры.
ло положено в феврале 1982 года, ког- нерии (reverse-engineering) разобрать В свою очередь, Intel также решила
да по требованию IBM между обеими процессор i386, дабы изучить его архи- «расстаться» с 18 миллионами, ушед-
компаниями был подписан договор тектуру, принципы работы и быть спо- шими на счёт AMD. С тех пор обе ком-
о кросс-лицензировании их разрабо- собным в дальнейшем производить пании идут каждая своим курсом.
ток, согласно которому Intel получала его клоны (если быть более точным,
доступ к разработкам AMD, а послед- обратная инженерия была использо- И снова в суде
няя – возможность производить клоны вана AMD ещё на этапе проектирова- Относительное перемирие между Intel
процессоров 8086 и 8088. ния клона сопроцессора 80287). и AMD длилось на протяжении поч-
В то время подобное соглашение Процесс закончился успешно, ти десяти лет. Исключение составил
было обыденным явлением, посколь- и в том же 1991 году на свет появил- лишь судебный иск 1997 года, выдви-
ку многим крупным корпорациям и пра- ся чип Am386. Несмотря на то что про- нутый Intel против AMD и Cyrix. В нём
вительственным организациям требо- цессор имел другую архитектуру, от- обе компании обвинялись в непра-
вались электронные компоненты, про- личную от 386, по части микрокода вильной трактовке аббревиатуры MMX
изводимые несколькими компаниями (т.н. код элементарных команд ЦПУ) (MultiMedia eXtension), которой Intel рек-
одновременно. Оно позволяло в слу- они полностью совпадали. К тому же ламировала набор расширенных инс-
чае возникновения проблем с постав- по частоте работы процессора Am386 трукций для работы с мультимедийны-
ками электронных устройств из одно- был опять вне конкуренции – 40 МГц ми данными, встроенный в её новые
го источника быстро перейти на про- против 33 МГц у i386. процессоры. Ответчики признали MMX
дукцию другого. Теперь уже настал черед Intel по- торговой маркой Intel и её собственнос-
Однако AMD не просто копирова- давать в суд на AMD, обвиняя её в на- тью, после чего иск был отклонён.
ла процессоры Intel, а выпускала чипы рушении своей патентной базы. Ком- Гром разразился 7 февраля 2005 го-
с большим быстродействием, к тому пания требовала прекращения выпус- да, когда AMD Japan подала иск про-
же продававшиеся по более низкой це- ка Am386, объёмы продаж которых за тив японского представительства Intel,
не. Например, максимальная частота, один только 1991 год достигли милли- обвиняя её в злоупотреблении своим
на которой работал чип 80286 произ- она единиц. AMD, в свою очередь, за- монопольным положением на рынке,
водства Intel, равнялась 12,5 МГц, тог- щищалась договором 1982 года, со- а также оказании давления на другие
да как у AMD она составляла 16 МГц. гласно которому Intel сама выдала ей компании: Fujitsu, Hitachi, NEC, Sony
Понятное дело, что в клиенты пред- лицензию на производство клона i386. и Toshiba. В документе указывалось,
почитали «платить меньше, получая Как и следовало ожидать, приговор что Intel посредством угроз, а также
больше». был вынесен в пользу ответчика. денежных выплат заставляла их от-
Intel с подобным положением дел Ну а пока Intel апеллировала реше- казываться от покупок процессоров
мириться не собиралась, и в 1986 го- ние суда, опять-таки благодаря искус- AMD либо же ограничить подобные
ду, когда AMD в соотвествии с согла- ству обратной инженерии AMD произ- закупки.
шением, потребовала выдать ей доку- вела на свет клон уже 486-го процес- Согласно решению Торговой ко-
ментацию по дизайну архитектуры но- сора. Последовавшая за этим череда миссии Японии (Japanese Fair Trade
вого процессора 80386 (i386), ответила взаимных судебных исков и апелляций Commission), вынесенному 26 июня
отказом, попутно расторгнув договор закончилась победой AMD. Однако бы- 2005 года, Intel отныне возбраняет-
четырёхлетней давности. Своё реше- ла ли она довольна этим? ся предоставлять японским компани-
ние Intel мотивировала тем, что при на- Затяжные судебные тяжбы меж- ям скидки на свои процессоры в об-
личии нескольких фабрик, располо- ду двумя гигантами процессоростро- мен на условие, что они не будут ис-
женных в различных регионах, необ- ения – причина нестабильности всего пользовать в своей продукции чипы
ходимость во втором подрядчике уже рынка, в которой не была заинтересо- конкурента.
не была существенной. К тому же она вана ни одна из компаний. Дабы ис- На следующий день, 27 июня, AMD
рекламировала себя в качестве разра- править ситуацию, 30 декабря 1994 го- подала подобный иск в окружной суд
ботчика передовых технологий, на ко- да между враждующими сторонами округа Дэлавер, США. Обвинения
торого равняются остальные. был подписан договор, согласно ко- против Intel выдвигаются те же, одна-
AMD ничего не оставалось, как об- торому AMD, выплатив 58 млн. долла- ко на этот раз в список было занесе-
ратиться в суд. Иск против Intel был ров за убытки, нанесённые Intel во вре- но 38 компаний, подвергшихся давле-
подан в верховный суд Калифорнии мя судебных разбирательств, получа- нию со стороны ответчика.
в 1987 году. Процесс длился вплоть ла доступ к архитектурам процессо- Если решение судьи будет в поль-
до 1991 года, когда Intel, признанная ров 386 и 486 и имела полное право зу AMD, перед ней откроются новые
виновной, была вынуждена выплатить выпускать их клоны. Также компания рынки сбыта собственной продукции.
истцу 10 млн. долларов. могла производить процессоры, сов- Например, компании Dell и Apple, под-
На первый взгляд, AMD осталась местимые с Pentium по части микро- писавшие эксклюзивные соглашения
в выигрыше. Однако получив мате- кода и системного разъёма. При этом с Intel, отныне не будут «связаны» рам-
риальную компенсацию, она отныне AMD возбранялось выпускать чипы, ками своих договоров и смогут исполь-

№5, май 2007 89


ретроспектива
зовать в своих компьютерах процессо- тяжении пяти лет. Наконец, 17 ап- ба, а также получение лицензионных
ры обоих производителей. реля 2002 года Intel решила уладить отчислений.
AMD была не единственной компа- спор мирным путём, выплатив истцу В результате всех судебных тяжб
нией, чьи представители встречались 300 млн. долларов. Взамен этого ком- Intergraph заполучила в общей слож-
с юристами Intel в суде. Среди всего пания выкупила у Intergraph ряд патен- ности около 900 млн. долларов. В даль-
списка «пострадавших» наиболее ярко тов, а также получала непереводимую нейшем, судя по всему, эта цифра бу-
заявила о себе компания Intergraph. лицензию на часть интеллектуальной дет только увеличиваться.
собственности, касающейся процес-
Intergraph собирает сора Clipper. Одна против всех
урожай 11 октября 2002 г. Intel также согла- В мире нередки случаи, когда несколь-
В будущем я обязательно познаком- силась выплатить Intergraph 150 млн. ко компаний, одна за другой, либо же
лю вас с историей Intergraph, ну а се- долларов, дабы уладить часть вопро- одновременно, становятся мишенями
годня затрону лишь судебные разби- сов по иску, касавшемуся чипа Itanium. для судебных разбирательств. За при-
рательства, которые были иницииро- 30 марта 2004 года, после дополни- мерами далеко ходить не надо.
ваны компанией. тельной выплаты 225 млн. долларов, Компания OPTi, ранее занимав-
На протяжении первых лет Intergraph, Intergraph успокоилась и приостано- шаяся разработкой и продажей полу-
основанная в 1969 году бывшими со- вила судебный процесс. проводниковых устройств для персо-
трудниками из IBM, занималась кон- Впрочем, юристы компании не си- нальных компьютеров, а ныне лицен-
сультированием правительственных дели, сложа руки. За это время они зирующая свои технологии, 20 октяб-
организаций относительно компьюте- успели побывать «в гостях» у Dell, ря 2004 года подала иск против про-
ризации их учреждений, а также раз- Gateway и Hewlett-Packard. Опять все- изводителя графических чипов Nvidia,
работкой и производством навигаци- му виной стал «несчастный» Clipper. обвинив её в нарушении пяти своих
онных систем для ракет. Спустя два Лицензия Intel на патенты, касавшие- патентов. Три из них касались тех-
десятка лет она приобрела компанию ся процессора, не распространялась нологии под названием «Предиктив-
Fairchild Semiconductor, в то время раз- на её клиентов, поэтому Intergraph мог- ная выборка адресов из кэш-памяти»
рабатывавшую процессор Clipper. Он и ла вызвать в суд любого производите- (Predictive Snooping of Cashe Memory),
стал сердцем новых графических стан- ля компьютеров на базе чипов семейс- которая предназначается для умень-
ций Intergraph. В 1993 году вследствие тва Pentium. Поскольку Dell, Gateway шения задержек при работе устройс-
высокой конкуренции компания приня- и HP входили в тройку наибольших тва с шиной PCI. Ещё два патента опи-
ла решение приостановить разработ- поставщиков компьютерной техники сывали разработанную OPTi специ-
ку собственного процессора, переве- в мире, они-то и стали первой целью фикацию интерфейса ввода/вывода,
дя свои рабочие станции на платфор- для очередного разбирательства. предназначенного для портативных
му Pentium. Казалось бы, Clipper стал Dell повезло больше всех: в 2004 го- устройств.
достоянием истории… ду во время пересмотра патентного со- Судебный спор был временно
Судебные тяготы начались 17 нояб- глашения между Intel и Intergraph она улажен путём подписания 2 августа
ря 1997 года. Именно тогда Intergraph «вышла сухой из воды». Однако осталь- 2006 года договора, согласно кото-
подала свой первый иск против Intel, ным компаниям пришлось хуже. В мае рому Nvidia лицензирует технологию
обвинив её в нарушении пяти патентов 2004 года Gateway разошлась с истцом «Предиктивной выборки», взамен чего
во время производства чипов Pentium. мирным путём, выплатив Intergraph на протяжении трёх лет будет выпла-
Intergraph требовала от Intel выплаты 10 млн. долларов, а также пообещав чивать истцу ежеквартально 750 ты-
2,2 миллиардов долларов в качестве оплачивать лицензионные отчисле- сяч долларов. Стороны остались до-
компенсации за нанесённый мораль- ния в размере 1,25 доллара с каждого вольны, о конфликте позабыли вплоть
ный ущерб. проданного компьютера. Спустя неко- до 8 февраля сего года, когда Nvidia
Ну а в то время, пока шло судебное торое время HP также была вычерк- объявила о своём прекращении ис-
разбирательство по поводу Pentium, нута из списка обвиняемых, выплатив пользования технологии OPTi, а так-
ещё один процессор Intel стал «жерт- компании 141 млн. долларов. же отказе от ежеквартальных выплат
вой» очередного иска, поданного про- 29 июня 2006 года старые патен- лицензионных отчислений. Судебный
тив компании 31 июля 2001 года. Архи- ты по процессору Clipper в очеред- иск, пролежавший на полках полтора
тектура чипа Itanium была разработана ной раз стали причиной нового иска. года, вновь всплыл на свет.
с нарушением двух патентов Intergraph, На этот раз Intergraph обратила свой Ну а пока «ничто не предвеща-
описывающих технологию «Парал- взор на Восток, обвинив в нарушении ло бури», OPTi, подписав договор
лельной обработки команд» (Parallel своей интеллектуальной собствен- с Nvidia, переключилась на других иг-
Instruction Computing), разработанную ности Fujitsu, NEC и Toshiba. Причём роков рынка.
во время проектирования чипа Clipper для большей уверенности судебные Второй «под раздачу» попала ком-
C5 в 1992 году. И опять Intel должна бы- процессы были начаты сразу в двух су- пания AMD, 21 ноября 2006 года об-
ла выплатить большую сумму в качес- дах – в Калифорнии (США) и Гамбурге винённая в нарушении всё тех же трёх
тве компенсации. (Германия). Как и в случае с американ- патентов, описывающих «Предиктив-
Судебный процесс по поводу чипов скими компаниями, Intergraph требу- ную выборку», путём производства
Pentium к тому времени длился на про- ет возмещения материального ущер- своих процессоров семейства Opteron,

90
ретроспектива
а также наборов системной логики рующей разработку и продвижение лишь год спустя. По прогнозам ана-
к ним. OPTi потребовала прекраще- беспроводного стандарта, насчиты- литиков, в 2007 году продажи пор-
ния производства и продаж продук- вается свыше шести тысяч компаний. тативных проигрывателей перева-
ции, а также выплаты компенсации Почему же были выбраны лишь один- лят за 200 млн. единиц. К 2010 го-
за нанесённый ущерб. Кроме данно- надцать из них? ду эта цифра перевалит за 250 млн.
го иска, на счету AMD как ответчика Дело в том, что иск WRF направлен штук, а сам рынок будет оцениваться
уже висит несколько неразрешённых против электронных продуктов, кото- в 21,5 млд. долларов. Сумма, а так-
судебных процессов, инициатор одно- рые оснащены чипами компании CSR же оперативность Texas MP3 в пода-
го из которых – компания MicroUnity, Plc. По словам представителей орга- че иска говорят лишь об одном – же-
о которой я рассказывал в прошлом низации, микросхемы CSR использу- лании в кратчайшие сроки, да к тому
номере журнала. ют Bluetooth-технологию без данно- же «малой кровью» оторвать как мож-
Последней на данный момент ком- го ею разрешения. WRF лицензиро- но больший кусок этого пирога. «Па-
панией, на которую «обиделась» OPTi, вала права на свои разработки дру- тентный терроризм» налицо.
стала Apple. Произошло событие 19 ян- гому производителю Bluetooth-чипов –
варя 2007 года. Согласно иску, Apple Broadcom. Поэтому к компаниям, вы- И снова о «Яблоке»
производит и продаёт устройства, в ко- пускающим устройства на их основе, О компании Apple и её семействе
торых используется технология «Пре- претензий нет. сверхпопулярных плееров iPod я уже
диктивной выборки». Если учесть, что на сегодняшний говорил. Однако это не единствен-
В то время как Apple встраивала день в мире насчитывается более од- ные судебные разбирательства, пос-
процессоры производства AMD в свои ного миллиарда устройств, оснащён- тоянным объектом которых являет-
базовые станции беспроводного до- ных интерфейсом Bluetooth, сумма ся iPod. Например, в декабре 2006 го-
ступа AirPort Base Station, все её ком- материального ущерба, который бу- да компания Quantum Research Group
пьютеры, как настольные, так и порта- дет выплачен WRF в случае выигрыша (QRG) подала иск против Apple, обви-
тивные, оснащены чипами Intel. Так что процесса, может исчисляться девяти- няя её в нарушении патента, описы-
нельзя отрицать, что вслед за AMD или даже десятизначной цифрой. вавшего «Технологию передачи заря-
и Apple в числе обвиняемых окажет- да» (Charge-transfer Technology). Широ-
ся и она. MP3-плееры ко разрекламированное навигацион-
под прицелом ное колесо Click Wheel в старых пле-
Bluetooth в центре Ещё более громким стал иск, подан- ерах iPod изготовлялось на основе
внимания ный компаний Texas MP3 Technologies тактильного сенсора, который Apple
Гиганты компьютерного рынка – не против Apple, Samsung и SanDisk. Со- лицензировала у компании Synaptics.
единственные, «на чьи головы сыплют- гласно патенту, Texas MP3 обладает Однако, согласно данным QRG, новые
ся» судебные иски. К компаниям, зани- правами на технологию «портативного модели портативных проигрывателей,
мающимся выпуском потребительской аудиоустройства, пригодного для вос- в список которых вошли оба поколения
электроники, также часто наведывают- произведения данных, закодирован- Nano, а также iPod Video пятого поко-
ся чужие юристы. Одним из последних ных в формате MPEG, оснащённого ления, используют в своём составе но-
стал иск некоммерческой организации набором входов, памятью для хране- вый сенсор, построенный на базе чи-
Washington Research Foundation (WRF), ния данных, дисплеем, аудиовыходом, пов компании под названием Cypress
поданный ею против одиннадцати ве- как минимум одним процессором и ба- PSoC. Их использование и нарушает
дущих игроков рынка электронной про- тареей». То есть само название доку- патент QRG.
дукции. Причина – беспроводной ин- мента – это краткая характеристика Данные судебные разбирательс-
терфейс Bluetooth, которым оснащены MP3-плеера. тва – одни из доброго десятка исков,
выпускаемые ими устройства. Texas M P3 пр и о бр ел а п ате н т которые выдвигаются против Apple
В декабре 2006 года WRF подала 15 февраля этого года у SigmaTel (про- сегодня. Правда, в основном они ка-
иск против Matsushita Electric, Samsung изводитель чипов для MP3-плееров) саются программного обеспечения,
Electronics и Nokia. Согласно нему, ком- и уже на следующий день подала иск разрабатываемого компанией (iTunes
пании нарушили четыре патента орга- в суд. «Мы приняли решение избавить- Music Store), а также торговых марок
низации, которые описывают техноло- ся от патента, поскольку для обеспе- (иск Cisco по поводу торговой мар-
гию, позволяющую пользователям об- чения его большой коммерческой цен- ки «iPhone»). Этому, а также много-
мениваться информацией между мо- ности необходимы миллионы долла- му другому и будет посвящена следу-
бильными телефонами, компьютера- ров, которые пришлось бы потратить ющая статья.
ми и другими устройствами без ис- на гонорары юристам», – мотивиро-
пользования проводных интерфейсов. вал решение о продаже исполнитель- 1. http://www.theregister.co.uk.
Совсем недавно, 27 марта этого года, ный директор SigmaTel Рон Иджиртон 2. http://www.zdnet.com.
к списку обвиняемых были добавле- (Ron Edgerton). 3. http://www.cnet.com.
ны ещё восемь компаний: Apple, Dell, Сам патент был зарегистриро- 4. http://blog.wired.com.
Sony, Logitech, Motorola, Sony Ericsson, ван двумя корейскими изобретате- 5. http://www.usatoday.com.
Toshiba и Plantronics. В организации лями ещё в 1997 года, тогда как пер- 6. http://www.wikipedia.org.
Bluetooth Special Interest Group, кури- вые МР3­‑плееры появились на рынке 7. http://www.hmcourts-service.gov.uk.

№5, май 2007 91


книжная полка

Программирование баз данных


Microsoft SQL Server 2005. Базовый курс
Роберт Виейра
нию) должен знать профессиональный турой памяти и индексами. Затем начи-
разработчик. Так что этот курс пред- наются вещи поинтереснее: представ-
назначен для тех, кто начинает знако- ления, хранимые процедуры и поль-
миться с SQL Server и обладает навы- зовательские функции, транзакции
ками программирования. и триггеры.
Налицо хорошая структура книги: Оставшиеся же главы, очевидно,
построена она логично и последова- придутся по душе не только новичкам –
тельно, что позволяет с легкостью на- это краткое введение в язык XML и пре-
ходить любые интересующие детали. образования XSL, а также описание
Начинается «базовый курс» со зна- Reporting Services (для создания отче-
комства с базами данных SQL Server тов) и Integration Services (для экспор-
и краткого обзора компонентов рас- тирования в БД данных из внешних ис-
сматриваемого ПО (дабы разработ- точников). Последняя глава посвяще-
чик сразу знал, чем он сможет восполь- на некоторым тонкостям администри-
Принципиальное отличие этой книги зоваться в дальнейшем). После этого рования СУБД.
от множества изданий, посвященных приводится описание языка Transact-
СУБД от Microsoft, следует из ее назва- SQL, используемого в SQL Server. За- n
Издательство: «Диалектика»
ния – она предназначена вовсе не для тем рассказывается о существующих n
Год издания: 2007
администраторов баз данных, а имен- ограничениях различных типов и поня- n
Количество страниц: 768
но для разработчиков. Примечание тии подзапросов. n
ISBN: 5-8459-1125-7
«Базовый курс», по уверению автора, Когда «основы основ» пройдены, n
Цена: ≈ 550 руб.
обусловлено невозможностью вмес- читателя знакомят с проблемами про- К н и г а п р е д о с т а в л е н а и з д ат е л ь с т в о м
тить в одну книгу все, что (по его мне- ектирования БД, после чего – со струк- «Вильямс».

HTML, XHTML и CSS.


Библия пользователя, 3-е издание
Брайан Пфаффенбергер, Стивен Шафер,
Чак Уайт, Билл Кароу
Не самое благоприятное впечатление верка кода на соответствие стандар-
произвели примеры JavaScript-кода там, сопровождение сайта. Кроме то-
в четвертой части книги, которая при го, многие отвлеченные вопросы, ка-
этом носит солидное название: «Разра- сающиеся веб-мастеров, разумно вы-
ботка веб-страниц на профессиональ- несены в отдельную часть – «Принци-
ном уровне». Тем не менее авторам пы профессионального веб-дизайна».
удалось широко осветить основы соз- В ней собрана информация по грамот-
дания простых статичных веб-сайтов. ному структурированию сайта и орга-
Подробно разобраны все базовые ве- низации его содержимого, по обеспе-
щи, используемые в (X)HTML: элемен- чению безопасности и интернациона-
тарное форматирование (абзацы, пе- лизации. Стоит также выделить полез-
реносы строк, заголовки, списки и т. п.) ные справочные данные по специфика-
и ссылки, изображения, таблицы, фор- ции XHTML и свойствам CSS, представ-
Первое, что бросилось в глаза в этой мы, фреймы и объекты. По CSS пред- ленные в приложениях.
книге (не считая, конечно, обложки), – ставлены общие понятия и свойства,
странная терминология (или таков описана работа со шрифтами, форма- n Издательство: «Вильямс»
уровень ее перевода?). Так, например, тирование текста, в том числе и разно- n Год издания: 2007
HTML здесь настойчиво называется образные отступы, цвета, таблицы. Две n Количество страниц: 752
«протоколом», а вторая часть книги сме- главы посвящены языку разметки XML. n ISBN: 978-5-8459-1154-4
ло озаглавлена «Основы программиро- Не забыты и такие аспекты, как тести- n Цена: ≈ 451 руб.
вания в HTML/XHTML», когда речь в ней рование созданных страниц в разных К н и г а п р е д о с т а в л е н а и з д ат е л ь с т в о м
идет, разумеется, о разметке страниц. разрешениях и браузерах, а также про- «Вильямс».

92
книжная полка

Криптографические протоколы
и их применение в финансовой
и коммерческой деятельности:
Учебное пособие для вузов
Сергей Запечников
мерция». В этом издании главным об- тежей (СЭП) и различные виды таких
разом уделяется внимание последней. систем, а в четвертой – электронная
Предполагается, что читатели владе- коммерция в более широком понима-
ют не только необходимой математи- нии этой сферы, т.е. рассматриваются
ческой базой, но и разбираются в ос- аспекты безопасности для документо-
новах криптографии. оборота, сделок, транзакций.
Однако первая глава пособия, Как и свойственно учебным посо-
вводная и теоретическая, посвящена биям, каждая глава снабжена конт-
базовым в области криптографии ве- рольными вопросами и задачами, ко-
щам: общим сведениям о протоколах, торые проверят, хорошо ли усвоен ма-
В предисловии автор выделяет три способах аутентификации и различных териал.
основные области, где в современ- схемах цифровой подписи. Во второй
ном мире применяется криптографи- главе рассказывается об инфраструк- n
Издательство: «Горячая Линия-Телеком»
ческая защита (в контексте компью- туре криптосистем и в первую очередь, n
Год издания: 2007
терных систем): «традиционная» (во- конечно, о криптографических ключах, n
Количество страниц: 320
енные, дипломатия и т. п.), «электрон- их управлении, сертификации, рас- n
ISBN: 978-5-93517-318-2
ное правительство» (для диалога го- пределении (с анализом конкретных n
Цена: ≈ 254 руб.
сударства с юридическими и физи- протоколов). В третьей главе описана К н и г а п р е д о с т а в л е н а и з д ат е л ь с т в о м
ческими лицами), «электронная ком- структура систем электронных пла- «Горячая Линия-Телеком».

JavaScript. Карманный справочник


Кристиан Уэнц
Но главное достоинство книги и за- и AJAX. Последней теме ввиду ее по-
слуга автора – это, несомненно, акту- пулярности в наши дни автор разумно
альность предлагаемой информации (умалить востребованность AJAX за-
и её компактное изложение. Среди тем, труднительно) придает особую значи-
которые затрагиваются на страницах мость, раскрывает такие моменты, как
справочника, например, решение про- отправка синхронных/асинхронных за-
стых типичных задач вроде опреде- просов POST/GET, получение различ-
ления браузера и поиска с привлече- ных данных от сервера, в том числе
нием регулярных выражений, работа XML, использование преобразования
со стилями CSS, графикой, cookies. На- XSLT, решение типовых проблем (за-
ибольшее внимание уделено формам – кладки, возврат на предыдущую стра-
для них приведено множество часто ницу). В последней главе рассмотрено
используемых приемов, что значитель- взаимодействие JavaScript со встраи-
но упрощает рутинные процедуры. ваемыми в HTML объектами (мульти-
Достаточно подробно, с поправкой медиа, Java, Flash).
на размеры книги, освещено примене-
Этот карманный справочник логичнее ние JavaScript в контексте объектной n
Издательство: «Вильямс»
рассматривать как «мини-сборник ре- модели документа (DOM). Не забыты n
Год издания: 2007
цептов для решения типичных задач возможности объектно-ориентирован- n
Количество страниц: 272
средствами JavaScript». Потому что ос- ного программирования и обработка n
ISBN: 978-5-8459-1186-5
новное содержимое книги – примеры событий. Также затронуты и более сов- n
Цена: ≈ 88 руб.
кусков кода на JavaScript и HTML с по- ременные технологии, такие как веб- К н и г а п р е д о с т а в л е н а и з д ат е л ь с т в о м
яснениями, для реализации чего они службы (на примере PHP и ASP.NET) «Вильямс».
предназначены и как автору эта реа-
лизация видится. Обзор книжных новинок подготовил Дмитрий Шурупов

№5, май 2007 93


подписка на 2007 год

Редакционная подписка
для физических лиц
n Вы можете оформить подписку n Вы можете оформить подписку n Журнал высылается почтой прос-
на любой российский адрес. с любого месяца на любой срок. той бандеролью только после пос-
n При заполнении квитанции обя‑ n В графе «Сумма» проставьте сумму тупления денег на расчетный счет
зательно РАЗБОРЧИВО укажи‑ за выбранное количество номеров. и копии заполненного и оплачен‑
те фамилию, имя, отчество пол‑ Стоимость одного номера журна- ного бланка, отправленной в ре‑
ностью, почтовый индекс и ад‑ ла 150 руб. За 10 месяцев (с марта дакцию по факсу: (495) 628‑82‑53
рес получателя (область, город, по декабрь) – 1500 руб. НДС и поч- или на элек тронный а д рес:
улица, номер дома, номер квар‑ товые расходы включены в стои- info@samag.ru.
тиры), контактный телефон. мость.

94
подписка на 2007 год
Российская Федерация печати «Гасид» (370102, г. Баку, ул. Джавадхана, 21)
n
Подписной индекс: годовой – 20780, полугодовой – 81655 n
Казахстан – по каталогу «Российская Пресса» через
Каталог агентства «Роспечать» ОАО «Казпочта» и ЗАО «Евразия пресс»
n Подписной индекс: 87836 n
Беларусь – по каталогу изданий стран СНГ через РГО
Объединенный каталог «Пресса России» «Белпочта» (220050, г. Минск, пр-т Ф. Скорины, 10)
Адресный каталог «Подписка за рабочим столом» n
Узбекистан – по каталогу «Davriy nashrlar» российс-
Адресный каталог «Библиотечный каталог» кие издания через агентство по распространению пе-
n Альтернативные подписные агентства: чати «Davriy nashrlar» (7000029, г. Ташкент, пл. Муста-
Агентство «Интер-Почта» (495) 500-00-60, курьерская киллик, 5/3, офис 33)
доставка по Москве n Армения – по списку номенклатуры «АРЗИ» через
Агентство «Вся Пресса» (495) 787-34-47 ГЗАО «Армпечать» (375005, г. Ереван, пл. Сасунци Да-
Агентство «Курьер-Прессервис» вида, д. 2) и ЗАО «Контакт-Мамул» (375002, г. Ереван,
Агентство «ООО Урал-Пресс» (343) 375-62-74 ул. Сарьяна, 22)
ЛинуксЦентр www.linuxcenter.ru n Грузия – по списку номенклатуры «АРЗИ» через АО
n Подписка On-line «Сакпресса» ( 380019, г. Тбилиси, ул. Хошараульская, 29)
http://www.arzi.ru и АО «Мацне» (380060, г. Тбилиси, пр-т Гамсахурдия, 42)
http://www.gazety.ru n Молдавия – по каталогу через ГП «Пошта Молдовей»
http://www.presscafe.ru (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
по списку через ГУП «Почта Приднестровья» (МD-3300,
СНГ г. Тирасполь, ул. Ленина, 17)
В странах СНГ подписка принимается в почтовых отделе- по прайс-листу через ООО Агентство «Editil Periodice»
ниях по национальным каталогам или по списку номенк- (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
латуры «АРЗИ»: n Подписка для Украины:
n Азербайджан – по объединенному каталогу россий- Киевский главпочтамт
ских изданий через предприятие по распространению Подписное агентство «KSS», тел./факс (044)464-0220

Подписные
индексы:

20780*
81655**
по каталогу
агентства
«Роспечать»

87836
по каталогу
агентства
«Пресса
России»
*
годовой
**
полугодовой

№5, май 2007 95


СИСТЕМНЫЙ АДМИНИСТРАТОР
№5(54), Май, 2007 год
Читайте
в следующем
УЧРЕДИТЕЛИ
Владимир Положевец
Александр Михалев

РУКОВОДИТЕЛЬ ПРОЕКТА
Петр Положевец
номере:
РЕДАКЦИЯ
Исполнительный директор
Владимир Положевец Корпоративная красное время познакомиться с ALT
Ответственный секретарь телефонная сеть на базе Linux 4.0 Server и узнать об особен-
Наталья Хвостова АТС Samsung ностях дистрибутива! Обзор в июнь-
sekretar@samag.ru Однажды руководитель вызывает ском номере поможет вам сформи-
Технический редактор вас, и указывая на непонятную груду ровать и свои «первые впечатления»
Владимир Лукин коробок на полу, говорит: «Это АТС. о грядущей новинке.
Главный редактор Она будет установлена в нашем фи-
электронного приложения
лиале в другом городе. Разберитесь, Разворачиваем кластер
«Open Source»
как настроить ее так, чтобы звонить Microsoft Exchange
Дмитрий Шурупов
Внештатные редакторы не по межгороду, а через Интернет Служба электронной почты – неотъ-
Алексей Барабанов и при этом использовать короткие но- емлемый элемент бизнес-процессов
Алексей Алексеев мера, также как в офисе». Продолже- и для надежной работы данной службе
Андрей Бирюков ние истории читайте в следующем но- необходимо обеспечить отказоустой-
мере журнала. чивость. В статье рассмотрим вопро-
РЕКЛАМНАЯ СЛУЖБА сы, связанные с установкой и настрой-
тел./факс: (495) 628-8253 Патентные войны: кой отказоустойчивого кластера почто-
Евгения Тарабрина оберегай своё, не посягай вой системы. В качестве примера возь-
reсlama@samag.ru на чужое. Часть вторая – мем создание двухузлового кластера
Верстка и оформление
программная на основе Microsoft Exchange.
«Патентный терроризм» в сфере ин-
maker_up@samag.ru
Дизайн обложки формационных технологий затраги- Борьба со спамом,
Николай Петрочук вает не только аппаратные разработ- как фактор, снижающий
ки. Сегодня средства массовой инфор- надежность почтовой
По вопросам распространения мации пестрят сообщениями о различ- доставки
обращайтесь по телефону: ных исках по патентам и на програм- Внедрение систем фильтрации почто-
(495) 628-8253 (доб. 120) мное обеспечение. Кто? Когда? Как? вых сообщений очень часто оборачи-
Ответы на эти вопросы – в следую- вается непредсказуемыми задержка-
107045, г. Москва, щем выпуске. ми или даже потерями важной дело-
Ананьевский переулок, дом 4/2, стр. 1 вой корреспонденции. В этом случае,
тел./факс: (495) 628-8253
Сайт журнала: www.samag.ru
ALT Linux 4.0 Server: как правило, вся ответственность ло-
что день грядущий жится на системного администрато-
ИЗДАТЕЛЬ нам готовит? ра. А те, кто в начале требовал изба-
ЗАО «Издательский дом Пусть финальная версия нового сер- вить их от спама, мешающего работе,
«Учительская газета» верного решения от ALT Linux еще и в полном соответствии с известными
не увидела свет, эта долгожданная оте- законами Мерфи, начинают считать ис-
Отпечатано типографией чественная разработка уже на финиш- точником всех своих проблем деятель-
ГП «Московская Типография №13» ной прямой и готова для работы. Пре- ность сисадмина.
Тираж 15000 экз.

Журнал зарегистрирован Уважаемые читатели!


в Министерстве РФ по делам печати,
телерадиовещания и средств массо-
Продолжается подписка на 2-ое полугодие 2007 года.
вых коммуникаций (свидетельство
ПИ № 77-12542 от 24 апреля 2002 г.).
Приобрести новые и старые номера журнала
За содержание статьи ответственность вы можете через интернет-магазин LinuxCenter.ru.
несет автор. За содержание реклам-
ных материалов ответственность не-
сет рекламодатель. Все права на опуб-
ликованные материалы защищены. Доставка почтой в любую точку России.

96