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

№8(69) август 2008

подписной индекс 20780


www.samag.ru

Как развивается 1Т-система ISSN 1813-5579

вашей компании?
Оптимизация инфраструктуры
|| ||
9 771813 5 5 70051

Модификация дистрибутивов
на основе Windows Installer

Почтовое отделение для малого офиса:


QMS + Spampal + MS Outlook

Шлюз в Интернет на ComixWall ISG

Кэшируем динамический контент

Настраиваем Wi-Fi под Linux

Установка цепочки
серверов сертификации
как часть внедрения PKI в домене

Новшества в Windows Server 2008:


транзакционная файловая система

Настройка TLS/SASL-шифрования
и аутентификации в МТА Sendmail
А
Найди в журнале код.
Следуй инструкциям.
Linux JJcenter На кону настоящий
скан - sibbora. пожалуйста смотрите readme.txt « А Д М И Н С К И Й ПРИЗ»
1
i Л 41 ч
4 ФОТОРЕПОРТАЖ С ДСА 2008 АДМИНИСТРИРОВАНИЕ «1С»
5 ТЕНДЕНЦИИ 52 Управляем списками общих
информационных баз
АДМИНИСТРИРОВАНИЕ Облегчаем себе работу с помощью специализирован­
ного механизма.
6 Строим плановое 1Т-хозяйство Андрей Луконькин
Какой будет вверенная вам IT-система в будущем?
Дмитрий Бутянов 53 Система компоновки данных
Изучаем новые возможности платформы.
13 Легализация ПО. Цена ошибки! Андрей Луконькин
Как не допустить ошибок в лицензировании ПО.
Дмитрий Жеряков БЕЗОПАСНОСТЬ
14 Модификация дистрибутивов 54 Установка цепочки серверов
на основе windows installer зертификации как часть внедрения PKI
Рассмотрим один из компонентов Windows Installer в домене. Часть 1
Resource Kit - orca.exe. Установка и настройка Public Key Infrastructure.
Иван Коробко Станислав Шпак

19 Diskeeper - увеличение 60 OpenBSD: имидж - ничто,


производительности винчестеров безопасность - все!
Возможности и особенности продукта. Уделяем внимание безопасности системы.
Марат Давлетханов Максим Гоишков

20 Почтовое отделение для малого офиса: 64 Настройка TLS/SASL-шифрования


0MS + Spampal + MS Outlook и аутентификации в МТА Sendmail
Настраиваем почтовый сервер с фильтром спама и хра­ Подробное руководство.
нением архива писем. Андрей Маркелов
Александр Емельянов
67 ЗАКОН ЕСТЬ ЗАКОН
23 Свой собственный почтовый сервер
Обзор почтового сервера MDaemon Email Server. ПРОГРАММИРОВАНИЕ
Марат Давлетханов
68 Java: торжественное обращение
24 Новшества в Windows 2008: с jar и атрибутами MANIFEST.MF
транзакционная файловая система Применяем в работе jar-файлы.
Обсудим подробнее, что из себя представляет TxF. Алексей Саенко
Андрей Бирюков
72 Знакомимся с YAML
26 Шлюз в Интернет на ComixWall ISG Чем нам поможет язык YAML в обработке конфигураци­
Плюсы и минусы решения. онных файлов для разрабатываемого приложения.
Сергей Яремчук Сергей Супрунов

30 История одной установки Linux 78 Профессиональное использование


на ноутбуке консоли с помощью GNU Screen
Установка Linux на ноутбук проходила с трудом, снача­ Каковы возможности GNU Screen.
ла дистрибутив не хотел грузиться, потом Wi-Fi-адап- Дмитрий Васильев
тер не был подхвачен автоматически. Упорное жела­
ние установить беспроводную связь в конечном итоге РЕТРОСПЕКТИВА
привело к положительному результату.
Павел Закляков 82 Окно в электронный мир:
история развития графического
34 Jabberd2 - простой и нетребовательный пользовательского интерфейса
ж ресурсам ХМРР-сервер. Часть 1 Часть третья, заключительная
Рассмотрим конфигурирование, архитектуру и перво­ Популярные ОС к концу XX века обзавелись собс­
начальную настройку jabberd2. твенным GUI, а командная строка перешла в разряд
Михаил Кондрин «для фанатов» и пользователей UNIX.
Дмитрий Мороз
42 Удаленное управление компьютером
Обзор программ удаленного администрирования. 92 КНИЖНАЯ ПОЛКА
Сергей Кузнецов
94 СИСАДМИН ТОЖЕ ЧЕЛОВЕК
WEB
47, 63, 7 1 , 77 BUGTRftQ
48 Кэшируем динамический контент
Как можно создавать кэширующие серверы для дина­
мического контента. Код для участия в розыгрыше призов.
Виталий Банковский Следуйте инструкциям на стр. 2.
фоторепортаж с ДСА 2008

I I I Всероссийский слёт
системных администраторов под Калугой.
Идём на рекорд!

Палаточный г о р о д о к сисадминов

Фотографии: Владимир Лукин


Microsoft - платиновый спонсор что на рынке MID все игроки начинают «с нуля», они не отя­
Apache Software Foundation гощены «историческим наследием», как, например, в слу­
В к о н ц е и ю л я , на к о н ф е р е н ц и и O S C O N , к о р п о р а ц и я чае со смартфонами. И Linux ж е добьется успеха благода­
Microsoft сделала очередной шаг в сторону Open Source- ря «возможности предоставить у н и ф и ц и р о в а н н у ю плат­
сообщества. Было объявлено о том, что отныне она явля­ форму, которая объединит в себе многочисленные мобиль­
ется платиновым спонсором организации Apache Software ные компоненты». Главными Linux-игроками на рынке MID
Foundation (ASF), добавив себя в один ряд к Google и Yahoo!. в ABI считают консорциум LiMo (Linux Mobile) Foundation,
Последняя известна тем, что занимается поддержкой ря­ компанию Nokia с ее системой Maemo для интернет-план­
да проектов п р о г р а м м н о г о обеспечения с открытым ко­ шетов, Intel с платформой Moblin для MID-устройств с ее
дом, наиболее популярным среди которых является Web- процессором Atom.
сервер Apache. А уже вскоре появилось сообщение о том, что к этим иг­
В Microsoft так объяснили причины столь н е о ж и д а н ­ рокам присоединяется и компания ACCESS, объявившая
ного для многих события. «Это серьезная поддержка пу­ о том, что ее мобильная Linux-платформа ALP (ACCESS
ти Apache, открывающая новую главу во взаимоотноше­ Linux Platform) получила поддержку мобильных интернет-
ниях с ASF. На протяжении последнего года мы работали устройств. Изначально ALP позиционировали как реше­
с Apache POI, Apache Axis2, Jakarta и другими проектами. ние для смартфонов и К П К , которое откроет новое дыха­
И мы намерены продолжать нашу техническую поддержку ние для ОС PalmOS.
и работу над тестированием интероперабельности для это­ Из других новостей в области Linux на МЮ-устройствах
го программного обеспечения с открытым кодом». При этом можно выделить анонс компанией Lenovo своего выхода на
представитель компании заявил, что это не шаг в сторону рынок нетбуков. Это событие было приурочено к представ­
от ее собственного Web-сервера IIS, напомнив, что сейчас лению двух первых устройств подобного класса от Lenovo:
активно идет разработка IIS 8. IdeaPad S9 на базе Linux и IdeaPad S10 с ОС Windows ХР.
Когда появится Linux-нетбук S9, ориентированный на от­
Linux предустановлена на 3 % личные от США рынки, пока неизвестно, а его Windows-
продаваемых в Великобритании ПК собрата можно будет найти на прилавках в С Ш А уже в на­
По данным британских исследователей, число персональ­ чале октября, ё
ных компьютеров с предварительно установленной опера­
ционной системой GNU/Linux в Великобритании приблизи­ Подготовил Дмитрий Шурупов
по материалам www.nixp.ru
лось к трем процентам (от всех проданных ПК). Статисти­
ка от специалистов по британскому рынку из Context сви­
детельствует о том, что с января 2007 года (тогда вышла
ОС Microsoft Vista) в процентном соотношении количест­
во десктопов с предустановленной Linux выросло в 28 раз
(с 0,1% до 2,8%). За тот ж е период на 9 3 % проданных ПК
были установлены системы от Microsoft. К а к с о о б щ а ю т
в Context, доля Linux среди продаваемых в Великобритании
ПК беспрестанно росла с момента выхода Vista. Интересно,
что 2-процентный барьер был преодолен в мае этого года,
когда состоялся последний релиз Ubuntu Linux.
Тем временем, представители компании Canonical, за­
нимающейся поддержкой дистрибутива Ubuntu, со ссыл­
кой на исследование ЮС заявили, что уже около 11 процен­
тов предприятий в США используют Ubuntu Linux. Впрочем,
следует учитывать, что это вовсе не является оценкой доли
Ubuntu на корпоративных десктопах/серверах - ведь мно­ безопасное хранение
гие компании работают с системой, например, просто для
данных
того, чтобы проверить, работает ли их программное реше­
ние в данном окружении.
Z s e r v e r S u i t e
Linux будет доминировать на рынке Риск несанкционированного физического доступа
мобильных интернет-устройств к серверам и резервным копиям намного выше,
чем кажется. Беспечность в этом вопросе приводит
В начале августа специалисты из ABI Research опублико­ к утечке информации и другим нежелательным
вали прогноз, согласно которому GNU/Linux станет лиди­ последствиям.

рующей операционной системой на рынке мобильных ин­ Шифрование носителей информации - это наиболее
гибкий и надежный способ защитить данные
тернет-устройств (MID) к 2 0 1 3 году. Исследователи ABI о ж и ­ и избежать возможных проблем.
дают, что через 5 лет число продаж MID-устройств с Linux Задумайтесь о защите носителей информации!
должно достичь отметки в 50 миллионов в год, что позво­
www.securit.ru
лит этой ОС обойти всех своих конкурентов. Как считают +7 4 9 5 2 2 1 2 1 6 0
в ABI, во многом это станет возможным благодаря тому,
Сегодня мы поговорим о развитии IT на вашем предприятии как едином целом. Попробуем
определить факторы, влияющие на информационную систему, и то, как она может изменяться
под их давлением. В итоге узнаем о методах определения и прогноза, какой будет вверенная
вам IT-система в будущем.

Т-отдел и IT-система растут вместе начинается менеджмент и управле­ рые занимаются абсолютно всем, что
с предприятием, переживая в своем ние IT как бизнес-структурой, начина­ включается в розетку и имеет какие-
| развитии несколько этапов. Эти эта­ ются вопросы, получить ответы на ко­ нибудь провода: компьютеры, серве­
пы м о ж н о достаточно четко обозна­ торые ой как непросто. Давайте пос­ ры (чаще один-два), телефония, копи­
чить, и они определяют ту стартовую мотрим сначала на то, к а к происхо­ ровальные машины, кофеварки и про­
точку, от к о т о р о й т р е б у е т с я начать дит становление IT-службы в ж и з н и , чее. Сотрудники компании называют
планирование развития. Точное опре­ а потом взглянем на то, как это можно работников IT-отдела «программиста­
деление текущей ситуации может по­ ф о р м а л и з о в а т ь и превратить в подо­ ми» или «компьютерщиками» вне за­
казаться простым делом, однако это бие математических уравнений и ло­ висимости от того, чем этот человек
не так. Помимо продуктов и решений, гических условий. на самом деле занимается. Неудиви­
работающих в системе, есть еще мас­ тельно, так как разделения ролей внут­
са вопросов, связанных с 1Т-менедж- Детство: пылесос ри отдела практически нет, к а ж д ы й за­
ментом (уровень организации работы для денег нимается всем. Документов, регламен­
IT-отдела, уровень влияния IT на биз­ К а к правило, IT-отдел р о ж д а е т с я тирующих работу отдела, чаще всего
нес, уровень влияния б и з н е с а на IT вместе с п р е д п р и я т и е м . Начальный нет, ответственность работников отде­
и так далее). Б о л ь ш о е число наших этап, н а з о в е м его п е р в ы м , х а р а к т е ­ ла - что-то вроде SLA - никак не опре­
IT-директоров, в ы р о с ш и х из систем­ рен для к о м п а н и й , число П К в кото­ делена. Для учета средств IT (обору­
ный администраторов, хорошо разби­ рых не п р е в ы ш а е т ста ш т у к . Отдел дование, программные продукты) ча­
раются в технологиях, но к а к только состоит из одного-двух человек, кото­ ще всего используется бухгалтерская
программа, а статистические данные,
характеризующие работу информаци­ Термины и сокращения в течение которого окупаются перво­
онной системы, накапливаются в луч­ Использованы материалы Википедии. начальные затраты.

шем случае в головах работников от­ 0 IT ( I n f o r m a t i o n T e c h n o l o g y ) - инфор­ Z NPV (Net Present Value) - чистый дис­

дела на уровне интуиции. Это приво­ мационные технологии. Технологии уп­ контированный доход. Показывает

дит к тому, что управление рисками равления и обработки данных. о ц е н к у э ф ф е к т а от и н в е с т и ц и и , при­

не п р о и з в о д и т с я , а одна из в а ж н е й ­ 0 S L A (Service Level Agreement) - согла­ ведённую к настоящему моменту вре­

ших задач отдела - ликвидация пос­ ш е н и е об уровне услуги. Ф о р м а л ь н ы й мени с учётом разной временной сто­

ледствий уже свершившихся рисков. договор между потребителем услуги имости денег. Часто применяется для
и её п о с т а в щ и к о м . К а к правило, тер­ сравнения эффективности альтерна­
Кстати, сами инциденты чаще всего
мин SLA используется применительно тивных в л о ж е н и й (при о д и н а к о в ы х на­
не фиксируются, и IT-отдел не видит
к IT и т е л е к о м м у н и к а ц и о н н ы м у с л у г а м . чальных вложениях более выгоден про­
н у ж д ы в их ф и к с а ц и и : простые про­
В таком соглашении может содержать­ ект с наибольшим NPV).
блемы решаются сразу, а сложные от­
ся д е т а л ь н о е о п и с а н и е п р е д о с т а в л я е ­ 0 IRR - внутренний к о э ф ф и ц и е н т рента­
кладываются до лучших времен. Служ­
мого сервиса, в том числе перечень па­ бельности. Тот процент п р и б ы л и от про­
ба поддержки пользователей работа­
раметров качества, методов и средств екта, который позволит окупить вло­
ет в курилке или в столовой, и принцип
их к о н т р о л я , а т а к ж е ш т р а ф н ы е с а н к ­ женные в него средства. Применяется
личных связей и симпатий играет од­
ции за нарушение этого соглашения. для сравнения эффективности альтер­
ну из важнейших ролей. Качество ра­
0 Т С О (Total C o s t of O w n e r s h i p ) - сово­ нативных вложений.
боты IT-отдела целиком и полностью
зависит от разносторонности знаний купная стоимость владения. Методи­ Z Gartner - международное аналити­

его работников, их доброй воли и же­ ка, предназначенная для определе­ ческое агентство. Основная специа­

лания работать. Бизнес-руководство ния затрат на и н ф о р м а ц и о н н ы е сис­ лизация - информационные техноло­

оценивает это самое качество по се­ т е м ы (и н е т о л ь к о ) , р а с с ч и т ы в а ю щ и х с я гии. Пользуется большим авторитетом

бе («работает ли мой компьютер»), мо­ на всех э т а п а х ж и з н е н н о г о ц и к л а сис­ и в е с о м в м и р е ИТ.

бильности сотрудников («сегодня про­ темы. Не путать со стоимостью про­ 0 MIT (Massachusetts Institute of
граммного обеспечения, которая со­ Technology) - Массачусетский техно­
граммист десять раз приходил, хоро­
с т а в л я е т о б ы ч н о от 6 % до 2 0 % о б щ е й логический институт. Мекка компью­
ший работник»). Сам IT-отдел не име­
ТСО-системы. терных технологий, мировой лидер
ет бюджета, деньги выделяют по мере
надобности по остаточному принципу. 0 KPI (Key Performance Indicator) - клю­ в области науки и техники, новатор

Эти траты воспринимаются бизнесом чевой индикатор производительности. в областях робототехники и искусст­
Характеристика эффективности биз­ венного интеллекта.
как неизбежное зло, которое надо тер­
петь (не всегда молча). н е с - п р о ц е с с о в и р а б о т ы к а ж д о г о от­ 0 MOF (Microsoft Operations Framework) -
д е л ь н о г о с о т р у д н и к а . Н а б о р KPI ч а щ е р у к о в о д с т в о по д о с т и ж е н и ю н е о б х о д и ­
Юность: самоосознание всего уникален для к а ж д о г о предприя­ мого уровня надежности, доступнос­
Постепенно IT-система всё глубже про­ тия и конкретной должности. Пример ти, удобства с о п р о в о ж д е н и я и управ­
никает в бизнес-процессы предприя­ KPI - в р е м я о т к л и к а н а з а я в к у д л я и н ­ ляемости р е ш е н и й на базе продук­
тия, и руководство начинает понимать, женера службы поддержки. тов Microsoft. О с н о в а н о на п р о и з в о д с ­
что в случае сбоев в IT фактически па­ 0 ROI (Return O n Investment) - окупае­ т в е н н ы х м е т о д и к а х , с о б р а н н ы х в IT
рализуется весь бизнес или важная его мость инвестиций. Метод оценки ин­ I n f r a s t r u c t u r e L i b r a r y (ITIL), с о с т а в л е н н о й
часть. С этого момента термин «авто­ вестиционных проектов, когда важ­ Central Computer and Telecommunications
матизация» приобретает в а ж н е й ш е е нейшим критерием приемлемости вы­ Agency - Агентством правительства Ве­
значение, а сам IT-отдел или получа­ ступает продолжительность периода, ликобритании.
ет в качестве куратора одного из пер­
вых лиц, или статус руководителя IT-от­ не выделили. На этом ж е этапе начина­ (оборудование + программное обеспе­
д е л а п о в ы ш а е т с я до с о о т в е т с т в у ю ­ ют появляться документы, регламенти­ чение), используя для этого подручные
щего уровня. С этого момента IT-сис­ рующие деятельность сотрудников от­ средства, например Excel или Access.
тема входит в следующую фазу свое­ д е л а - д о л ж н о с т н ы е инструкции, поло­ При всём этом IT-отдел не располагает
го развития. жение об отделе и т. п. Эти документы четким бюджетом на автоматизацию,
Численность персонала IT-отдела редко к о н к р е т н ы и о г р а н и ч и в а ю т с я з а к у п к а п р о г р а м м н ы х продуктов ча­
растет, наблюдается деление по функ­ фразами о «поддержке работы сети», ще всего не планируется, а происходит
циональному признаку внутри самого «поддержке пользователей» и так да­ под влиянием сиюминутных настрое­
отдела. Чаще всего появляются две лее. Апеллируя к этому документу, со­ ний сотрудников или руководства. От­
группы: одна занимается оборудовани­ трудники IT-отдела начинают о т к а з ы ­ сутствие системного подхода приво­
ем и системным программным обеспе­ ваться от ремонта кофеварок и прочих дит к п р о б л е м а м и с п о л ь з о в а н и я но­
чением, вторая - непосредственно биз­ важнейших элементов офисного быта, вых продуктов, так как IT-система час­
нес-приложениями. Сотрудники отдела доказывая, что они не входят в понятие то не готова к внедрениям. Компания
сидят в отдельном помещении, часто «1Т» (впрочем, с разной степенью ус­ о к р у ж е н а большим количеством пос­
совмещенной с сервернной и прочим, пешности). Параллельно бухгалтерско­ тавщиков продуктов или услуг в сфе­
так как отдельной серверной комнаты му, в IT-отделе начинают учёт средств ре IT, с к а ж д ы м из которых заключен
с о в о к у п н о с т ь отдельных п р о д у к т о в

Цьпгр
нитрит
Хаос в данных;
шшП Н Инфраструктура,
и технологий, а как систему информа­
ционных сервисов и услуг. Начинает
меняться структура самого 1Т-отдела:
вместо деления по технологиям начи­
нается деление по сервисам и техноло­
неавтомати­
гиям бизнеса. Формируется четкое ви­
Стандартизованная оптимизированная
зированные Полностью для решения дение места IT-отдела на предприятии:
инфраструктура для
развернутая и пользовательских
процессы; коммуникаций и в первую очередь создается пакет до­
храненияданных с управляемая задач;
нескоордини-
рованная ограниченными инфраструктура предсказуемые кументов, ясно о п р е д е л я ю щ и й пере­
возможностями уровни
инфраструктура обслуживания чень услуг, сервисов, а т а к ж е уровень
управления
их поддержки и качества функциони­
рования. Иными словами, появляется
Базовый Стандартизованный Усовершенствованный i i Ш
Динамический
уровень уровень уровень уровень SLA. На его основании меняются от­
ношения с в н е ш н и м и п о с т а в щ и к а м и
Рисунок 1 . Уровни з р е л о с т и I T - и н ф р а с т р у к т у р ы в модели M i c r o s o f t и п о д р я д ч и к а м и , а и с п о л н е н и е ими
договорных обязательств и качество
отдельный договор поставки и/или ока­ Несмотря на то что на данном эта­ оказываемых ими услуг жестко конт­
зания услуг, но эти документы прочи­ пе развития IT-отдел является самосто­ ролируются. Часто вводится система
тываются только на этапе подписания ятельной единицей с п о я в и в ш и м и с я KPI, определяющая качество работы
IT-руководителем, далее складывают­ бизнес-процессами, вся инфраструк­ отдела в целом и отдельных его работ­
ся в папочку и хранятся на полке. И ес­ тура еще работает нестабильно. Веро­ ников в частности. Вложения в IT начи­
ли работа поставщиков оборудования ятность серьезных сбоев с полной бло­ нают рассматриваться как инвестиции
и программных продуктов контролиру­ кировкой наиболее важных подсистем со всеми вытекающими последствия­
ется, то о поставщиках услуг вспоми­ велика. В первую очередь это связано ми: считается коэффициент возврата
нают только тогда, когда возникают со­ с тем, что 80-90% всей работы отдела ROI, считается совокупная стоимость
ответствующие проблемы. являет собой реакцию на изменения, владения ТСО, а принятие решений
Рядовые сотрудники компании зна­ в том числе на свершившиеся риски. об инвестировании в IT может считать­
ют работников IT-отдела у ж е не как ся по и н в е с т и ц и о н н ы м з а к о н а м , на­
Планирование изменений, управле­
«программистов» или «компьютерщи­ пример, на основании N P V , IRR-коэф-
ние рисками (особенно превентивное)
ков», а по именам. Вообще говоря, са­ фициентов. Управление рисками осу­
не ведется. Ф а к т и ч е с к и IT-отдел идет
ми работники IT находятся в положе­ ществляется в полном объеме. Ф о к у с
на поводу у ситуации. Однако, л и к в и ­
нии богов, называя остальных «ламе- работы IT-отдела перемещается от ре­
д и р о в а в эти н е д о с т а т к и , м о ж н о д о ­
рами», «юзверями» и так далее. Рядо­ акций на проблемы к их предвидению
биться серьезных прорывов в области
вой «ламер» крайне неохотно обраща­ и предупреждению. Полноценно функ­
обеспечения отказоустойчивости ин­
ется в IT-отдел, боясь отвлечь важных ционирует служба поддержки - крите­
формационных служб и сервисов.
людей от серьезных дел. Тем не ме­ рием ее работы становится время ре­
нее в отделе появляется служба под­ Зрелость: партнёры акции на обращение, а т а к ж е способ­
держки (HelpDesk), использующая про­ по бизнесу ность прогнозирования поведения сис­
с т ы е с р е д с т в а а в т о м а т и з а ц и и с в о ­ Третий этап развития IT-системы на­ темы. Ведется чёткое планирование
ей работы или обходящаяся вообще ч и н а е т с я т о г д а , к о г д а б и з н е с - р у к о ­ развития IT, которое увязано с разви­
без них (журнальная форма). Систе­ водители перестают считать деньги, тием бизнеса. Причем планы составля­
мы о ц е н к и к а ч е с т в а работы отдела потраченные на провода - коммута­ ются в краткосрочной, среднесрочной
не существует, так как никто не зна­ т о р ы - серверы - п р и л о ж е н и я , а на­ и долгосрочной перспективах.
ет, как его считать. К а к правило, ис­ чинают задавать совершенно другие Если подвести краткий итог, то мож­
пользуют два самых простых выхода; вопросы. Сколько будет стоить сокра­ но сказать следующее. Информацион­
во-первых, самому IT-отделу предла­ щение времени восстановления базы ная система предприятия находится
гают оценить качество своей работы; данных до пяти минут? Сколько стоит под постоянным давлением. С одной
во-вторых, используют формальный пятнадцать минут «простоя» менедже­ стороны, на нее давит бизнес, который
к р и т е р и й , н а п р и м е р к о л и ч е с т в о об­ ра по продажам? К а к у ю прибыль мы рассматривает IT к а к элемент обес­
ращений в службу поддержки. А пос­ получим от внедрения с и с т е м ы дис­ печения бизнес-процессов. С другой
к о л ь к у б о л ь ш о е к о л и ч е с т в о з а я в о к танционного обслуживания клиентов? стороны - есть технологические тре­
на поддержку часто считается сигна­ Иными словами, требования бизнеса бования, которые т а к ж е надо соблю­
лом о плохой работе всего отдела, ре­ к IT растут, а IT-отдел воспринимается дать. Таким образом, информационная
гистрируются только серьезные сбои, не как обслуживающая единица, а как система неизбежно будет развиваться,
которым присваиваются приоритеты. полновесное бизнес-подразделение, а вот каким будет это развитие, в боль­
Всё остальное делается по-старинке. и развитие бизнеса без развития ин­ шей степени зависит от вас. Конечно,
Итог - отсутствие достоверной инфор­ формационных технологий невозмож­ методом проб и ошибок можно достичь
мации о работе IT-системы в целом. но. IT начинают рассматривать не как нужного результата, но сколько нужно
проб и сколько нужно сделать ошибок! ш и н с т в е случаев первоначально су­ нию могут носить общий характер т и ­
Каковы цели развития? Давайте опре­ ществующий уровень развития ин­ па «внедрите систему резервного ко­
делим их следующим образом: формационной системы относят к од­ пирования». Если вас интересует при­
• с о к р а щ е н и е совокупной стоимос­ ному из с т а н д а р т н ы х . Н а п р и м е р , вязка к конкретным продуктам - реше­
ти владения 1Т-инфраструктурой у Gartner таких уровней шесть, от ну­ ниям, то можно получить и такие реко­
(включая сервисные затраты и по­ левого Survival (Выживание) до пято­ мендации тоже.
тери времени пользователей); го Business Partner (Бизнес-партнёр). Чем это удобно? В о - п е р в ы х , вы
1 повышение гибкости и н ф о р м а ц и ­ У Microsoft, которая сделала свою мо­ получите о б ъ е к т и в н у ю о ц е н к у т е к у ­
онной с и с т е м ы для о б е с п е ч е н и я дель о п т и м и з а ц и и и н ф р а с т р у к т у р ы щего состояния вашей информаци­
возможности поддержки растущих на базе материалов Gartner, MIT, MOF, онной системы. Во-вторых, сможе­
требований бизнеса; уровней получилось четыре: от базо­ те спланировать направления ее раз­
• повышение удовлетворенности вого до динамического. Принцип рабо­ в и т и я на у р о в н е р е ш е н и й - с е р в и ­
п о л ь з о в а т е л е й за счет у в е л и ч е ­ ты с такими моделями несложен. Сна­ сов - служб - продуктов. Это позво­
ния надежности и удобства рабо­ чала надо определить т е к у щ и й уро­ лит снизить степень хаоса и взять про­
ты с 1Т-приложениями. вень зрелости (развития) IT. Сделать цесс эволюции вверенной вам систе­
это м о ж н о р а з н ы м и с п о с о б а м и , на­ мы под контроль. Для к а ж д о г о уров­
Для того чтобы развитие информа­ пример, заполнив опросник. В резуль­ ня в модели прописаны преимущест­
ционных систем было эволюционным тате вы сможете получить как общую ва, которые компания может получить,
и управляемым, различные компании оценку развития вашей и н ф о р м а ц и ­ достигнув этого самого уровня. Обра­
разрабатывают различные методоло­ онной системы в целом, так и по от­ тите внимание, чаще всего это бизнес-
гии, которые могут быть использова­ дельным решениям (например, базо­ преимущества. То есть это часть до­
ны вами для определения путей раз­ вая инфраструктура, инфраструктура кумента, на которую можно опирать­
вития. Давайте посмотрим, что из это­ платформы приложений, инфраструк­ ся в р а з г о в о р е с б и з н е с о м . В а ш е м у
го получается. тура бизнес-процессов). Процесс раз­ генеральному или ф и н а н с о в о м у д и ­
вития IT видится как управляемый пе­ р е к т о р а м с о в с е м н е и н т е р е с н о раз­
Пути развития реход с уровня на уровень путем внед­ бираться в хитросплетениях в з а и м о ­
рения с о о т в е т с т в у ю щ и х технологий действия серверов, протоколах и так
Существует несколько подходов к оп­
и решений. Рекомендации по внедре­
т и м и з а ц и и и н ф р а с т р у к т у р ы . В боль­ далее. Но с н и ж е н и е с е б е с т о и м о с т и ,

Самый удобный способ


приобретения ПО
Интернет-супермаркет
программного обеспечения

К р у г л о с у т о ч н ы й

и н т е р н е т - с у п е р м а р к е т

п р о г р а м м н о г о

о б е с п е ч е н и я

www.softkey.ru

Т е л е ф о н :

+7 (495) 661-3243

А

Не м о г у с к а з а т ь , ч т о п е р е х о д
Квалификация пользователей на с т а н д а р т и з о в а н н ы й у р о в е н ь п р и ­
ведет к р а д и к а л ь н о м у с о к р а щ е н и ю
SOA и б и з н е с - п р о ц е с с ы 3S IS ТСО. Скорее можно говорить о пере­
5S S
55 Ъ
х
ъ и распределении средств внутри IT-бюд-
Л V- X 01
э- жета, так как изменится сама структу­
со Q. .0
Управление данными ГО с: 5
о сг го S
ра затрат, а освобождаемые средства
т X х
м о ж н о будет потратить на р е а л и з а ­
гз го О
S
го
Ш X
Бизнес-аналитика я- цию более эффективных политик уп­
го S
О. равления IT.
На р а ц и о н а л и з и р о в а н н о м у р о в ­
Разработка
не зрелости IT-инфраструктуры пред­
Рисунок 2 . Модель оптимизации инфраструктуры платформы приложений приятия з а т р а т ы на у п р а в л е н и е на­
стольными компьютерами и сервера­
увеличение количества и качества В инфраструктуре стандартизиро­ ми сводятся к минимуму, а процессы
предоставления услуг и внутри компа­ ванного уровня появляются четко опре­ и политики начинают играть в а ж н у ю
нии, и для ее клиентов или партнёров - деленные точки управления благодаря роль в поддержке и расширении биз­
это они понимают прекрасно. Рекомен­ применению стандартов и политик ад­ неса. В з а щ и т е о с н о в н о е в н и м а н и е
дации, которые вы сможете получить, министрирования настольных компью­ уделяется п р о ф и л а к т и ч е с к и м мерам,
работая с моделями оптимизации, по­ теров и серверов, правилам подключе­ и на любые угрозы безопасности ор­
могут вам найти нужные аргументы ния машин к сети, управления ресур­ ганизация реагирует быстро и пред­
и правильно построить разговор о вы­ сами на основе Active Directory, поли­ сказуемо.
делении средств, например. тикам безопасности и управлению до­ Применение развертывания по при­
ступом. Организации с инфраструкту­ нципу Zero touch (полностью автомати­
Откуда и куда идти... рой уровня «Стандартизованный» эф­ зированное развертывание, с мини­
Как я у ж е упоминал, модель оптими­ фективно используют преимущества м а л ь н ы м у ч а с т и е м операторов) м и ­
зации инфраструктуры от Microsoft де­ базовых стандартов и политик, но все нимизирует расходы, время установ­
лит уровни зрелости IT на четыре уров­ еще реагируют на проблемы, только ки обновлений и вероятность техни­
ня (см. р и с . 1 ) . когда они уже явно проявились. Обнов­ ческих проблем. Количество образов
IT-инфраструктура базового уров­ ления или развертывание новых при­ систем (images) минимально, и процесс
ня зрелости характеризуется наличи­ ложений/служб требуют обычно уме­ у п р а в л е н и я настольными к о м п ь ю т е ­
ем б о л ь ш о г о количества процессов, ренных усилий и затрат (расходы иног­ рами требует совсем небольших уси­
выполняемых вручную, минимальной да могут быть по-прежнему достаточ­ лий. В организации создана база дан­
централизацией управления, отсутс­ но высокими). Однако в таких органи­ ных с исчерпывающей информацией
твием (или непродуманностью) стан­ зациях у ж е есть достаточно внятная об аппаратно-программном обеспече­
дартов и политик безопасности, резер­ база инвентарной информации об ап­ нии, поэтому закупаются лишь те ли­
вного копирования, управления обра­ паратно-программном обеспечении, цензии и компьютеры, которые дейс­
зами систем, а также несоблюдением и они начинают управлять лицензия­ твительно нужны.
других стандартов IT. В организации ми. З а щ и т а от внешних угроз усили­
О р г а н и з а ц и и со с т а н д а р т и з о в а н ­
нет ч е т к о г о п о н и м а н и я д е т а л е й су­ вается благодаря б л о к и р о в а н и ю пе­
ным у р о в н е м и н ф р а с т р у к т у р ы выиг­
щ е с т в у ю щ е й инфраструктуры и зна­ риметра сети, но внутренняя безопас­
р ы в а ю т от п е р е х о д а на р а ц и о н а л ь ­
ния того, какая т а к т и к а ее модерниза­ ность пока оставляет желать лучшего.
ный уровень, получая гораздо боль­
ции даст наибольший эффект. Переход на стандартизованный уро­
ший контроль над и н ф р а с т р у к т у р о й ,
вень с базового может дать следую­
Работоспособность приложений а т а к ж е политики и процессы для уп­
щий выигрыш:
и служб в целом неизвестна из-за от­ реждающего реагирования на различ­
сутствия подходящих инструментов Ш появляется возможность разработ­ ные ситуации - от изменения рыноч­
и р е с у р с о в . М е х а н и з м а о б м е н а на­ ки стандартов и политик, а также ной конъюнктуры до стихийных бедс­
копленными знаниями между отдела­ стратегии их применения; твий. И здесь можно говорить о сниже­
ми нет. Организациям с базовым уров­ S снижаются риски, связанные с бе­ нии ТСО, так как автоматизация работ
нем инфраструктуры крайне сложно зопасностью, за счет создания эше­ как IT-отдела, так и работников пред­
управлять своими средами, их расхо­ лонированной обороны (это подход приятия переходит на качественно дру­
ды на управление персональными ком­ к обеспечению безопасности на не­ гой уровень.
пьютерами и серверами чрезвычайно скольких уровнях: по периметру сети И, наконец, высший - динамичес­
высоки, они легко уязвимы перед лю­ и на уровнях серверов, персональ­ кий - уровень. На предприятии с ^ - и н ­
быми у г р о з а м и безопасности, а биз­ ных компьютеров и приложений); фраструктурой, достигшей динамичес­
нес получает от IT очень малую выго­ Ш автоматизируются многие ручные кого уровня зрелости, существует пол­
ду. Л ю б ы е обновления или разверты­ и длительно выполняемые опера­ ное п о н и м а н и е с т р а т е г и ч е с к о й цен­
вание новых приложений/служб требу­ ции как в с а м о м IT-отделе, так и ности этой инфраструктуры, которая
ют больших усилий и затрат. на предприятии. помогает э ф ф е к т и в н о вести бизнес ^>
К О М П А Н И Я т т к
циями (см. р и с . 3 ) . Обычно выделя­
ют такие составляющие, как управ­
ление содержимым (в том числе ин-
транет-порталы), решения по ана­
лизу бизнес-данных, корпоратив­
ный поиск, объединенные коммуни­
кации и совместная работа (элек­
тронная почта, аудио- и видеокон­
ференции, обмен мгновенными со­
общениями и др.).
• Б а з о в а я и н ф р а с т р у к т у р а - вклю­
чает решения, помогающие компа­
Рисунок 3. Модель оптимизации б и з н е с - и н ф р а с т р у к т у р ы
ниям разработать гибкую, эффек­
тивную, надежную и безопасную
основу [Т-среды (см. р и с . 4 ) . Наибо­
Управление доступом лее з н а ч и м ы м и с о с т а в л я ю щ и м и
и идентификацией данной категории являются управ­
| f
ление правами и доступом, созда­

Динамический
Рациональный
Craiчдартный
ние резервных копий и восстанов­
Б е з о п а с н о с т ь и о р г а н и з а ц и я сетей
ление данных, управление установ­
Базе(ВЫЙ

\
1 кой и мониторинг ПО, обеспечение
информационной безопасности.

К какому уровню зрелости относит­


У п р а в л е н и е н а с т о л ь н ы м и ПК,
ся инфраструктура вашего предприя­
серверами и устройствами
тия, вы можете определить сами (к со­
жалению, при условии знания англий­
Рисунок 4. Модель оптимизации базовой инфраструктуры
ского языка). Для этого вам надо от­
и постоянно опережать конкурентов. IT-инфраструктура с р а ц и о н а л ь н ы м крыть сайт http://www.microsoftio.com.
Все расходы под полным контролем, у р о в н е м дает м а с с у п р е и м у щ е с т в : На этом сайте есть разделы, посвя­
пользователям доступны необходи­ организация становится способной щенные каждой из трех категории оп­
мые в их работе данные, на каких бы к внедрению новых или альтернатив­ тимизации. В к а ж д о м из разделов вы
серверах они ни находились, организо­ ных технологий, необходимых для ре­ найдете опросник. Заполнив его, вы
вана эффективная совместная работа шения новых бизнес-задач или целей, сможете увидеть, на каком уровне зре­
на уровне как сотрудников, так и отде­ выигрыш от достижения которых зна­ лости находится ваша 1Т-инфраструк-
лов, а мобильные пользователи полу­ чительно перевешивает дополнитель­ тура, а т а к ж е получить рекомендации
чают практически тот же уровень об­ ные расходы. в выборе направлений развития ва­
служивания, что и в офисах. Помимо деления на четыре уровня шей IT-системы в будущем. По-моему,
Процессы полностью автоматизи­ зрелости также существуют три кате­ весьма полезно!
рованы и з а ч а с т у ю в к л ю ч е н ы непо­ гории анализа. Знаете, сколько IT-систем России
средственно в IT-системы, что позво­ • Инфраструктура платформы находятся на базовом уровне зрелос­
ляет управлять этими системами в со­ п р и л о ж е н и й - содержит реше­ ти? Более 6 0 % . Это означает, что воз­
ответствии с потребностями бизнеса. ния, п о м о г а ю щ и е IT-отделам пре­ м о ж н ы й п о т е н ц и а л этих с и с т е м ис­
Дополнительные инвестиции в техно­ доставить технологии и средства пользуется на 20-30%. И тут всё нахо­
логии дают быструю и заранее просчи­ для п о д д е р ж к и у п р а в л е н и я б и з ­ дится в ваших руках. Модели оптими­
тываемую отдачу для бизнеса. несом и рабочими процессами з а ц и и п о м о г у т вам о б ъ е к т и в н о оце­
Применение ПО с автоматическим (см. р и с . 2 ) . В качестве примеров нить существующее положение вещей
обновлением и систем с поддержкой можно привести решения по орга­ и определить пути развития и вашей
к а р а н т и н а , г а р а н т и р у ю щ и х коррект­ низации д о к у м е н т о о б о р о т а , ERP- и н ф о р м а ц и о н н о й системы, и вас са­
ное управление обновлениями и со­ решения, системы управления эф­ мих. Хотите оставаться «программис­
ответствие установленным политикам фективностью деятельности, раз­ том» или «компьютерщиком» - ниче­
безопасности, позволяет организаци­ работка специализированных при­ го не делайте. Хотите стать замести­
ям с динамическим уровнем 1Т-инфра- ложений для пользователей и др. телем генерального по информацион­
структуры автоматизировать процес­ • Б и з н е с - и н ф р а с т р у к т у р а - техно­ ным технологиям, директором депар­
сы, одновременно повышая их надеж­ логии, помогающие пользователям тамента или 1Т-директором - пробуй­
ность. Это же способствует сокраще­ находить нужные данные, анализи­ те! У вас получится, ф
нию расходов и увеличению уровней ровать их и сотрудничать как внут­
обслуживания. ри одной компании, так и между В статье использованы иллюстрации
Достигнув динамического уровня, различными странами и организа­ с сайта http://www.microsoftio.com.
Легализация ПО. Цена ошибки
Одной из наиболее актуальных проблем в работе современной компании является
технологический фактор и, в частности, вопросы с программным обеспечением,
лицензирование которого сложный и затратный процесс. Часть ошибок совершают
сотрудники IT-отдела компании, но самым опасным является некомпетентность в вопросах
лицензирования тех, кто специализируется на внедрении ПО.

Ошибки в легализации. рению. Не покупайте лишнего, ищите чие именно таких подтверждений и сви­
Как распознать? компетентных и внимательных продав­ детельствует о том, что специалистам
Распространённой о ш и б к о й , вытека­ цов и консультантов. Softway можно доверить столь важный
ющей из стремления подобных к о м ­ этап в истории вашей компании.
паний экономить средства заказчика, Ваш поставщик Одни из самых недавних достиже­
является неграмотный и опасный под­ программного ний компании Softway - получение вы­
ход к внедрению. Это, например, уста­ обеспечения. сокого статуса от Microsoft и авториза­
новка OEM-версий программ на уже Критерии выбора ция у компании Autodesk. Gold Certified
имеющиеся персональные компьюте­ Исходя из обозначенных проблем воп­ Partner Microsoft - знак высокой оцен­
ры, впоследствии приводящая компа­ рос выбора сертифицированного, гра­ к и п о т е н ц и а л а к о м п а н и и на 1Т-рын-
нию к огромным проблемам. Назначе­ мотного п о м о щ н и к а и консультанта ке, а также неоспоримое профессио­
ние OEM-версий совершенно иное. Та­ по п р о д а ж е , в н е д р е н и ю л и ц е н з и о н ­ нальное признание качества работы
кое программное обеспечение может ного ПО особо актуален. В софтвер­ сотрудников. Получение авторизации
быть установлено только на новом ПК ном бизнесе серьезными и професси­ у ключевого производителя решений
перед процессом его продажи. Покуп­ ональными компаниями могут считать­ САПР, компании Autodesk, - это след­
ка OEM-версий без ПК - это такое же ся н е м н о г и е - л и ш ь те, которые офици­ ствие признания высокого профессио­
уголовно н а к а з у е м о е преступление, ально авторизованы у производителей нального уровня сотрудников компании
как и использование пиратского про­ программного обеспечения и гаранти­ Softway: прошедшие обучение и серти­
г р а м м н о г о обеспечения. Это грозит руют компетентность специалистов по ф и к а ц и ю в Autodesk сотрудники ока­
ш т р а ф а м и , п р и о с т а н о в к о й деятель­ продажам, консультированию и внед­ зывают всестороннюю качественную
ности компании, а далее - новыми за­ рению программных продуктов. консультационную и техническую под­
тратами на уже «правильную» легали­
Сотрудники компании Softway, де­ д е р ж к у по лицензированию и внедре­
зацию ПО при помощи профессиона­
монстрируя комплексный подход к про­ нию продуктов для своих клиентов.
лов в этой области.
цессу легализации ПО, отмечают необ­ Добавим, что Softway также являет­
В процессе легализации также сто­ ходимость проведения аудита имеюще­ ся официальным сертифицированным
ит обращать внимание на то, что цены гося программного обеспечения непо­ партнером большинства мировых про­
з н а ч и т е л ь н о н и ж е р ы н о ч н ы х зачас­ средственно перед закупкой программ изводителей ПО.
тую м о г у т предлагать только недоб­ и оценки целесообразности приобрете­ Смотрите более подробную инфор­
росовестные компании, устанавли­ ния тех или иных программных средств. мацию на сайте компании: http://www.
в а ю щ и е нелицензионный и некачес­ Далее необходимо уделить особое вни­ softway.ru.
твенный продукт. Требуйте у консуль­ мание выбору схемы лицензирования Статья п о д г о т о в л е н а на о с н о в а ­
тантов сертификаты от производите­ в н е п р е р ы в н о м контакте с с е р т и ф и ­ нии о т ч е т о в отдела п р о д а ж к о м п а ­
ля, это спасёт от о ш и б к и . цированными специалистами. Не сто­ нии Softway. ф>
Любое программное обеспечение ит объяснять, что эту непростую проце­
н е о б х о д и м о у с т а н а в л и в а т ь в соот­ дуру могут провести только те сотруд­ Дмитрий Жеряков,
ветствии с конкретными бизнес-зада­ ники, чей профессиональный уровень Руководитель департамента
чами компании. И если для э ф ф е к т и в ­ подтверждён центрами обучения и сер­ развития
ной работы сотрудников вашей к о м ­ тификации производителей ПО. Нали­ На правах рекламы.
пании достаточно стандартного паке­
та Office, то незачем покупать Office
Professional, который вам предлагает лицензионное программное обеспечение
менеджер софтверной компании. Це­
ной т а к о г о не столь глубинного под­
хода может стать переплата за избы­
точную ф у н к ц и о н а л ь н о с т ь п р о г р а м ­
(495) 987 Ю 50
мных к о м п о н е н т о в . То ж е с а м о е ка­
сается и количества л и ц е н з и й , пред­
лагаемых вам специалистом по внед­
Щ ш ш ш . s o f t i u a y . r u
Модификация дистрибутивов
на основе Windows Installer

Возможность модификации дистрибутивов на основе Windows Installer всегда прельщала


системных администраторов и специалистов системной поддержки. Рассмотрим один
из компонентов Windows Installer Resource Kit - orca.exe. Эта утилита специально разработана
для решения задач такого рода.

Р
ешение задач автоматической т а л л я ц и и Windows Installer. Получив тор может создавать пакеты для авто­
у с т а н о в к и п р о г р а м м н о г о обес­ возможность изменить пакет инстал­ матической установки, не используя
печения не ограничивается ис­ ляции, доступ к базе данных всех па­ внешние файлы, содержащие различ­
п о л ь з о в а н и е м к л ю ч е й с и с т е м ы инс­ раметров дистрибутива, администра­ ные настройки.
Уделим внимание п р о г р а м м н о м у Таблица 1 . Параметры командной с т р о к и m s i e x e c . e x e
управлению базой данных, хранящей­ Параметр Описание
ся в msi-файлах. Л Установка приложения в обычном режиме
/f[ploleldlclalulmlslv] Переустановка приложения. Если задан только ключ Л, то имеется в виду команда /fpecsm:
Windows Installer р - восстановление удаленных файлов;
о - обновление до более новой версии;
Это сервис у с т а н о в к и и к о н ф и г у р и ­ е - полная переустановка приложения той же версии;
рования программных продуктов, ко­ d - восстановление удаленных файлов и перезапись файлов более старой версии;
с - восстановление удаленных файлов или перезапись файлов, если CRC (контрольная
торый входит в состав операционной сумма) установленных файлов не совпадает с CRC файлов в дистрибутиве;
системы. Также он может устанавли­ а - переустановка всех файлов;
и - перезапись всех ключей реестра, касающихся данного приложения в ветвях HCKU, HCU;
ваться как пакет обновления или от­ m - перезапись всех ключей реестра, касающихся данного приложения в ветви HCLM;
дельный дистрибутив. s - перезапись всех ярлыков
В настоящее время использу­ /а Выполнение административной установки приложения
ется W i n d o w s Installer 4.5, к о т о р ы й /X Деинсталляция продукта
можно бесплатно загрузить с сай­ Управление публикацией программного продукта;
/j[ulm[/g]]
та Microsoft в виде з а п л а т к и (hotfix) и - публикация для текущего пользователя;
m - публикация для всех пользователей;
К В 8 4 2 2 8 8 - http://download.microsoft. g - идентификатор языка (управление установкой языкового интерфейса)
com/download/2/6/1/261fca42-22c0-
/q[nlblrlf] Определение уровня пользовательского интерфейса во время установки:
4f91-9451-0e0f2e08356d/WindowsXP- п - отсутствие интерфейса;
KB942288-v3-x86.exe. b - базовый интерфейс (по умолчанию);
г-сокращенный интерфейс;
Windows Installer, как и любое дру­ f - полный пользовательский интерфейс
гое быстрое исправление, поддержи­
вает ряд к л ю ч е й к о м а н д н о й с т р о к и , по адресу - http://download.microsoft. ный номер продукта, изменить выво­
обеспечивающих управление автома­ com/download/7/c/4/7c426dfc-46e2- димые сообщения и др.
тической установкой пакета: 4ded-bab4-3b33600ad7d1/msi45sdk.msi, Установка orca.exe осуществляет­
• / n o r e s t a r t - не перезагружать ком­ используется для различного рода ма­ ся в п а п к у %:ProgramFiles%\Orca за­
пьютер после установки обновле­ нипуляций с MSI-файлами. пуском файла orca.msi.
ния; По у м о л ч а н и ю к а т а л о г у с т а н о в ­
• / q u e i t - выполнить установку в «ти­ ки п а к е т а W i n d o w s Installer S D K - Orca.exe
хом» режиме; %ProgramFiles%\Windows Installer 4.5 Запуск программы осуществляется че­
• / h e l p - вывод справки на экран, со­ SDK. рез «Пуск -> Программы -> orca.exe»
держащей ключи и их краткое опи­ В его комплекте несколько утилит, (см. р и с . 1 ) . После у с п е ш н о г о запус­
сание. в том числе дистрибутив программы ка приложения необходимо открыть
ORC, расположенный в папке Tools. m s i - ф а й л , к о т о р ы й н е о б х о д и м о мо­
Файл msiexec.exe дифицировать. В данном случае в ка­
Д в о й н ы м щ е л ч к о м м ы ш и по ф а й л у Orca.msi честве о п ы т н о г о о б р а з ц а и с п о л ь з о ­
с расширением *.msi осуществляется Программа orca.exe, дистрибутив кото­ вать д и с т р и б у т и в AcdSeelO - ф а й л
запуск утилиты: рой находится в папке %ProgramFiles%\ ACDSee 10 Photo Manager.msi, находя­
Windows Installer 4.5 SDKYTools, предна­ щийся в каталоге c:\ACDSee.
%SystemRoot%\System32\msiexec.exe J значена для модификации ".msi-фай- З а м е ч а н и е : дистрибутив ACDSee
/ i *.msi
лов. С помощью этой утилиты можно 10 представляет собой *.ехе-файл - ар­
В т а б л и ц е 1 приведен список часто не только управлять устанавливаемы­ хив, который при запуске распаковы­
используемых параметров командной ми компонентами, но и указать серий­ вает msi-файл в папке C:\Documents
строки, обеспечивающих автоматичес­
кую установку приложения.
File ErJt Tables Transform Tools View Help
Обычно для установки приложения
в автоматическом режиме использу­ II Value £.
1 ables Property
ют команду: MsiAssembly [ [l]
Ms Assembly Name Registration No —J
MsiDigitalCertificate UpgradeCode {861CF740-088D-45S3- A362-24CF49252351}
%SystemRoot%\System32\msiexec.exe J Ms. Fi eHash AILUSERS 1
/ f a /qn /jm *.msi MsiPatchCertificate PORT.DWQRD #0
MsiSFCBvpass LAUNCHPROGRAM 1
где *.msi - полный путь к файлу с рас­ 1 Property Y AHOO_TOOL6 AR _IN 5 T AL L 1
RadioButton ApplicationUsers AllUsers
ширением MSI, например:
RegLocator LICEM5E_MODEL Full
Registry Fil e I nil se Process 0
с: \Windows\system32\msiexec.exe J RemoveFile AgreeToLicense No
/ f a / q n / j m "acdseelO.msi" Shortcut L1 E_D I AL 0 G_COMP A N Y 0
Signature JsMaintenance Change
SxsMsmGenC omponents RestartManager Option
TextStyle IS_SQL5ERVER_U5ERNAME
Windows Installer SDK UIText * - ^
Пакет утилит, который можно загрузить i M
Tables: 65 Property -129 rows
No column is selected,
бесплатно с сайта компании Microsoft, Рисунок 1 . Внешний вид утилиты o r c a . e x e
^JOJXJ
File Edit Tables TransForm Tools View Help
d|G^1 1 H E l шШ
Щ
Tables N Feature Feature Parent | Title Description Dis... Level Directory Attribu... | A
Binary Media ImageEncodingDecodingPluglns ID_Media Plug-in ID_Media Plug-in 28 8
CheckBox Effects VCDWizard New Feature 1 0 1 IN5TALLDIR 24
ComboBox Welcome VCDWizard NewFeaturel 0 1 INSTALLDIR 24
Component IrnageEncodingDecodingPluglns Image Plug-ins Plug-ins for decoding and encodin...20 8
Condition ACDSee ACDSee 10 Photo Manager The easy way to organize, enhan...2 1 INSTALLDIR 24
Control AlbumGenerator ACDSee 0 1 INSTALLDIR e
Control Condition BuyNowACDSeeTrial ACDSee 0 INSTALLDIR в
ControlEvent DevDetect ACDSee Device Detector USB Camera/Device Detector 10 f 1 INSTALLDIR 8
1
CreateF older VCDWizard MedaSupport NewFeaturel ID* ТГ INSTALLDIR 24
CustomAction ACDSeelnTouch ACDSee 0 1 INSTALLDIR 24
Dialog ACDSeeLicenseMarager ACDSee 0 1 INSTALLDIR 24
Directory ACDSeeMFC71 ACDSee 0 24
Dr Locator ACDSeeShowroom ACDSee ACDSee 10 Showroom ACDSee 10 Showroom 5 1 INSTALLDIR 8
Error ACD5ee5td ACDSee 0 1 INSTALLDIR 24
Even [Mapping CommonVideoComponents VCDWizard NewFeaturel 0 1 INSTALLDIR 24
Feature ACDV Сстгис nVideoConiponenfcs NewFeaturel 0 1 INSTALLDIR 24
FeatureComponents ArchivePluglns Archive Plug-ins Plug-ins for encoding and decodin... 12 8
File ACE ArchivePluglns ACE Archive Extract or Plug-in ACE Decoder 2 3
HelpFile ARJ ArchivePluglns ARJ Archive Extractor Plug-in ARJ Decoder 4 8
HelpFileToNamespace d Adobe ImageEncodingDecodingPluglns Adobe Photoshop File Export Plug-In Abs...Adobe Photoshop File Export Plu,..2 8
i|
Tables: 65 Feature - 72 rows Feature - StringT.381 Key
Рисунок 2 . Создание новых полей в таблице

and Settings\%username%\Local Settings\Application Data\ ции, и с п о л ь з у е м у ю на протяжении всего процесса инс­


Downloaded lnstallations\{0051E50E-CECD-4E04-A71A- талляции. В т а б л и ц е 4 приведена информация о назна­
B8C49733542A}\ACDSee 10 Photo Manager.msi. Именно этот чении таблиц.
файл необходимо открыть утилитой orca.exe.
Orca.exe рассматривает msi-файл как SQL-базу д а н ­ Доступ к msi-файлам программным способом
ных, где msi-файл - это база данных, левая колонка таб­ Для обеспечения программного управления базой данных,
лицы (см. р и с . 2 ) , в которой хранятся различные настрой­ хранящейся в msi-файле, используется шаблон, приведен­
ки и списки. Правая часть - список полей выбранной таб­ ный в л и с т и н г е 1 . Необходимо отметить, что шаблон чтения
лицы с соответствующими значениями. данных отличается от шаблона коррекции данных. О нем
будет рассказано отдельно.
Структура msi-файлов
В базе д а н н ы х п а к е т а с р е д и м н о ж е с т в а т а б л и ц , кото­ Л и с т и н г 1 . Шаблон д о с т у п а к базе в msi-файле

рые можно объединить в группы, выделим самые важные Set obj = CreateObject ( " W i n d o w s l n s t a l l e r . I n s t a l l e r " )
из них: S e t b a s e = o b j . O p e n D a t a b a s e (MSI,Mode)
base.OpenView(SQL-query).Execute
• базовые таблицы; base.Commit
• файловые таблицы;
• таблицы информации о программе. В приведенном шаблоне в первой строке осуществляет­
ся подключение к СОМ-объекту, с помощью которого осу­
Базовые таблицы ществляется доступ к базе данных.
К базовым таблицам относят таблицы, описывающие пара­ На следующей строке осуществляется п о д к л ю ч е н и е
метры работы инсталлятора, устанавливаемые компоненты. к базе данных с п о м о щ ь ю метода OpenDatabase, кото­
Группа состоит из 11 связанных таблиц, краткое описание рый имеет два аргумента. Первый из них - имя базы, ко-
которых приведено в т а б л и ц е 2 .
Таблица 2 . Базовые таблицы MSI Installer
Имя таблицы Краткое описание
Файловые таблицы
Эта группа таблиц содержит информа­ Feature Содержит список всех функций программного продукта

цию обо всех файлах, входящих в ком­ Condition Содержит описание условий, определяющих порядок установки каждой функции,
описанной в таблице
плект поставки программного продук­
FeatureComponents Связывает функции с компонентами
та. Большая часть этих файлов пере­
числена в таблице File. Хотя таблица Component Содержит список всех компонентов приложения
Directory не входит в эту группу, она Directory Содержит список всех каталогов, необходимых для инсталляции
тесно связана с ней, так как отража­ PublishComponent Содержит список функций и компонентов, публикуемых для использования в других
ет структуру каталогов приложения. приложениях

В т а б л и ц е 3 приведен список файло­ Assembly Задает установки для сборок .NET Framework CLR и Win32
вых таблиц и их краткое описание. AssemblyName Задает схему для именования сборок .NET Framework CLR и Win32
Complus Содержит информацию, необходимую для установки приложений COM+
Таблицы информации о программе IsolatedComponent Связывает компонент, заданный в столбце Component_Application (обычно .ехе),
Таблицы этой группы содержат важ­ с компонентом, заданным в столбце ComponenLShared (обычно .dll)

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

с и с т Е м н ы и а д м и н и с т р а т о р

ШШШШт
т о р ы м является полный путь к msi- Таблица 3. Файловые таблицы MSI I n s t a l l e r
файлу. Второй - режим доступа к ба­ Имя таблицы Краткое описание
зе данных: File Представляет собой список файлов, которые будут распакованы в ходе инсталляции.
• 0 - т о л ь к о чтение; Эта таблица связана с таблицей Directory, в которой зафиксирована структура каталогов
устанавливаемого приложения и таблица Component, с помощью которой обеспечивается связь
• 1 - чтение/запись. с компонентами
RemoveFile Содержит список файлов, которые необходимо удалить при выполнении операции RemoveFiles
На третьей - реализовано выпол­
Font Включает в себя список шрифтов, которые необходимо зарегистрировать в операционной
нение задаваемого запроса. SQL-за­ системе
прос з а д а е т с я с п о м о щ ь ю м е т о д а SelfReg Содержит список саморегистрирующихся модулей. Installer не регистрирует ЕХЕ-файлы
OpenView, а в ы п о л н е н и е з а п р о с а -
Media В таблице описывается набор дисков инсталляции
с помощью метода Execute.
Bindlmage Содержит информацию о привязках исполняемых файлов или DLL
Напомним, что в SQL-запросе ре­
MoveFile Содержит список файлов, которые необходимо перенести во время инсталляции из исходного
гистр названия полей и имен таблиц каталога в заданный каталог
имеет значение.
DuplicateFile Содержит список дублируемых файлов либо в другой каталог с тем же именем, что и исходный
В последней строке осуществляет­ файл, либо в тот же каталог, но с другим именем
ся запись сделанных изменений в базе Environment Используется для задания переменных окружения
с помощью команды Commit. Icon Хранит файлы иконок. Каждая иконка этой таблицы во время инсталляции копируется
в отдельный файл на диске
Работа с таблицами в orca.exe MsiFileHash Эта таблица хранит 128-разрядное хэш-значение для исходных файлов в пакете инсталляции
Рассмотрим подробнее структуру
таблиц, с о д е р ж а щ и х с я в msi-файле. Таблица 4. Файловые таблицы программы
О г с а - мини-редактор SQL-таблиц,
Имя таблицы Краткое описание
хранящихся как составная часть дис­ Property Хранятся все свойства пакета инсталляции
трибутива.
Binary Содержатся двоичные данные для иконок, растров и т. п. Также здесь хранятся данные
С полями таблиц баз можно совер­ для пользовательских операций
шать следующие действия: Error Используется для поиска шаблонов форматирования при обработке ошибок. Installer имеет свой
• чтение существующих полей; собственный механизм обработки ошибок
• создавать новые поля; Shortcut Здесь хранится вся информация, необходимая для создания файловых ярлыков
• удалять поля; ReserveCost Эта таблица содержит информацию о необходимом дисковом пространстве для каждого
• изменять поля. компонента приложения

Чтение существующих полей Wscript.Echo Record.StringData(1) + J


Для реализации шаблона поиска используется шаблон vbTab+vbTab+Record.StringData(2)
Loop
(см. л и с т и н г 2 ) , отличный от приведенного в л и с т и н г е 1 . Set View = Nothing
Это объясняется тем, что запись, удаление, з а м е н а осу­
ществляются у единичного поля, а вывод на экран осущест­
вляется для всех полей. Создание новых полей
Т р а н с ф о р м а ц и я л и с т и н г а осуществляется в третьей Создание новых полей используется достаточно часто, на­
строке л и с т и н г а 1 . Она разбивается на две подстроки - пример, для того чтобы записать в дистрибутив программы
это строки 3 и 4 в л и с т и н г е 2 . Здесь разносятся методы ее серийный номер. Для этого необходимо добавить в таб­
OpenView и Execute. лицу Property поле PIDKEY с соответствующим значением,
Далее осуществляется чтение массива строк. Обрати­ содержащим серийным номер продукта. Чтобы добавить
те внимание на то, что в запросе SELECT поля могут быть новое поле, необходимо установить курсор на нужную таб­
перечислены только по именам. Значение «*» в данном лицу (см. р и с . 3 ) и, нажав в произвольной ее части правую
случае не работает. А во время чтения данных необходи­ кнопку мыши, выбрать пункт Add Row или нажать комби­
мо указывать нумерацию полей (Record.StringData(l)), на­ нацию клавиш <CTRL+R>. В появившемся диалоговом ок­
чиная с единицы (1). не будет приведен список доступных полей. Необходимые
В л и с т и н г е 2 п р и в е д е н п р и м е р чтения всех полей значения можно присвоить в этом ж е окне.
(Property, Value) таблицы Property файла ACDSee 10 Photo Аналогичную операцию можно выполнить программным
Manager.msi: способом (см. л и с т и н г 3 ) . Для этого необходимо вызвать
объект Windowslnstaller.Installer. На основе шаблона, приве­
Листинг 2. Чтение полей в указанной таблице денного в л и с т и н г е 1 , сформируем л и с т и н г 3 . В качестве
Set obj = C r e a t e O b j e c t ( " W i n d o w s l n s t a l l e r . I n s t a l l e r " ) второго параметра метода OpenDatabase необходимо ука­
Set ob = obj.OpenDatabase ("C:\ACDSee\ACDSee 10 Photo J зать 1, поскольку выполняется операция записи данных.
Manager.msi",0)
set View=ob.OpenView("SELECT Property, Value FROM J Самым сложным в данном листинге правильно сфор­
Property") мировать запрос. Особенность запроса INSERT INFO за­
View.Execute ключается в том, что в первых по счету скобках, в которых
Do указывается название полей, имя поля должно быть зада­
Set Record = View.Fetch
I f Record I s Nothing Then E x i t Do но с родителем. Все имена параметров в запросе у к а з ы -
ваются без кавычек; все присваиваемые значения - в ка­ S e t b = а.OpenDatabase ( " C : \ a c d s e e \ A C D S e e 10 P h o t o J
вычках и, наконец, названия полей и таблиц чувствитель­ Manager.msi",1)
b.OpenView("DELETE FROM P r o p e r t y WHERE J
ны к регистру. 1
PIDKEY'='1234567890')").Execute
b.Commit
Л и с т и н г 3 . Создание н о в о г о а т р и б у т а в таблице

Set а = C r e a t e O b j e c t ( " W i n d o w s l n s t a l l e r . I n s t a l l e r " )


S e t Ь = a.OpenDatabase ( " C : \ a c d s e e \ A C D S e e 10 P h o t o J Изменение значений существующих полей
Manager.msi",1)
b.OpenView("INSERT INTO P r o p e r t y J Изменение значения осуществляется путем установки кур­
(Property.Property, Property.Value) J сора в необходимую ячейку двойным щелчком левой кноп­
1
VALUES ( ' P I D K E Y ' , 1234567890')").Execute
b.Commit ки мыши (см. р и с . 3 ) .
Программное изменение свойства осуществляется
по тем ж е правилам. По сравнению с предыдущими двумя
Удаление существующих полей из таблицы случаями, изменяется только запрос.
Удаление какого-либо поля осуществляется в соответствии В л и с т и н г е 5 осуществляется отключение компонен­
со следующим алгоритмом: та Device Detector.
Я установить курсор на таблицу, в которой необходимо
удалить параметр; Л и с т и н г 5 . Изменение з н а ч е н и й существующих полей таблицы

• установить курсор на удаляемый параметр в таблице; Set а = C r e a t e O b j e c t ( " W i n d o w s l n s t a l l e r . I n s t a l l e r " )


• нажать кнопку <DEL> на клавиатуре или правую кноп­ S e t b = a.OpenDatabase ( " C : \ a c d s e e \ A C D S e e 10 P h o t o J
Manager.msi",1)
ку мыши, а в контекстном меню - DELETE; b.OpenView("UPDATE F e a t u r e SET L e v e l = ' 0 ' WHERE J
• подтвердить намерение удалить параметр. Feature='DevDetect'").Execute
b.Commit

Эту ж е задачу можно решить программным способом


(см. л и с т и н г 4), используя шаблон 1. Для обеспечения воз­ Заключение
можности записи в таблице необходимо установить второй В н и м а т е л ь н о и з у ч и в п р е д л о ж е н н ы й вариант, читатель
параметр метода OpenDatabase равным единице (1). без труда сможет либо с помощью сценария на VBScript, ли­
бо с помощью программы orca.exe значительно облегчить
Л и с т и н г 4 . Удаление существующего а т р и б у т а в таблице себе задачу массовой установки программного обеспече­
Set а = CreateObject("Windowslnstaller.Installer") ния, что позволит сэкономить массу времени и сил. ©}

* A C D S E E 1 0 PHOTO M A N A G E R . M S I - ORCA -Jal * l


FILE EDIT TABLES TRANSFORM TOOLS VIEW HELP

ошщ Niels
Tables Property
HELPFILTERTCNAMESPACE DISKPROMPT
HELPNAMESPACE REGISTRATION
HELPPLUGIN UPGRADECODE
I5COMPONENTEXTENDED ALLU5ER5
ISCUSTOMACTIONREFERENCE PORT_DWORD
ISDFLINFO IAUNCHPROGRAM
ISSETUPFILE VAHOOJOOLBARJN5T
ICON APPLICATIONUSERS
INLFLLE LICEN5E__MODEL
INSTALLEXECUTESEQUENCE FILELNUSEPROCESS
INSTAILUISEQUENCE AGREETOLICENSE
LAUNCHCONDITION LIE_DIALOG_COMPANY
LISTBOX JSMAJNTENANCE
USTVLEW RESTARTMANAGEROPTION
MEDIA I5_SQL5ERVER_USERNAME
MODULECOMPONENTS I5_5QL5ERVER_AUTHENTICATION
MODULEDEPENDENCY SETUPTYPE
MODULEEXCLUSION JSSETUPTYPEMIN
MODULE5IGNATURE SHELL J N T E G R A T I O N J . E V E L
MSIASSEMBLY DISPLAYJSBITRNAPDLG
MSIASSEMBLYNAME I; FLOATING LICENSE
HSIDIGITALCERTIFICATE IS_LAUNCHAPP_CMD
MSIFILEHASH SHELLINTJDLL_PATH5
MSIPATCHCERTIFICATE YAHOO_TOOLBAR„SHOW
MSISFCBYPASS PRODUCTCODE
PRODUCTNAME
RADLOBUTTON URL
REGLOCATOR ACDFOTOSLATEPRODUCTID
REGISTRY ACDPHOTOEDITORLNVENTORYVERSION
REMOVEFILE ACDPHOTOEDITORPRODUCTID
SHORTCUT ACDPHOTOEDITORREGROOT HKEY_LOCAL_MACHLNE\SOFTWARE\ACD SYSTENS\ACDPHOTOEDITOR\31
SIGNATURE 100219
ACDSEEAPPREVISION
SXSMSMGENCOMPONENTS .COM/PRLVACY/US/YAHOO/TOOLBAR/DSTA S
ACDSEEBUYMOW Y AHOOPRIVACYURL
TEXTSTYLE
ACDSEEBUYNOW I R |EASEFLAGS
S E

PROPERTY - 1 2 9 raw PRODUCTLANGUAGE

Рисунок 3 . Изменение параметра


П
ричем причина этого отнюдь
не в о т с т а в а н и и т е х н о л о г и й ,
а в особенностях р а з м е щ е н и я
информации в современных файловых
Diskeeper - увеличение
системах, и в первую очередь во фраг­
ментации файлов. Это верно как в от­
ношении работы пользователя с д о ­
производительности
кументами, так и в отношении самой
операционной системы (фрагмента­
ция с и с т е м н ы х ф а й л о в , ф а й л а под­
винчестеров
качки). П р и м е ч а т е л ь н о , что от фраг­
ментации с т р а д а ю т не только рабо­
Любой системный администратор знает, что общая
чие станции сотрудников любой компа­ производительность компьютерной системы при решении
нии, но и различные серверы. Для ре­ какой-то задачи равна производительности самой «узкой» среди
шения описанной проблемы применя­ используемых ресурсов ее части. И в последнее время таким
ются с п е ц и а л ь н ы е п р о г р а м м ы - д е ­ местом все чаще и чаще становятся жесткие диски.
ф р а г м е н т а т о р ы . Одной и з них явля­
ется продукт Diskeeper от к о м п а н и и (в том числе и с разбитыми на милли­ но удобный и функциональный инстру­
Diskeeper Corporation. О н отличается оны частей объектами), управление пи­ мент для профессионалов. #;>
ш и р о к и м набором ф у н к ц и о н а л ь н ы х танием на ноутбуках, ведение истории
возможностей, которые позволяют го­ выполненных операций и т. д. Марат Давлетханов
ворить о нем как о профессиональном
Еще одной о с о б е н н о с т ь ю про­
инструменте.
г р а м м ы Diskeeper является наличие
Дефрагментация с п о м о щ ь ю про­ у нее нескольких версий, рассчитан­ Ш1Ш
граммы Diskeeper может осущест­ ных на использование на различных
вляться как вручную, так и полностью компьютерах. Две из них предназна­
в автоматическом режиме. Второй ва­ ч е н ы д л я р а б о ч и х с т а н ц и й . О н и от­
риант особенно удобен тем, что не тре­ личаются друг от друга наличием/от­
бует вмешательства пользователя. Он сутствием технологии I-FAAST и мак­
существенно облегчает работу адми­ симально возможным объемом обра­
нистратора, которому необходимо про­ батываемых дисков. Серверных вер­
извести п е р в о н а ч а л ь н у ю н а с т р о й к у сий у Diskeeper тоже две. О с н о в н о е
параметров работы программы и в бу­ различие между ними - возможность
дущем вмешиваться только при необ­ или невозможность работы с больши­
ходимости их изменения или для ре­ ми томами, объем которых исчисляет­
шения возможных вопросов. ся терабайтами. Комментарии Владимира
В рассматриваемой програм­ Ну и конечно же, нельзя не отме­ Высоцкого, руководителя отдела
ме р е а л и з о в а н о несколько у н и к а л ь ­ тить наличие в рассматриваемой л и ­ экспертизы ЗАО «Софткей»
ных разработок к о м п а н и и Diskeeper нейке п р о г р а м м п р о д у к т а Diskeeper П р о б л е м ы ф р а г м е н т а ц и и не т о л ь ­
Corporation. InvisiTasking обеспечива­ Administrator. Он предназначен для уда­ ко п р и в о д я т к з а м е д л е н и ю р а б о т ы
ет н е з а м е т н о с т ь п р о ц е с с а д е ф р а г - ленного управления системой дефраг­ пользователей, но и з а ч а с т у ю влия­
ментации для пользователя (исполь­ ментации на всех компьютерах (вклю­ ют на безопасность. Можно привести
зуются только свободные системные чая серверы), входящих в и н ф о р м а ­ пример антивирусной проверки фраг-
ресурсы), Intelligent Defragmentation ционную систему предприятия. С его ментированных файлов и дефрагмен-
отвечает за выбор стратегии оптими­ помощью системный администратор, тированных. В последнем случае на­
зации (это позволяет добиться макси­ не вставая со своего рабочего места, блюдается заметный прирост с к о р о ­
мальной производительности жест­ может устанавливать и при необходи­ сти около 18-20%. Конечно, это важно
кого диска). мости обновлять продукты Diskeeper только при первоначальной проверке,
П о м и м о перечисленных техноло­ на других ПК, настраивать их работу, т.к. с о в р е м е н н ы е а н т и в и р у с н ы е р е ­
гий у программы Diskeeper есть и не­ осуществлять мониторинг и выявлять шения производят индексацию и пос­
мало других полезных возможнос­ возможные проблемы. ледующие проверки происходят быс­
тей. В качестве примера можно отме­ С а м ы м с е р ь е з н ы м н е д о с т а т к о м трее. В случае резервного копирова­
тить полную поддержку VSS (Volume продуктов Diskeeper является англо­ ния скорость доступа к файлам может
S h a d o w C o p y Service) и 6 4 - б и т н ы х язычный интерфейс. Причем разра­ быть критичной. Так что своевремен­
операционных систем, проведение ботчики обещают, что уже в ближай­ ная дефрагментация, особенно серве­
дефрагментации в разделах, в кото­ шее время на рынке появятся русско­ ров с критичными данными, позволит
рых осталось меньше 1 % свободно­ язычные версии этих программ. Будем повысить скорость резервного копиро­
го пространства, работа с очень силь­ надеяться, что они сдержат свое слово, вания и как следствие вероятность со­
но дефрагментированными файлами поскольку Diskeeper - это действитель­ хранения данных, #
Почтовый сервер с фильтром спама и хранением архива писем, а в качестве платформы -
Windows ХР. Стабильная и быстрая работа многие месяцы без отказа, плюс эффективная
защита от спама и быстрый поиск важных почтовых сообщений, утраченных пользователями.
«Бред!», - скажете вы, глядя на заголовок статьи. Не торопитесь делать выводы.

В
споминая статью [1], посвящен­ ру в к о ш к и - м ы ш к и . Н у ж н о было ис­ а также IP-фильтр, позволяющий раз­
ную бесплатному почтовому кать какие-то решения, и, как всегда, решить или ограничить доступ к сер­
серверу Office Mail Server, с ж а ­ все должно было быть дешево, но ка­ веру, отдельному хосту или целой под­
лостью отмечу, что поддержка и раз­ чественно. сети.
витие проекта сошли на нет. Однако Собственно, почти все оказалось Вкратце, схема в з а и м о д е й с т в и я
ф у н к ц и о н а л его п о - п р е ж н е м у а к т у а ­ под рукой. В качестве хранителя поч­ такова. Имеется виртуальный почто­
лен, и малая требовательность к ре­ тового архива и п р о г р а м м ы , обес­ вый домен, при у п о м и н а н и и которо­
сурсам компьютера вкупе со стабиль­ п е ч и в а ю щ е й быстрый поиск старых го в адресе получателя письмо «па­
ной работой заставляют обратить писем, был выбран всем известный дает» в почтовый ящик компании, за­
на него внимание. MS Outlook, к о т о р ы й входит в с т а н ­ в е д е н н ы й на с е р в е р е п р о в а й д е р а .
OMS верой и правдой служил в на­ дартный набор MS Office. А н т и с п а м - РОРЗ-клиент сервера OMS по распи­
шей компании почтовым голубем. Вре­ фильтром была выбрана програм­ санию забирает письма с этого я щ и к а
мя шло, и запросы сотрудников компа­ ма SpamPal. Для лучшего понимания и при помощи с о р т и р о в щ и к а раскла­
нии менялись. О д н а ж д ы , когда некое всей схемы рассмотрим к а ж д ы й ком­ дывает их по папкам конечных получа­
важное письмо было утеряно сотруд­ понент отдельно. телей. Доступ к этим папкам осущест­
ником, стало понятно, что есть необ­ вляется с помощью встроенного РОРЗ-
ходимость иметь общий архив писем Office Mail Server сервера. посредством которого к л и ­
с быстрым поиском по заданным ус­ Чтобы понять принципы работы OMS, енты получают предназначенные им
ловиям. Благо, что общий поток элек­ достаточно прочитать статью [1]. В не­ письма. При отправке письма клиент
тронной почты укладывался не более с к о л ь к и х словах, этот сервер имеет п о д к л ю ч а е т с я к встроенному SMTP-
чем в 100 писем в день, включая спам. в себе перечень к о м п о н е н т о в , обес­ серверу, и его с о о б щ е н и е ставится
К о л и ч е с т в о п о ч т о в о г о х л а м а росло п е ч и в а ю щ и х транспорт, с о р т и р о в к у в очередь на отправку. Затем SMTP-
с к а ж д ы м днем. и фильтрацию почтового потока: SMTP- клиент, используя транспорт провай­
Спам-фильтр сервера O M S лишь и РОРЗ-серверы, SMTP- и РОРЗ-кли- дера, отправляет письма из очереди
п р е в р а щ а л борьбу со с п а м о м в иг­ енты, с о р т и р о в щ и к и фильтр спама, по назначению.
SpamPal Параметры реестра для указания максимального размера PST-файлов
Этот проект, аналогично O M S , не име­ Имя Тип Допустимый диапазон значений По умолчанию
ет п о л н о ц е н н о г о р а з в и т и я у ж е н е ­ MaxLargeFileSize REG DWORD 0x00000001-0x00005000 0x00005000
сколько лет. Однако функциональность 20480 (20 Гб)
работы SpamPal заставляет рассмат­ WarnLargeFileSize REG.DWORD 0x00000000-0x00005000 0x00004000
ривать его как серьезного кандидата 19456 (19 Гб)

для борьбы со спамом. В качестве ра­ MaxFileSize REG.DWORD 0x001 F4400-0X7C004400 0x7BB04400
2075149312 (1,933 Гб)
бочей была использована версия 1.594
этого продукта, но есть и более свежие WarnFileSize REG DWORD 0x00042400-0x70004400 0x7
1950368768 (1,816 Гб)
бета-версии.
Для фильтрации с п а м а SpamPal дельно прост, и его запуск в работу, щать с диска на диск и даже перено­
использует т а к н а з ы в а е м ы е D N S B L при правильном понимании всех мани­ сить на другой компьютер и работать
(DNS blacklists, «черные списки» DNS), пуляций, дело пары минут. Однако есть с ним как на личной машине. Это пер­
которые используются провайдерами один нюанс. После установки програм­ вый плюс для нашей задачи. Второй
для блокировки почты с серверов, з а ­ ма работает только в контексте поль­ плюс - PST-файлы могут быть сжаты
меченных в рассылке спама. Попрос­ зователя, то есть для ее запуска (пусть как средствами Outlook, так и при по­
ту говоря, SpamPal, получая письмо даже и автоматического) необходимо мощи архиваторов. Для примера,
из п о ч т о в о г о я щ и к а , делает з а п р о с войти в систему. Но нас это не совсем файл личных папок размером 3 Гб мо­
на наличие IP-адреса сервера отпра­ устраивает, все должно функциониро­ жет быть сжат архиватором WinRAR
вителя в списке DNSBL, и, при поло­ вать независимо оттого, был выполнен вдвое.
жительном ответе помечает его к а к вход в систему или нет. Для решения П о с к о л ь к у P S T - ф а й л ы будут с о ­
спам. этой задачи будем использовать ути­ держать большое количество писем,
П о м и м о э т о г о после в к л ю ч е н и я литу WinService Manager [2]. Ее нужно то будет вполне уместным рассказать
фильтра RegEx (от regular expressions - запустить после установки SpamPal об ограничении размера этих файлов.
регулярные выражения), есть возмож­ и указать имя сервиса, а т а к ж е мес­ На д а н н ы й м о м е н т с у щ е с т в у е т д в а
ность фильтровать почту по вхождени­ то расположения файла spampal.exe формата этих ф а й л о в - A N S I и Unicode.
ям слов. В помощь к этому можно ис­ и рабочей п а п к и . В результате н а ш Возможность создания файлов лич­
пользовать, например, новостную сис­ спам-фильтр будет работать как сер­ ных папок в формате Unicode появи­
тему э л е к т р о н н о г о ж у р н а л а « С п а м - вис. Вдобавок к этому нужно удалить лась в MS Outlook 2003. Это позволи­
тест» (spamtest.ru) от Лаборатории Кас- SpamPal из автозагрузки, куда он про­ ло увеличить максимальный размер
перского. К а ж д у ю неделю они публи­ писывает себя после установки. с 2 Гб (для ф о р м а т а ANSI) до 20 Гб
куют самые популярные тематики спа­ Нужно отметить, что для первона­ (для ф о р м а т а Unicode). О д н а к о су­
ма с примерами писем, на основе кото­ чальной работы программа уже имеет ществует одна проблема с использо­
рых вы можете строить регулярные вы­ минимальную конфигурацию. Поэтому ванием PST-файлов. При п р и б л и ж е ­
ражения для фильтрации. Нужно отме­ зачастую пользователю, пытающему­ нии к м а к с и м а л ь н о м у размеру ф а й ­
тить, что SpamPal требует некоторого ся «прикрутить» антиспам к почтово­ ла личных папок MS Outlook начина­
первоначального обучения, потому что му клиенту, достаточно следовать инс­ ет работать нестабильно. Рассмотрим
спамом, по его мнению, вполне могут трукциям соответствующего раздела параметры реестра, которые помогут
оказаться доверенные отправители. руководства к программе [3]. К а к на­ не допустить этого.
После установки SpamPal являет­ строить SpamPal для нашего случая, В т а б л и ц е первые два парамет­
ся посредником между почтовой про­ будет описано дальше. ра о т н о с я т с я к ф а й л а м в ф о р м а т е
г р а м м о й и с е р в е р о м , с которого по­ Unicode. Параметр MaxLargeFileSize
лучается почта. Сортируя сообщения Microsoft Outlook служит для указания абсолютного мак­
на ликвидные и спам, программа ниче­ Этот продукт в представлении не нуж­ симального размера для файлов PST.
го не удаляет и оставляет право выбо­ дается. Более того, существует боль­ По достижении этого размера увели­
ра конечному пользователю. Она лишь шая вероятность, что у человека, ко­ чение файла прекращается. Параметр
помечает сообщение, расцененное торый будет отвечать за архивацию WarnLargeFileSize с л у ж и т для у к а з а ­
ей как спам, и пересылает его даль­ почты, он у ж е установлен в составе ния максимального количества данных
ше. П р а к т и ч е с к и все самые извест­ MS Office. Я заострю внимание лишь в файлах PST. После достижения этого
ные почтовые клиенты могут работать только на нужных нам особенностях предела добавление данных в файлы
со SpamPal. Именно поэтому програм­ программы. К а к у ж е говорилось, в на­ PST невозможно, однако физический
ма оказалась именно тем, что нужно. шей схеме он будет выступать хра­ размер файлов может увеличиваться
Напомню, что OMS имеет встроенный нилищем электронных сообщений из-за внутренних процессов.
РОРЗ-клиент и для транспорта почты и обеспечивать поиск необходимой Д в а с л е д у ю щ и х п а р а м е т р а от­
от провайдера к ящику конечного по­ корреспонденции. носятся к ф а й л а м в ф о р м а т е A N S I .
лучателя использует связку РОРЗ-кли­ Всю информацию MS Outlook хра­ MaxFileSize, WarnFileSize - то ж е с а ­
ент - фильтр спама - РОРЗ-сервер. Те­ нит в PST-файлах (файлы личных па­ мое, что и параметры MaxLargeFileSize
перь мы добавляем еще одно звено. пок). Причем это автономное хранили­ и WarnLargeFileSize соответствен­
Процесс установки SpamPal пре­ ще, и его преспокойно можно переме- но. П р и р а щ е н и е з н а ч е н и й парамет-
вному мейлбоксу папке. Это затрудня­
Замечания по SpamPal новлен до тех пор, пока вы не переза­ ет оперативный поиск нужного элект­
0 После создания порта будет лучше, пустите SpamPal. ронного с о о б щ е н и я . Поэтому на ма­
если вы отметите в настройках опцию 0 В той версии, которая описана в ста­ шине, которая будет выступать репо-
«Подавить с о о б щ е н и я об о ш и б к а х со­ тье, есть ошибка в интерфейсе. Меню зиторием корпоративной почты, нуж­
единения у клиента». Иначе при час­ «Инструменты» содержит два подме­ но в MS Outlook создать отдельный
тых запросах к серверу провайдера, ню: «В черный список» и «В белый спи­ PST-файл, настроить учетную запись
отсутствующей связи SpamPal может сок». Они по смыслу перепутаны мес­ для доставки почты из архива. Одно­
буквально «захлебнуться» сообщени­ тами, то есть, выбрав добавление ад­ временно можно создать правило, со­
ями об о ш и б к а х и «повиснуть». После реса или домена в черный список, вы гласно которому письма из архива бу­
чего, д а ж е при восстановлении связи, на самом деле добавите его в белый дут складываться в папку, например,
входящий почтовый поток будет оста- список. с н а з в а н и е м «Текущая п о ч т а » . Так­
ж е можно создавать еще PST-файлы,
ров для файлов в формате Unicode чае ей выступает РОРЗ-клиент OMS) в которые будет перемещаться архи­
о с у щ е с т в л я е т с я в м е г а б а й т а х (Мб), находятся на одном компьютере, при­ вная почта из папки «Текущая почта».
а для файлов в формате ANSI - в к и ­ меняется с л е д у ю щ а я к о н ф и г у р а ц и я . Допустим, к а ж д ы й такой файл будет
лобайтах (Кб). Вместо адреса РОРЗ-сервера провай­ соответствовать году и содержать пап­
Значения данных параметров ус­ дера указывается 127.0.0.1, а в качест­ ки «1-й квартал», «2-й квартал» и т. д.
т а н а в л и в а ю т с я в реестре в с л е д у ю ­ ве номера порта должно быть указано Например, закончился первый квартал
щих ветках: число 110, но... На 110 порту на локаль­ года, и вся текущая почта перекочева­
Outlook 2003: ной машине ждет подключений РОРЗ- ла в соответствующую папку. По окон­
• HKEY_CURRENT_USER\Software\ сервер OMS, поэтому для исключения чании года можно получившийся PST-
Policies\Microsoft\Office\11.0\Outlook\ конфликта у к а ж е м другой номер пор­ файл «отцепить» и скопировать на сер­
PST; та, например 11010. Все остальное ос­ вер до востребования. Все это помо­
• HKEY_CURRENT_USER\Software\ тается без изменений. жет не только упорядочить весь кор­
Microsoft\Office\11.0\Outlook\PST. Далее обратимся к SpamPal. В на­ поративный почтовый поток, но и ус­
с т р о й к а х п р о г р а м м ы в п у н к т е «Со­ корить поиск необходимой коррес­
Outlook 2007 единения» удаляем стандартные на­ понденции.
• HKEY_CURRENT_USER\Software\ стройки и добавляем новый порт (сто­
Policies\Microsoft\Office\12.0\ ит отметить, что если вы используе­ Итог
Outlook\PST; те или будете использовать несколь­ Что в итоге мы получим? Электронное
• HKEY_CURRENT_USER\Software\ ко РОРЗ-клиентов O M S , то для каж­ сообщение, пройдя проверку на спам,
Microsoft\Office\12.0\Outlook\PST. дого подключения нужно будет создать доставляется на сервер OMS, а имен­
новый порт). На вкладке «Установки» но в папку получателя, а копия пись­
Если таких параметров не сущест­ отмечаем «Конкретное имя сервера» м а - в архивную папку. После этого
вует, их можно создать. и у к а з ы в а е м имя сервера провайде­ письмо выкачивается почтовым клиен­
ра и порт (в нашем случае 11010). Та­ том и появляется у получателя. А копия
Собираем компоненты ким образом, используя авторизаци­ письма «летит» в папку с текущей поч­
воедино онные данные РОРЗ-клиента OMS, той и хранится в PST-файле.
Для начала рассмотрим, как к а ж д а я SpamPal подключается к ящику, куда Такая схема обеспечивает некото­
п р о г р а м м а д о л ж н а быть н а с т р о е н а идет вся почта, забирает ее, проверя­ рую гибкость у п р а в л е н и я почтовым
для построения задуманного, а затем ет к а ж д о е сообщение на принадлеж­ потоком. Так, например, администра­
уточним нюансы. ность к спаму и передает далее кли­ тор может отсеивать спам на сервере
O M S является в этой схеме цен­ енту. В случае, если письмо оказыва­ OMS при помощи встроенного с п а м -
т р а л ь н ы м з в е н о м , с него и н а ч н е м . ется, по мнению SpamPal, спамом, оно фильтра: копировать в специально со­
Для получения почты с ящика провай­ не удаляется, но в тему письма добав­ зданный ящик или просто удалять. Л и ­
дера в настройках РОРЗ-клиента долж­ ляется «**SPAM**», а т а к ж е добавляет­ бо предоставить право пользователям
ны быть указаны соответствующие па­ ся заголовок «X-SpamPal:», в котором сортировать сообщения при помощи
раметры: имя или IP-адрес РОРЗ-сер- указывается фильтр, по мнению кото­ правил непосредственно на этапе по­
вера провайдера, порт подключения рого данное сообщение - спам. лучения почтовым клиентом, ©
(110 по умолчанию), данные авториза­ Что касается MS Outlook, здесь все
ции, тайм-аут подключения, использу­ предельно просто. Напомню, что вся 1. Е м е л ь я н о в А. О р г а н и з у е м р а б о т у о ф и с ­
емый сортировщик, спам-фильтр и др. почта, проходящая через O M S , копи­ ного почтового сервера на платфор­
Но помня о том, что между провайде­ руется в учетную запись, которая яв­ ме Windows. //Системный админист­
ром и н а ш и м к л и е н т о м д о л ж е н рас­ ляется архивной. Это задается опци­ р а т о р , № 1 2 . 2 0 0 6 г. - С. 4 0 - 4 3 - h t t p : / /
полагаться SpamPal для фильтрации онально в настройках почтового сер­ www.samag.ru/cgi-bin/go.pl?q=articles;
спама, обратимся к руководству по его вера. Минус ее в том, что все письма n=12.2006;a=02.
настройке [3]. В случае, когда SpamPal хранятся в файловой системе в виде 2. http://winservice.ucoz.ru.
и почтовая программа (в данном слу- .eml-файлов в соответствующей архи­ 3. http://www.spampal.org/manual-rus.
на правах рекламы

О
бычно, когда речь заходит о ре­
шении этой задачи, вспомина­
ют о т а к и х полномасштабных
продуктах, как Microsoft Exchange или Свой собственный
почтовый сервер
Lotus Notes. Однако практика показы­
вает, что подавляющее большинство
средних, не говоря уже о малых, ком­
п а н и й , не и с п о л ь з у е т всех ф у н к ц и ­ Сегодня одной из самых часто используемых в бизнес-процессах
ональных в о з м о ж н о с т е й этих «мон­
компаний интернет-технологий является электронная почта.
стров». Кроме того, администрирова­
ние данных продуктов требует серьез­ Она представляет собой наиболее удобное и оперативное средство
ных знаний. Поэтому для многих ком­ обмена информацией. Поэтому системным администраторам
паний можно порекомендовать исполь­ приходится сталкиваться с задачей организации корпоративного
зовать более простые и дешевые про­ почтового сервера, который бы обеспечил максимальную
дукты, например MDaemon Email Server эффективность работы сотрудников с электронными сообщениями.
от компании Alt-N Technologies.
Несмотря на относительную деше­ ки MDaemon Email Server специалис­ ретение ПО, отказавшись от заведомо
визну, MDaemon Email Server - полно­ тами, не и м е ю щ и м и опыта в решении ненужных функций. ®)
ценный почтовый сервер, п о д д е р ж и ­ подобных задач.
вающий все необходимые протоколы: Достаточно интересна политика Марат Давлетханов
SMTP, POP и IMAP. Он т а к ж е может л и ц е н з и р о в а н и я , используемая к о м ­
использоваться в режиме DomainPOP. панией Alt-N Technologies. У продукта
При этом вся корпоративная почта бу­ MDaemon Email Server есть две версии:
дет приходить на один внешний ящик. Standard и Pro. Первая из них облада­
А сервер будет автоматически загру­ ет м и н и м а л ь н ы м набором ф у н к ц и о ­
жать из него письма и распределять нальных возможностей для реализа­
их по учетным записям сотрудников ции полноценного почтового сервера.
(на основе поля X-Deliver-To). Вторая версия расширенная. При ее
Для работы с корпоративной поч­ использовании продукт может приме­
товой с и с т е м о й , построенной на ос­ няться для решения многих дополни­
нове M D a e m o n Email Server, м о ж н о тельных задач, связанных с организа­
использовать любой бесплатный или цией э ф ф е к т и в н о г о взаимодействия
коммерческий клиент. Кроме того, сотрудников компании.
в д а н н о м сервере р е а л и з о в а н а воз­ Но это еще не все. У продукта есть
можность доступа к почтовому ящику д в а д о п о л н и т е л ь н ы х м о д у л я , обес­ Комментарии Владимира
с помощью веб-интерфейса. Это поз­ печивающих расширенную ф у н к ц и о ­ Высоцкого, руководителя отдела
воляет сотрудникам читать свою поч­ нальность. экспертизы ЗАО «Софткей»
ту из любой точки мира, в которой есть Первый из них, Outlook Connector Хотелось бы заметить, что в конце ав­
выход в Глобальную сеть. Интерес­ for MDaemon, предназначен для орга­ густа ожидается выход новой версии
но, что в составе рассматриваемого н и з а ц и и к о л л е к т и в н о й работы, реа­ Mdaemon 10 и SecurePlus 4. Разработ­
продукта есть инструменты для рабо­ лизованной в пакете Microsoft Outlook. чики постарались учесть все замеча­
ты с электронной почтой с карманных При этом сотрудникам компании ста­ ния пользователей продукта и доба­
компьютеров. новятся доступны такие инструменты, вили более 40 новых «фич». Среди
Хотя M D a e m o n Email Server н е ­ как общие календари, адресные книги, них: работа с несколькими доменами,
сколько уступает т а к и м «монстрам», расписания встреч, списки дел и т. п. полностью обновленный World Client
как Microsoft Exchange, в нем есть все Второй модуль - SecurityPlus for и п о д д е р ж к а IPhone. Н о в а я в е р с и я
необходимое для полноценной рабо­ M D a e m o n . Он п р е д н а з н а ч е н для су­ полностью поддерживает Outlook 2007.
ты. Это веб-интерфейс а д м и н и с т р а ­ щественного усиления базовой з а щ и ­ Основные усилия программистов бы­
тора, механизм для организации рас- ты почтового сервера. В нем исполь­ л и с о с р е д о т о ч е н ы на о п т и м и з а ц и и
сылок, интеграция с O D B C и Active зуется Kaspersky Antivirus Engine (по­ и у с к о р е н и и р а б о т ы . И это им у д а ­
Directory, п о д д е р ж к а серых и персо­ иск и блокирование вирусов, шпионов лось. При тестировании мы наблюда­
нальных белых листов, защита от спа­ и другого вредоносного ПО), техноло­ ли п р и р о с т п р о и з в о д и т е л ь н о с т и по­
ма, с и с т е м а о б м е н а з а щ и щ е н н ы м и гия Recurrent Pattern Detection и т. д. рядка 50%.
мгновенными сообщениями и многое Вынесение данных возможностей Также хочу заметить, что с выхо­
другое. Особенностями рассматрива­ в отдельные модули позволяет к о м ­ дом новой версии продукта домашние
емой программы являются интуитив­ паниям самостоятельно решать воп­ пользователи и представители малых
но понятный интерфейс и подробная рос об их необходимости и целесооб­ организаций смогут получить бесплат­
справочная система. Все вместе это разности приобретения. Это позволя­ но лицензию MDaemon Free на 5 поль­
обеспечивает в о з м о ж н о с т ь настрой- ет минимизировать затраты на приоб­ зователей для ознакомления. #}
f
Андреи Бирюков

Появление в Windows Server 2008 транзакционной файловой системы является важным


нововведением. Обсудим подробнее, что из себя представляет TxF.

В
ышедшая весной этого года опе­ полнительных пояснений. В рамках ра­ существенно увеличить стабильность
рационная система Windows боты файловой системы транзакцион- работы как приложений, так и системы
Server 2008 содержит целый ряд ность означает целостность выполне­ в целом. Еще одним дополнительным
новых интересных функций, об одной ния операций с файлами. Другими сло­ преимуществом TxF является возмож­
из которых я хочу рассказать в этой вами, в любой момент времени состо­ ность д а л ь н е й ш е й д о р а б о т к и и усо­
статье. Ф а й л о в а я с и с т е м а является яние файловой системы всегда име­ вершенствования данной технологии,
одним из ключевых элементов любой ет целостную структуру, то есть даже что позволит обеспечить ей дальней­
операционной системы, так как по су­ при внезапном сбое питания на жест­ шее развитие.
ти это фундамент, на котором строит­ к о м д и с к е не будет о ш и б о к , связан­
ся весь ф у н к ц и о н а л ОС. В Windows ных с нарушением целостности фай­ Область применения
Server 2008 т а к и м ф у н д а м е н т о м яв­ лов, свойственных предыдущим верси­ Приведя краткое пояснение о том,
ляется транзакционная файловая сис­ ям файловой системы. А, как извест­ что ж е и з себя п р е д с т а в л я е т т р а н ­
тема. но, сбои при работе с системными фай­ закционная файловая система, хоте­
Транзакционная файловая система лами могли привести к очень печаль­ лось бы сказать несколько слов о том,
(TxF) - это расширение файловой сис­ ным последствиям, вплоть до полной для каких задач предназначена д а н ­
темы NTFS, позволяющее выполнять потери данных. Транзакционная фай­ ная технология и. что тоже немаловаж­
файловые операции над томом фай­ ловая с и с т е м а и с п о л ь з у е т для с в о ­ но, для чего она не подходит. TxF бу­
ловой системы NTFS в рамках тран­ ей работы транзакции, то есть закон­ дет очень п о л е з н а при и с п о л ь з о в а ­
закций. Для читателей, не посвящен­ ченные операции с файлами, что поз­ нии на серверах, выполняющих час­
ных в специфику работы с базами дан­ воляет добиться вышеупомянутой це­ тые операции по изменению файлов.
ных, слово «транзакция» может пока­ лостности файловой системы. Таким Н а п р и м е р , на серверах баз данных
заться непонятным и требующим до­ образом, функционал TxF позволяет или файловых хранилищах. На таких
с е р в е р а х частые о б р а щ е н и я к ф а й ­ пользования транзакционной файло­ В к а ч е с т в е о д н о г о из п а р а м е т ­
лам в многопользовательском режи­ вой с и с т е м ы - о б н о в л е н и е ф а й л о в ров при вызове перечисленных выше
ме могут привести к потере данных при на группе компьютеров. функций указывается ссылка на тран­
сбое электропитания, TxF поможет из­ закцию, в рамках которой выполняет­
бежать данной проблемы. Операции над файлами, ся данная операция. Транзакция может
Теперь о том, что не поддержива­ поддерживаемые TxF быть создана либо вызовом функции
ется. TxF не п о д д е р ж и в а е т сетевые Сжатие. Если вы сжимаете файл, то CreateTransaction при использовании
д и с к и (протоколы CIFS/SMB), т а к ж е операция по с ж а т и ю файла не явля­ Kernel Transaction Manager или функ­
не поддерживается кэширование фай­ ется транзакционной. Но TxF будет ра­ ции G e t K T M H a n d l e при и с п о л ь з о в а ­
ловых операций на стороне клиента. ботать со сжатым файлом, так ж е как нии DTC.
Нельзя и с п о л ь з о в а т ь TxF при рабо­ и с обычным. Появление т р а н з а к ц и о н н о й ф а й ­
те с файловыми системами, отличны­ При создании новых файлов или ка­ ловой системы привело к внесению
ми от NTFS (к FAT32 это тоже относит­ талогов доступ к создаваемому файло­ ряда изменений в работу некото­
ся!). TxF не поддерживает операции вому ресурсу блокируется для других рых функций, например, CloseHandle,
над зашифрованной файловой систе­ транзакций. И если в то ж е самое вре­ CreateFilemapping, FindNextFile и дру­
мой (Encrypted File System, EFS) за ис­ мя другая транзакция попытается соз­ гих. П о с л е д о в а т е л ь н о с т ь д е й с т в и й
к л ю ч е н и е м операций чтения (напри­ дать ресурс с таким ж е именем, то она п р и т р а н з а к ц и о н н о й работе с ф а й ­
мер, ReadEncryptedFileRaw). получит сообщение о конфликте: л о в о й с и с т е м о й м о ж е т быть следу­
ERROR_TRANSACTIONAL_CONFLICT, ющей:
Технический функционал и завершится с ошибкой. • с о з д а н и е т р а н з а к ц и й на у р о в н е
Продолжая разговор о т р а н з а к ц и о н - Работа с у д а л я е м ы м и ф а й л а м и ядра:
ной файловой системе, немного углу­ и каталогами TxF осуществляется сле­
бимся в технические аспекты ее функ­ д у ю щ и м образом. Файл будет удален I n t P t r t x = CreateTransaction J
(IntPtr.Zero, J
ционирования. Итак, реализация TxF только тогда, когда работу с ним за­ IntPtr.Zero,0,0,0,0, null);
стала возможной благодаря новой в е р ш а т все т р а н з а к ц и и . При удале­
транзакционной инфраструктуре, ре­ нии каталогов доступ к его содержи­ • транзакционное удаление файла:
а л и з о в а н н о й на уровне ядра опера­ мому блокируется для д о с т у п а всех
ционной системы, позволяющей сер­ транзакций. If (IDeleteFileTransactedW J
(filel, tx))
висам ОС участвовать в т р а н з а к ц и ­ А вот если вы вносите изменения
ях, используя новый компонент - ме­ в файл внутри каталога, то доступ к ка­ • з а в е р ш е н и е т р а н з а к ц и и при ус­
неджер транзакций Kernel Transaction талогу не блокируется для других тран­ пешном выполнении предыдуще­
Manager (КТМ). Тут следует отметить, закций, и они могут вносить любые из­ го пункта:
что К Т М может взаимодействовать на­ менения в каталог, но не в изменяемый
прямую со службой Microsoft Distributed файл, так как доступ к нему блокиру­ CommitTransaction(tx);
Transaction Coordinator (DTC), которая ется на время изменений.
управляет т р а н з а к ц и я м и операцион­ Что касается административных за­ • откат транзакции при ошибке:
ной системы и приложений. Это так­ дач, то на этом их описание завершает­
же позволяет существенно увеличить ся, оставшаяся часть статьи будет ин­ RollBackTransaction(tx);
функционал TxF. Помимо этого в обес­ тересна преимущественно програм­
печении функционирования транзак­ мистам и разработчикам, так как речь • закрытие ссылки на транзакцию:
ционной ф а й л о в о й системы задейс­ пойдет о программировании TxF.
твована п о д с и с т е м а п р о т о к о л и р о в а ­ CloseHandle(tx);
Вот с п и с о к ф у н к ц и й и с п о л ь з у е ­
ния C o m m o n Log File System (CLFS),
мых в TxF.
впервые р е а л и з о в а н н а я в Microsoft
• CopyFileTransacted; На этом я з а в е р ш а ю с в о е крат­
Windows Server 2003 R2.
• CreateDirectoryTransacted; кое описание транзакционной файло­
З а с ч е т т о г о , ч т о TxF с п о с о б ­ • CreateFileTransacted; вой системы Transactional NTFS. Ду­
на п о л н о с т ь ю в з а и м о д е й с т в о в а т ь • CreateHardLinkTransacted; маю, что появление новой файловой
с MS Distributed Transaction Coordinator, • CreateSymbolicLinkTransacted; системы будет полезно не только раз­
она имеет в о з м о ж н о с т ь участвовать • DeleteFileTransacted; работчикам, но т а к ж е и администра­
в транзакциях, использующих не толь­ • FindFirstFileNameTransactedW; торам, так как позволит повысить на­
ко м е н е д ж е р ы ресурсов, предостав­ • FindFirstFileTransacted; дежность работы корпоративных ре­
л я е м ы е Kernel Transaction Manager, • FindFirstStreamTransactedW; сурсов в целом, в )
но и другие менеджеры ресурсов, под­ • GetCompressedFileSizeTransacted;
держиваемые на уровне DTC. Напри­ • GetFileAttributesTransacted; 1. А л е к с е й Ф е д о р о в " M i c r o s o f t W i n d o w s
мер, система д о к у м е н т о о б о р о т а мо­ • GetFullPathNameTransacted; Server 2008. К р а т к и й обзор к л ю ч е в ы х
жет и с п о л ь з о в а т ь эту в о з м о ж н о с т ь • GetLongPathNameTransacted; новинок».
для работы как с файловой системой, • MoveFileTransacted; 2. http://msdn.microsoft.com/en-us/library/
так и с базой данных и все в рамках • RemoveDirectoryTransacted; bb968806(VS.85).aspx - раздел MSDN,
одной транзакции. Другой пример ис­ • SetFileAttributesTransacted. п о с в я щ е н н ы й Transactional NTFS.
Использование специализированных дистрибутивов для организации доступа в Интернет
нельзя назвать чем-то особенным. Выбор только за решением. Сегодня познакомимся
с возможностями ComixWall ISG.

С
пециализированные решения поэтому д и с т р и б у т и в ComixWall ISG для создания ш л ю з о в безопасности,
в отличие от применения обыч­ (Internet Security Gateway), появившись защищающих SOHO-сети и способ­
ных интересны тем, что позво­ в июне 2006 года, сразу привлек к се­ ное составить к о н к у р е н ц и ю м н о г и м
ляют получить нужный результат с ми­ бе внимание. ComixWall [1] построен коммерческим продуктам.
нимальными усилиями и за более ко­ на OpenBSD, которая считается самой Интерфейс управления ComixWall
роткий срок. Большая часть д и с т р и ­ безопасной системой, что и послужило распространяется по BSD-лицензии,
б у т и в о в , п о с т р о е н н ы х на Linux или определяющим фактором при ее выбо­ по этой же л и ц е н з и и р а с п р о с т р а н я ­
одной из версий BSD-системы, име­ ре разработчиками в качестве основы. ются операционная система и отдель­
ют удобные инструменты для пост-ин­ Номер ComixWall соответствует номе­ ные пакеты. Часть пакетов, входящих
сталляционной настройки, нетребова­ ру того релиза OpenBSD, на котором он в состав д и с т р и б у т и в а , имеет G N U
тельны к ресурсам и распространяют­ построен, поэтому начальная версия GPL-лицензию.
ся по свободной лицензии. Это дела­ сразу же получила цифру 3.9. Назва­
ет их востребованными в небольших ние Comix произошло из комбинации Возможности ComixWall
организациях, не и м е ю щ и х штатных английских слов COMmunication и unlX. Актуальной на момент написания ста­
специалистов. Особо подчеркивается, что ComixWall тьи была версия 4.2 от декабря 2007 го­
Д и с т р и б у т и в о в , п о с т р о е н н ы х на не является еще одним межсетевым да, с обновлением в январе 2008 го­
Linux, несколько больше, чем на иных э к р а н о м , которых сегодня предоста­ да (ComixWall 4.2_20080109). Следу­
платформах. Решения, использую­ точно, и удивить ими, наверное, уже ет заметить, что сами разработчики
щие в качестве основы другие вари­ никого нельзя. Разработчики позици­ первые релизы пока еще считают про­
анты UNIX-систем, можно пересчи­ онируют его как законченное UTM-pe- бными (Proof of Concept), больше ори­
тать буквально по пальцам. Наверное, шение (см. врезку), предназначенное ентированными на специалистов, чем

26 cut: администратор
на ш и р о к о е применение. Хотя учиты­ PACKAGES ARE l a b e l l e d ЧХЗ'.
вая, что работают они стабильно, серь­ TX3 SPAIIFLSSASSIN SPFIM SCANNER -> (P5-MAI1-SPANFLSSASSIN-3.2.2.TGZ)
езных недостатков з а пару лет обнару­ EX]FTRJdecoMpressor -> (UNARJ-2.43.TGZ)
[X] RFTR decoMpressor -> CUNRAR-3.76.TGZ)
жено не было, поэтому ничто не меша­ [X] CLAMRU VIRUS SCANNER -> (СIАМАИ-8.92P8,TGZ)
ет их использовать для з а щ и т ы сети. [X] P3SCAN P0P3 PROXY -> (P3SCAN-2.3.2.TGZ)
[X] SUTP-GATED SMTP PROXY -> (SMtP-GATED-1.4.15.1.TGZ)
Дистрибутив включает в себя пол­ Ш SNORT IDS -> (SNORT-2.8.8.IPL.TGZ)
ГХ1 SNORT IPS -> (SNORTips-4.2.TGZ)
ный с п е к т р с а м о г о р а з н о о б р а з н о г о IX J 0INKR-tast ER SNORT RU LE base UPDA T ER -> (OInkriaster -2. Q. TGZ)
программного обеспечения, обеспе­ 1X1 SQUID HTTP PROXY -> (SQU id-2, 6. STHBLF.13~T RANSPARENT. TGZ)
I XI DANSGUARDi an UEB F IIT ER -> (DANSGUARD IAN~2.9-9.2-Е LAND.TGZ)
чивающего: 1X1 IHSPECTOR IM PROXY > (LHSPECTOR-8.3,2В87113ВРВ.TGZ)
[XI DANTE SOCKS PROXY -> CDANTE-1.1.19.TGZ)
• функцию фильтрации пакетов при ГХ1 PHP -> (PHP5-CORE-5.2.3.TGZ)
п о м о щ и pf, в х о д я щ е г о в с о с т а в 1X1 SyMon systeM Monitoring SOFTWARE -> (syMon~2.76.TGZ)
[XI UEBALIZER WEB SERVER LOGS ANALYZER -> (WEBALIZER-2.81.18P3.tgz)
OpenBSD; 1X1 PR-IACCT NETWORK ANA LYZER - > (pMacct-8.11.4.TGZ)
• а н т и в и р у с н у ю з а щ и т у с ClamAV [X] COMIXUALL WEB INTERFACE -> (coMixwa1142_WEBIF.TAR.GZ)
CXI COMIXUALL CONFIGURATION FILES -> (coMixwa1142_CONFIG.TAR.GZ)
с автоматическим обновлением [X] CLANFIU SIGNATURE DATABASE -> (ClaMavdb.Tar.GZ)
[X3 CATEGORIZED LISTS FOR WEB FILTER -> (BIGBLACKLIST_COIIIXWA11.TAR.GZ)
при п о м о щ и freshclam; [XI SNORT IDS RULES -> (SNORTRULES-SNAPSBOT-CURRENT,TAR.gz)
• с и с т е м у о б н а р у ж е н и я атак Snort PACKAGE ПАМЕ? ( o r 'DONE') [done! _
с обновлением правил oinkmaster;
РИСУНОК 1 . ПОСЛЕ УСТАНОВКИ СИСТЕМЫ ПОСЛЕДУЕТ ИНСТАЛЛЯЦИЯ COMIXWALL
• контентный веб-фильтр Dans
Guardian с проверкой трафика ние б у д у щ и х в е р с и й : а н т и в и р у с н о й ко для amd64, т а к к а к р а з р а б о т ч и к и
при п о м о щ и ClamAV; проверки FTP- и IM-трафика, а т а к ж е по праву считали, что 64-битные сис­
• анти-спам фильтры SpamAssassin IMAP-прокси с антивирусной и анти- темы имеют ряд преимуществ перед
и spamd; спам защитой. 32-битными и сделали ставку на бо­
• P3scan и smtp-gated антивирусные Эту информацию по дистрибутиву лее в ы с о к о п р о и з в о д и т е л ь н о е р е ш е ­
и анти-спам почтовые прокси; можно получить на сайте проекта [1] ние. З а т е м у ж е по м н о г о ч и с л е н н ы м
• прокси Dante (SOCKS), Squid (HTTP), и странице на Google Code [2], теперь просьбам пользователей появился ре­
ftp-proxy, IMSpector (IM-прокси же познакомимся с ComixWall ближе. лиз под i386.
с п о д д е р ж к о й Jabber/XMPP, M S N , Кроме дистрибутива, советую ска­
IRC, Yahoo и других); Установка ComixWall чать и документ System Administration
• серверы: Apache, DNS, DHCP Дистрибутив доступен в двух версиях - Guide (SAG), который поможет быстрее
и OpenSSH. для платформ i386 и amd64. З а г р у з ­ сориентироваться в настройках. К тому
ка в о з м о ж н а только через BitTorrent. же он, как и другие документы, впол­
И некоторые другие п р и л о ж е н и я , Р а з м е р д и с т р и б у т и в а чуть б о л ь ш е не м о ж е т п р и г о д и т ь с я . К а к с к а з а н о
в том числе предназначенные для сбо­ 140 Мб, для у с т а н о в к и которого т р е ­ в документации, установка ComixWall
ра и вывода разного рода статистики. буется не менее 650 Мб свободного это: «is the usual OpenBSD installation",
Все настройки могут быть произведе­ места на диске. Кстати, в первое вре­ то есть обычная установка OpenBSD.
ны стандартным способом из команд­ мя в е р с и я 4.2 б ы л а д о с т у п н а т о л ь ­ Поэтому опыт в инсталляции этой сис-
ной строки. Начиная с версии 4.0Ь по­
явился в е б - и н т е р ф е й с , н а п и с а н н ы й ComixWall Administration Interface - MoziHa Firefox
на РНР. Использование gettext позво­
ляет л е г к о перевести его на другие https:/192.168.1.223/sy«emATfo.php
языки. Хотя в настоящее время их не­ COMIXWALL ADMI\ISTRATIO\ INTERFACE Language: English
много, д о с т у п н ы только а н г л и й с к и й , Service Status:
испанский и турецкий варианты. Кро­ ComixWall 4.2 У Web Filter
со mix wail.test У DHCP Server
ме базовых сетевых установок, с его OpenBSD 4.2 1386 У DNS Server
п о м о щ ь ю м о ж н о настроить правила 51 mi
minnututee average:
average; 1.03,
average: 0.0.47,
18
У HTTP Pro чу
У Web Server
п а к е т н о г о фильтра и с е р в и с о в , вхо­ Tue Jul 29 15:15:25 EEST 2006 У Intrusion Detection
У Intrusion Prevention
дящих в комплект, производить мо­ УSOCKS Proxy
У SPAM Scanner
ниторинг основных системных пара­ ^Incoming SPAM Scanner
метров и з а г р у з к и сети и многое дру­ yOpenSSH
УClamAV
гое. Плюс при помощи веб-интерфей­ У Virus DB Update
У POPS Scanner
са можно получить доступ к man-стра­ CPUs 1 @ 2010 MHz У SMTP Scanner
УШ Proxy
ницам и другой документации. Motherboard VMware Virtual Platform by VMware, Inc. У FTP Proxy
Serial Number 564d3ec8-639b-62d0-cf47-da343567e3ab
Некоторые возможности (VPN,
VLAN, CARP, SNMP) пока настраива­ info.php.v 1.36 2007/12/14 23:49:20 Copyright (с) 2004-2D0B Soner Tari, All rights reserved.
ются только из командной строки. Воз­
можность их конфигурирования через
веб-интерфейс планируется добавить
у ж е в следующих релизах. Кроме это­
го, в планах разработчиков добавле­
РИСУНОК 2. ОКНО COMIXWALL ADMINISTRATION INTERFACE
WELCOME T O T H E COMIXWALL INSTALL PROGRAM.

Unified Threat Management нента: межсетевой экран, антивирус и сис­


PROCEED WITH INSTALL? [NO] У
Термин Unified Threat Management (UTM, тему обнаружения и предотвращения атак.
Объединенный контроль угроз) введен Сегодня концепция UTM рассматривается Скрипт поначалу запросит синхро­
Чарльзом К о л о д г и (Charles Kolodgy) из ана­ несколько шире и предлагаетдля защиты низировать время с NTP-сервером:
л и т и ч е с к о й к о м п а н и и I D C (International D a t a сети вместо отдельных систем использо­
DO Y O UWANT TO SYNC DATETIME WITH
Corporation) в д о к у м е н т е «Worldwide Threat вать к о м п л е к с н о е устройство, которое со­
A TIME SERVER? [NO]
Management Security Appliances 2004-2008 четает в себе функции многих решений.
Forecast and 2 0 0 3 Vendor Shares: The Rise Кроме межсетевого экрана, UTM включа­ З а т е м у к а з а т ь расположение па­
of t h e U n i f i e d T h r e a t M a n a g e m e n t S e c u r i t y ет а н т и в и р у с , с и с т е м у о б н а р у ж е н и я / п р е д о ­ кетов и н а з в а н и е п р и в о д а к о м п а к т -
АррНапсе», о п у б л и к о в а н н о м в сентябре твращения атак, контентный фильтр веб­ дисков:
2004 года. В нем предлагалось интегриро­ страниц и антиспам. Все это д о л ж н о управ­
L E T ' S INSTALL T H E PACKAGES!
вать в устройство з а щ и т ы сети три компо- ляться через единый интерфейс.
LOCATION O F PACKAGES?
(CD DISK F T P HTTP N F S O R 'DONE') [CD]
AVAILABLE CD-RCMS A R E : CDO.
темы лишним не будет. В крайнем слу­ версии 4.1 до 4.2. В документации реко­ WHICH O N ECONTAINS T H E INSTALL MEDIA?
чае следует почитать документы [3, 4], мендуется создать 5 разделов как ми­ (OR 'DONE') [CDO]

в к о т о р ы х все п о д р о б н о р а с п и с а н о . н и м у м т а к и х р а з м е р о в : / - 1 8 1 Мб, PATHNAME TO T H E PACKAGES?


(OR 'DONE') [PACKAGES]
Конечно, это несколько портит первое /home - 2 Кб, /tmp - 10 Кб, (да, имен­
впечатление от ComixWall, ведь не каж­ но Кб) /usr и /var по 230 Мб. Плюс раз­ Если диск был нормально обнару­
дый пользователь из SOHO, на кото­ дел подкачки. Не рекомендуется про­ жен при установке системы, то во всех
рого ориентирован этот дистрибутив, пускать сетевые (да и другие) настрой­ случаях достаточно нажимать <Enter>.
с м о ж е т или з а х о ч е т у с т а н а в л и в а т ь ки во время установки системы, хотя После чего будет выведен список па­
систему таким образом. Например, затем можно к ним вернуться. кетов. Все пакеты отмечены к установ­
в том ж е pfSense [5] весь процесс инс­ По о к о н ч а н и и у с т а н о в к и с и с т е ­ ке (см. р и с . 1), отказываться от како­
талляции максимально автоматизиро­ мы запустится установочный скрипт го-либо обычно смысла нет, поэтому
ван, и справиться с ним может человек ComixWall - install.site или upgrade.site, опять н а ж и м а е м <Enter>. П о в т о р н о
без особой подготовки, не боящийся в з а в и с и м о с т и от выбранного р е ж и ­ подтверждаем свое намерение уста­
несколько раз нажать Next. Предусмот­ ма. Для продолжения установки вво­ новить пакеты:
рено обновление установленной ранее дим «у».
READY TO INSTALL PACKAGES? [YES]

ComixWall Administration Interface - Mozila Firefox После установки пакетов, запустит­


Файл Правка Вид Журнал Закладки Инструменты Справка ся еще один скрипт, на этот раз пост­
at
S
J [ i i https://192.16a. 1,223/pfm/stats.php §5 * - t f инсталляционный. Он повторит некото­
COMIXWALL ADMINISTRATION INTERFACE LANGUAGE; ENGLISH рые вопросы, задаваемые во время ус­
E3coMix*
тановки системы, предлагая в качест­
29.07.2008 ( I ИЗДпЧУЯ^ Daily Hourly Live
SYSTEM
WARMING ве значения по умолчанию введенное
[PACKET FILTER
A ! \
IMPORTANT: Analysis of statistical data may take a long ti -ie to crccesr.
if yon refresh this page frequently, CPU load may increase
fi'ease ii :-s-'.;er t. Also M te that ранее. Последовательно нужно будет
WEB FILTER
подтвердить имя узла, адреса шлюза
HTTP PROXY C H O O S E T H E LOG ARCHIVE n choose the log archive used for stabsbcs. The

IDS/IPS JUL 29 01:40:38 - PFLOG У | APPLY | и настройки сетевых интерфейсов. Д а ­


VIRUS FILTER
General Statistics лее следует указать, какой интерфейс
DAILY v- J A P P L Y I
SPAM FILTER Р^ДЫTotal number of rcqu L O G S START AT JUL 2 9 0 1 : 4 0 : 3 8 соответствует LAN и WAN:
POP3 P R O X Y GJEJS packets
B , 0 , : K E D

HEjj}P«ss*d packet? Total number of requests TOTAL= 1862


SMTP P R O X Y Top requests by dates
il 29
IM
Top source IPs Torj destination IPs WHICH I S L A N INTERFACE?

||Nf%ft| 192.16S. 1.88 ЩЩ3192.168.1.255 OPTIONS:


DHCP
ВИЗ 192,168.1.58 ЯШ192 Р И Ш 192.168,1.223
ДЕ5192, G G G E I 255.255. 255.255 1) PCNO
DNS 192,168,1,194 ДЛЦ 192, Д Е З 224.0.0,221
SSH G|G{gj192.1 L77
l92.168.1.2 192
Д Е З 1S2 Д Е З 224.0. 0.251
Д Д З 239,233.255.250
2) PCNL
18833192,168.1.200 |J||
Д Ю З 192.
' TYPE 'DONE' T O E X I T
FTP P R O X Y Н И З 192.168.1.158
H B | 192.168.1.198 mm SELECTION? (#/DONE) [1]
SOCKS PROXY Ш Е Ю 192.168.1.115 mm
192,168,1.1 ДЕВ 192.
WEB SERVER ИТП192.168.1.71 KB 192.
INFORMATION
GGE@jl92.16B.1,152 ЯЕ0192. Отмечаем нужный цифрой и анало­
ЙВШЗ192.168.1.74
ИЕВ192.168.1,9 Top destination ports гично поступаем для WAN. Если все на­
ДЕЗ192,168.1.160
Д Е З 192,168.1.106
ДДИ192.168.1.250 стройки верны, то на запрос:
Д И В 192.168.1.146
ДДИ192.168.1.195 5678
ДИВ 1 9 2
' 1 6 8 3
' "! 1 7
35353
ДДВ192.168.1.207 31900 CONFIGURATION COMPLETE!
ДИВ192.168.1.5 YOU CAN RESTART O R TYPE 'DONE' TO EXIT.
Д Д И 192,168,1.52 53
Я Д Е 192.168.1.108 CHOOSE CONFIGURATION METHOD:
Н И В 192.168.1.33 27 02 :
HHJ|l92.168.1.169 OPTIONS:
ДДД192.168.1.253 1) AUTOMATIC
ДДД192,169.1.66
И Д Ш 192,168,1.62 Passed packets 2) INTERACTIVE
ДДЩ192,169,1.145 TOTAL" 3 9
ДДВ192,168.1.178 TYPE 'DONE' T O E X I T
ДДВ192,168.1.99 Top destination IPs SELECTION? (t/DONE) [1] DONE
ДДИ 1 9 2
- 1 6 8
' ' 1 1 7 0 Top source IPs passed passed
Д Д И 192.16 8.1.128 И З 192.168,1,58 Щ2192.168.1.223
Д Д И 192.168,0.101 ДЗ192.168.0.101 §010.0.0.2
ДД0192.168.1.12О вводим «done». Если нажать <Enter>,
РИСУНОК 3. СТАТИСТИКА РАБОТЫ P F весь процесс пост-инсталляционной
настройки повторяется сначала. Про­ Ь ComixWall Administration Interface - Mozila Firefox
читав поздравления по окончании ус­ iG
:;
https://192,168.1.I;c-;: iter.-te: .ph;i вр <Э -
тановки, перезагружаем систему. COMIXWALL ADMINISTRATION INTERFACE
COMIX Language: English v
J U L 1
LoptiDnsj Macro Tables Scrub | QueuB| Natl tdllГЛЯ Test Ruleset [InstallI Display Ruleset Load P. Sa
Веб-интерфейс Packet Filter
По у м о л ч а н и ю в с и с т е м е з а в е д е н о
две у ч е т н ы х з а п и с и , и м е ю щ и х дос­
туп через веб-интерфейс: admin и user.
Пароль в обоих случаях о д и н а к о в -
w w w c o m i x . Пользователь с у ч е т н о й
з а п и с ь ю user получает д о с т у п толь­
ко к статистике, ее может использо­
вать начальство для контроля. Доступ
из WAN блокируется правилом pf, по­
этому зайти можно только из LAN. Ес­
ли набрать адрес л о к а л ь н о г о интер­
ф е й с а , то в п р о ц е с с е п о д к л ю ч е н и я
встроенный DNS-сервер выдаст имя
узла. Работа осуществляется по про­
токолу HTTPS. Причем есть одна осо­
бенность. Если набрать http://lan_ip_
adress, то клиент будет перенаправлен
на https://hostname, но вот подключе­
ние почему-то блокируется. Хотя в до­
Рисунок 4. Редактирование правил
кументации сказано, что это должно
срабатывать. Поэтому вариант толь­
ретным модулем, входящим в состав в первом окне, которое появится пос­
ко один - https://lan_ip_adress. Далее
системы (см. р и с . 2 ) . Последнее ме­ л е р е г и с т р а ц и и в с и с т е м е (см. р и с . 2).
принимаем сертификат и регистриру­
ню Information содержит ссылки на до­ П р а в и л а pf п о у м о л ч а н и ю р а з р е ш а ю т
емся в системе.
кументацию, man-страницы и ссылки работу по о с н о в н ы м п р о т о к о л а м (веб,
Е с л и по у д о б с т в у у с т а н о в ­ на сайты связанных проектов. Под ос­ ftp, п о ч т о в ы й ) и з в н у т р е н н е й с е т и , п о ­
ки ComixWall п р о и г р ы в а е т т о м у ж е новным меню находится небольшая э т о м у ComixWall г о т о в к р а б о т е с р а з у
pfSense, то по возможностям веб-ин­ панель, в которой выводятся показа­ после установки.
т е р ф е й с а (ComixWall Administration ния т е м п е р а т у р н ы х с е н с о р о в (если
Interface) он выходит далеко вперед. они есть). После выбора пункта в ос­ Заключение
Я считаю, это одна из сильных сторон новном меню, вверху с т р а н и ц ы , бу­ На сегодняшний день ComixWall н е в ы ­
этого дистрибутива. Еще одна важная дет доступно дополнительное меню, глядит простым в освоении решением
особенность веб-интерфейса - отсутс­ с о о т в е т с т в у ю щ е е выбранному моду­ и вряд ли подойдет новичкам. Но на­
твие промежуточных файлов с мета­ лю. Для к а ж д о г о пункта они отлича­ личие множества предустановленных
данными, которые часто используют­ ются, но обычно присутствует пункт сервисов и веб-интерфейса, упроща­
ся в подобных решениях для генера­ Info, в к о т о р о м м о ж н о получить об­ ю щ е г о их настройку, будет о ц е н е н о
ции окончательных конфигурационных щую информацию, Graphs - графики, опытными администраторами, кото­
файлов. Поэтому можно без проблем Logs - ж у р н а л ы , Configs - н а с т р о й ­ рым требуется удобная, понятная, бе­
производить параллельную настрой­ ки. Для PF, например, есть еще пункт зопасная, м н о г о ф у н к ц и о н а л ь н а я и лег­
ку, как в командной строке, так и че­ Statistic (см. р и с . 3 ) , в котором нагляд­ ко обновляемая система, при п о м о щ и
рез веб-интерфейс. но показана статистика работы пакет­ которой можно быстро развернуть за­
Д а ж е несмотря на наличие большо­ ного фильтра и Rules - настройка пра­ щитный бастион. #
го количества функций, все настрой­ вил. Редактирование любого парамет­
ки находятся именно там, где ожида­ ра для человека, представляющего ко­ 1. С а й т п р о е к т а C o m i x W a l l - http://
ешь их увидеть. В 96-страничном ру­ нечный результат, не выглядит слож­ comixwall.org.
ководстве установке посвящено всего ным (см. р и с . 4 ) . Доступны подсказки, 2. С т р а н и ц а п р о е к т а н а G o o g l e C o d e -
10 страниц (плюс ссылка на д о к у м е н ­ различные меню и списки предлагают http://code.google.eom/p/comixwall.
тацию OpenBSD) все остальное отно­ предустановленные значения. В ана­ 3. O p e n B S D 4 . 3 I n s t a l l a t i o n G u i d e - h t t p : / /
сится к работе с веб-интерфейсом, по­ лизе журналов поможет система филь­ openbsd.org/faq/faq4.html.
этому рассказать о его возможностях тров. Д л я г р а ф и к о в м о ж н о выбрать 4. У с т а н о в к а O p e n B S D 4 . 2 h t t p : / / w w w .
на странице ж у р н а л а невозможно. временной промежуток и вид. Iissyara.su/?id=1589.
Зрительно интерфейс разбит на три По у м о л ч а н и ю все д о п о л н и т е л ь ­ 5. Я р е м ч у к С. Д и с т р и б у т и в д л я с о з д а н и я
части. Слева находится основное ме­ ные сервисы, кроме антиспам-филь- межсетевого экрана pfSense. //Сис­
ню настроек, с о с т о я щ е е из 17 пунк­ тра для входящих сообщений, включе­ т е м н ы й а д м и н и с т р а т о р , № 2 , 2 0 0 8 г. -
тов отвечающих за работу с конк- ны, о чем будет выведена информация С. 8 - 2 1 .
Установка Linux на ноутбук проходила с трудом, сначала дистрибутив не хотел
грузиться, потом Wi-Fi-адаптер не был подхвачен автоматически. Упорное желание
установить беспроводную связь в конечном итоге привело к положительному результату.
В статье рассказывается одна история т а к о й установки с подробным описанием всех
проделанных шагов.

Р
егулярно общаясь с добрым де­ пора заменить чем-то с о в р е м е н н ы м чему не противоречит. Проблема в том,
сятком людей, разбирающихся 256 Мб памяти, диск в 20 Гб и обычный что покупателям не позволяют сделать
в технике, я заметил, что ни у од­ C D - R O M , даже непишущий. честный выбор, что покупать. Если из­
ного из них нет ноутбука с Linux, хо­ начально люди, владеющие компью­
тя практически все время от времени Покупка ноутбука терами, вызывали уважение, так как
имеют дело с этой операционной сис­ Найти подходящий ноутбук на замену им надо было не только этот компью­
темой, а кто-то только и занимается её оказалось непросто. Все люди по сво­ тер купить вместе с программами, но и
администрированием. Л и ш ь у двух че­ ей природе ленивы, и я в том числе. суметь его настроить, то сейчас такого
ловек на компьютере имелся эмулятор Проблема в том, что производители глубокого уважения нет, так как поль­
VMware, под которым у них был образ коммерческих операционных систем зователь может совсем не знать, как
Linux-машины на всякий случай. делают на этой слабости деньги, пред­ устроено то, чем он пользуется.
Вполне в о з м о ж н о , что и с п о л ь з о ­ лагая компьютеры с уже установлен­ Цель моей статьи - показать, что
вание SSH-клиента PuTTY и подклю­ ной системой. Так как большая часть не тот круче, у кого ноутбук дороже,
чение к Интернету позволяют им ре­ покупателей не специалисты, то их ус­ так как я могу себе позволить купить
шать все свои проблемы без установки траивает такая практика, когда цена любой продающийся, в пределах ра­
этой операционной системы на ноутбу­ за о п е р а ц и о н н у ю систему включает­ з у м н о г о , к а к и добрая половина ад­
ках, а с графической средой X-Window ся в общую стоимость покупки, а сами министраторов, а тот, кто в него душу
они просто не работают. Также интере­ покупатели избегают возможных проб­ вложил и что-то сделал сам.
сен факт, что большая часть неплохих лем. Но мы-то знаем, что бесплатный А чтобы привлечь читателей к дейс­
специалистов, использующих Linux на сыр бывает в мышеловке. У всех одна твию, я постараюсь описать все те про­
своих настольных системах, ничего не система, не надо переучиваться, на­ блемы, с которыми столкнулся, и ре­
знают о настройке Wi-Fi. лицо только польза. А в том-то и дело, шить их с точки зрения наименьшего
Именно эти факты и сподвигли ме­ что господа маркетологи отучают лю­ сопротивления. Вполне возможно, что
ня написать статью. В отличие от сво­ дей думать. Нет, это не значит, что они у вас будет другая модель или дистри­
их «собратьев-админов», пытающихся плохие, они-то как раз очень хорошо бутив, но общие принципы и подходы
сидеть на двух стульях, то есть исполь­ справляются со своей работой, думая могут оказаться полезными и вам.
зовать две операционные системы вы­ за других. Благодаря их работе в обще­
У к а ж д о г о на примете будет своя
шеописанным образом, я решил уйти стве поощряется другая система цен­
модель, мне же подходящую выбирать
от этой порочной практики. ностей, что, на мой взгляд, неправиль­
долго не пришлось. Число продающих­
но. «Думать по жизни» становится уде­
Ноутбук был у меня и ранее, но, ког­ ся моделей без операционной системы
лом немногих и не модно. На что толь­
да в начале лета я не смог настроить Windows и одновременно имеющихся
ко не идёт капитализм ради получения
нужную мне программу, так как готово­ в наличии было не так велико, поэто­
сверхприбыли! По законам РФ, как и
го пакета не было, а исходники не хоте­ му мой выбор пал на Asus Х51RL с про­
с т о ч к и зрения здравой логики запре­
ли компилироваться, в голове прозву­ цессором М540 1,86 ГГц, 2048 Мб па­
тить их работу нельзя, как и нельзя ос­
чала фраза моей знакомой «Нет шага мяти, ж ё с т к и м д и с к о м 160 Гб, видео­
тановить прогресс в целом. Деятель­
вперёд, значит, есть шаг назад». От­ картой ATI Radeon Xpress 1100, при­
ность фирмы, предлагающей купить
ступать я не привык, поэтому, оценив водом DVD-SuperMuIti DL, Wi-Fi адап­
что-то (например, тот же ноутбук), ни­
свои усилия и пожелания, я решил, что тером (Atheros ARBXB63 (AR5BXB63,
AR5007EG), в с т р о е н н ы м с ч и т ы в а т е ­ Что и н т е р е с н о , п о д о б ­
лем SD-карт и установленной систе­ ное решение помогает и не­ Loading w n l i n u z . . .
Loading i n i t r d . i n g
мой FreeDOS. которым настольным систе­
мам, где используются жёс­
Выбор дистрибутива ткие диски SATA.
Мною был выбран дистрибутив Linux В д а л ь н е й ш е м установ­
Fedora 8, как давно у ж е и с п о л ь з у ю ­ ка прошла без проблем. Ав­
щийся и проверенный временем, об­ т о м а т и ч е с к и была обнару­
Рисунок 1 . Зависание на этапе загрузки,
новления к нему ещё выходят и бу­ ж е н а сетевая карта, з в у к о ­ надписи «Ready.»
дут выходить, так что недавний выход вая и даже считыватель карт
Fedora 9 меня не вдохновил. SD НС заработал. Единственное, что и на большой м и к р о с х е м е прочитал
не заработало, - это поддержка Wi-Fi. Atheros AR2425 (см. р и с . 7 ) .
Проблема загрузки П р и м е ч а н и е . Если вы не не ра­
Первая проблема, с которой я столк­ Проблемы с Wi-Fi д и о л ю б и т е л ь , не о ч е н ь а к к у р а т н ы
нулся: вставил диск с Fedora 8, начи­ На подключение Wi-Fi ушло недели две и не уверены в себе, то лучше не раз­
наю установку, запускается меню, пос­ экспериментов по вечерам, но для чи­ бирать ноутбук, а обойтись коман­
ле грузится ядро, подключается образ тателей этот путь будет пройден гораз­ дой Ispci и базой кодов оборудования,
виртуального д и с к а , пишет «Ready.» до быстрее. Первым делом я решил уз­ так как разборка может не только ли­
и виснет (см. р и с . 1 ) . нать, какой у меня стоит Wi-Fi-чипсет. шить вас гарантии, но и привести но­
Осознавая, что наступает век 64- Так как программы могут ошибаться, утбук в нерабочее состояние. Не забы­
битных процессоров с обратной сов­ я решил узнать это физически, для че­ вайте про статическое электричество,
местимостью, у меня закралось подоз­ го перевернул ноутбук и осмотрел его заземляйтесь!
рение, что по закону подлости её как на предмет гарантийных наклеек. На­ После на сайте www.atheros.com
раз и нет. Скачав и записав на диск клеек обнаружено не было, а наклей­ я выяснил, что это адаптер AR5007EG
Fedora 8 (64-битная версия), я столк­ ка, указывающая тип Atheros ARBXB63 [8] и ф о т о г р а ф и я в о п и с а н и и очень
нулся с той ж е самой проблемой - за­ (см. р и с . 3), мне не помогла ничем, по­ похожа на ту, что у меня. После че­
висание процесса установки на этапе этому, вооружившись отвёрткой, я ак­ го я о т п р а в и л с я по а д р е с у п р о е к т а
распаковки ядра. Казалось бы, дело куратно отвинтил 7 винтов (см. р и с . 4 ) MadWifi [2], так как это неплохой про­
з а ш л о в тупик. Возвращать ноутбук и снял крышку. Под к р ы ш к о й я увидел ект по поддержке беспроводных сете­
на фирму не хотелось, да и в собствен­ процессор, модули памяти и модуль вых адаптеров Wi-Fi под Linux на базе
ных глазах это выглядело бы непра­ Wi-Fi (см. р и с . 5 ) . чипсетов Atheros. К сожалению, уста­
вильно. Прийти ремонтировать «же­ Так как надписи на модули не смог­ новка через:
лезо» по гарантии - вдруг там ошиб­ ли прояснить с и т у а ц и ю , я в ы т а щ и л
ка, надо знать на что пожаловаться. м о д у л ь из р а з ъ ё м а . О б р а т н а я с т о ­ # yum i n s t a l l madwifi
Желая протестировать подозритель­ рона о к а з а л а с ь более и н ф о р м а т и в ­
ное железо, порывшись у себя на сто­ ной - это был AzureWave адаптер AW- не прошла, так как для madwifi нужна
ле, я о б н а р у ж и л к а к о й - т о д р е в н и й GE780 (см. р и с . 6), но для меня этой была новая версия ядра 2.6.25.6-27.fc8,
дистрибутив Knoppix, который возьми а в репозитариях livna и других оно ещё
информации оказалось мало, поэтому
и заработай. Заодно с него проверил не присутствовало. Позже вышла но-
я снял экранирующую к р ы ш к у с платы
память с помощью memtest86 - сбоев
нет. Данная ситуация меня вдохнови­
ла, после чего я быстро раздобыл дист­
рибутив «Fedora 9 beta 64 bit», который
Ins
на волне удач тоже заработал и начал InstalI
ставиться, не зависая на этапе распа­ R escue i n s t a
Boot f r o n loi
ковки ядра. Menoru t e s t

Перебирая в голове способы на­


иболее простого объединения двух ус­
тановочных дисков в о д и н - з а г р у з ч и к а
и ядра с одной и всей системы с дру­
гой - и не найдя простого решения,
я и моя лень стали искать в Интернете > vritiraiz i n i t r d = i n i t r d . i n g edd-skipnbr_
подобные случаи. И, надо сказать, пра­
вильно сделали - нашли выход.
О к а з а л о с ь , что на сайте Red Hat
есть Bug №239585 [1], из которого ста­
ло ясно, что во время загрузки ядру на­
до передать параметр «edd=skipmbr»
fedora
(см. р и с . 2). Рисунок 2. Передача параметров ядру во время загрузки
во время загрузки. Когда использова­ Кстати, для USB есть аналогичная
- —- Wireless Module : Atheros ARBXB63 лись ядра серии 2.4.x и более ранние, команда Isusb.
:
FCC ID PPD-ARBXB63 то все сообщения быстро пробегали
1С : 4 1 0 4 A - A R B X B 6 3
Что можно сделать, если вы не ви­
(§)CCAE06LP1300T1 на экране, сейчас загрузка идёт тихо, дите у себя нужное устройство, но, как
даже если удалён пакет rhgb и нет гра­ я, убедились, что физически оно име­
ф и ч е с к о г о интерфейса. Поэтому, ес­ ется? Надо попытаться его включить.
ли не предпринять какие-либо дейст­ На некоторых ноутбуках есть пере­
вия, пользователи могут и не увидеть ключатель, который может физичес­
проблемы. ки отключать питание от сетевой кар­
Вторая показывает и н ф о р м а ц и ю ты, поэтому посмотрите, чтобы пита­
об и м е ю щ и х с я PCI-устройствах. З а ­ ние имелось. Иногда механический вы­
Рисунок 3. Н а к л е й к а , указывающая
тип установленного W i - F i - у с т р о й с т в а пускать эту команду лучше с ключом ключатель может быть заменён элек­
-v или -vv для большей информатив­ т р о н н ы м собратом в виде э л е к т р о н ­
вая версия 2.6.26.0-107.fc8, а у вас, чи­ ности. ной схемы с кнопочкой. У меня была
тателей, может быть и ещё более све­ П о ч е м у с т о и т начать с этих к о ­ как раз похожая ситуация. Более под­
жая. Процесс понятен, выходят новые манд, а не с каких-либо других? По­ робно далее. С ч и т а е м , что у с т р о й с ­
версии, обновления нужны всегда, та­ тому, что ситуация чем-то напомина­ тво включено, и поднимаемся на уро­
ким образом, мною был «открыт» ре­ ет м н о г о у р о в н е в у ю э т а л о н н у ю м о ­ вень выше.
сурс Rpmfind.Net Server [5]. После ска­ дель в з а и м о д е й с т в и я открытых сис­ Посмотрим, что нам выдаёт ядро.
чивания R P M - п а к е т о в ядра и обнов­ тем (ЭМВОС, ISO/OSI-RM) [3, стр.66], В моём случае из команды dmesg я уз­
ления его в системе вручную, коман­ когда не работает сеть, начинать про­ нал, что ядро при загрузке выдало сле­
дами: верять надо с самых нижних уровней, д у ю щ у ю ошибку:
то есть с ф и з и ч е с к о г о уровня - есть
#rpm - F h v k e r n e l - 2 . 6 rpm ли вообще соединение? Так и тут, пер­ wifi%d: unable to attach hardware:
вым делом надо разобраться, есть ли 'Hardware revision not support
ed' (HAL status 13)
установка madwifi через yum, как опи­ устройство (в нашем случае сетевая
сано выше, не привела к нужному ре­ карта) в системе? Поддерживается ли Для того чтобы понять, что надо
зультату, после перезагрузки беспро­ она ядром? делать, совсем не обязательно быть
водные сетевые интерфейсы обнару­ Если у с т р о й с т в а нет, оно не бу­ программистом. Конечно, путь изуче­
жены не были. То есть либо не видны дет работать, как его ни настраивай. ния исходных кодов на 100% верный
и не обнаруживаются системой udev В м о ё м с л у ч а е я с а м д е р ж а л в ру­ и н а д ё ж н ы й , но все ли читатели хо­
аппаратные идентификаторы (прове­ ках сетевую карту, поэтому ситуация тят и у м е ю т п р о г р а м м и р о в а т ь и раз­
рить можно командой Ispci), либо они «нет устройства» может быть вызва­ бираться в железе? Конечно, нет, мир
видны, но не загрузились нужные мо­ на плохим контактом, что я исключаю, Linux тем и удобен, что полезные ве­
дули ядра по поддержке железа, либо либо случаем «устройство в ы к л ю ч е ­ щи делают несколько умных людей,
эти модули-драйвера не смогли соз­ но». Поэтому вывод Ispci должен пока­ а потом позволяют всем безвозмездно
дать необходимый аппаратный интер­ зать, включено ли устройство, а т а к ж е пользоваться их творчеством. Очень
фейс - псевдофайл в /dev, для этого информацию о нём. К моему счастью, часто бывает, что вы не одиноки в ва­
следует проверить вывод dmesg на на­ адаптер у меня был обнаружен и пра­ шей проблеме, поэтому поиск по сло­
личие ошибок. вильно распознан: вам, встречающимся в ошибке, приво­
Первым делом следует изучить вы­ дит вас к решению проблемы.
02:00.0 Ethernet controller: Atheros
вод команд dmesg, Ispci. Первая пока­ Conmunications Inc. AR242x 802.11abg Поиск привёл меня на тот ж е сайт
зывает сообщения, выдаваемые ядром Wireless PCI Express Adapter (rev 01) MadWifi [2] и ф о р у м по Fedora [10],

Иг
' таз
' ' 1111

^ Щ ^ ^ ^ ^.j J j j

Hp- 1 1 ыШт бп
1
Рисунок 4 . Семь в и н т о в , держащих крышку над о т с е к о м
с памятью, процессором и W i - F i - м о д у л е м Рисунок 5 . В н у т р е н н о с т и н о у т б у к а , слева в н и з у W i - F i - м о д у л ь
где в разных местах обсуждались про­ ной цели мне удалось узнать несколь­
блемы подключения Atheros серий ко интересных вещей, а именно...
AR5005, AR5006, AR5007.
Было найдено несколько решений Интересное
по поддержке работы адаптера: В моём ноутбуке есть индикатор Wi-Fi,
1 использовать специальную сборку который, как выяснилось, работает ав­
madwifi; тономно. Свечение и н д и к а т о р а мож­
• наложить patch на ядро и исполь­ но включать (если при загрузке ядра
зовать драйвер ath5k; есть поддержка asus-laptop, см. вывод
• использовать NDISwrappers. dmesg) командой:

Самым простым путём оказал­ echo " l " > / s y s / d e v i c e s / p l a t f o r m / J


asus-laptop/wlan
ся п е р в ы й , т а к к а к п е р е к о м п и л и р о ­
вать ядро мне не хотелось, а запуск и выключать:
Windows-драйверов под NDISwrappers,
с у д я по с о о б щ е н и я м , не р а б о т а л echo " 0 " > / s y s / d e v i c e s / p l a t f o r m / J
asus-laptop/wlan Рисунок 6. PCI E x p r e s s M i n i C a r d
под 6 4 - б и т н о й в е р с и е й , и п е р е с т а в ­ AzureWave AW-GE780 (AR5BXB63)
лять систему на 32-битную сборку мне К а к ни странно, горит л а м п о ч к а
тоже не хотелось. Изучая сообщения или нет, на работе н и к а к не о т р а ж а ­ 2. П р о е к т M a d W i f i . П о д к л ю ч е н и е б е с п р о ­
на форумах, я выяснил, что для рабо­ ется. З а д а в ш и с ь вопросом, а как сде­ водных с е т е в ы х а д а п т е р о в под Linux -
ты л ю д и с к а ч и в а л и не то, что пред­ лать управление л а м п о ч к а м и бо­ http://madwifi.org.
лагается по умолчанию, а специаль­ лее удобным, я нашёл в сети проект 3. К о м п ь ю т е р н ы е с е т и . П р и н ц и п ы , т е х ­
ные с б о р к и , в которые для моего не­ «Lapsus - Linux on laptops" [6] для но­ н о л о г и и , п р о т о к о л ы . / В Т . О л и ф е р , Н.А.
везучего сетевого адаптера внесены утбуков Asus. Небольшая программа, О л и ф е р - С П б : П и т е р , 2 0 0 1 г.
изменения. Так я попал на страницу позволяющая в графическом режиме 4. M a d W i f i A r c h i v e of s p e c i a l - p u r p o s e
со специальными с б о р к а м и [4]. Путём управлять индикаторами. Её недоста­ snapshots - http://snapshots.madwifi.org/
проб и о ш и б о к я выяснил, что для мо­ ток в том, что пока она работает толь­ special.
его ноутбука н у ж н а версия madwifi-hal- ко под KDE. 5. С а й т , г д е м о ж н о н а й т и р а з л и ч н ы е R P M
0.10.5.6-Г3698-20080604. (В процессе Аналогичные программы есть и под п а к е т ы - http://rpmfind.net.
написания статьи коллеги с о о б щ и л и , другие ноутбуки. Например, для Acer 6. L a p s u s - L i n u x o n l a p t o p s - h t t p : / / l a p s u s .
что к их адаптеру AR5006EG в ASUS
существует п о д д е р ж к а специальных berlios.de.
Еее PC п о д х о д и т в е р с и я m a d w i f i -
дополнительных кнопок [8]. 7. L i n u x o n L a p t o p s - h t t p : / / w w w . l i n u x - l a p t o p .
ng-r2756+ar5007.)
net.
П о э т о м у мы в ы б и р а е м или у г а ­ Заключение 8. A c e r H o t k e y d r i v e r f o r L i n u x - h t t p : / / w w w .
дываем, скачиваем, распаковываем Хочется верить, что читатель нашёл по­ cakey.de/acerhk.
н у ж н у ю в е р с и ю и з а п у с к а е м две ко­ лезное в статье либо задумался об ус­ 9. О п и с а н и е A R 5 0 0 7 E G (AR2425)-
манды: т а н о в к е Linux на ноутбук. Если так, http://www.atheros.com/pt/bulletins/
то ещё один ресурс может оказаться AR5007EGBulletin.pdf.
# make полезным [7]. 10. О б с у ж д е н и е н а ф о р у м е Atheros
# make i n s t a l l
В статье о к а з а л и с ь незатронуты­ AR5007EG/AR5BXB63 - http://
которые решили мои проблемы. ми вопросы настройки ACPI, как и мно­ forums.fedoraforum.org/showthread.
После перезагружаемся или даём гие другие интересные моменты, каса­ php?t=174186.
команду: ющиеся поддержки различных «горя­ 11. С а й т п р о е к т а N D I S w r a p p e r - http://
чих клавиш» и других вещей. ndiswrapper.sourceforge.net.
# depmod - а Пересечение мира Linux
и ноутбуков безгранично.
и выключаем-включаем адаптер, дол­ Считаю, что начало проло­
жен появиться интерфейс wlanO, пос­ жено, а остальное за вами,
ле чего станет в о з м о ж н ы м его на­ читателями и будущими ав­
строить с п о м о щ ь ю iwconfig. Пробле­ т о р а м и ! Есть мысли? - п и ­
ма решена. шите в редакцию, будет по­
Если вы сразу установили к о м п и ­ вод открыть раздел «Linux
лятор дсс и заголовки ядра в процес­ на ноутбуке». @:
се у с т а н о в к и , то первый путь наибо­
лее п р о с т о й , но не в с е г д а удачный, 1. Bugzilla B u g 2 3 9 5 8 5 : F8 C D /
как может показаться, так как выбран­ DVD hangs with message
ная сборка может у вас не заработать. «Ready» - https://bugzi.la.
Несмотря на это, я выбрал этот путь, redhat.com/show_bug.
Рисунок 7 . Микросхема A t h e r o s AR2425 на п л а т е
так как в процессе достижения конеч­ cgi?id=239585. Wi-Fi-модуля
Jabberd2 - простой и нетребовательный
к ресурсам ХМРР-сервер

Михаил Кондрин
Рассмотрим конфигурирование, архитектуру и первоначальную настройку jabberd2.

История и предыстория к а л ь н ы х у н и в е р с и т е т с к и х (в том ж е Сам протокол Jabber начал разра­


Проект Athena, запущенный в Масса- MIT, например) сетях продолжается батываться в конце 90-х годов Д ж е р е ­
чусетском технологическом институте вплоть до настоящего времени. Глав­ ми Миллером (Jeremie Miller), в качест­
в середине 80-х годов, имевший сво­ ным ф а к т о р о м , работающим в поль­ ве альтернативы закрытого протокола
ей целью с о з д а н и е р а с п р е д е л е н н о ­ зу Zephyr, была его тесная интегра­ ICQ. В отличие от централизованного
го вычислительного о к р у ж е н и я , ока­ ция с другой разработкой, возникшей сервиса ICQ Jabber представляет со­
зал сильное воздействие на развитие в рамках проекта Athena, - системой бой распределенную систему, чем-то
к о м п ь ю т е р н ы х т е х н о л о г и й того вре­ удаленной аутентификации пользова­ н а п о м и н а ю щ у ю э л е к т р о н н у ю почту.
мени. Ф а к т и ч е с к и , в эпоху мэйнфрей­ телей Kerberos. Поскольку Zephyr рабо­ То есть на сервере предприятия мож­
мов и терминалов, это был первый при­ тает в закрытом окружении (универси­ но установить свой собственный сер­
мер «сетевого окружения» в том виде, тете или предприятии), с определен­ вер JABBER, так что локальные поль­
как его представляют сейчас. Среди ным кругом пользователей (сотрудни­ зователи, подключаясь к нему, могут
прочего авторам проекта в процессе ки и/или студенты), особенно в том слу­ обмениваться сообщениями как внут­
работы пришлось решить и такую за­ чае, когда их учетные записи и так уже ри предприятия, так и с внешним ми­
дачу, как замены утилиты talk, которая хранятся в базе данных Kerberos, то та­ ром, в смысле - другими серверами
позволяла передавать короткие сооб­ кая система предоставляет, с одной J A B B E R . Отличительной о с о б е н н о с ­
щения между терминалами, п о д к л ю ­ с т о р о н ы , большее удобство исполь­ тью протокола является его расширя­
ченными к рабочей станции. По мере зования сервиса, за счёт развертыва­ емость и использование XML-форма­
разработки этой проблемы возникла ния single-sign-on, а с другой, позволя­ та для передачи данных. П о с к о л ь к у
идея создания протокола Zephyr, кото­ ет однозначно устанавливать идентич­ протокол возник сравнительно позд­
рый одновременно решал бы две за­ ность пользователей. но, то в нём, по крайней мере во вто­
дачи - обмен сообщениями и инфор­ рой редакции 2003 года, предусмотре­
П о с к о л ь к у протокол Zephyr оста­
мирование о наличии нужного пользо­ на поддержка прослойки SASL (Simple
вался п р а к т и ч е с к и з а м о р о ж е н н ы м
вателя за компьютером. Таким обра­ Authentication Security Layer), средс­
довольно долгое время, то в нем по-
зом, этот протокол оказался не толь­ твами которой к нему можно подклю­
прежнему использовался старый ва­
ко одним из первых (вместе с I R C - чать р а з л и ч н ы е модули а у т е н т и ф и ­
риант протокола Kerberos4, от кото­
Internet Relay Chat) протоколов мгно­ кации, в том числе и Kerberos. Специ­
рого в последнее время начали отка­
венного обмена сообщениями (Instant ф и к а ц и и протокола состоят из двух
зываться, что заставляет пользовате­
Messaging/IM), но и во многом воспро­ RFC 3 9 2 0 - 3 9 2 1 , к о т о р ы е о п и с ы в а ­
лей и администраторов искать альтер­
изводил архитектуру, в п о с л е д с т в и и ют ядро протокола (Core), и доволь­
нативные системы обмена сообщени­
использованную в протоколе Jabber но обширного числа так называемых
ями. (Хотя, по слухам, в Университе­
(ХМРР - extensible Message Passing ХЕР (ХМРР Extension Protocols), кото­
те штата Айова используется вариант
and Presence Protocol). рые определяют расширения базово­
Zephyr с поддержкой Kerberos5, но ис­
го протокола. В настоящее время су­
Хотя Zephyr было далеко до попу­ ходный код этой системы в свободном
ществует несколько реализаций сер­
лярности, сравнимой с популярностью доступе я найти так и не смог.) Наибо­
веров Jabber, однако пока что ни один
п о я в и в ш е г о с я г о р а з д о позже прото­ лее подходящим, в смысле возможнос­
из них не поддерживает весь набор
кола ICQ, но сам по себе он оказался ти его конфигурирования, т а к и м обра­
ХЕР. В о - п е р в ы х , это ejabber, н а п и ­
довольно удачным, и его использова­ зом, чтобы максимально напоминать
санный на языке erlang и популярный
ние в немодифицированном виде в ло­ Zephyr, явлется Jabber/XMPP.
в России из-за своей русской коман­
ды разработчиков, во-вторых, напи­ Неболыиое отступление тимости с этим механизмом, на самом деле,
санный на Java и рассчитанный на ис­ По у м о л ч а н и ю jabberd2 использует G N U - это р е ш е н и е б ы л о вызвано н е п о н и м а н и е м
пользование в корпоративных сетях в е р с и ю б и б л и о т е к и S A S L - gsasl[5]. Это ре­ работы SASL с так называемым security
OpenFire, а т а к ж е два jabberd - 1.4.x шение было принято основным руководи­ layers. Грубо г о в о р я , security layer п о з в о л я ­
и 2.x, оба написанных на С. Несмот­ телем проекта Т о м а ш е м Стерной (Tomasz ют шифровать т р а ф ф и к между клиентом
ря на сходство названий, jabberd 1.4.x Sterna) п р и м е р н о год н а з а д . Н а м о й в з г л я д , и сервером, если они поддерживают опре­
и jabberd2 - это два независимых про­ это было серьезной ошибкой. П о м и м о то­ деленные механизмы SASL. В настоящее
е к т а , к о т о р ы е р а з в и в а л и с ь парал­ го, что о н о с п р о в о ц и р о в а л о у х о д и з п р о е к ­ в р е м я gsasl, в о т л и ч и е от cyrus-sasl, не и м е ­
лельно первоначальной справочной та С а й м о н а У и л к и н с о н а (Simon Wilkinson), ет т а к о й ф у н к ц и о н а л ь н о с т и , т а к что в д а н ­
реализации (reference implementation) который достоин отдельного упомина­ ном случае мы видим просто один из при­
сервера jabberd, выполненной самим ния з а в к л ю ч е н и е в jabberd2 поддержки меров лечения головной боли радикаль­
Д ж е р е м и Миллером. GSSAPI, а также тестирование и усовер­ ными средствами.

Хотя к а ж д ы й из э т и х с е р в е р о в шенствование jabber-клиентов для совмес­

имеет свои достоинства, но в данной


статье будет рассмотрен именно jabberd2, по причине сво­ комендуется использовать последние версии Heimdal, на­
ей нетребовательности к ресурсам, относительной про­ пример 1.1, поскольку в более ранних версиях была допу­
стоты настройки, полной п о д д е р ж к и SASL, а т а к ж е воз­ щена досадная о ш и б к а взаимодействия с SASL, которая
можности использования его без необходимости установ­ делала аутентификацию в jabber невозможной.
ки специализированных серверов баз данных, что т а к ж е После развертывания пакета с исходными т е к с т а м и
в значительной степени у п р о щ а е т его а д м и н и с т р и р о в а ­ jabberd2 его нужно сконфигурировать, запустив в его до­
ние. В истории самого проекта было несколько сложных машнем каталоге команду:
моментов, когда, например, в начале 2005 года был пол­
ностью утрачен репозиторий исходных кодов, которые за­ ./configure —prefix=/usr - - s y s c o n f d i r = / e t c / j a b b e r d J
--епаЫе-db —with-sasl=cyrus —enable-debug
тем пришлось восстанавливать с нуля. В конце того же го­
да он претерпел полное обновление команды разработчи­ В этом случае активируется использование хранили­
ков. Однако в настоящий момент проект динамично разви­ ща баз данных BerkeleyDB, включается поддержка cyrus-
вается, и к самому серьезному его недостатку можно от­ sasl и предусматривается вывод отладочной информации.
нести практически полное отсутствие документации, а от­ Однако перед тем как выполнить уже привычные команды
дельные руководства, встречающиеся в сети, уже устаре­ make и maker install, необходимо совершить еще одно дейст­
ли и иногда даже противоречат тому, что имеется в насто­ вие, чтобы активировать поддержку cyrus-sasl, а именно за­
ящее время. Частично данная статья и имеет своей целью комментировать одну строку с указаниями компилятору:
восполнить этот пробел.
A

Собственно, после этого довольно долгого вступления sed - i r ' s / # d e f i n e f n m a t c h / \ / \ / # d e f i n e f n m a t c h / ' config.h
A
sed - i r ' s / # e r r o r Cyrus S A S L / \ / \ / # e r r o r Cyrus SASL/' J
можно сформулировать наше техническое задание к сер­ sx/cyrus_sasl. с
веру Jabber, реализация которого и будет описана в дан­
ной статье. В первую очередь мы потребуем использование После чего сборка и установка программного пакета долж­
учетных записей пользователей, хранящихся в базе дан­ ны пройти без помех.
ных Kerberos, и наличия как обычного текстового парольно­ Как уже говорилось, функциональность, связанная
го входа, так и с помощью сертификатов Kerberos, а т а к ж е с поддержкой в jabberd2 многопользовательских конферен­
хранение всех авторизационных и дополнительных данных, ций (Multi User/MU-confernce), вынесена в отдельный проект.
необходимых для работы сервера, в локальных дисковых Исходный код этого компонента можно получить со стра­
базах данных (для управления которыми будет использо­ ницы [6], распаковать, с к о м п и л и р о в а т ь командой make
вана библиотека BerkeleyDB). Также дополнительным тре­ и для единообразия переместить полученный в итоге ис­
бованием будет поддержка сервером многопользователь­ полняемый файл mu-conference в директорию, где лежат ос­
ских конференций, которая для jabberd2 реализована в ви­ тальные компоненты jabberd2 (в нашем случае /usr/bin). Воп­
де отдельного проекта. реки сведениям различных руководств, которые можно най­
ти в Интернете, специально компилировать так называемую
Компиляция и сборка JCR, среду запуска компонентов jabberd2 не нужно, для пос­
Перед сборкой jabberd2, который можно скачать с их офи­ ледней версии mu-conference (0.7) она не требуется.
циальной страницы [1], следует убедиться, что у вас в систе­ С о б с т в е н н о г о в о р я , после э т о г о м о ж н о п р и с т у п а т ь
ме установлены библиотеки cyrus-sasl [2] и настроен сектор к конфигурированию jabberd2, но вначале стоит взглянуть
Kerberos, например, с помощью Heimdal Kerberos [3]. Если на то, что ж е мы в итоге получили, и на внутреннее уст­
нет, то вам лучше начать с их настройки, которая описана ройство jabberd2.
в статьях [4], поскольку дальнейшие действия будут сильно
зависеть от работоспособности этих двух библиотек. Также Конфигурирование и архитектура
новые версии jabberd2 требуют наличия системной библио­ jabberd?
теки glibc версии не ниже 2.3.6, из-за неправильной реали­ При создании jabberd2 авторы стремились сделать его мак­
зации функции fnmatch в более ранних версиях. Также ре- симально модульным и расширяемым, с тем чтобы заяв-
администрирование

</local>
<aci>
<acl type='all'>
mod amp <user>j abberd</user>
mod active mod announce </acl>
mod deliver mod disco-publish mod disco </aci>
</router>
mod echo mod help mod iq-last
mod iq-ping mod iq-private mod iq-time
mod iq-vcard mod iq-version mod offline
Он состоит из блока с идентифика­
mod presence mod privacy mad roster-publish
тором процесса (id), ссылкой на файл
mod roster mod session mod status
с P r o c e s s ID з а п у щ е н н о г о п р о ц е с ­
\ mod template-roster mod vacation mod validate са (pidfile) и указанием использовать
syslog для журналирования событий
(log). Это п р а к т и ч е с к и с т а н д а р т н а я
Рисунок 1 . С т р у к т р у р а j a b b e r d 2 часть, которая с очевидными измене­
ниями будет повторяться во всех ос­
ленная в названии протокола расширяемость (extensible) тальных файлах. Следующие две части более интересны.
присутствовала и в его серверной реализации. В результа­ Теги ip и port блока local привязывают процесс к локаль­
те jabberd2 состоит из нескольких процессов, взаимодейс­ ному интерфейсу (нам не нужно, чтобы router был досту­
твующих между собой через сетевой интерфейс. пен по сети) и принятому по умолчанию разработчиками
С одной стороны, такая архитектура позволяет легко до­ jabberd2 порту 5347 для обмена сообщениями между ком­
бавлять новые компоненты, как, например, MU-Conference, понентами jabberd2.
реализующую спецификации ХЕР-0030. Для подключения к router всем остальным компонен­
С другой, позволяет системному администратору, по- там необходимо пройти авторизацию (это не имеет ничего
разному распределяя компоненты на нескольких серве­ общего с авторизацией реальных пользователей или сис­
рах, добиваться либо большей производительности систе­ темного пользователя, под которым будет запущен сервер,
мы, либо же поддерживать на одном компьютере несколь­ о чём речь пойдет дальше). Причем для собственных ком­
ко «виртуальных» хостов [7]. понентов jabberd2 применимы имя пользователя и пароль,
Перейдем к настройке сервера jabberd2, попутно разби­ указанные в блоке user, а сторонними компонентами (к чис­
раясь с функциями к а ж д о г о из компонентов. Все компонен­ лу которых относится MU-Conference) используется пароль,
ты настраиваются с помощью своего собственного конфи­ вынесенный в отдельный блок secret.
гурационного файла. Поскольку протокол ХМРР широко ис­ При настройке своего сервера имеет смысл, по крайней
пользует формат XML, то нет ничего удивительного, что раз­ мере, сменить все эти пароли. В принципе можно настро­
работчики jabberd2 выбрали для конфигурационных фай­ ить сервер таким образом, чтобы к а ж д ы й из компонентов
лов тотже самый формат. В качестве образца для создания имел доступ только к определенной части функциональнос­
собственных конфигурационных файлов можно использо­ ти, просто дав каждому из компонентов свое собственное
вать файлы с расширением xml.dist, входящие в состав па­ имя и отрегулировав права доступа с разделе acl блока aci.
кета jabberd2, тем более что изучение комментариев к ним Однако мы поступим проще, дав все права единственному
дает полезную (пусть и скудную) информацию о самой про­ общему для всех компонентов пользователю jabberd.
грамме. Однако для простоты можно воспользоваться при­ Единственная задача компонента resolver состоит в раз­
водимыми ниже «минимальными» файлами, где большинс­ решении в доменной системе имен SRV-записей, запрошен­
тво параметров не указано, но которые, тем не менее, поз­ ных компонентом s2s и соответствующих внешним jabber-
воляют получить вполне работоспособный сервер. По умол­ серверам. SRV-записи вида _xmpp-server.Jcp или их бо­
чанию используются конфигурационные файлы из дирек­ лее старый вариант J a b b e r . J c p играют примерно т у ж е
тории /etc/jabberd с базовым именем, с о в п а д а ю щ и м с на­ роль, что и МХ-записи для электронной почты, т.е. позво­
званием компонента, и расширением xml. ляют по доменной части имени пользователя (JID) получать
Начнем с центрального компонента, router, который ра­ адрес jabber-сервера (или серверов), отвечающих за об­
ботает в качестве диспетчера, координирующего работу служивание этого домена. Позже мы ещё вернемся к на­
всех компонентов. Его конфигурационный файл router.xml стройке DNS, пока ж е приведу только конфигурационный
выглядит следующим образом: файл resolver.xml:

<router> <resolver>
<id>router</id> <id>resolver</id>
<pidfile>/var/ j abberd/pid/router. pid</pidfile> <pidfile>/var/j abberd/pid/resolver.pid</pidfile>
<log type='syslog'> <log type='syslog'>
<ident>jabberd/router</ident> <ident>jabberd/resolver</ident>
<facility>local3</facility> <facility>local3</facility>
</log> </log>
<local> <router>
<ip>127.0.0.K/ip> <ip>127.0.0. K / i p >
<port>5347</port> <port>5347</port>
<user> <user>jabberd</user>
<name>jabberd</name> <pass>change-me</pass>
<secret>change-me</secret> </router>
</user> <lookup>
<secret>change-me-too</secret> <srv>_xmpp-server._tcp</srv>

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


<srv>_jabber._tcp</srv> <path>/usr/lib/jabberd</path>
</lookup> <module>db</module>
</resolvsr> <db>
<path>/var/jabberd/db</path>
</db>
Блок router указывает адрес и порт, который прослуши­
<mechanisms>
вает router, а т а к ж е имя пользователя и пароль, необходи­ <traditional/>
<sasl>
мые для подключения к нему (те же самые, что и в секции <plain/>
local файла router.xml). <gssapi/>
</sasl>
Вообще-то говоря, протокол ХМРР состоит из двух пото­ </mechanisms>
ков данных, привязанных к разным сетевым портам: один </authreg>
</c2s>
между клиентом и сервером, а второй между двумя серве­
рами. Как раз за обработку второго потока данных отвеча­
ет компонент s2s. Настройка его достаточно проста: Обратите внимание на тег id в блоке local. В качестве его
значения необходимо указывать не имя вашего jabber-сер­
<s2s> вера, а доменное имя, иначе у вас гарантированно возник­
<id>s2s</id>
<pidfile>/var/jabberd/pid/s2s.pid</pidfile> нут проблемы с аутентификацией пользователей. Ф а к т и ­
1
<log type='syslog > чески то же самое имя, набранное большими буквами, мож­
<ident>jabberd/s2s</ident>
<facility>local3</facility> но указать в атрибуте realm, оставленного для тех редких
</log> случаев, когда имя домена и сектора (SASL или Kerberos)
<router>
<ip>127.0.0.K/ip> не совпадают. Заметьте также, что атрибут register-enable,
<port>5347</port> обычно рекомендуемый в руководствах, отсутствует. Собст­
<user>jabberd</user>
<pass>change-me</pass> венно говоря, это и понятно, мы не собираемся делать об­
</router> щедоступный jabber-сервер, а напротив, собираемся раз­
<local>
<ip>0.0.0.0</ip> решить к нему доступ только тем, кто уже зарегистрирован
<port>5269</port> в базе данных Kerberos. Однако это условие будет необхо­
<resolver>resolver</resolver>
</looal>
димым, но ещё не достаточным для подключения к серве­
</s2s> ру jabberd2. Дополнительным условием будет присутствие
соответствующей записи для пользователя в собственной
Блок local, т а к ж е как и в случае router, определяет при­ базе данных сервера jabberd2 - authreg. Собственно гово­
вязку к сетевому интерфейсу и порту. В данном случае ря, в данном случае происходит дублирование имен поль­
от компонента требуется, чтобы доступ к нему был открыт зователей из Kerberos, но внутреннее устройство серве­
извне, поэтому ip (0.0.0.0) указывает, что компонент исполь­ ра jabberd2 не позволяет избежать этого. Как уже говори­
зует все доступные интерфейсы и привязян к стандартно­ лось, чтобы не поднимать дополнительный сервер баз дан­
му порту 5269 (jabber-server). Также в этой секции указан ных, хранение всех данных jabberd2 будет производиться
идентификатор компонента resolver. в файловых базах BerkeleyDB (тэг module). В блоке db ука­
зан путь, где будут располагаться эти базы данных. Спи­
Пока что вся настройка не требует существенной прав­
сок поддерживаемых механизмов аутентификации собран
ки конфигурационных файлов, практически в к а ж д о м слу­
в блоке mechanisms: там указаны как простые (traditional,
чае можно было бы обойтись минимальной переделкой
осуществляемые со старыми спецификациями протокола
xml.dist из состава jabberd2. Более серьезная правка тре­
jabber 1998 года, в нашем случае список пуст), так и более
буется для двух других файлов, отвечающих стандартным
новые механизмы SASL (sasl). В последнем случае, в соот­
компонентам jabberd2.
ветствии с техническим заданием, разрешено использовать
З а второй поток данных (между клиентом и сервером),
как открытые текстовые пароли (plain), так и аутентифика­
а т а к ж е аутентификацию реальных пользователей отвеча­
цию средствами инфраструктуры Kerberos (gssapi).
ет компонент c2s. Так же, как и для компонента s2s, дос­
туп к нему должен быть открыт по сети через порт 5222 Данные, которые получены компонентом c2s, поступа­
(jabber-client): ют на обработку модулю sm (Session Manager). Он имеет
наиболее объемный конфигурационный файл, поскольку
<c2s> для к а ж д о г о из событий необходимо указать последова­
<id>c2s</id>
<pidfile>/var/jabberd/pid/c2s .pid</pidfile> тельность обработки полученных пакетов, в виде цепочки
<log type='syslog'> (chain) подгружаемых модулей. В приведенном ниже лис­
<ident>jabberd/c2s</ident>
<facility>local3</facility> тинге большая часть блока modules опущена, его можно
</log> будет восстановить из примеров, содержащихся в паке­
<router>
<ip>127.0.0. K / i p > те jabberd2.
<port>5347</port>
<user>jabberd</user>
<sm>
<pass>change-me</pass>
<id>myrealm.ru</id>
</router>
<looal> <pidfile>/var/jabberd/pid/sm.pid</pidfile>
<router>
< i d realm='MYREALM.RD'>myrealm.ru</id>
<ip>127.0.0. K / i p >
<ip>0.0.0.0</ip>
<port>5347</port>
<port>5222</port>
<user>j abberd</user>
</local>
<pass>change-me</pass>
<authreg>
</router>
<log type='syslog'> <jcr>
<ident>jabberd/sm</ident> <name>conference.myrealm.ru</name>
<faoility>local3</facility> <host>conference.myrealm.ru</host>
</log> <ip>127.0.0.K/ip>
<storage> <port>5347</port>
<path>/usr/lib/jabberd</path> <secret>change-me-too</secret>
<driver>db</driver> <spool>/var/j abberd/spool/rooms</spool>
<db> <logdir>/var/jabberd/log</logdir>
<path>/var/jabberd/db</path> <pidfile>/var/jabberd/pid/mu-conference.pid</pidfile>
</db> <loglevel>255</loglevel>
</storage> <conference xmlns="jabber:config:conference">
<aci> <public/>
<acl t y p e = ' a l l ' > <vCard>
<jid>root@myrealm.ru</jid> < F N > P u b l i c Chatrooms</FN>
</acl> <DESC>This s e r v i c e i s f o r p u b l i c c h a t r o o m s . < / D E S C >
</aci> <ORL>http://www.myrealm.ru/</URL>
<modules> </vCard>
<path>/usr/lib/jabberd</path> <history>40</history>
<logdir>/var/jabberd/logs/</logdir>
<chain i d = ' u s e r - c r e a t e ' > <stylesheet>/var/jabberd/logs/style.css</stylesheet>
<module>active</module> <notice>
</chain> < j o i n > h a s become a v a i l a b l e * : / j o i n >
<leave>has l e f t < / l e a v e >
</modules> < r e n a m e > i s now known a s < / r e n a m e >
<user> </notice>
<auto-create/> <sadmin>
<template> <user>root@myrealm.ru</user>
<publish/> </sadmin>
</template> <persistent/>
</user> <roomlock/>
</sm> </conference>
</jcr>

Использование подгружаемых модулей является еще Атрибуты name и host лучше выбрать по принципу, ис­
о д н и м д о п о л н и т е л ь н ы м и с т о ч н и к о м р а с ш и р е н и я функ­ пользованному в данном примере, - "conference''-кимя до-
ц и о н а л ь н о с т и с е р в е р а jabber2. Н а п р и м е р , п о к а з а н н ы й мена> (с помощью настройки DNS это имя должно разре­
на д и а г р а м м е модуль mod_iq-vcard позволяет пользова­ шаться в адрес jabber-сервера). Тэги ip, port и secret отно­
телям публиковать свои личные данные в виде электрон­ сятся к компоненту router, причём в качестве пароля дол­
ных визитных карточек, а модуль mod_published-roster (ко­ жен быть указан дополнительный пароль, применимый для
торый, кстати, появился в jabberd2 сравнительно недавно, старых компонентов. Все дискуссионные комнаты сделаны
благодаря усилиям русского разработчика Никиты Смир­ постоянными (persistent), но создавать их может только ад­
нова) дает возможность администратору создавать на сер­ министратор (roomlock). В качестве владельца/модератора
вере д и н а м и ч е с к и й с п и с о к к о н т а к т о в , д о с т у п н ы й всем конференций указан всё тот ж е root. Конференции журнали-
пользователям этого сервиса (внутри предприятия име­ руются, причем данные хранятся в виде xml-файлов, кото­
ет смысл просто занести в этот список всех сотрудников). рые потом могут быть выложены в Интернете. Для их пред­
Показанная в листинге цепочка user-create просто добав­ ставления используется стилевой файл style.ess, образец
ляет в базу данных необходимые записи (при помощи мо­ которого тоже можно найти в пакете mu-conference.
дуля mod_active) при первом подключении пользователя.
Администратору ничего не мешает оптимизировать рабо­ Создание списка пользователей
ту сервера, удаляя из цепочек «лишние» по его мнению и запуск
модули, как, например, в данном случае убран из цепочки Собственно, после создания конфигурационных файлов
user-create модуль mod_roster-template (во многом дубли­ требуется решить ещё несколько административных задач -
рующий функциональность mod„published-roster) или, на­ создать системного пользователя, под которым будет ра­
пример, mod_disco-publish, аналогичный по функциональ­ ботать сервер jabberd2, создать каталоги для хранения баз
ности mod_iq-vcard. При редактировании этого файла нуж­ данных, настроить DNS и систему аутентификации. А т а к ж е
но обратить внимание на тэг id - там должен быть указан написать скрипт, который будет запускать сервер jabberd2.
тот же домен, что и в настройках c2s. В качестве хранили­ Первые две задачи решаются простым скриптом:
ща данных выбрана библиотека BerkeleyDB (блок storage),
в качестве администратора сервиса указан пользователь useradd - d / v a r / j a b b e r -s n u l l jabber
root с передачей ему всех прав по управлению сервисом mkdir /var/jabber/db
chown - R j a b b e r / v a r / j a b b e r / d b
(блок aci). К р о м е того (блок user), разрешена активация
учетных записей пользователей, которые уже содержатся
Настройка DNS состоит в добавлении SRV-записей и со­
в базе данных authreg, а в качестве шаблона списка кон­
здании нескольких псевдонимов для jabber-сервера.
тактов для вновь созданных пользователей будет исполь­
зован published-roster. $ORIGIN m y r e a l m . r u .
jabber А 192.168.1.252
Последний конфигурационный файл используется myrealm.ru. А 192.168.1.252
для настройки компонента mu-conference. В качестве при­ conference CNAME jabber

мера лучше всего использовать входящий в состав пакета _jabber._tcp SRV 5 0 5269 j a b b e r
файл muc-example.xml. Например, возможна такая редак­ _xmpp-server._tcp SRV 5 0 5269 j a b b e r
_xmpp-client._tcp SRV 5 0 5222 j a b b e r
ция файла mu-conference.xml:
Как уже упоминалось выше, смысл этих SRV-записей После выпол­
Basic Advanced j
аналогичен МХ-записи для электронной почты. В данном н е н и я всех этих
ХМРР Options
примере для сервера с адресом 192.168.1.252 выбрано имя шагов и тестиро­ • Require S S U T L S
jabber.myrealm.ru, и все три записи указывают на него. Пер­ вания работос­ • Force old (port 5223) SSL
вые две - для порта, обслуживающего подключения сервер- пособности SASL fvj Allow plaintext auth over unencrypted streams
сервер (первая из них - это просто более старый вариант), с помощью ути­ [7j Use GSSAPI (Kerberos v5) for authentication
а последняя - для порта клиент-сервер. Тут стоит подчерк­ л и т ы s a s l t e s t [8] Connect port: 5222
нуть, что если вы хотите, чтобы ваш сервер был доступен можно присту­ Connect server:
извне, т.е. чтобы пользователи других jabber-серверов мог­ пить к заполне­ file transfer proxies:
ли обмениваться сообщениями с вашими пользователями, нию базы данных Proxy Options
то, по крайней мере, первая пара SRV-записей должна быть authreg. Для про­ Proxy type: Use Global Proxy Settings
видна снаружи, поскольку именно она позволяет удален­ стоты мы пока за­
ным jabber-серверам правильно находить сервер, отвеча­ несем двух поль­
ющий пользователю с JID username@myrealm.ru. з о в а т е л е й root
Последняя запись (_xmpp-client._tcp) не столь в а ж н а и mike, оба из ко­
• Create this new account on the server
в этом смысле, поскольку клиенты jabber обычно позволя­ торых должны
ют напрямую указывать адрес сервера, но лучше создать иметь своих при­
и её. Кроме того, некоторые из jabber-клиентов игнорируют нципалов в секто­
ре Kerberos. В ре­ Рисунок 2 . Настройка
SRV-записи, и если адрес сервера не указан пользователем GSSAPI-аутентификации в L i n u x
явно, то просто интерпретируют доменную часть Л D, как имя альных условиях
сервера. Для таких «поломанных» клиентов обычно прихо­ вам, скорее всего, понадобится скрипт, который считывает
дится создавать дополнительный псевдоним для jabber-сер­ данные из базы данных Kerberos (в этом вам поможет ко­
вера, состоящий только из доменной части. Также для нор­ манда «kadmin -I dump», например), фильтрует вывод и пе­
мальной работы компонента mu-confertnce необходимо соз­ реносит имена пользователей в базу данных authreg.
дать ещё один псевдоним conference.myrealm.ru. Для заполнения базы данных authreg нужно будет напи­
И п о с л е д н е е - э т о настройка аутентификации пользова­ сать текстовый файл passwd.txt такого вида:
телей, что включает в себя настройку Kerberos, SASL и за­
полнение базы данных authreg. Предполагается, что поль­ root
root\OOMYREALM.RU\00<random passwd>
зователи уже занесены в базы данных Kerberos. В случае mike
jabberd2 дальнейшие действия напоминают настройку элек­ mike\OOMYREALM.RU\00<random passwd>
тронной почты, как она описана, например, в статьях [8, 9].
Иными словами, нам нужно создать принципала то есть он состоит из парных записей: нечетные строки -
для службы jabberd (xmpp/jabber.myrealm.ru@MYREALM.RU) это ключи, четные - значения. В качестве ключа берется
и выгрузить его ключ в файл /etc/krb5.keytab: имя пользователя, а значение представляет собой список
с разделителем \00, состоящий из трех полей - имени поль­
kadmin зователя, сектора SASL и случайной комбинации симво­
>add x m p p / j a b b e r . m y r e a l m . r u
>ext xmpp/j abber.myrealm.ru лов, которая служит в качестве простого текстового паро­
ля для этого пользователя. Поскольку при настройке серве­
Следуя рекомендациям статьи [9], чтобы этот ключ был ра jabberd2 простые (traditional из файла c2s.xml) механиз­
доступен для системного пользователя jabber, под кото­ мы аутентификации отключены, то последнее поле можно
рым запускается jabberd2, то нужно добавить этого поль­ оставить пустым, оно в такой конфигурации не будет ис­
зователя в системную группу kerberos и открыть файл /etc/ пользоваться. Также следует помнить, что ни одно из по­
krb5.keytab на чтение этой группе. лей не должно превышать по длине 255 символов.
Настройка SASL состоит в создании файла /usr/lib/sasl2/ Теперь остается зайти в директорию /var/jabberd/db, пред­
xmpp.conf с практически неизменным содержимым: назначенную для хранения баз данных jabberd2, и с помо­
щью утилиты d b j o a d , входящей в состав пакета BerkeleyDB,
pwoheck: s a s l a u t h d создать эту базу данных:
mech_list: gssapi p l a i n

Чтобы jabberd2 мог а у т е н т и ф и ц и р о в а т ь п о л ь з о в а т е ­ c a t p a s s w d . t x t [ db_load - n - t hash J


- c d a t a b a s e = m y r e a l m . r u - h ./ -T authreg.db
лей, входящих с простыми текстовыми паролями, то на
том ж е хосте, где работает jabberd2, должен быть запу­ Справку по команде d b j o a d в html-формате можно най­
щен saslauthd: ти в пакете BerkeleyDB. Подробное объяснение принципов
работы с базами данных вида BerkeleyDB требует отдельно­
/ u s r / s b i n / s a s l a u t h d -a kerberosS го о б с у ж д е н и я , но в данном случае создаётся база д а н ­
ных в режиме обновления (ключ -п) типа hash (-t) и с име­
причем необходимо убедиться, что и м е н о в а н н ы й сокет нем myrealm.ru (которое вам нужно поменять на имя ваше­
/var/spool/saslauthd, через который saslauthd обменивает­ го домена) в файле authreg.db с окружением/environment
ся данными с внешними программами, доступен на чтение (-h), в качестве которого используется т е к у щ а я д и р е к т о ­
и запись системному пользователю jabber. рия (т.е. /var/jabberd/db). К л ю ч -Т указывает, что в качестве
входных данных используется текстовый файл. Ту ж е са­ let retval=-l
esac
мую команду нужно использовать для пополнения или ре­
дактирования уже существующей базы данных. При этом Данный скрипт выдает большое количество отладоч­
в файл passwd.txt нужно вносить только те записи, которые ной информации в файлы вида debug"KMH компонента".1од
вы хотите добавить или изменить. Проблемы с блокировкой в текущей директории, что бывает полезно при настройке
пользователей проще решать удалением или блокировани­ сервиса, но сильно сказывается на быстродействии в ра­
ем соответствующих принципалов в базе данных Kerberos бочем режиме. Исправить ситуацию можно редактирова­
либо ж е полностью переписать базу данных authreg.db, за­ нием скрипта запуска.
пустив команду d b j o a d без ключа -п. Понятно, что в пос­ Сложно рекомендовать какой-то определенный jabber-
леднем случае вам нужно иметь полный список пользова­ клиент, поскольку этот вопрос уже для многих является до­
телей в текстовом файле passwd.txt. статочным поводом для начала «священной войны». Одна­
Теперь всё готово к з а п у с к у сервера. Р а з р а б о т ч и к и ко я всё же предлагаю использовать многопротокольный
jabberd2 и этот этап переложили на плечи администраторов, (который, кстати, поддерживает и упомянутый в начале ста­
так что вам придется создавать собственный скрипт запус­ тьи протокол Zephyr) клиент Pidgin [10]. Несмотря на гранди­
ка. Можно воспользоваться моей заготовкой (rc.jabberd), ко­ озный скандал, устроенный его пользователями, которым
торая, будучи запущенной с аргументами start/stop, запус­ не понравилось введение р а з р а б о т ч и к а м и автоматичес­
кает или останавливает все шесть компонентов. ки масштабируемого поля ввода, что даже привело к рас­
колу среди разработчиков и появления ф о р к а - Funpidgin,
#!/bin/bash мне лично кажется, что клиент довольно удобен, и, по-край-
p r o g s = " r o u t e r r e s o l v e r sm c2s s 2 s "
user=jabber.jabber
ней мере в Linux, позволяет легко настроить GSSAPI-аутен-
progsPath="/usr/bin" тификацию. Для этого нужно только поставить галочку на­
confPath="/etc/jabberd"
pidPath="/var/jabberd/pid"
против поля «Use GSSAPI...» на вкладке Advanced диалога
Start ( ) { управления учетными записями, который показан на р и с . 2 .
echo " I n i t i a l i z i n g j a b b e r d 2 p r o c e s s e s . . . " В данном случае сервер можно не указывать, поскольку
f o r p r o g i n $ { p r o g s ) ; do
i f [ $( p i d o f - s $ ( p r o g } ) ] ; t h e n при правильно настроенном DNS он вычисляется из до­
echo - n e " \ t p r o c e s s [ $ { p r o g } ] J менного имени, которое вводится в том ж е окне, что и по­
already running"
sleep 1 казанное на р и с . 2 , но на вкладке Basic.
continue
fi Кстати, использование GSSAPI решает ещё одну извес­
echo - n e " \ t S t a r t i n g $ { p r o g } . . . " тную проблему, на которую часто жалуются пользовате­
rm - f $ { p i d P a t h } / $ ( p r o g } . p i d
args="-c ${confPath}/$(prog}.xml" ли Pidgin - хранение текстовых паролей в незашифрован­
sudo - u j a b b e r $ { p r o g s P a t h ) / $ { p r o g ) J ном текстовом файле. В данном случае пароль «хранится»
$ { a r g s } -D 2 5> d e b u g $ ( p r o g ) . l o g &
echo средствами библиотеки Kerberos, так что Pidgin не имеет
sleep 1 к нему никакого доступа.
done
sudo - u j a b b e r $ { p r o g s P a t h } / m u - c o n f e r e n c e Многие пользователи считают функциональность Pidgin
return $(retval) недостаточной для продвинутой работы с протоколом ХМРР.
}
# Однако создание конференции в нем делается просто - за­
Stop ( ) ( пуском мастера из меню «Buddies - » Add Chat» в основном
echo " T e r m i n a t i n g j a b b e r d 2 p r o c e s s e s . . . "
f o r p r o g i n $ { p r o g s ) ; do окне, разумеется, если вы зашли под административным ло­
echo - n e " \ t S t o p p i n g $ { p r o g } . . . " гином, которому разрешено создание конференций в кон­
k i l l ${cat ${pidPath)/${prog).pid) J
a rm - f $ ( p i d P a t h ) / $ { p r o g ) . p i d фигурационном файле mu-conference.xml.
echo Если вы не обнаружили кнопку «Use GSSAPI...» в сбор­
sleep 1
done ке Pidgin присутствующей в вашем дистрибутиве, то, ско­
k i l l a l l mu-conference рее всего, вам его (Pidgin) придется собирать вручную.
return ${retval)
) Это не слишком сложно, нужно только при запуске configure
# обратить внимание на ключи:
case " $ 1 " i n
start)
Start . / configure
--enable-cyrus-sasl \
stop) —with-dynamic-prpls=jabber,simple \
Stop —with-static-prpls= \

restart)
Stop которые включают поддержку Cyrus-SASL и инициируют
Start
сборку двух д и н а м и ч е с к и х библиотек, о б е с п е ч и в а ю щ и х
condrestart) поддержку протокола ХМРР.
i f [ -f /var/lock/subsys/${prog) ]; then
Stop У ж е на этом этапе с е р в е р вполне р а б о т о с п о с о б е н ,
sleep 3 но для более т о н к о й настройки необходимо будет разо­
Start
fi браться с содержимым баз данных sm.db, которые не всег­
да удается модифицировать лишь средствами протоко­
*)
echo " U s a g e : J ла ХМРР. Этому вопросу и будет посвящена следующая
$0 ( s t a r t I s t o p I r e s t a r t | c o n d r e s t a r t ) " часть статьи. Щ
G

.INBOX RESCUE SERVER: полный контроль за ИТ-инфраструктурой

.box R e s c u e Server ( L R S ) э т о пакет п р о г р а м м , п р е д о с т а в л я ю щ и й все функции надлежащего локального или


аленного управления И Т системой. О н может быть использован как в одном подразделении, так и в десятках,
азмещая, контролируя и и с п р а в л я я в с е (в о с н о в н о м W i n d o w s и G N U / L i n u x ) к о м п ь ю т е р ы в сетях L A N и W A N . L R S
жет установлен на машину с GNU/Linux с любой поддерживаемой локальной сетью. Админстратор может
равлять через Веб-браузер с любого локального или удаленного компьютера. О н использует систему загрузки

• Легкость администрирования за счет использования единой мультифункциональной Веб-консоли. Использование


зашифрованного туннеля и системы авторизации гарантирует контроль и конфиденциальность передачи через локальную или
глобальную сеть.
• Резервирование и восстановление систем с Windows или GNU/Linux за несколько минут (примерно 10-15минут д л я
Windows+Office ХР). Резервирование системы ведется в виде полного образа на жестком диске, который содержит
операционную систему, программное обеспечение и параметры. Единственный образ (master) может быть использован д л я
множества ПК, благодаря пост-инсталяционным особенностям (например введение компьютеров с Windows в домен). В ы
можете выбрать какие разделы в ы хотите резервировать иливосстановить. Копия может быть сохранена на жестком диске, C D
или DVD.
• Резервирование и восстановление ф а й л о в пользователей к а к п о дW i n d o w s и GNU/Linux, т а к и п о д Unix. И н к р е м е н т н ы е и л и
полные резервные копии автоматически сохраняются на жестких дисках и/или лентах д л я л ю б ы х созданных и л и
модифицированных файлов с заданной частотой. Как правило вы можете сохранить непрерывные копии за 30 дней на дисках
сервера LRS. Система сжатия и различные функциональные особенности снижают объем требуемого места д л я сохранения
д а н н ы х д о 1/3 о т и с х о д н о г о . В о с с т а н о в л е н и е о ч е н ь л е г к о и т р е б у е т в с е г о л и ш ь н е с к о л ь к и х к л и к о в в В е б - и н т е р ф е й с е .
• Полный учет программного обеспечения и оборудования. Сервер осуществляет полную опись машин и и х окружения д л я
в с е х п о д к л ю ч е н н ы х к о м п ь ю т е р о в 2 4 ч а с а в с у т к и : О п и с ь о б о р у д о в а н и я ( п р о ц е с с о р , карт, п а м я т и ж е с т к о г о д и с к а , ч и с л а
дисков...), п е р е ф е р и и ( п р и н т е р ы , с к а н е р ы и т.п.) а т а к ж е п р о г р а м м н о г о о б е с п е ч е н и я ( т и п , в е р с и я , р е д а к ц и я и т.п.) и с е т е в о й
и н ф о р м а ц и и ( I P а д р е с а , в ы х о д ы и т.п.). А д м и н и с т р а т о р м о ж е т п о л у ч и т ь п р е д у п р е ж д е н и е п о э л е к т р о н н о й п о ч т е п р и и з м е н е н и я х
между двумя сессиями учета.
• Удаленные контроль за клиентскими ПК. Администратор может воспользоваться безопасным доступом к клиентской
м а ш и н е (через s s h туннель в случае необходимости), после его приглашения пользователем.
Сергей Кузнецо

Сегодня удаленное управление играет важную роль в администрировании компьютеров.


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

к удаленному рабочему столу другого

В
этой статье я постараюсь рас­ так как при подключении к удаленно­
смотреть наиболее известные му компьютеру т е к у щ и й интерактив­ компьютера. Замечу, что на удален­
программы удаленного адми­ ный пользователь этого компьютера ном компьютере в свойствах компью­
нистрирования - п р о г р а м м н о е обес­ будет заблокирован. Это огромнейший тера должен быть р а з р е ш е н удален­
печение, которое позволяет управ­ недостаток в тех случаях, когда нужно ный доступ, в ХР и Vista эта возмож­
лять компьютером на расстоянии, че­ вести удаленную работу в кооперации ность по умолчанию отключена.
рез локальные или глобальные сети, с удаленным пользователем. Поэто­ Особенности:
в т о м числе, конечно же, и Интернет. му сторонние р а з р а б о т ч и к и предла­ • Поддержка 32-битного цвета (в до­
Все сравнения носят общий, независи­ гают свои программные разработки, полнение к 8, 15, 16 и 24-битного
мый характер. В завершение постара­ от бесплатных решений с открытым в предыдущих версиях).
юсь определить, какая программа яв­ исходным кодом (VNC) до серьезных • 1 2 8 - б и т о в о е к о д и р о в а н и е с ис­
ляется лучшей и при каких условиях. коммерческих продуктов (DameWare, пользованием алгоритма кодиро­
Наверное, не ошибусь, если с к а ­ pcAnywhere, Radmin, Netop, UltraVNC, вания RC4 (значение безопаснос­
ж у , что с а м о й и з в е с т н о й п р о г р а м ­ Remote Office Manager и др.). ти по у м о л ч а н и ю ; с т а р ы е к л и е н ­
мой у д а л е н н о г о у п р а в л е н и я являет­ Итак, давайте ж е кратко рассмот­ ты могут использовать более сла­
ся RDP-клиент (RDP расшифровыва­ рим к а ж д у ю программу по отдельнос­ бое кодирование). Но из-за уязви­
ется как Remote Desktop Protocol), ко­ ти, а потом сравним их. Сразу огово­ мости man-in-the-middle vulnerability
торый поставляется вместе с некото­ рюсь, что тестирование проводилось в версиях ранее 6.0 трафик можно
рыми в е р с и я м и Windows. Стандарт­ в рамках семейства операционных перехватить и расшифровать с по­
ный RDP-клиент очень удобен в боль­ систем Windows. мощью специальных утилит.
шинстве случаев, когда нужно подклю­ • Звук с удалённого ПК переадресо­
читься к одному удаленному компью­ RDP вывается и воспроизводится на ло­
теру и управлять им, но в случае ког­ В операционной системе Windows кальном компьютере.
да рабочих станций много и на них ус­ уже встроено средство для удаленно­ • Позволяет подключать удаленные
тановлена, к примеру, Windows ХР, ра­ го управления компьютером. Вы може­ ресурсы к локальной машине (дис­
ботать с помощью RDP очень тяжело, те без особых проблем подключиться ки, принтеры, порты).
• Можно настроить производитель­ ми системами на платформе Windows
ность для сетей с различной про­ NT/2000/XP/2003/Vista, позволяющее 0 щ Remote Desktop
пускной способностью. администраторам обойти ограничения *' ™ C o n n e c t i o n
• Есть версия для м о б и л ь н ы х уст­ Microsoft Management Console (ММС).
Genwal Display Local Rt-;ouees Pioyem; Expeoence Advanced
ройств. DNTU включает большое количество .ogon sen
Logon setting:
• Можно обмениваться информаци­ средств администрирования Microsoft , Erttt the name of the remote computer
ей через буфер обмена. W i n d o w s NT, о б ъ е д и н е н н ы х под о д ­ Compute*: IS
• На медленных каналах связи пока­ ним общим централизованным интер­ U;e:name [nonel
The compute! natte field is blank. Enter aremotecomputet
зывает лучшие характеристики ра­ фейсом, и позволяет удаленно управ­ name
боты, чем другие программы. лять серверами и рабочими станция­ Connecfon ;ethng:
ми Windows. Save the cutrent connection settngj to an RDP He 01 open a
Л saved connection
В Windows Server 2008 и Windows В целом программа больше ориенти­ Save Open..
Vista используется новая версия про­ рована на управление Active Directory,
токола, RDP 6. чем на управление рабочим столом и
• Версия 6.0 установлена в Windows интерактивность.
Vista и включает п о д д е р ж к у про­ Стоимость лицензии продуктов
грамм удаленного взаимодейст­ DameWare рассчитывается исходя • Сложная система лицензирования
вия, приложений Presentation из количества администраторов. и регистрации.
Foundation W i n d o w s , п о д д е р ж к у Особенности:
нескольких мониторов и T L S 1.0 • Функциональность DameWare С а й т : http://dameware.ru.
подключения. по работе с Active Directory не тре­
• Версия 6.1 была выпущена в февра­ бует необходимости пользователю pcAnywhere
ле 2007 года и включена в Windows осуществлять вход в домен для ра­ Одна из старейших программ удален­
Server 2008 и в пакет обновления боты. ного администрирования от известной
W i n d o w s Vista SP1 и Windows ХР • Р е а л и з о в а н а удаленная установ­ компании Symantec. Поддерживает не­
SP3. ка. сколько самых известных операцион­
• Несколько способов авторизации ных систем, есть средство для компо­
Недостатки: (AD, пароль). новки дистрибутивов. В целом програм­
• В W i n d o w s (за и с к л ю ч е н и е м ХР • Хорошая документация. ма обладает рядом уникальных функ­
Media Center Edition, Windows Server) ций, которых нет у аналогов, но эти
основным ограничением является Недостатки: функции (например, поддержка уста­
возможность одновременного вхо­ • Очень загруженный интерфейс ревшего протокола IPX/SPX) не нужны
да в систему только для одного уда­ пользователя. большинству пользователей.
ленного пользователя. • Медленная скорость работы и зна­ Особенности:
• В связи с тем что при подключении чительная нагрузка на сеть в режи­ • Поддержка нескольких различных
блокируется т е к у щ и й интерактив­ ме у п р а в л е н и я у д а л е н н ы м э к р а ­ протоколов соединения, не только
ный пользователь, RDP плохо под­ ном. TCP/IP.
ходит для задач поддержки пользо­
вателей. НЕ • -Ю|х|
• Неудобство управления большим Fie ДО ротам M
I achsne loots S^tem Tools Service
количеством рабочих с т а н ц и й - RDP [426-7] Services [PROXY] j
этот недостаток можно устранить I AMPLUA-02 Total Services:[95
] AMPLUA-04
] AMPLUA-07
с помощью сторонних утилит, вза­ I AMPLUA-08 <fy Servci es 5?э Device Drivers
j AMPLUA-09
имодействующих с RDP. I ДМРША-10 flpDameWare Mr. Remote Control Running Automatci LocalSystem CW \: N
I OOV
_j ДМРШД-11 g^DHCP-клиент Running Automatci NT AUTHORl. C:\WINDOv
• Внешний IP-адрес должен быть ста­ Щ ДМРША-15 ftlDNS-клиент Running Automatci NT AUTHOR!. CW \: N I OOV
jj AMPLUA-20 feGBPoll Running Automatic LocalSystem C:\Program_
I ДМРШД-21
т и ч е с к и й , иначе м о ж н о п о п р о б о ­ Jj AMPLUA-22 ftjHTTPSSL Running Automatic LocalSystem C:\WINDOv
Щ АМРША-5 §S)!ntel Alert Handler Running Automatic LocalSystem CW \: N I DOV
вать решить проблему с помощью i MAIN felntel Alert Originator Running Automatci LocalSystem CW \: NI DOV
f PROXY ffijlntel Fie Transfer Running Automatic LocalSystem C:\WINDO>i
бесплатного сервиса No-IP.com. £jj Disk Drives ftjlntel PDS Running Automatic loceBystem C:\WN l DOV
•3) Event Log S^Kerio WinRoute Firewall Running Automatic LocalSystem "C:\Progran
J^J Groups ft) Microsoft Software Shadow Copy Provider Stopped Manual LocalSystem C:\WINDO^
• На быстрых каналах работает мед­ SJbjNe[Meetni g Remote Desktop Sharing Stopped Disabled LocalSystem CW \: NI DOV
Щ)Office Source Engni e Stopped Manual LocalSystem "C:\Prograri
леннее, чем б о л ь ш и н с т в о анало­ ^ Processes SSJPBG and Play Running Automatci LocalSystem O,WIND0V
3, Properties ^jRemote Administrator Service Running Automatci LocalSystem "C:\WINDO
гов. Registry ^Symantec Antivirus Running Automatci LocalSystem "C;\PROGR,
3 ЯВ Remote Command ^Symantec Antivirus Definition Watcher Running Automatci LocalSystem "C:\PROGR.
' Й Remote Control Telnet Stopped Disabled NT AUTHORl., CW \: N I DOV
3JO Mini Remote Control jlj'A'.riduvvs Audio Running Automatci LocalSystem C:\WIND0V
Сайт: http://www.microsoft, ffijWmdows Instaler Stopped Manual LocalSystem •
iL_ ' i L
com/win dowsxp/d own loads/tools/
rdclientdl.mspx.
% Remove 3e-v:;~
1Я Sessoi ns
,J Shares
DameWare Browser j Information]" • s b а .
J -U
DameWare NT Utilities (DNTU) - это For Help, press FI 22.03.2007 16:57:21
средство управления к о р п о р а т и в н ы ­ DameWare
© S Y M A N T E C PCANYWHEI roe время моим выбором была имен­
FILE EDIT VIEW HELP
HORN. ] но эта программа. Простой интерфейс
SYMANTEC pcAny w h e r e a ^ SYMANTEC- и приличная скорость работы делают
Щ Ш 8В | Д Ц ' ' Ц ' ' ' № j*j своё дело.
"U J.: 'J BAIICVIEW QUICK CONNECT
PCANYWHERE MANAGER NAME IP ADDRESS 1 STATUS Особенности:
G | REMOTES
• Совместимость с Windows Vista
ЕЦ
...:•:'.••:
HOSTS
:•• • 32-bit и 64-bit.
1*1
%
FAVAILES
HISTORY
• Несколько режимов работы, в том
Щ COMMAND QUEUES числе передача файлов, телнет
POANYWRIEIE TOOLS
1 ^ OPSONSETS и другое.
^ SERIAL ID SETS
ACTIONS S • Хорошая производительность в се­
^ REFRESH тях с большой пропускной способ­
PETALS jQ ностью.
• Поддержка нескольких соедине­
ний.
MANUAL ENTRY
• Удаленная установка.
TYPE A PRIORI RUMBTR, . . •• • R,;R,-,E, Q- 7СРДР AD T-ESS, THEN CLICK CONNECT:
I -rl 1
• Есть русская версия.
SUBNET SEARCH CRITERIA CCR*IECTIOO OPTIONS
START ГГЛОЕ:
I •* UDP CORFIGURE ICP/IP JREMOTE CONTROL
: <~ - ЕПСТДАЬСП LEVEL: Недостатки:
. с CONFIGURE QJRECTORY SERVICES j<NONE>
I Конфликты с драйверами и обо­
pcAnywhere рудованием, вплоть до появления
BSOD.
• Несколько способов авторизации, в том числе с под­ • Цена выросла в два раза по сравнению с предыдущей
держкой учетных записей Windows. версией.
• Версия для мобильных устройств. • Работает значительно медленнее некоторых аналогов
• Можно сконфигурировать для работы в сложной топо­ в сетях с низкой пропускной способностью.
логии сети (маршрутизаторы, файрволлы).
Сайт: http://www.radmin.ru.
Недостатки:
• Медленная скорость работы с удаленным экраном. NetOp
• Высокая цена. В свое время это была одна из самых популярных про­
грамм в своём роде. Сразу очевидно, что программа боль­
С а й т : http://www.symantec.com. ше рассчитана на решение задачи поддержки пользова­
телей. Это довольно тяжелый и функциональный продукт,
Radmin 3 многим похожий на pcAnywhere и DameWare.
Очень известный продукт. Обладает аскетичным интерфей­ Особенности:
сом, но при этом работает быстрее большинства аналогов. • Кроссплатформенная поддержка.
В ряде случаев это самое быстрое решение. Не так дав­ • Множественные сессии Guest.
но продукт обновился до версии 3, до этого на протяже­ • Благодаря сторонним утилитам этого ж е производите­
нии многих лет существенных обновлений не было. Д о л - ля есть возможность настроить программу для сложной
топологии сети.
• R E M O T E C O M P U T E R - FULL CONTROL
Недостатки:

в •
0 из % ыЛ ? В& & а I
щ v щ
• Медленная скорость работы в режиме просмотра/уп­
равления удаленным рабочим столом.

J COMPUTER NETWORK CCNTRCL Р • Высокая цена по сравнению с другими продуктами.

PROGRAMS С а й т : http://www.netop.ru.
т
DOCUMENTS
*>
В* SETTINGS RealVNC
г Одно из самых популярных решений в сфере удаленного
пз р SEARCH
UN
>

5
т H E L P and S U
администрирования. Благодаря тому, что исходный код это­
го продукта открыт, существует ряд клонов этого продук­
та, которые обладают своими уникальными особенностями.
I] SHUT D O W N - К слову, последние несколько лет, особенно после выхода
Windows Vista, политика открытости и бесплатности у раз­
работчиков изменилась. Версию программы с поддержкой
Vista теперь предлагают только з а деньги. Но, к слову, есть
пока что полностью бесплатная UltraVNC.
Особенности:
• На данный момент есть бесплатная
версия. ) PHONEBOOK " QUICK COR IONS :
- HISTAJI •*," HELP REQUEST ф RECORDINGS SCRIPT - J INVENTORY
• П о д д е р ж к а Windows Vista в плат­ У PHONEBOOK DESCNPTION / NAME PHONE NUMBER COMMUNICATION PROFILE COMMENT
192,Ш :.:
ных версиях.
• Кроссплатформенная поддержка.

Недостатки:
• Недостаточно высокая скорость ра­
боты.
• Неудобный интерфейс.
• По умолчанию данные не шифру­
ются, отсутствует аутентификация
на основе учетных записей пользо­
вателей Windows.

С а й т : http://www.realvnc.com.

Remote Office Manager


Это довольно новый продукт, на рын­ NetOp
ке появился в 2006 году. Не так давно
производитель выпустил новую вер­ • Отсутствует кроссплатформенная надобятся, но в большинстве случа­
с и ю п р о г р а м м ы - 3.3. П о н р а в и л о с ь поддержка. ев без них трудно обойтись, я поста­
в этом продукте то, что он неплохо со­ рался выделить основные из них для
четает в себе простой и понятный ин­ Сайт: http://aledensoft.ru. сравнения программ по функциональ­
терфейс с серьезным функционалом. ности. При всех плюсах н е м а л о в а ж ­
Также огромный плюс - это высокая Сравнительный анализ но для программы иметь дружествен­
производительность в различных се­ программ ный и приятный интерфейс, хотя о вку­
тях и удаленная установка. Постараемся сравнить представлен­ сах и не спорят, но постараюсь выде­
Особенности: ные программы к а к по набору функ­ лить программы с наиболее приятным
• Хорошая производительность как в ций, к о т о р ы е н е о б х о д и м ы для у д а ­ и удобным дизайном.
сетях с высокой пропускной способ­ ленного управления,так и по удобству
ностью, так и в медленных сетях. работы с программой, цене и другим Подводим итоги
• Совместимость с Windows Vista. важным факторам, которые произво­ DameWare и pcAnywhere наполнены
• Удаленная установка. Доступно не­ дители стараются обходить стороной множеством функций, в которых нуж­
сколько видов удаленной установ­ при описании своих продуктов. дается определенная группа админис­
ки, в том числе в домене, с исполь­ Т р у д н о п р е д с т а в и т ь п р о г р а м м у траторов, остальным ж е придется пе­
зованием групповой политики бе­ удаленного управления без возмож­ реплачивать з а н е н у ж н ы й ф у н к ц и о ­
зопасности и MSI. ности подключаться к рабочему сто­ нал, к слову, эти программы подойдут
• В о з м о ж н о с т ь настроить п р о г р а м ­ лу и управлять им, конечно же, чем ка­ с е р ь е з н ы м о р г а н и з а ц и я м , о б л а д а ю ­
му на работу в условиях сложной ч е с т в е н н е е и у д о б н е е у п р а в л е н и е , щим крупными сетями с различными
т о п о л о г и и сети благодаря т а к и м т е м б о л ь ш е с э к о н о м л е н н ы х м и н у т конфигурациями. DameWare можно от­
функциям, как «Соединение через» (а когда и часов), времени и нервов. дать звание самой многофункциональ­
и «Обратное соединение». Управление в локальной сети замет­ ной программы.
• Поддержка нескольких соедине­ но отличается от работы в Интерне­ VNC подойдет пользователям в ка­
ний. те, если в локальной сети можно ра­ честве дополнительного инструмента
• Есть русская версия. ботать с помощью любой из этих про­ а д м и н и с т р и р о в а н и я , предоставляет
грамм (отмечу, что Remote Administrator, базовый функционал в универсальной
Недостатки: на мой взгляд, самый быстрый). и бесплатной программе. З а поддерж­
• Небольшая известность програм­ В Интернете удобнее всего рабо­ ку Windows Vista и за другие полезные
мы, т.е. отсутствие серьезной про­ тать с помощью RDP или Remote Office функции придется платить, что ставит
верки временем. Manager, немаловажную роль играет эту программу на равные с остальны­
возможность отключения обоев рабо­ ми коммерческими продуктами.
VNC Viewer : Connection Details чего стола, что дает заметное ускоре­ Radmin, Netop, Remote Office
Saver: 192.168.0.1 ~ 3
ние при работе. Manager не у с т у п а ю т с в о и м к о л л е ­
J^JjJJJ, Encryption: jAi Серьезную роль, при выборе про­ г а м - о н и п р е к р а с н о с п р а в л я ю т с я
г р а м м ы и г р а ю т её д о п о л н и т е л ь н о с поставленной задачей и обладают
About... Options... j ]Jj Cancel
встроенные возможности администри­ х о р о ш и м набором ф у н к ц и о н а л ь н о с ­
RealVNC рования, возможно, кому-то они не по­ ти, Radmin можно назвать самой быс-
дают таким функционалом за редким
СОЕДИНЕНИЕ ВИД ИНСТРУМЕНТЫ СПРАВКА исключением.
ш Если ж е представленные програм­
Группы * X I MANUAL
мы вас не устраивают, стоит обратить
Г в Г j LOGON |
' ! g Отдел закупок
I ^управление
внимание на другие продукты, такие
• ' Отдел продаж
OFFLINE j к а к Citrix, Remotely Anywhere и дру­
J ^И]просмотр
ОТДЕЛ ЗАКУПОК ОТДЕЛ ПРОДАЖ localhost гие, которые предоставляют множес­
: L^=| файлы тво своих уникальных возможнос­
LOGC У П Р А В Л Е Н И Е МЫШЬЮ И КЛАВИАТУРОЙ Видео оверлеи тей, к примеру, у п р а в л е н и е у д а л е н ­
Я^! П Р О С М О Т Р УДАЛЕННОГО ЭКРАНА
{jfjfl Выключить ным к о м п ь ю т е р о м через веб-интер­
ЦЬ] ФАЙЛОВЫЙ МЕНЕДЖЕР
фейс (в VNC тоже присутствует д а н ­
(Й ВИДЕО О В Е Р Л Е Й Щк Диспетчер задач
у: ная функция). Словом, не бойтесь экс­
Запуск програнм
j ВЫКЛЮЧИТЬ/ПЕРЕЗАГРУЗИТЬ периментировать, пробуйте новые про­
Щ Д И С П Е Т Ч Е Р ЗАДАЧ
граммы, которые, возможно, подойдут
ТШ ЗАПУСК ПРОГРАММ
^ УДАЛЕННАЯ УСТАНОВКА/УДАЛЕНИЕ/ЗАПУСК
и понравятся вам, сделав работу го­
АВТОРИЗОВАТЬСЯ раздо приятнее и проще.
ОТМЕНИТЬ АВТОРИЗАЦИЮ Особенности и сравнительная ха­
W A K E O N IAN
рактеристика, описанные в этой ста­
(33 О Б Н О В И Т Ь ЭСКИЗЫ
$3 УДАЛИТЬ DEL
тье, могут не совсем корректно отра­
ПЕРЕИМЕНОВАТЬ П жать положение дел на данный момент,
щ СВОЙСТВА... так как программы постоянно совер­
А Д Р Е С : 192.168.1.3 П О Р Т : 5650 У П Р А В Л Е Н И Е М Ы Ш Ь Ю И КЛАВИАТУРОЙ шенствуют, появляется новый функ­
Remote Office Manager ционал, недостатки исчезают.

трой программой, если не учитывать кой Aero и отключают ее при работе, Заключение
работу на слабых каналах - д о с т о й ­ что, конечно, трудно не заметить поль­ К а ж д ы й из этих продуктов подойдет
ный продукт. зователю. Программы, использующие и понравится определенной группе
Remote Office Manager - недоро­ драйвер захвата, ставят себя в зависи­ а д м и н и с т р а т о р о в , учитывая личные
гая, удобная, быстрая и многофунк­ мость от системы, нередки конфликты и профессиональные требования, по­
циональная п р о г р а м м а , которая по­ с оборудование и о ш и б к и при работе. этому л у ч ш у ю программу можете оп­
дойдет как небольшим, так и крупным Большинство рассмотренных про­ ределить только вы! щ
организациям. грамм обладают такой полезной функ­
«Больной» вопрос среди программ цией, к а к удаленная у с т а н о в к а . Хо­ 1. А ч и л о в Р. О б з о р п р о г р а м м удален­
удаленного администрирование - тя это скорее исключение из правил. ного доступа: выбирайте подходя­
это поддержка Windows Vista, не все Менее популярные продукты, не рас­ щую. //Системный администратор, №5,
программы уживаются с оболоч­ смотренные в данной статье, не обла­ 2007 г . - С . 18-33.

Таблица сравнения программ по функциональным возможностям


RDP DameWare pcAnywhere Radmin 3 Netop RealVNC Remote Office Manager

Передача файлов + + + + + + +

Просмотр процессов - + - - - - +

Поддержка Vista (Windows 2008 Server) + + + + + + +

Обратное соединение (возможность - + + - - - +


сервером инициировать сетевое соединение)
Telnet - + - + - - -
64-битная платформа + + + + - + +

Текстовый или голосовой чат - + + + + + -


Работа на медленных каналах + т + - + + +

Защита настроек +
- - - - - -
Удаленная установка + + - - - - +

Автоматическая интеграция с брандмауэром + + - + + - +

Кроссплатформенность - - + - + + -
Блокировка удаленного компьютера - + - - + + +

Поиск рабочих станций - + - + - +

Интерфейс и удобство работы (с большим - - - + - - +


количеством рабочих станций)
Цена за одну лицензию 0 $289 (лицензируется $199 $49 Сложная ценовая 0 - $50 $20
модуль администратора) политика
bugtrajM

Переполнение буфера в Bea Weblogic Переполнение буфера


Apache Connector в Webex Meeting Manager
Программа: Bea Weblogic Server. WebexUCFObjeci ActiveX-компоненте
Опасность: Высокая. Программа: Webex Meeting Manager 20.2008.2601.4928, воз­
Описание: Уязвимость существует из-за о ш и б к и провер­ можно, более ранние версии.
ки границ данных в Apache-коннекторе. Удаленный поль­ Опасность: Высокая.
зователь может с помощью специально сформированного Описание: Уязвимость существует из-за о ш и б к и провер­
POST-запроса вызвать переполнение стека и выполнить ки границ данных в WebexUCFObject ActiveX-компоненте
произвольный код на целевой системе. (atucfobj.dll) при обработке аргумента, передаваемого ме­
URL производителя: www.bea.com/framework.jsp?CNT= тоду NewObject(). Удаленный пользователь может с помо­
index. htm&FP=/content/products/weblogic/server. щью специально сформированного веб-сайта вызвать пе­
Решение: В настоящее время способов устранения уязви- реполнение стека и выполнить произвольный код на целе­
, мости не существует. вой системе.
URL производителя: www.webex.com/downloads_webex.html.
Решение: Установите последнюю версию 20.2008.2606.4919
Переполнение буфера с сайта производителя.
IB Trend Micro OfficeScan
Программа: Trend Micro OfficeScan 7.3 build 1343(Patch 4),
в о з м о ж н о , более ранние версии, Trend Micro OfficeScan Переполнение буфера
Corporate Edition 8.x. в Microsoft Visual Studio
Опасность: Высокая. Программа: Microsoft Visual Studio 6.0, возможно, другие
Описание: Уязвимость существует из-за ошибки про­ версии.
в е р к и г р а н и ц д а н н ы х в O f f i c e S c a n Corp Edition W e b - Опасность: Высокая.
Deployment ObjRemoveCtrl Class ActiveX-компоненте Описание: Уязвимость существует из-за ошибки про­
(OfficeScanRemoveCtrl.dll) в OfficeScan-клиенте при попыт­ верки границ данных в Masked Edit ActiveX-компоненте
ке отобразить список конфигурационных настроек. Удален­ (Msmask32.ocx версии 6.0.81.69). Удаленный пользователь
ный пользователь может с помощью специально сформи­ может с помощью специально сформированного веб-сайта
рованного веб-сайта вызвать переполнение стека и выпол­ передать уязвимому компоненту слишком длинный пара­
нить произвольный код на целевой системе. метр Mask, вызвать переполнение стека и выполнить про­
URL производителя: www.trendmicro.com/en/products/ извольный код на целевой системе.
desktop/osce/evaluate/overview.htm. URL производителя: msdn2.microsoft.com/en-us/library/
Решение: Установите исправление с сайта производителя. ms950417,aspx.
Решение: Установите исправленную версию Msmask32.ocx
6.0.84.18 с сайта производителя.
Множественные уязвимости в xine-lib
Программа: xine-lib версии до 1.1.15.
Опасность: Высокая. Неавторизованное изменение пароля
Описание: 1. М н о ж е с т в е н н ы е целочисленные перепол­ в Joomla
нения обнаружены при обработке ЮЗ-тегов в файле src/ Программа: Joomla версии до 1.5.6.
demuxers/id3.c. Удаленный пользователь может с помощью Опасность: Средняя.
специально сформированного ЮЗ-тега вызвать переполне­ Описание: У я з в и м о с т ь с у щ е с т в у е т из-за н е к о р р е к т н о ­
ние динамической памяти и выполнить произвольный код го ограничения доступа к сценарию components/com_user/
на целевой системе. models/reset.php. Удаленный пользователь может обойти
2. Уязвимость существует из-за ошибок проверки гра­ механизм аутентификации и изменить пароль пользовате­
ниц данных в функции demux_real_send_chunk() в файле ля с наименьшим идентификатором в базе данных (как пра­
src/demuxers/demux_real.c. Удаленный пользователь может вило, администратора).
с помощью специально сформированного Real Media-фай­ Пример: 1. Открыть страницу: http://[host]/index.php?option=
ла вызвать переполнение динамической памяти и выпол­ com_user&view=reset&layout=confirm.
нить произвольный код на целевой системе. 2. Установить в поле «токеп» символ
3. Уязвимость существует из-за о ш и б к и проверки гра­ 3. Указать новый пароль для учетной записи admin.
ниц данных в функции open_video_capture_device() в файле 4. Перейти на страницу: http://[host]/administrator.
src/input/input_v4l.c. Удаленный пользователь может с по­ 5. Авторизоваться в приложении с новым паролем.
мощью специально сформированного У41_-потока вызвать URL производителя: www.joomla.org.
переполнение динамической памяти и выполнить произ­ Решение: Установите последнюю версию 1.5.6 с сайта про­
вольный код на целевой системе. изводителя.
URL производителя: xinehq.de.
Решение: Установите последнюю версию 1.1.15 с сайта Составил Александр Антипов
производителя.

№8, август 2008


Продолжая цикл статей, я расскажу, как можно создавать кэширующие сервера
для динамического контента. (Первую статью цикла «Создаем распределенную сеть доставки
контента» см. в №2 за 2008 г.)

Немного о кэшировании • Если страница уже была модифицирована, то отдается


Сейчас на рынке работают несколько к о м п а н и й , предо­ полная версия страницы.
ставляющих услуги по кэшированию и доставке контента. • Если дата последней модификации такая же, как в кэ­
Но все они, насколько мне известно, имеют один сущест­ ше, то сайт должен отдать пустую страницу со статусом
венный недостаток - неумение достоверно кэшировать д и ­ HTTP 304.
намический контент. Часть из них вообще не может кэширо­ • Когда кэш получает ответ со статусом HTTP 304, то он
вать динамический контент, а часть обновляют локальный отдает страницу из локального кэша.
кэш страниц только периодически, что непригодно для стра­
ниц социальных сетей. И, как я п о д о з р е в а ю , п р и ч и н а о д н а - Компоненты системы
для того чтобы построить акселератор, который бы хранил Д л я п о с т р о е н и я т а к о й с и с т е м ы я и с п о л ь з о в а л модуль
достоверную копию динамической страницы, необходима mod_accel Игоря Сысоева [2]. На данный момент идет ак­
плотная интеграция с оригинальным сайтом. тивная разработка такого ж е модуля для nginx, но на мо­
мент написания этой статьи он еще не был готов.
Технология кэширования динамических
страниц Установка и настройка
Здесь я не изобрету ничего нового, лишь применю стандарт­ В свой работе я использую CentOS семейства Redhat, поэто­
ные средства протокола HTTP для построения акселерато­ му описание процедуры устоновки и настройки будет ори­
ра. В целом вся система состоит из сервера-акселератора ентировано на этот дистрибутив. Первым делом необходи­
и оригинального сайта и работает по следующей схеме: мо получить библиотеку EAPI, которая нужна для компиля­
• Пользователь обращается к акселератору, который яв­ ции модуля mod_accel. Ее можно скачать с сайта [3]. Биб­
ляется проксирующим сервером по отношению к сайту. лиотеку устанавливать не нужно.
• Если акселератор не имеет локальной копии страницы,
то он обращается на сайт за ней, отдает страницу поль­ t a r - x z v f mod s s l - 2 . 8 . 4 - 1 3 . 2 0 . t a r . g z
cd mod_ssl-2.8.4-1.3.20
зователю и сохраняет в локальном кэше. ./configure -with-apache=. /apache-1.3.20
• Если акселератор уже имеет эту страницу, то он от­ make

правляет запрос на оригинальную страницу с заголов­


ком If-Modified-Since ххх, где ххх - дата последней мо­ Далее получаем версию Apache 1.3.20 с сайта [4] и рас­
дификации страницы, сохраненной в кэше. крываем архив:
• Когда оригинальный сайт получает такой запрос,
он сравнивает дату модификации своей страницы с этой tar -xzvf apache_l.3.20.tar.gz

датой.
Также нужна библиотека ММ, которая доступна на сай­ case " $ 1 " i n
start)
те [5].
echo - n " S t a r t i n g : a p a c h e "
/usr/local/apache/bin/apachectl start
t a r zxf mm-1.2.1.tar.gz echo " . "
cd mm-1.2.1
. / configure
make stop)
make i n s t a l l echo - n " S t o p p i n g s e r v i c e : a p a c h e "
k i l l a l l httpd
echo " . "
Получаем модуль mod_accel и запускаем процесс об­
новления исходных кодов Apache:
restart)
$0 s t o p
tar -xzvf mod_accel-l.0.34.tar.gz sleep 2
cd ./configure \ $0 s t a r t
—with-apache=../apache_l.3.20 \
—with-eapi=../mode_ssl-2.8.4-1.3.20/pkg.eapi
make # накладывает п а т ч и
*)
echo "Osage: / e t c / i n i t . d / a p a c h e J
Далее собираем Apache и устанавливаем: { s t a r t | s t o p | r e s t a r t } " >S2
exit 1
cd apache_1.3.20 esac
EAPI_MM=../mm-1.2.1 ./configure - e n a b l e - r u l e = E A P I \
—activate-module=src/modules/accel/libaccel.a exit 0
make
make i n s t a l l
Запускаем наш акселератор:

Настройка Apache /etc/init.d/apache start

Затем настраиваем Apache для кэширования нашего сай­


та. Сосредоточимся на основных моментах конфигураци­
онного файла сервера Apache: Интеграция динамической части сайта
с акселератором
# П у т ь , г д е будут х р а н и т ь с я закэшированнные файлы. Статические элементы сайта будут успешно кэшировать-
# Уровень иерархии к а т а л о г о в - 1
AccelCacheRoot /home/dcache 1 ся и без специальных настроек. Для того чтобы динами-
# Включить кэширование
AccelNoCache off

# Начальный URL и адрес о р и г и н а л ь н о г о с а й т а


AccelPass / http://10.10.10.11:80/

# Отключить удаление файлов и з кэша


AccelOnlinkNoCached off

# Передавать в переменной X - H o s t переменную среды H o s t ,


# пришедшей на а к с е л е р а т о р .
A c c e l S e t X H o s t on
VPS хостинг
# Включить передачу I P - а д р е с а п о с е т и т е л я через Удобный. Надежный. Мощный.
# переменную X - R e a l - I P нашему с а й т у
A c c e l S e t X R e a l l P on Для веб-сайтов, баз данных и электронной почты.

# Включить передачу о р и г и н а л ь н о г о URL нашему с а й т у через


# переменную X-URL
AccelSetXURL o n

Перед запуском сервера Apache необходимо создать


каталог для хранения страниц кэша и поменять владель­
ца и группу, чтобы процесс apache мог записывать кэш
в этот каталог:

m k d i r /home/dcache
chown - R a p a c h e . a p a c h e / h o m e / d c a c h e
4 - Р Н Р 5 , M y S Q L 5 , M S S Q L , . N E T , FTP,
Если процесс apache работает под д р у г и м именами
Mail-сервер, root-доступ.
пользователя и группы, то нужно соответственно поменять
параметры команды chown.
Включение запуска сервера Apache в процедуру началь­
ной загрузки сервера состоит в создании файла /etc/init.d/
apache со следующим содержимым:

#!/bin/sh
# c h k c o n f i g : 2345 55 25
ческие страницы нашего сайта могли быть з а к э ш и р о в а - # Печатаем д а т у последней модификации страницы
h e a d e r ( " L a s t - M o d i f i e d : T u e , 16 O c t 2007 1 2 : 4 5 : 2 6 GMT");
ны, необходимо ввести проверку даты последней моди­
фикации страниц в кэше с датами последней модифика­ # Также у нас е с т ь г л о б а л ь н а я переменная.
# При г е н е р а ц и и с т р а н и ц для некэшируемых с т р а н и ц
ции страниц. Для этого я модифицировал наш сайт таким
# нужно выставить э т у переменную р а в н о й нулю
образом, что к а ж д а я страница имеет дату последней мо­
д и ф и к а ц и и , хранимой в базе данных. Когда на сайт пере­ if($cache>0)
f
дается запрос из акселератора на какую-то страницу, сайт # Указываем а к с е л е р а т о р у , ч т о нужно
сравнивает дату из заголовка if-modified-since с датой пос­ # кэшировать к о н т е н т
header("Pragma: cache");
леднего обновления страницы, и в зависимости от резуль­ header("Cache-Control: cache") ;
татов проверки скрипт на сайте возвращает или полную )
else{
версию страницы с кодом HTTP, равным 200, или пустую # Указываем а к с е л е р а т о р у ч т о не нужно
страницу с кодом 304. # кэшировать к о н т е н т
header("Pragma: n o - c a c h e " ) ;
Также обязательно нужно обратить внимание на стра­ header("Cache-Control: no-cache");
ницы, которые никогда не должны быть кэшированы. На­ }

пример, страницы авторизации, обновления учетных запи­ # Как и раньше, устанавливаем дату устаревания документа
$dt=time() ;
сей пользователей и так далее. $dt+=l;
К сожалению, такая плотная интеграция зависит от про­ header("Expires: " . J
gmdate("D, d M Y H : i : s " , $ d t ) . " GMT");
граммного обеспечения на сайте, поэтому в качестве при­
мера целесообразно привести упрощенный пример скрип­ # Печатаем к о н т е н т
echo $ c o n t e n t ;
та сайта, проинтегрированного с акселератором: exit;)

Л и с т и н г 1 . Пример программы с а й т а ?>

<?php
Схема работы приложения может быть построена сле­
$cache=l;
д у ю щ и м образом:
# Проверяем, пришел ли к нам з а п р о с и з а к с е л е р а т о р а • В начале программы переменная $cache устанавлива­
# с з а г о л о в к о м I f - m o d i f i e d - s i n c e . Если т а к о й з а г о л о в о к
# с у щ е с т в у е т , э т о о з н а ч а е т , ч т о а к с е л е р а т о р имеет ется в 1.
# локальную копию э т о й страницы • Проверяется наличие заголовка if-modified-since и срав­
if ($_SERVER['HTTP_IF_MODIFIED_SINCE'3) нивается с датой последнего обновления запрошенной
{ страницы. В зависимости от результата проверки пере­
$txt = "cache";
$len = s t r l e n ( $ t x t ) ; менная $cached устанавливается в 0 или 1.
• Во всех процедурах динамической генерации контента
# p r i n t 304 code
header("Status: 304",false,304) ; проверяется значение переменной $cached. Если пе­
header("Content-Type: t e x t / h t m l " , f a l s e , 3 0 4 ) ; ременная равна 1, то все эти процедуры завершаются,
# Печатаем длину к о н т е н т а , иначе а к с е л е р а т о р решит и программа переходит в финальную фазу - генерация
# ч т о к о н т е н т - динамический и не закэширует страницу контента как показано выше. Если переменная равна 0,
header("Content-Length: $len",false,304) ;
то программа создает контент с нуля.
# Печатаем д а т у последней модификации страницы • Во всех процедурах, где создается некэшируемый кон­
h e a d e r ( " L a s t - M o d i f i e d : Tue, 16 O c t 2007 1 2 : 4 5 : 2 6 GMT", J
false,304) ; тент, переменная $cache устанавливается равной 0.
header("Pragma: cache", f a l s e , 3 0 4 ) ; • Вызывается процедура печати контента (как показано
header("Cache-Control: cache",false,304) ;
header("Content-Length: $len", false,304); выше в примере).

# Д а т а , к о г д а документ с ч и т а е т с я устаревшим, должна Заключение


# быть будущей, иначе акселератор не сохранит страницу В этой статье я рассмотрел основные принципы построе­
$dt=time(); ния акселератора для кэширования динамического контен­
$dt+=l; та. З а рамками статьи остался способ, позволяющий допол­
header("Expires: " . J
gmdate("D, d M Y H : i : s " , $ d t ) . " GMT"); нительно ускорить систему кэширования через хранение
echo $ t x t ; дат последней модификации страниц в одной из наиболее
exit ;
) быстрых систем хранения данных - memcached. #•
else
f
# В э т о й с е к ц и и мы будем г е н е р и р о в а т ь некэшируемый 1. Б а н к о в с к и й В. С о з д а е м р а с п р е д е л е н н у ю с е т ь д о с т а в к и к о н ­
# к о н т е н т и л и к о н т е н т , который еще не закэширован т е н т а . / / С и с т е м н ы й а д м и н и с т р а т о р , № 2 , 2 0 0 8 г. - С. 6 4 - 6 8 . -
# в акселераторе
http://www.samag.ru/cgi-bin/go.pl?q=articles;n=02.2008;a=01.
$content = get_some_content(); 2. http://sysoev.ru/mod_accel.
# Вычисляем длину содержимого, иначе а к с е л е р а т о р 3. h t t p : / / w w w . m o d s s l . o r g .
# решит, ч т о э т о - динамический к о н т е н т 4. http://apache.org.
$len = strlen($content); 5. http://www.engelschall.com/sw/mm.
header("Status: 200"); 5. http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html.
header("Content-Type: t e x t / h t m l " ) ;
header("Content-Length: $ l e n " ) ; 6. http://www.danga.com/memcached.
Свежие
решения
бизнес-
уравнении

г I

Лицензирование
Softline работает н а рынке программного обеспечения

с 1993 года и обладает в ы с ш и м и статусами партнерства

таких компаний, к а к Microsoft, Oracle, SAP, Symantec,

Citrix, A d o b e и м н о г и х других.

Обучение
Учебный центр Softline, л и д и р у ю щ и й н а рынке

IT-образования, предоставляет профессиональные

услуги п о обучению, тестированию и сертификации

IT-специал истов.

Консалтинг
Консалтинговое подразделение Softline Solutions обла­

дает у н и к а л ь н ы м опытом п о внедрению и развертыва­

н и ю инфраструктурных решений и систем управления

б и з н е с о м д л як о м п а н и й л ю б о г о масштаба. CD

119991 М о с к в а , ул. Г у б к и н а , д. 8. Т е л . / ф а к с : + 7 (495) 232-00-23.


E-mail: i n f o @ s o f t l i n e . r u , h t t p : / / w w w . s o f t l i n e . r u
• I

somine
Л И Ц Е Н З И Р О В А Н И Е . О Б У Ч Е Н И Е . К О Н С А Л Т И Н Г
M I Москва, Санкт-Петербург, Архангельск, Барнаул, Владивосток, Волгоград, Екатеринбург,
Ижевск, Иркутск, Казань, Калининград, Краснодар, Красноярск, Нижний Новгород,
Новосибирск, Омск, Пермь, Ростов-на-Дону, Самара, Саратов, Тюмень, Уфа, Хабаровск,
Челябинск И Минск, Гомель SBSB
Киев, Харьков H I Ал маты, Астана Ш№Ашгабад
ШМ Бишкек Е Ё Баку ^"Душанбе 3 ^ Тбилиси Ташкент О I Улан-Батор
Что делать, если в организации появляется новая информационная база и нужно добавить
каждому пользователю ярлык запуска к этой базе? В этом случае работу можно облегчить
с помощью специализированного механизма платформы «1С:Предприятие 8» списки общих
информационных баз.
баз, поэтому использование в работе
процессе установки платфор­ ляет собой небольшой текст с регла­ механизма с п и с к а общих баз позво­
м ы «1С:Предприятие» в опера­ ментированной структурой. лит стандартизировать и регламенти­
ционной системе, кроме всего Пример файла: ровать работу пользователей, опера­
прочего, регистрируется и файловое тивно управлять доступными для за­
расширение «v8i». Файл с таким рас­ [ЗУП s q l рабочая] пуска базами, не тратя много време­
Connect=Srvr="Proliant7";Ref="ZP";
ширением является ярлыком, который ID=c27al42e-5a9c-477c-a69f-12914al2b347 ни для внесения изменений, щ
содержит ссылки на общие информа­ OrderInList=466944
Folder=/3apnnaia
ционные базы. Настройка диалога запуска
OrderInTree=32768
External=0 Настройка отображения списка информационных баз:
С помощью диалога настройки ок­ Отображать в виде дерева
на запуска можно указать произволь­ У - Сортировать по наименованию
_] Показывать последние выбранные информационные базы
ное количество списков общих инфор­ Для облегчения работы по созда­
Запоминать последние выбранные: [ 4 [ * !
мационных баз, которые должны об­ нию общих с п и с к о в существует воз­ Каталог шаблонов конфигураций и обновлений^
рабатываться при з а п у с к е с и с т е м ы можность сохранения ссылки в файл. С: ^Program FilesM cv81 \tmplts
«1С:Предприятие» (см. рис. 1). Для этого нужно вызвать контекстное Списки общих информационных баз:

Таким образом, содержащиеся меню правой кнопкой мыши на строке I \U сМ c\v81 \Тест для программистов. v8i
в указанных общих списках информа­ информационной базы в окне запус­ i\\1c\lc\v81\PDMDemo.v8i
ционные базы будут добавлены в ос­ ка «1С:Предприятие» и выбрать пос­
новной список информационных баз ледний пункт меню «Сохранить ссыл­
ГЖ
и о т о б р а ж е н ы при з а п у с к е с и с т е м ы ку в файл» (см. рис. 3).
(см. рис. 2). Важно, что в файле v8i может быть Рисунок 1 . В диалоге н а с т р о й к и
указываются с п и с к и общих
Файл с расширением v8i представ­ у к а з а н а не одна, а сразу несколько информационных баз

З а п у с к 1С: Предприятия З а п у с к 1С:Предприягия


— Информационные базы - 1
г- Информационные базы -
^ 1С: Предприятие
Щ Информационные базы Бух 1.5.17.3 I 1С:Предприятие
-13 1С:ЦУП Конфигуратор В- i Зарплата Конфигуратор
- Н РЗ ЗУП sql р. ,:
1С Предприятие
••' .„ Бух 1.5.17.3 .. зуп демо i
• •• i Зарплата ! ~~ ЗУП длят Д ] Конфигуратор
ЗУП sql рабочая Добавить... ЗУП лока —1 Добавить
Добавить...
{—[ J зуп демо старая j Конверт
Изменить... F2
;-: | ЗУП для тестирования системщиков \ ~ Каркасная ко Ц Изменить Изменить..
h i J ЗУП локально Удалить Г Конвертация, >L Удалить
Удалить
,.: Конвертим из 7.7 . Копия Рабоче —
Настройка...
.. Каркасная конфигурация I ~ Примеры из 4 Сохранить ссылка в Файл Настройка..
. Конвертация данным (демо) Й - I Рабочие базы
Кпомя Еайпчей ir.. лпани пишем! i- ТестЦентр
File='\\greenpeaceMcv8\PDM\PDM Demo"; Выход 1 - ~ УПП 1 7 IRTprrnRag I
Sivr="Pfoliant7";Ref='ZP"; Выход
Рисунок 2 . В окне з а п у с к а отображаются указанные в общих
с п и с к а х информационные базы Рисунок 3. Сохранение ссылки в файл
Платформа «1С:Предприятие» постоянно развивается, выходят новые релизы, появляются
новые возможности, улучшающие и облегчающие жизнь пользователей и программистов.
Одним из таких новшеств явилось закономерное преобразование построителя отчета в более
функциональный инструмент - систему компоновки данных.

П
остроитель отчета - это объект, гие отчеты в типовых конфигурациях
• у к а з а н и е в ы р а ж е н и я для полу­
позволяющий на основе задан­ чения представления значения переписываются с использованием
ного текста з а п р о с а и настро­ поля; С К Д . Например, отчеты «Расчетные
ек получить результат и вывести его • указание выражений упорядочива­ листки», «Штатная расстановка», «За­
в табличный документ или диаграмму. ния для поля; нятость сотрудников» и многие другие
Основной задачей построителя явля­ • указание таблиц для получения ха­ в конфигурации «Зарплата и управле­
ется изменение текста запроса на ос­ рактеристик; ние персоналом» версии 2.5.9.2.
новании указанных настроек, а т а к ж е • указание роли поля; Получается, не изучив новые воз­
динамическое ф о р м и р о в а н и е выход­ можности платформы, такие как С К Д ,
• и с п о л ь з о в а н и е в ы ч и с л я е м ы х по­
ных данных. лей; просто невозможно шагать в ногу
Система компоновки данных • возможность группировки условий со в р е м е н е м . Р а з в и в а я п л а т ф о р м у ,
( С К Д ) - средство, предназначенное отбора по «И/ИЛИ»; разработчики меняют и типовые реше­
для с о з д а н и я отчетов на основе их • возможность использования усло­ ния, с которыми работают пользовате­
декларативного описания, позволяет вий отбора с участием нескольких ли и программисты. Поэтому наш про­
описать отчет как единое целое, предо­ полей; фессиональный уровень должен расти,
ставляя как пользователям, так и раз­ Я поля выбора и поля выражения, за­ успевая за всеми новинками, которые
работчикам практически неограничен­ даваемые пользователем; преподносят нам разработчики.
ные возможности получения данных. • получение различных с р е з о в ин­ П р и м е р ы с о з д а н и я о т ч е т а с ис­
С К Д имеет с л о ж н у ю структуру и мо­ формации в одном отчете; пользованием системы компоновки
жет содержать произвольный набор • вывод номера по порядку; д а н н ы х «1С:Предприятие 8» м о ж н о
таблиц и диаграмм. • вывод общих процентов и процен­ найти по адресу http://v8.1c.ru/overview/
Новые в о з м о ж н о с т и п о с т р о е н и я тов в группировке. dcs_sample_report.htm или на диске ин­
отчетов, предоставляемые системой формационно-технологического со­
компоновки данных: Система компоновки данных пов­ п р о в о ж д е н и я (ИТС) в р а з д е л е «Но­
• использование нескольких наборов семестно приходит на смену построи­ вое в версии 8.1 для разработчиков».
данных в одном отчете; телю отчетов. Так, полностью перера­ Также можно увидеть С К Д в действии
• указание набора данных для пост­ ботана всем известная стандартная в бесплатно распространяемой конфи­
роения иерархии; о б р а б о т к а КонсольОтчетов.ерт, мно­ гурации «Примеры 8.1». ф
серверов

Электронные подписи, шифрование данных, IPSec. вход в систему по смарт-картам, и все


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

И
нфраструктура открытого клю­ или поздно вы придете к идее развер­ Microsoft Windows центром сертифика­
ча (Public Key I n f r a s t r u c t u r e ) нуть ее в масштабах поддерживаемо­ ции становится компьютер с серверной
не является ж и з н е н н о необхо­ го вами домена. PKI - это комбинация операционной системой, на котором
димой для работы домена. Вы може­ из ряда совместно работающих служб установлены и запущены службы сер­
те годами не внедрять ее на предпри­ и компонентов. Одним из ключевых яв­ тификации (Certificate Services). В ста­
ятии и не испытывать никаких проблем. ляется центр сертификации (Certificate тье будут рассматриваться СА, работа­
Но когда вы начинаете задумываться Authority - СА) - доверенный субъект ющие на Windows 2003 Server.
о безопасности, о тех возможностях, или служба для выдачи и управления Microsoft рекомендует тщательно
которые дает внедрение PKI, то рано ц и ф р о в ы м и с е р т и ф и к а т а м и . В сети с п л а н и р о в а т ь PKI, п р е ж д е чем п р и -
ступать к действиям по развертыва­ и используется, во-первых, для усиле­
нию к о м п о н е н т о в . Что касается СА, ния безопасности всей структуры, а во- Изолированные С А
то нужно решить, будет ли использо­ вторых, в случае, когда на втором уров­
ваться только свой собственный центр не больше чем один СА, для назначе­ Корневой СА
сертификации либо ж е придется при­ ния различных операционных политик
бегать к услугам и открытых (пуб­ или политик безопасности для СА ниж­
личных) СА, таких как VerySign. Осо­ RootCA
них уровней. В рассматриваемой схе­
бую роль имеет планирование распо­
л о ж е н и я , количества и т и п а СА. Су­
ме введение п р о м е ж у т о ч н о г о второ­ 1
го уровня не является обязательным
ществует два основных типа СА: СА и используется с целью приведения
предприятия (enterprise СА) и изоли­ к «классическому» виду и для возмож­ Промежуточный СА
рованный СА (stand-alone СА). В свою ности м а ш т а б и р у е м о с т и в д а л ь н е й ­ 0

очередь они подразделяются на два шем. По рекомендации Microsoft из со­


подтипа: корневой (root) и подчинен­ ображений безопасности, СА первых SubCA
ный (subordinate). Тип СА определяет, двух уровней д о л ж н ы быть изолиро­
где хранится база сертификатов (ло­ ваны от сети, а после установки и пер­
кально или в Active Directory), как из­ вичной настройки - храниться в надеж­
даются сертификаты (автоматически ном, з а щ и щ е н н о м от д о с т у п а посто­
СА предприятия
по шаблонам или вручную) и т. п. К р о ­ ронних месте в в ы к л ю ч е н н о м состо­ 0

ме того, и з д а ю щ и м (issuing) называет­ янии. Выполнению этого требования


ся СА, который обрабатывает запросы может помочь применение виртуаль­ EntCA
конечных пользователей. ных машин - использование VMware
РИСУНОК 1 . СТРУКТУРА ИЗ ТРЕХ СА
или Virtual Server идеально подходит
Выбор структуры СА как для обеспечения безопасности • Списки отзыва сертификатов
Необходимо спланировать многоуров­ на этапе развертывания инфраструк­ и интервал их публикации. В слу­
невую структуру СА. Теоретически воз­ туры, так и для последующей физичес­ чае если сертификат стал ненуж­
можно использование одного центра кой изоляции серверов. ным или недействительным до ис­
сертификации одновременно в качест­ И наконец, подчиненный СА уров­ течения срока его ж и з н и , его мож­
ве корневого СА предприятия и издаю­ ня предприятия (EntCA) получает сер­ но о т о з в а т ь в р у ч н у ю ( п о м е т и т ь
щего одновременно, но такая конфи­ тификат от промежуточного СА, нахо­ как недействительный). При этом
гурация настоятельно не рекоменду­ дится в домене Active Directory и выпус­ его номер попадает в список отзы­
ется к а к из соображений безопаснос­ кает сертификаты по запросам конеч­ ва (Certificate Revocation L i s t - C R L ) .
ти, так и из соображений дальнейшей ных пользователей либо в ручном, л и ­ Этот список должен периодически
масштабируемости. бо в автоматическом режиме по шаб­ обновляться и быть всегда доступ­
Microsoft р е к о м е н д у е т и с п о л ь з о ­ л о н а м (рекомендуется). Д л я о т к а з о ­ ным для проверки. Когда приложе­
вать число уровней СА от 2 до 4: ис­ устойчивости нужно иметь к а к мини­ ние проверяет д е й с т в и т е л ь н о с т ь
пользование более глубокой структу­ мум два выпускающих СА на к а ж д ы й сертификата, происходит не толь­
ры становится трудным в управлении. промежуточный СА, однако мы будем ко п р о в е р к а даты и с р о к а дейст­
Можно назвать «классической» рассматривать у с т а н о в к у только од­ вия сертификата, но и отсутствие
схему из трех уровней СА (см. рис. 1): ного сервера. его номера в списке отзыва. Сер­
• первый уровень: и з о л и р о в а н н ы й тификат считается недействитель­
корневой СА; Определение ным, если его номер содержится
• второй у р о в е н ь : и з о л и р о в а н н ы й функциональных в CRL либо CRL недоступен. Спи­
подчиненный СА (еще он называ­ параметров для СА сок о т з ы в а к э ш и р у е т с я на с т о р о ­
ется промежуточным, (intermediate), Когда структура СА определена, нуж­ не клиента и обновляется в соот­
или policy СА); но учесть еще ряд важных параметров, ветствии с временем ж и з н и CRL,
• третий уровень: подчиненный СА влияющих на работу к а ж д о г о из СА. поэтому в о з м о ж н ы ситуации, ког­
уровня предприятия, он ж е выпус­ К таковым параметрам относятся: да сертификат отозван, опублико­
к а ю щ и й СА. • Срок ж и з н и сертификатов. Здесь ван в CRL, но какое-то время еще
надо учитывать баланс между со­ может считаться действительным.
Развертывание именно такой ображениями безопасности (мень­ Это надо у ч и т ы в а т ь при о п р е д е ­
с т р у к т у р ы и будет р а с с м а т р и в а т ь с я ший срок действия) и соображени­ лении интервала публикации CRL.
в этой статье. Что она дает: изолиро­ ями легкости обслуживания (боль­ Для в ы п у с к а ю щ е г о СА интервал
ванный СА первого уровня (RootCA) ший срок действия). Мы выберем оставим по умолчанию в 1 неделю,
выпускает самоподписанный сертифи­ для с е р т и ф и к а т о в к о р н е в о г о СА для п р о м е ж у т о ч н о г о - 3 м е с я ц а ,
кат сам себе и используется в качестве срок действия 20 лет, для подчи­ для корневого - полгода. Д л я са­
корня структуры. Изолированный под­ ненного СА - 10 лет, выпускающе­ моподписанного сертификата кор­
чиненный СА второго уровня (SubCA) го СА - 5 лет и для сертификатов невого СА этот параметр неприме­
получает сертификат от корневого СА пользователей - 1 год. ним.
• СведенияодоступекСА(Аи1гюг1т,у дупредит вас об отсутствии этого фай­ СА. Обратите внимание, что enterprise-
Information Access - AIA). В точке ла, но и не будет проверять его кор­ типы СА будут недоступны (компью­
публикации AIA располагается сер­ ректность. т е р - не ч л е н д о м е н а ) . В ы б и р а е м
тификат СА, который также должен Отсутствие файла capolicy.inf или Stand-Alone root СА, у с т а н а в л и в а е м
быть доступен для клиента. Клиент его неправильное конфигурирование галку Use custom setting to generate the
использует с е р т и ф и к а т ы СА к а к приведет к тому, что СА будет уста­ key pair and CA certificate и нажимаем
часть проверки действительности новлен с параметрами по умолчанию, «Далее». При этом на следующем ша­
сертификата. поскольку для него нет родительско­ ге можно будет выбрать поставщика
го СА, от которого можно было бы их с л у ж б к р и п т о г р а ф и и (Cryptographic
После выбора предполагаемых ра­ унаследовать. Изменить некоторые Service Provider - CSP) (по умолчанию
бочих параметров к а ж д о г о из СА мож­ из них после установки будет невоз­ Microsoft), хэш-алгоритм и длину клю­
но перейти непосредственно к их ус­ можно, и, как следствие, придется пе­ ча. Для нашего типа СА выберем дли­
тановке. Надо иметь в виду, что имя реустанавливать службы сертифика­ ну ключа в 4096 бит, остальные пара­
компьютера и д о м е н н у ю принадлеж­ ции заново. Это не так страшно, пока метры оставим без изменений (пара­
ность после установки с л у ж б серти­ СА единственный в структуре, но прак­ метр Allow this CSP to interact with the
ф и к а ц и и м е н я т ь у ж е будет н е л ь з я . тически невыполнимо после разверты­ desktop нужен, например, при исполь­
В качестве доменного о к р у ж е н и я бу­ вания СА нижележащих уровней. зовании смарт-карт).
дем рассматривать лес, состоящий из З н а ч е н и я п а р а м е т р о в в разделе На следующем шаге нас попросят
одного дерева и двух доменов. Домен [Certsrv_Server] должны быть не мень­ указать имя нашего СА и отличитель­
Dedicated.Root п р е д с т а в л я е т с о б о й ше, чем те, которые будут з а п р а ш и ­ ное имя (distinguished name). В послед­
корневой домен, домен Res.Dom - до­ ваться мастером установки. нем случае надо указать правильное
черний (ресурсный). Службы сертифи­ Как у ж е было сказано, корневой имя по отношению к контексту Active
кации на третьем уровне будем разво­ СА издает с а м о п о д п и с а н н ы й серти­ Directory, несмотря на то что этот СА
рачивать на компьютере EntCA - чле­ фикат, который не имеет с п и с к а от­ не является СА уровня предприятия.
не домена Dedicated.Root. зывов. Поэтому очень в а ж н о разде­ Итак, в качестве имени СА использу­
лы [CRLDistributionPoint] и [Authority ем RootCA, в качестве отличительного
Установка корневого СА InformationAccess] указать в явном ви­ имени вводим DC=dedicated,DC=root.
Поскольку корневой СА будет изоли­ де и оставить пустыми. З н а ч е н и е Validity Period у к а з ы в а е т
рованный, то перед установкой убе­ В итоге у нас получается вот такое на время ж и з н и сертификата. Как бы­
д и т е с ь , что к о м п ь ю т е р не в к л ю ч е н содержимое файла capolicy.inf: ло указано выше, срок службы для кор­
в домен, а также имеет имя, которое невого СА сделаем равным в 20 лет.
впоследствии не планируется менять - [Version] Далее происходит генерация крипто-
S i g n a t u r e = "$Windows NT$"
в нашем случае RootCA. [Certsrv_Server]
материала, и н у ж н о немного подож­
Далее надо подготовить специаль­ RenewalKeyLength=4096 дать окончания этого процесса.
RenewalValidityPeriod=Years
ный файл capolicy.inf, который должен RenewalValidityPeriodUnits=20 Заключительным шагом явля­
быть помещен в %Systemroot%. Нали­ [CRLDistributionPoint] ется у к а з а н и е р а с п о л о ж е н и я ф а й ­
[AuthoritylnformationAccess]
чие этого файла для установки корне­ лов баз данных с е р т и ф и к а т о в , ж у р ­
вого СА очень важно, поскольку в нем Также перед установкой служб сер­ налов регистрации и общей папки
з а д а ю т с я все исходные п а р а м е т р ы т и ф и к а ц и и имеет смысл установить для расположения и н ф о р м а ц и и , тре­
для СА. Более того, мастер установки с л у ж б ы Internet Information Services буемой для клиентов (по умолчанию
служб сертификации не только не пре- и поддержку ASRNET. Для работы кор­ это C:\CAConfig). Несмотря на то что
невого и промежуточного СА их нали­ это изолированный СА, все равно ло­
.2J*i чие совсем не обязательно, но это мо­ кальная папка будет создана и, в слу­
General j Derate j Certification Path ]
жет несколько облегчить дальнейший чае наличия сетевого интерфейса, от­
выпуск сертификатов для СА нижних крыта для общего доступа.
J Certificate Information
уровней, несмотря на то что почти все
This certificate is intended for the following purpose(s):
•All issuance policies
• All application policies
действия, доступные через веб-интер­ Проверка и настройка
фейс, можно продублировать и через RootCA
консоль управления службами серти­ Поскольку корневой СА является от­
фикации. правной точкой для всей цепочки СА,
Issued to: RootCA
Т е п е р ь м о ж н о о т к р ы т ь «Панель очень важно внимательно проверить
Issued by: RootCA управления -» Установка и удаление и сконфигурировать его. Первое, что
программ -» Установка компонентов н е о б х о д и м о с д е л а т ь , это п р о с м о т ­
Valid from 05.08.2008 to 05.08.2028
Windows» и выбрать Certificate Services реть сертификат, который СА выдал
(службы сертификации). Будет показа­ сам для себя (см. рис. 2). Это можно
но предупреждение о том, что после сделать, заглянув в папку C:\CAConfig.
завершения установки изменить имя Там у ж е должен лежать файл < и м я _
компьютера будет уже нельзя. Далее сервера>_<имя_СА>.сг1 В нашем слу­
Рисунок 2 . Самоподписанный сертификат
к о р н е в о г о СА будет предложено сделать выбор типа чае это файл RootCA_RootCA.crt.
Что должно быть в сертификате: обходимость перевыпустить все сер­
• на вкладке General: значения по­ т и ф и к а т ы , которые были в ы п у щ е н ы SLOIAGE AUDITING SECURITY 1
GENERAL | POLICY MODULE | Е Й MODULE EXTENSIONS
лей Issued by и Issued to должны до того, как этот список изменился.
SELECT EXTENSION:
совпадать и указывать на только Во-вторых, недоступность CRL оз­ [ C R L DISTRIBUTION POINT (CDP| 3

что у с т а н о в л е н н ы й СА (в н а ш е м начает недействительность сертифи­ SPECIFY LOCATIONS FROM WHICH USERS CAN OBTAIN A CERTIFICATE (EVOCATION LIST
(CRL).
случае это RootCA). Диапазон вре­ ката, поэтому надо предусмотреть как CAWIND0WS\SYSTEM32\CERTSRV\CERTENRCILL\<CANARRIE><CRLNARTIESULFIX:
мени, в течение которого сертифи­ минимум два разных места располо­ LDAP:///CN=<[>TRUNCATEDNAME><CRLNARNESIIFLIX>.CN=<5ERVERSHORTNA!

кат считается действительным, дол­ жения CRL.


жен быть верен и соответствовать В-третьих, не рекомендуется остав­ Ы I 2J
ADD.. j REMOVE j
тому, что задавали при установке; лять в списке неиспользуемые точки
Г PUBLISH CRLS TO THIS LOCATION
• на вкладке Details: в перечне атри­ распространения. Г INCLUDE IN ALL CRLS SPECIFIES WHERE TO PUBLISH IN THE ACTIVE DIRECTORY

бутов сертификата должны отсутс­ В-четвертых, порядок просмотра


P INCLUDE IN CRLS. CLIENTS USE THIS TO LIND DELTA C R L LOCATIONS.
твовать атрибуты CRL Distribution CDP тоже важен - первыми в списке P INCLUDE IN THE C D P EXTENSION OF ISSUED CERTIFICATES
P o i n t s и A u t h o r i t y I n f o r m a t i o n должны быть те точки, которые смо­ Г PUBLISH DELTA CRLS TO THIS LOCATRAN

Access; гут обслуживать больше всего клиен­


• на в к л а д к е C e r t i f i c a t i o n P a t h : тов и быть доступными как можно ча­ OK j j CANCEL | ewtj \

в н и ж н е м поле д о л ж н а быть над­ ще. Хорошим решением считается рас­ Рисунок 3. Задание CDP на корневом СА
пись This certificate is О К . положение одной из CDP на корпора­
тивном сайте, с тем чтобы она была до­ Delta-CRL относится к новшест­
П о с м о т р е т ь с е р т и ф и к а т м о ж н о ступна из Интернета. вам, п о я в и в ш и м с я в W i n d o w s 2 0 0 3
и другим методом - воспользоваться Если посмотреть на предлагаемые Server (и, кстати, не поддерживающим­
оснасткой Certification Authority, кото­ по умолчанию варианты, то без труда ся клиентами ниже Windows ХР). Если
рая доступна в разделе Administrative можно сделать вывод, что в качестве вы ожидаете а к т и в н о г о и с п о л ь з о в а ­
Tools панели управления. CDP может выступать: Active Directory, ния сертификатов и их частых отзы­
После ее запуска должно автома­ локальная ф а й л о в а я с и с т е м а , UNC- вов, то вам н у ж н о устанавливать бо­
тически произойти подключение к те­ путь и http-путь. К а ж д ы й из этих ва­ лее частый интервал обновления CRL.
к у щ е м у серверу, при этом в дереве риантов имеет свои плюсы и минусы. При этом сам список отзывов будет все
слева он должен быть помечен зеле­ Например, как уже было сказано, http более и более увеличиваться в разме­
ной г а л о ч к о й . Щ е л к н у в на нем пра­ удобно и с п о л ь з о в а т ь когда требует­ рах, что может затруднять его загруз­
вой кнопкой мыши и выбрав Properties ся обеспечить доступ к CRL клиентов ку к л и е н т а м и . В таких случаях мож­
на вкладке General, можно обнаружить с н а р у ж и к о р п о р а т и в н о й сети. Active но использовать delta-CRL для мини­
кнопку View Certificate. Этот метод луч­ Directory удобна внутри сети, но нуж­ мизации трафика. Клиент загружа­
ше, так как сразу позволяет убедить­ но учитывать интервалы репликации ет сам список CRL и до истечения его
ся в том, что службы сертификации ус­ AD и публикации CRL - если CRL пуб­ срока действия загружает изменения,
пешно запустились, иначе возникла бы ликуется чаще, чем время полной реп­ п р о и з о ш е д ш и е в CRL после его пуб­
о ш и б к а подключения к СА. К тому же ликации внутри домена, то использо­ ликации.
именно тут мы и продолжим конфигу­ вать AD не рекомендуется. Таким образом, можно делать ин­
рирование СА и перейдем к указанию тервал публикации CRL более д л и н ­
Кроме того, к каждой из CDP можно
точек распространения CRL и AIA. указать дополнительные опции: ным, a d e l t a - C R L п у б л и к о в а т ь ч а ­
Напомню еще раз про важность CRL • Publish CRL in this location - ука­ ще. Однако это имеет смысл делать
для проверки действительности серти­ зывает на то, что СА будет автома­ т о л ь к о на в ы п у с к а ю щ е м СА и толь­
ф и к а т а . Задать точки распростране­ тически пытаться произвести пуб­ ко при вышеназванных условиях, по­
ния CRL (CRL Distribution Points - CDP) ликацию CRL в этой точке. Для изо­ этому для данного и последующих СА
можно перейдя на вкладку Extensions лированного СА эту опцию стоит везде о т к л ю ч а е м о п ц и и , с в я з а н н ы е
(Расширения) в окне свойств СА. Вы­ устанавливать только для локаль­ с delta-CRL.
падающий список в верхней части ок­ ной CDP; Вернемся к заданию точек распро­
на содержит всего два параметра: CRL • Include in all CRLs - активно толь­ странения CRL. Поскольку наш СА бу­
и AIA. Оставим предложенный по умол­ ко для LDAP CDP; дет отключен от сети, то необходимо
чанию CRL и обратимся к следующе­ • Include in CRLs - добавляет эту оставить локальную точку распростра­
му полю, где перечислены места рас­ CDP к атрибутам CRL, для того что­ нения, которая идет в списке первой
положения для CRL. бы клиенты могли находить delta- и по умолчанию указывает в папку С:\
Здесь надо быть очень осторож­ CRL (об этом чуть ниже); WINDOWS\system32\CertSrv\CertEnroll\.
ным - во-первых, указанные тут точки • Include in the CDP extension of Обратите внимание, что для этой CDP
распространения CRL могут включать­ issued certificates - у к а з ы в а е т п о м е ч е н а опция Publish CRL in this
ся во все издаваемые этим СА серти­ на необходимость включения этой location. Для обеспечения доступнос­
фикаты. То есть теоретически возмож­ CDP в список атрибутов выпуска­ ти CRL мы оставим т а к ж е LDAP-точ-
но изменить или дополнить этот список емых этим СА сертификатов; ку (указав опции Include in all CRLs
и после того, как СА начнет работать, • Publish delta CRLs to this location - и Include in the CDP extension of issued
на практике ж е это будет означать не­ для публикации delta-CRL. certificates) и с о з д а д и м новую точку,
_и.х| ши на Revoked Certificates. Выбираем
STORAGE I AUDITING I SECURITY l GENERAL j REVOCATION LIS!: j Properties и попадаем на в к л а д к у CRL
GENERAL POLICY MODULE j EXIT MODULE EXTENSIONS
Г<П CERTIFICATE R E V O C A T I O N LIST INFORMATION
Publishing Parameters. Здесь мы видим
SELECT EXTENSION:
j AUTHORITY INFORMATION ACCESS |AIA) "3 настройки, касающиеся интервала об­
SPECIFY LOCATIONS TROM WHICH USERS CAN OBTAIN THE CERTIFICATE FOR THIS C A
Held value •1 новления CRL и delta-CRL. Поскольку
ES Issuer RootCA, dedicated, root
•^Effective date б августа 2008 Г. 12:45:41
7 февраля 2009 г. 1:05:41
это корневой СА и не ожидается с л и ш ­
jrJN?:-:t update
^Signature algorithm shalRSA ком частого отзыва сертификатов,
ifiWASEnt CA'I['P\ • ZaUarne -.cii ^Authority Key Iden... KeyID=ed 13 86 8Ь 84 00 0e ft d...
E*]CA Version VO.O то интервал можно сделать достаточно
^ C R L Number 4
E^Next CRL Publish 6 февраля 2009 г. 12:55:41
длинным - например, 6 месяцев.
1 PUBLISHED CRL LOCA.. [L}.OCATIONS: DISTRIBUTION POINT MA...

—J При выборе интервала имейте в ви­
ду, что вам вручную придется п о м е ­
Full Name; "3
к
щать к а ж д ы й р а з п у б л и к у е м ы й CRL
иР1=Увр:///СМ-Рсо:СА.СЫ=Рпо .СА,СМ=СОР^СМ=РиЫ1с%
INCLUDE IN THE A I A EXTENSION OF ISSUED CERTIFICATES
2QKey% в заданные точки распространения.
20Ser vices, CM.=Servi':es CN=0:'rihgurdtiori,DC=ded:cated DC=ro
J J

I™ INCLUDE IN THE ONLINE CERTIFICATE STATUS PROTOCOL (OCSP) EXTENSION •t?ceruficateRevocationLisc?ba5e?


•bjectClass=cRLDistributionPoint Zj
Если вы не сделаете этого, то сертифи­
каты, выпущенные этим СА, о к а ж у т с я
недействительными. Сделав необхо­
димые настройки, нажмите ОК.
Рисунок 4. Задание т о ч е к A I A Рисунок 5. Пример CRL
Первый CRL мы опубликуем вруч­
у к а з ы в а ю щ у ю на общую сетевую папку в локальной сети ную - для этого на Revoked Certificate вызываем контекс­
(с опцией Include in the CDP extension of issued certificates). тное меню и выбираем «АН Tasks -> Publish». В появившем­
В качестве таковой папки введем UNC-путь к общей пап­ ся окне соглашаемся с тем, что будет выпущен новый CRL,
ке, которую расположим впоследствии на нашем будущем и ж м е м ОК.
СА уровня предприятия с именем EntCA: file://\\Ent_CA\CDP\ После этого стоит перейти в папку, указанную как ло­
<CAName>. Конечный вид окна задания CDP представлен кальная т о ч к а публикации CRL (в нашем случае это С:\
на рис. 3. WINDOWS\system32\CertSrv\CertEnroll\), и убедиться, что
Аналогичные действия проведем и для точки публика­ там появился файл RootCA.crl. Д в а ж д ы щелкаем по этому
ции сведений о доступе к СА. В этом ж е окне и з выпада­ файлу, чтобы просмотреть его содержимое. Здесь нас ин­
ющего с п и с к а выше выбираем Authority Information Access тересуют дата следующего обновления (Next Update) и да­
(AIA) и видим аналогичный список точек публикации, толь­ та следующей публикации CRL (Next CRL Publish).
ко опций для к а ж д о й точки несколько меньше. Список то­ Обратите внимание, что эти даты не одинаковы - как ви­
чек публикации п р и в о д и м в соответствие с п и с к у точек дим, дается время для того, чтобы обновленный CRL был
для CRL, указывая для LDAP- и FILE- точек опцию Include опубликован в точках распространения. Кроме того, пос­
in the AIA extension of issued certificates. Результат представ­ леднее поле - Published CRL locations - должно соответс­
лен на рис. 4. твовать тому, что мы задавали при настройке CDP. А точнее,
Теперь можно нажать О К и согласиться с тем, что служ­ в качестве значения этого атрибута выступают те CDP, в о п ­
бы сертификации должны быть перезапущены. циях которых было включено Include in all CRLs (см. рис. 5).
Однако прежде чем можно будет публиковать CRL, надо Обратите внимание на то, что в значении атрибута не долж­
произвести отображение пространства имен Active Directory ны присутствовать слова DC=UnavailableConfigDN - это го­
в реестр СА. Это требуется для того, чтобы указанные на­ ворит о том, что не было сделано отображение пространст­
ми LDAP CDP были представлены в к о р р е к т н о й форме. ва имен AD в реестр СА.
Делается это с помощью команды certutil.exe и для домена Последнее, что надо сделать в конфигурировании СА, -
Dedicated.Root выглядит следующим образом: это задать срок действия выдаваемых СА сертификатов.
Тот срок, который указывался при установки СА, относил­
c e r t u t i l . e x e - s e t r e g ca\DSConfigDN J ся к сроку ж и з н и сертификата самого СА, а по умолчанию
CN=Configuration,DC=dedicated,DC=root
срок действия сертификатов - 1 год. Поскольку это кор­
Результат должен быть примерно следующим: невой СА и он будет выпускать сертификат для промежу­
точного СА, то фактически нам надо сейчас задать срок
SYSTEM\CURRENTCONTROLSET\SERVICES\CERT£VC\CON^
NEW V A L U E :
с л у ж б ы с е р т и ф и к а т а п р о м е ж у т о ч н о г о СА. А е г о мы д о ­
DSCONFIGDN F E G J 3 Z = CN=CONFIGURATION, D C = D E D I C A T E D , DC=ROOT говаривались установить равным 10 годам. Для того что­
C E R T U T I L : - S E T R E G COMMAND C O M P L E T E D S U C C E S S F U L L Y .
THE CERTSVC SERVICE MAY NEED T O B E RESTARTED F O R CHANGES T O TAKE E F F E C T .
бы воплотить это в ж и з н ь , н у ж н о о т к р ы т ь в е т к у реест­
ра: H K E Y _ L O C A L _ M A C H I N E \ S Y S T E M \ C u r r e n t C o n t r o l S e t \
Только теперь м о ж н о п р о и з в о д и т ь п у б л и к а ц и ю CRL. S e r v i c e s \ C e r t S v c \ C o n f i g u r a t i o n \ < H M F L _ C A > и изменить зна­
Это можно сделать с помощью команды certutil - C R L либо чение параметра ValidityPeriodUnits, сделав его равным 10.
из оснастки Certificate Authority. Воспользуемся вторым ме­ Заодно нужно т а к ж е проверить, чтобы значение парамет­
тодом, так как нам необходимо еще будет с к о н ф и г у р и р о ­ ра ValidityPeriod было Years.
вать интервал обновления CRL, а это удобнее сделать че­ В с л е д у ю щ е й части статьи м ы р а с с м о т р и м установ­
рез графический интерфейс. ку промежуточного и выпускающего СА и настройку пос­
В оснастке Certificate Authority раскрываем узел, соот­ леднего для работы в домене с использованием шабло­
ветствующий нашему СА, и щелкаем правой кнопкой мы- нов сертификатов. $>

с у с т администратор
Л *% НАША КОМПАНИЯ ПРЕДОСТАВЛЯЕТ
I L ЛИНИИ СВЯЗИ В САМЫХ НЕПРОХОДИМЫХ
л е т МЕСТАХ МОСКВЫ

10 МБИТ - $500, ВКЛЮЧЕНО МНОГО ТРАФИКА.


ANYTHING ELSE?

ЗВОНИТЕ, ДОГОВОРИМСЯ!

г. М о с к в а , Х л е б н ы й п е р е у л о к 2 / 3 , т е л . 2 9 1 - 6 1 - 3 2 , 2 0 2 - 6 1 - 4 3 ( к р у г л о с у т о ч н о )
e-mail: support@redline.ru
Тот факт, что в мире нет совершенного программного обеспечения, не является большим
секретом. На момент релиза программный код любой операционной системы содержит
ошибки, которые влияют на ее производительность и надежность. Вследствии этого одной
из важных задач системного администратора является поддержание операционной системы
в актуальном, с точки зрения безопасности и надежности, состоянии путем наложения патчей
и обновлений.

Основная часть ка, в этом направлении команде раз­ (http://www.openbsd.org/errata.html)


Несмотря на то что целью известного работчиков удалось достигнуть зна­ официального сайта проекта, где спис­
проекта OpenBSD является разработ­ чительных успехов, через некоторое ки выявленных ошибок сгруппированы
ка операционной системы (ОС), кото­ время после выхода очередного ре­ согласно релизам, в которых они бы­
рая характеризуется высокими пока­ л и з а д а н н о й ОС появляется и н ф о р ­ ли выявлены: например, errata43.html -
зателями чистоты кода, безопаснос­ мация о выявленных потенциальных ошибки, выявленные после выхода ре­
ти, стандартизации и портируемос- уязвимостях. Эту и н ф о р м а ц и ю мож­ лиза 4.3. Страничка т а к ж е содержит
ти и, к а к свидетельствует с т а т и с т и ­ но почерпнуть на страничке «Ошибок» краткое описание, характеристику (бе-
зопасность или надежность) и ссылку исходных кодов с помощью стабильной 4.3/ccmmon/003_xorg . p a t c h
на з а п л а т к у (патч), с п о м о щ ь ю кото­ (патчевой) ветки с последующей пере­
4.3/conmon/004_bind.patch
рой можно избавиться от уязвимости. сборкой ядра и встроенного програм­
На момент написания статьи странич­ много обеспечения (userland) - более 4.3/common/005_pcb. p a t c h
ка релиза 4.3 содержала 5 записей. длительный, но и более автоматизиро­
С о г л а с н о т е р м и н о л о г и и , исполь­ ванный (если синхронизацию перело­ К а к в и д н о из в ы в о д а а р х и в а т о ­
зуемой внутри проекта, в а ш а систе­ жить на могучие плечи сгоп) процесс. ра, в архиве находятся 5 патчей. Все
ма может находиться в одном из 3 воз­ Он т а к ж е позволяет исправить неза­ они расположены в каталоге common,
м о ж н ы х с о с т о я н и й : релиз (-release), крытые патчами о ш и б к и . что свидетельствует об их платформо-
с т а б и л ь н о е (-stable) и л и т е к у щ е е Перед т е м к а к п р и с т у п и т ь н е п о ­ независимости. Назначение патча лег­
(-current). Р а з н и ц а м е ж д у э т и м и с о ­ средственно к наложению патчей или ко узнать, используя команду head.
стояниями заключается в том, что ре­ синхронизации исходного кода, необ­
лиз - это версия, выпускаемая проек­ ходимо его (код) заполучить. Самый $ cd /usr/src/patches/4.3/common
$ h e a d - n 11 0 0 1 _ o p e n s s h . p a t c h
том согласно графику релизов каждые простой способ загрузить его по ftp
6 месяцев на CD, стабильная система - Apply by doing:
(ftp://ftp.openbsd.Org/pub/OpenBSD/4.3)
cd / u s r / s r c
это релиз с наложенными на него пат- или скопировать с CD (обычно это тре­ p a t c h -pO < 0 0 l _ o p e n s s h . p a t c h
чами на текущий момент времени. Пат- тий CD в стандартной поставке). Ис­
чи представляют собой порции исход­ ходный код, хранящийся на ftp-серве­ And t h e n r e b u i l d and i n s t a l l f i l e :
ного кода, содержащие очень важные ре, разделен на несколько файлов: cd u s r . b i n / s s h
исправления, сделанные и опробован­ stake o b j
• src.tar.gz - содержит исходный код make c l e a n d i r
ные в текущей ветке. Подразумевает­ набора встроенного ПО; make depend
ся, что для того, чтобы обладать на­ • sys.tar.gz - содержит исходный код make
илучшими показателями стабильнос­ make i n s t a l l
ядра;
ти и надежности ОС, OpenBSD долж­ • xenocara.tar.gz - содержит исход­ Из вывода следует, что патч пред­
на быть приведена к стабильному со­ ный код м о д и ф и ц и р о в а н н о й сис­
назначен для исправления исходно­
стоянию. При этом следует учитывать, темы X-Window X.org или Xenocara, го к о д а э л е м е н т а в с т р о е н н о г о ПО
что поддержка новых устройств и кар­ в интерпретации OpenBSD). (в ч а с т н о с т и O p e n S S H ) и потребует
д и н а л ь н о новые с в о й с т в а , р е а л и з о ­ пересборки толького этого элемента.
ванные в текущей ветке не попадают
После загрузки необходимо разар- Тут ж е приведены инструкции по нало­
в стабильную. Текущая ветка в свою
хивировать src.tar.gz и sys.tar.gz в д и ­ жению патча (первый абзац) и после­
очередь предназначена в о с н о в н о м
р е к т о р и ю /usr/src, a xenocara.tar.gz дующей пересборке приложения (вто­
для разработчиков и является поли­ рой абзац).
в -/usr.
гоном для испытания нововведений.
Ни один здравомыслящий системный $ cd /usr/src $ head 0 0 3 _ x o r g . p a t c h
администратор не станет обновлять # tar -xvzf /usr/sys.tar.gz
# tar -xvzf /usr/src.tar.gz Apply by doing:
ОС ответственного сервера до теку­ $ cd /usr cd /usr/xenocara
щего состояния. # tar -xvzf /usr/xenocara.tar.gz #Assuming Xenocara i s i n / u s r / x e n o c a r a
p a t c h -pO < 0 0 3 _ x o r g . p a t c h
С у щ е с т в у ю т два с п о с о б а п р и в е ­ После извлечения исходников мож­
And t h e n r e b u i l d and i n s t a l l t h e X s e r v e r :
дения системы к стабильному состоя­ но переходить к делу. Начнем с пат­
cd xserver
нию. Первый - это наложение патчей чей.
вручную, второй - использование ста­ make - f Makefile. bsd-wrapper b u i l d

бильной (патчевой) ветки исходных ко­ Накладываем заплатки Index: xserver/Xext/security.с


дов системы, которая содержит все ис­ Патчи можно скачать как в виде отдель­ Этот патч п р е д н а з н а ч е н для ис­
правления для обновления системы. ных файлов (001_openssh.patch и т. д.), правления исходного кода Xenocara,
Следует учитывать тот факт, что ис­ так и единым архивом (4.3.tar.gz). Сде­ он т а к ж е потребует пересборки толь­
ходный код стабильной ветки кроме лать это можно или с упомянутой выше ко этого элемента.
обновлений, вышедших в виде патчей, странички errata43.html или непосред­
также содержит очевидные и простые ственно по ftp (ftp://ftp.openbsd.org/pub/ $ head 005_pcb.patch
исправления, которые были признаны OpenBSD/4.3). Apply by doing:
недостойными включения в список пат­ После скачивания необходимо рас­
cd / u s r / s r c
чей на страничке «Ошибок». Разница п а к о в а т ь архив, с о д е р ж а щ и й патчи
между способами заключается в том, в какую-нибудь директорию, напри­ p a t c h -pO < 005_pcb.patch
что в случае наложения патчей будут мер /usr/src/patches.
Then b u i l d and i n s t a l l a new k e r n e l .
з а к р ы т ы только те о ш и б к и , которые
были признаны критичными, в с л е д с ­ # mkdir /usr/src/patches Комментарий «Then build and install
$ cd / u s r / s r c / p a t c h e s
твие этого существенно сокращается # tar -xvzf /usr/4.3.tar.gz a new kernel» указывает на то, что патч
время, з а т р а ч и в а е м о е на и с п р а в л е ­ предназначен для исправления исход­
4.3/conmon/001_openssh. p a t c h
ние ошибок (даже в случае пересбор­ ного кода ядра и потребует его даль­
ки ядра). В свою очередь обновление 4.3/ccranon/002_openssh2 . p a t c h нейшей пересборки (см. далее).
На этом все премудрости работы с патчами, собственно, Непосредственно процесс пересборки ядра предель­
и заканчиваются. После просмотра заголовка патча (коли­ но прост:
чество строк, выводимых командой head, может быть уве­
личено при помощи параметра -п), остается только, следуя $ cd / u s r / s r c / s y s / a r c h / i 3 8 6 / c o n f
# config GENERIC
полученым инструкциям, пропатчить (команда patch) и пе­ # cd ../compile/GENERIС
ресобрать приложение или ядро. # make clean ss make depend ss make
# make i n s t a l l

Следуем стабильной (патчевой) ветке Правда, стоит отметить, что он длится довольно долго:
исходного кода от 30-40 минут на современной технике до суток на рари­
Поскольку разработчики OpenBSD используют для управ­ тетном железе (которое частенько используется для уста­
ления исходным кодом систему контроля версий CVS, её новки OpenBSD). После завершения сборки ядра необхо­
можно использовать для получения и обновления локаль­ димо перезагрузить компьютер для загрузки нового ядра.
ной копии дерева исходных кодов, находящейся в директо­ Если по какой-то причине собранное ядро не может быть
рии /usr/src. Для начала необходимо выбрать один из ано­ загружено, процесс загрузки будет остановлен и появится
нимных CVS (AnonCVS) серверов проекта. Это можно сде­ приглашение загрузчика: «boot>».
лать на страничке http://www.openbsd.org/anoncvs.html офи­ В этом случае необходимо загрузить копию старого ра­
циального сайта. После выбора сервера можно приступать бочего ядра, исправить о ш и б к и в конфигурационном фай­
к обновлению дерева исходных кодов. ле и повторить процедуру.

$ cd / u s r / s r c boot> b s d . o l d
# export CVSR00T=anoncvs@anoncvs.de.openbsd.org:/cvs
# cvs -d$CVSROOT up -rOPENBSD_4_3 -Pd
Если пересборка ядра завершилась успешно, можно
В данном примере был использован анонимный CVS-cep- приступать к пересборке встроенного ПО. Следует быть
вер anoncvs.de.openbsd.org. Параметр up команды cvs обес­ особо внимательным при выполнении команды rm с фла­
печивает обновление локальной копии дерева исходных ко­ гами -rf от пользователя root, ошибочно указав директорию
дов. Флаг -г позволяет выбрать версию (ревизию) исходного (не /usr/obj/*), можно в лучшем случае лишиться копии де­
кода для обновления. Флаги -Pd позволяют cvs во время об­ рева исходных кодов, в худшем - системы.
новления удалять пустые директории дерева и создавать но­
вые (без этих флагов обновление закончится неудачей). # rm - r f / u s r / o b j / *
$ cd / u s r / s r c
Команду cvs т а к ж е можно использовать для получе­ # make obj
ния дерева исходных кодов и дерева портов, указав оп­ # cd / u s r / s r c / e t c S S env DESTDIR=/ make d i s t r i b - d i r s
# cd / u s r / s r c
цию checkout и ветвь, которую нужно скачать (src, xenokara, # make b u i l d
ports). Пример для скачивания исходных кодов ядра и встро­
енного ПО. По сравнению со сборкой ядра процесс сборки встро­
енного ПО еще более длительный (на слабой машине мо­
$ cd / u s r жет длиться более суток). После з а в е р ш е н и я пересбор­
# export CVSR00T=anoncvs@anoncvs.de.openbsd.org:/cvs
# cvs -d$CVSROOT checkout -r0PENBSD_4_3 -P src ки встроенного ПО систему можно считать обновленной
до стабильного состояния.
После того к а к наложены заплатки, либо дерево ис­
ходных кодов с и н х р о н и з и р о в а н о со стабильной (патче­ Заключение
вой) веткой, можно пересобирать ядро и встроенное ПО Команда разработчиков ОС OpenBSD прилагает много уси­
(userland). лий для своевременного и оперативного исправления вы­
явленных в процессе эксплуатации ПО ошибок. Разраба­
Пересобираем ядро и встроенное ПО тываемая ими система включает достаточный и подробно
Сборка ядра происходит с параметрами, которые хранятся документированный инструментарий для поддержания бе­
в файле конфигурации ядра. Обычно этот файл находится зопасности на высоком уровне.
в директории conf по адресу /и5г/згс/зуз/агсЬ/<платформа>/ Обновлять или патчить, к а ж д ы й решает сам, но с тем,
conf. Файл конфигурации ядра, поставляемый с дистрибу­ что безопасности системы необходимо уделять особое вни­
тивом, по умолчанию носит название GENERIC. Разработ­ мание, я думаю, согласится к а ж д ы й . #>
чики OpenBSD уверяют, что этот конфигурационный файл
подойдет для большинства случаев, за исключением сис­ 1. OpenBSD 4.3 release errata & patch list - http://www.openbsd.org/
тем с нестандартным оборудованием, очень м а л е н ь к и м errata43.html.
обьемом оперативной памяти, а т а к ж е в случае, если вас 2. Documentation and Frequently Asked Questions - http://www.
интересует активация экспериментальных или выключен­ openbsd.org/faq.
ных по умолчанию функций. 3. Anonymous CVS - http://www.openbsd.org/anoncvs.html.
Перед сборкой ядра необходимо сделать резервную ко­ 4. Following -stable (the «Patch branch») - http://www.openbsd.org/
пию работающего в данный момент ядра: stable.html.
5. Patching and Kernel Building - h t t p : / / w w w . o p e n b s d 1 0 1 . c o m /
# ср /bsd / b s d . o l d patching.html.
Обход аутентификации Несколько уязвимостей в продуктах СА
в IBM WebSphere Portal Server Программа: СА Host-Based Intrusion Prevention System
Программа: IBM WebSphere Portal Server версии 5.1.0.0, (СА HIPS) 8.x; СА Internet Security Suite 2007; CA Internet
5.1.0.1, 5.1.0.2, 5.1.0.3, 5.1.0.4, 5.1.0.5, 6.0.0.0, 6.0.0.1, 6.0.1.0, Security Suite Plus 2008; CA Personal Firewall 2007; CA Personal
[ 6.0.1.1, 6.0.1.3 и 6.1.0.0. Firewall 2008.
Опасность: Средняя. Опасность: Средняя.
Описание: Уязвимость существует из-за того, что админис­ Описание: 1. Уязвимость существует из-за о ш и б к и при об­
тративный интерфейс недостаточно ограничивает доступ работке IOCTL-запросов в драйвере ядра kmxfw.sys. Локаль­
к некоторым страницам. Удаленный пользователь может ный пользователь может с помощью специально сформиро­
с помощью специально сформированного HTTP-запроса ванного IOCTL-запроса аварийно завершить работу систе­
произвести некоторые административные действия. мы или выполнить произвольный код с привилегиями учет­
URL производителя: www-306.ibm.com/software/genservers/ ной записи SYSTEM.
portal. 2. Уязвимость существует из-за неизвестной о ш и б к и
Решение: Установите последнюю версию 6.0.1.4 с сайта в драйвере kmxfw.sys. Удаленный пользователь может про-
производителя. : извести DoS-атаку.
i URL производителя: www.ca.com.
Множественные уязвимости в Ruby | Решение: Установите исправление с сайта производителя.
• Программа: Ruby 1.8.5 и более ранние версии; Ruby 1.8.6-
р286 и более ранние версии; Ruby 1.8.7-р71 и более ран­ Множественные уязвимости в Python
ние версии. Программа: Python версии 2.4.x, 2.5.x.
Опасность: Средняя. Опасность: Средняя.
Описание: 1. Множественные о ш и б к и обнаружены в ре­ Описание: 1. Ц е л о ч и с л е н н ы е п е р е п о л н е н и я о б н а р у ­
а л и з а ц и и о г р а н и ч е н и й б е з о п а с н ы х у р о в н е й (safe level ж е н ы в о с н о в н ы х м о д у л я х stringobject, u n i c o d e o b j e c t ,
restrictions). Удаленный пользователь может вызвать функ­ bufferobject, longobject, tupleobject, stropmodule, gcmodule
цию untrace_var(), произвести операции syslog и изменить и mmapmodule.
$ P R O G R A M _ N A M E на безопасном уровне 4 или вызвать 2. Целочисленное переполнение обнаружено в hashlib-
небезопасные методы на безопасных уровнях 1-3. модуле, что может привести к ненадежным криптографи­
2. Уязвимость существует из-за использования регу­ ческим результатам.
лярных выражений в WEBrick::HTTPUtils.split_header_value(). 3. Целочисленное переполнение обнаружено при обра­
Удаленный пользователь может с п о м о щ ь ю специально ботке Unicode-строк. Злоумышленник может вызвать пере­
сформированного HTTP-запроса потребить все доступные полнение буфера на 32-битной системе.
ресурсы процессора на системе. 4. Целочисленное переполнение обнаружено в функции
3. У я з в и м о с т ь существует из-за о ш и б к и в DL, кото­ PyOS_vsnprintf() на архитектурах, которые не поддержива­
рая позволяет удаленному пользователю обойти ограни­ ют функцию vsnprintf().
чения безопасности и выполнить потенциально опасные 5. Целочисленное переполнение обнаружено в функции
функции. PyOS_vsnprintf() при обработке строк нулевой длины. Зло­
4. Уязвимость существует из-за того, что resolv.rb ис­ умышленник может вызвать повреждение памяти.
пользует предсказуемый номер порта для DNS-запроса. URL производителя: python.org.
Удаленный пользователь может отравить DNS-кэш 1 Решение: Установите исправление из SVN-репозитория
URL производителя: www.ruby-lang.org/en. ^гггх>изводителя.
Решение: Установите последнюю версию с сайта произ­
водителя. Выполнение произвольных команд
в Sun Solaris
Обход ограничений безопасности I Программа: Sun Solaris 8, 9, 10.
в Symantec Veritas Storage Foundation ! Опасность: Средняя.
Программа: Symantec Veritas Storage Foundation версии j | Описание: У я з в и м о с т ь с у щ е с т в у е т и з - з а н е и з в е с т н о й
5.0, 5 . 0 R P 1 a n 5 . 1 . о ш и б к и в сетевой утилите snoop(1M), относящейся к отоб-
Опасность: Средняя. \ ражению SMB-трафика. Удаленный пользователь может
Описание: У я з в и м о с т ь существует из-за того, что кон-\ с помощью специально сформированного пакета, прочи­
соль управления позволяет NULL NTLMSSP-аутентифи-] т а н н о г о или перехваченного приложением через опцию - i ,
кацию. Удаленный пользователь может обойти встроен­ | выполнить произвольные команды на системе с привиле-
ный механизм аутентификации и добавит, удалить или из­ i гиями пользователя snoop или nobody. Для успешной экс-
менить задачи по расписанию и скомпрометировать целе­ [ плуатации уязвимости требуется, чтобы приложение было
вую систему. запущено без опции -о.
URL производителя: www.symantec.com/enterprise/products/ URL производителя: www.sun.com
overview.jsp?pcid=1020&pvid=203_1. Решение: Установите исправление с сайта производителя.
Решение: Установите исправление с сайта производителя.
Составил Александр Антипов
При помощи механизма STARTTLS и сертификатов мы попробуем настроить взаимную
аутентификацию и шифрование пересылаемой почты между двумя почтовыми серверами
с МТА Sendmail. Также при помощи TLS защитим отправляемую клиентами на сервер почту
и настроим почтовый релей для пересылки корреспонденции только тех пользователей,
которые предъявят сертификат, выданный нашим центром сертификации (СА).
S
TARTTLS (RFC 2487) является расширением прото­ # Директория с сертификатами
1 1
define( confCACERTJ?ATH', /etc/pki/tls/certs')dnl
кола SMTP. STARTTLS в первую очередь предназна­
чен для поддержки TLS-шисррования и аутентифи­ # Сертификат СА, выдавшего сертификат нашему с е р в е р у .
# Не з а б у д ь т е е г о также с к о п и р о в а т ь в у к а з а н н у ю директорию
кации между двумя почтовыми серверами. Но как вы уви­ define('confCACERT', ' / e t c / p k i / C A / c a c e r t . p e r n ' ) d n l
дите далее, он с успехом может применяться и почтовы­
# Сертификат нашего с е р в е р а , используемый в о время
ми клиентами. # приема почты
МТА Sendmail в нашей тестовой конфигурации будет define('confSERVER_CERT', J
4
/etc/pki/tls/certs/sendmail.crt')dnl
работать на двух серверах Red Hat Enterprise Linux 5.1. Вы­
бор не является принципиальным - вы можете использо­ # Приватный ключ нашего сервера
1
define('confSERVER_KEY , J
вать ваш любимый или вовсе установить Sendmail в дру­ '/etc/pki/tls/certs/sendmail.key')dnl
гой операционной системе, например Solaris. Единствен­
ное, с чем вы можете столкнуться, - отличие поставляе­ и добавляем две новых строки:
мого по умолчанию в вашем дистрибутиве конфигураци­
онного файла sendmail.тс от использующегося в Red Hat # Сертификат и приватный ключ нашего с е р в е р а , используемый
# для отправления почты на д р у г о й с е р в е р . Для п р о с т о т ы
Enterprise Linux/Fedora. # и с п о л ь з у е м т е ж е , файлы, ч т о и в первом случае
Также предполагаем, что у нас есть настроенный центр define('confSERVER_CERT', J
4
/etc/pki/tls/certs/sendmail.crt')dnl
сертификации. Для простоты будем использовать OpenSSL, define('confSERVER_KEY', J
1

но, естественно, это непринципиально. Один из наших тес­ /etc/pki/tls/certs/sendmail.key')dnl

товых серверов прекрасно справится с этой ролью. Конечно,


в реальной работе вы не должны разворачивать СА и пуб­ Для проверки наших настроек зайдем на 25-й порт сер­
личный почтовый сервер на одной машине. вера при помощи команды telnet:
В качестве «компенсации» засилья Open Source-инстру­
ментов в роли MUA используем штатную в Windows Vista # o p e n s s l са - i n s e n d m a i l . c s r - o u t s e n d m a i l . c r t

программу Windows Mail. Trying 192.168.0.17...


Connected t o s t a t i o n l 7 . e x a n p l e . c o m (192.168.0.17)
, A
Escape c h a r a c t e r i s ]'.
Базовые настройки и взаимодействие 220 s t a t i o n l 7 . e x a n p l e . c o m ESMTP Sendmail 8 . 1 3 . 8 / 8 . 1 3 . 8 ; Thu, 31
двух почтовых серверов J u l 2008 14:21:33 +0400
Начнем с с е р т и ф и к а т а для МТА. Необходимо отметить,
EHLO s t a t i o n l 8 . e x a m p l e . c o m
что STARTTLS в данном случае з а щ и щ а е т только т р а ф и к
между двумя с о о т в е т с т в у ю щ и м образом настроенными 2 5 0 - s t a t i o n l 7 . e x a m p l e . c o m H e l l o s t a t i o n l 8 . e x a m p l e .com
[ 1 9 2 . 1 6 8 . 0 . 1 8 ] , p l e a s e d t o meet y o u
почтовыми серверами. Нет никакой гарантии при отправ­ 250-ENHANCEDSTATUSCODES
ке письма «во вне», что все релей, через которые прой­ 250-PIPELINING
250-8В1ТЖМЕ '
дет письмо, используют STARTTLS. Никогда не надо за­
250-SIZE
бывать, что отправка письма через Интернет аналогична 250-DSN
отправке почтовой карточки по обыкновенной почте. Текст 250-ETRN
250-STARTTXS
вашего письма может быть прочитан во всех точках, че­ 250-DELIVERBY
рез которые пересылается письмо. Для гарантированной 250 HELP
з а щ и т ы электронной почты между отправителем и полу­
STARTTLS
чателем необходимо использовать ш и ф р о в а н и е при по­
м о щ и S/MIME или GnuPG/PGP. 220 2 . 0 . 0 Beady t o s t a r t TLS

Генерируем для нашего сервера приватный ключ и со­ QUIT


здаем запрос в центр сертификации:
Повторяем те же действия по настройке (включая вы­
# o p e n s s l g e n r s a 1024 > s e n d m a i l . k e y пуск второго сертификата) для второго сервера. В нашей
# o p e n s s l r e q -new - k e y s e n d m a i l . k e y - o u t sendmail.csr
ситуации оба сервера используют один и тот ж е удостове­
После чего необходимо переслать з а п р о с на выда­ ряющий центр. Если используются разные СА, то МТА бу­
чу с е р т и ф и к а т а в центр с е р т и ф и к а ц и и . А д м и н и с т р а т о р дут необходимы корневые сертификаты обоих.
центра с е р т и ф и к а ц и и выпускает на основе запроса сер­ Теперь если мы попробуем на одном из серверов локаль­
тификат: но запустить MUA, например mutt, и отправить сообщение
пользователю второго сервера, то на первом сервере в Л/аг/
# o p e n s s l са - i n s e n d m a i l . c s r - o u t sendmail.crt log/maillog увидим примерно такие сообщения:

Копируем полученный с е р т и ф и к а т на почтовый сер­ J u l 31 0 1 : 0 7 : 2 1 s t a t i o n l 8 s e n d m a i l [ 9 5 5 8 ] : STARTTLS=client,


r e l a y = s t a t i o n l 7 . e x a m p l e . c o m . , version=TLSvl/SSLv3, v e r i f y = O K ,
вер и к л а д е м рядом с к л ю ч о м в д и р е к т о р и ю /etc/pki/tls/ cipher=33HE-RSA-AES256-SHA, b i t s = 2 5 6 / 2 5 6
certs. Права на оба файла должны быть выставлены 600 J u l 31 0 1 : 0 7 : 2 1 s t a t i o n l 8 s e n d m a i l [ 9 5 5 8 ] : m6UL7Lpc009556:
или 400. to=<andrey@stationl7.example.com>, c t l a d d r = < r o o t @ s t a t i o n l 8 . e x a m ­
p l e . com> ( 0 / 0 ) , d e l a y = 0 0 : 0 0 : 0 0 , x d e l a y = 0 0 : 0 0 : 0 0 , m a i l e r = e s m t p ,
Далее начинаем править конфигурационный файл /etc/ pri=120467, relay=stationl7.example.com. [192.168.0.17],
mail/sendmail.mc. Редактируем пути и убираем коммента­ d s n = 2 . 0 . 0 , s t a t = S e n t (m6UL7LpK009193 Message a c c e p t e d f o r
рии со строк: delivery)
А на принимающем соответственно: «Скармливаем» персональный сертификат и серти­
фикат СА выбранному MUA, в нашем случае программе
J u l 31 0 1 : 0 7 : 2 1 s t a t i o n l 7 s e n d m a i l [ 9 1 9 3 ] : STARTTLS=server,
relay=stationl8.exanple.com [192.168.0.18], version=TLSvl/SSLv3,
Windows Mail.
v e r i f y = O K , cipher=DHE-RSA-AES256-SHA, b i t s = 2 5 6 / 2 5 6 А на сервере остается прописать, кому разрешена пе­
J u l 31 0 1 : 0 7 : 2 1 s t a t i o n l 7 s e n d m a i l [ 9 1 9 3 ] : m6UL7LpK009193: ресылка почты через наш сервер:
from=<root@stationl8.example.com>, s i z e = 7 4 8 , c l a s s = 0 , n r c p t s = l ,
msgid.=<20080730210721.GA95486stationl8.exanple.com>, proto=ESMTP,
daemon=MTA, r e l a y = s t a t i o n l 8 . example, com [ 1 9 2 . 1 6 8 . 0 . 1 8 ] # cat /etc/mail/access
J u l 31 0 1 : 0 7 : 2 1 s t a t i o n l 7 s e n d m a i l [ 9 1 9 4 ] : m6UL7LpK009193:
to=<andrey@stationl7.example.com>, d e l a y = 0 0 : 0 0 : 0 0 , x d e - Connect:localhost.localdomain BELAY
lay=00:00:00, m a i l e r = l o c a l , pri=31037, dsn=2.0.0, stat=Sent Connect : l o c a l h o s t RELAY
Connect:127.0.0.1 RELAY
CERTISSUER:/C^/ST=Berkshire/I^Nev*ury/C)^+20Ccimpany+20Ltd/
К а к видно из ж у р н а л а , с е р в е р ы аутентисрицирова- CN=Station+2018+20CA RELAY
ли друг друга при помощи сертификатов, выданных од­ CERTSUBJECT: /C>^/SlbBerkshire/I^Newbury/C=My+20Coitpany+20Ltd/
CN=Station+2018+20CA RELAY
ним и тем ж е СА, и при пересылке письма информация
была з а ш и ф р о в а н а . Данный ф а к т можно проверить, за­
пустив на одном из тестовых серверов утилиту wireshark В данном случае мы разрешаем пересылку только об­
или tcpdump. ладателям сертификатов, выданных нашим СА.
Параметры CERTISSUER и CERTSUBJECT мы запол­
Настройка TLS для клиента няем значениями, взятыми из полей Issuer и Subject сер­
В т е к у щ е м состоянии Sendmail готов работать с клиентом, тификата СА:
принимая от него почту в зашифрованном виде, однако ни­
# o p e n s s l х509 - i n c a c e r t . p e m - n o o u t - s u b j e c t -issuer
какой проверки клиента при помощи механизма TLS не ис­
пользуется. Зато клиенту не нужны сертификаты, и всего s u b j e c t = /C=GB/ST=Berkshire/L=Newbury/0=4fy Company L t d /
лишь достаточно поставить соответствующую галку - «ис­ O J = S t a t i o n 18 CA
i s s u e r = /CM3/ST=Berkshire/L=Mei*jury/0=*fy Company L t d /
пользовать з а щ и щ е н н о е соединение, TLS». CN=Station 18 CA
В ж у р н а л е почтового сервера это выглядит пример­
но так: При этом ряд символов, в том числе «{», «<», «>», «(»,
«)», «"»,«+»,«}», и пробел заменяются на шестнадцатерич-
J u l 30 2 3 : 2 9 : 0 9 s t a t i o n l 7 sendmail [ 8 2 2 8 ] : STARTTLS=server,
ные ASCII-коды, предваряемые символом «плюс». Соот­
r e l a y = s t a t i o n 5 1 . example. com [ 1 9 2 . 1 6 8 . 0 . 5 1 ] , version=TLSvl/SSLv3,
v e r i f y = N O , cipher=DHE-RSA-AES256-SHA, b i t s = 2 5 6 / 2 5 6 в е т с т в у ю щ и е коды м о ж н о посмотреть в странице руко­
J u l 30 2 3 : 2 9 : 0 9 s t a t i o n l 7 s e n d m a i l [ 8 2 2 8 ] : m6UJT8GH008228: водства:
from=<andrey@stationl7.example.com>, s i z e = 3 4 1 , c l a s s = 0 , n r c p t s = l ,
msgid=<4890C39D.4020404@stationl7.example.com>, proto=ESMTP,
# man a s c i i
daemon=MTA, r e l a y = s t a t i o n 5 1 . e x a m p l e . c o m [ 1 9 2 . 1 6 8 . 0 . 5 1 ]
J u l 30 2 3 : 2 9 : 0 9 s t a t i o n l 7 s e n d m a i l [ 8 2 2 9 ] : m6TJJT8GH008228:
to=<root@stationl7.example.com>, ctladdr=<andrey@stationl7.exam­ У с п е ш н а я попытка обладателя с е р т и ф и к а т а исполь­
p l e . com> ( 5 0 7 / 5 0 8 ) , d e l a y = 0 0 : 0 0 : 0 0 , x d e l a y = 0 0 : 0 0 : 0 0 , m a i l e r = l o c a l ,
pri=30623, dsn=2.0.0, stat=Sent зовать наш почтовый сервер в качестве релея в ж у р н а ­
ле /var/log/messages будет выглядеть примерно следую­
Как видно, напротив verify мы видим значение «NO». щим образом:
Попробуем «закрутить гайки».
J u l 31 0 2 : 1 0 : 3 1 s t a t i o n l 7 s e n d m a i l [ 9 7 0 0 ] : STARTTLS=server,
Сгенерируем сертификат для пользователя. Раз мы на­
r e l a y = s t a t i o n 5 1 . e x a m p l e . c o m [ 1 9 2 . 1 6 8 . 0 . 5 1 ] , version=TLSvl/SSLv3,
чали работать с OpenSSL, для упрощения задачи предполо­ v e r i f y = O K , cipher^AES128-SHA, b i t s = 1 2 8 / 1 2 8
ж и м , что наш пользователь также воспользуется этой ути­ J u l 31 0 2 : 1 0 : 3 1 s t a t i o n l 7 s e n d m a i l [ 9 7 0 0 ] : m6UMAVTH009700:
литой. Естественно, какими средствами будет сгенериро­ from=<andrey@stationl7.example.com>, size=112S, c l a s s = 0 , n r c p t s = l ,
msgid=<57A621A4BECB411F9ACDE6AlD9CE3E62@AndreyPC>, proto=ESMTP,
ван запрос в центр сертификации, нам не важно. В «бое­ daemon=MIA, r e l a y = s t a t i o n 5 1 . e x a m p l e . c o m [ 1 9 2 . 1 6 8 . 0 . 5 1 ]
вой» среде скорее всего пользователь воспользуется ка­ J u l 31 0 2 : 1 0 : 3 1 s t a t i o n l 7 s e n d m a i l [ 9 7 0 2 ] : SIARTTLS=client,
ким-либо веб-интерфейсом. r e l a y = s t a t i o n l 8 . e x a m p l e . c o m . , version=TLSvl/SSLv3, v e r i f y = O K ,
cipher=DHE-RSA-AES256-SHA, b i t s = 2 5 6 / 2 5 6
Итак, от лица пользователя: J u l 31 0 2 : 1 0 : 3 1 s t a t i o n l 7 s e n d m a i l [ 9 7 0 2 ] : m6UMAVTH009700:
to=<root@stationl8.example.com>, ctladdr=<andrey@stationl7.exam­
# o p e n s s l g e n r s a 1024 > a n d r e y . k e y p l e . com> ( 5 0 7 / 5 0 8 ) , d e l a y = 0 0 : 0 0 : 0 0 , x d e l a y = 0 0 : 0 0 : 0 0 , m a i l e r = e s m t p ,
# o p e n s s l r e q -new - k e y a n d r e y . k e y - o u t andrey.csr pri=121128, relay=stationl8.example.com. [192.168.0.18],
d s n = 2 . 0 . 0 , s t a t = S e n t (m6UMAVR4009739 Message a c c e p t e d f o r d e l i v ­
И от лица администратора СА: ery)

# o p e n s s l са - i n a n d r e y . c s r - o u t andrey.crt Если вы увидели подобные сообщения в журнале, зна­


чит наша цель достигнута. Убедиться в том, что соответс­
Д а л е е необходимо «упаковать» к л ю ч и с е р т и ф и к а т твующий сеанс з а щ и щ е н , вы можете при помощи утили­
в формат PKCS#12: ты wireshark.
Таким о б р а з о м , как видите, при всей относительной
# c a t andrey.key a n d r e y . c r t > andrey.pem сложности настройки МТА Sendmail, механизм STARTTLS
# openssl pkcsl2 - e x p o r t - i n andrey.pem J
- o u t t e s t u s e r c e r t . p l 2 -name " A n d r e y ' s P e r s o n a l cert" включается достаточно просто.
Удачи. §>
Какова процедура изъятия компью­ действий без адвоката, требовать его
теров на экспертизу? {продолжение, присутствия при проведении обыска,
начало см. в №7 за 2008 г.) а в случае отказа указывать в протоко­
По з а к о н у все д о л ж н о п р о и с х о д и т ь ле на не предъявление вам постанов­
следующим образом. ления о возбуждении уголовного дела
Если проверка проводится в рам­ и отсутствие на следственных действи­
ках у г о л о в н о - п р о ц е с с у а л ь н о г о з а к о ­ ях адвоката. Если о возбуждении уго­
нодательства, возможны два вариан­ ловного дела было известно, то пред­
та: производство осмотра (может осу­ полагается, что у руководства фирмы
ществляться до возбуждения уголов­ было время для подготовки и консуль­
ного дела) и проведение обыска (может тации со специалистом.
происходить только после того, как уго­ При осуществлении проверки ор­
ловное дело возбуждено). ганами милиции, проверка произво­
Рубрику ведет юрист
В первом случае в компанию при­ дится в соответствии с законом «О м и ­ Юлия Штокало
ходят проверяющие на основании пос­ лиции» и Приказом МВД РФ от 2 ав­
тановления о производстве осмотра, густа 2005 г. N 636, которым утверж­ нии) У П К РФ; о возбуждении дела об
после чего начинается проверка ком­ дена Инструкция о порядке проведе­ административном правонарушении
пьютеров. При п р о в е д е н и и о с м о т р а ния сотрудниками милиции проверок и рассмотрении материалов в рамках
должен вестись протокол, в который и ревизий финансовой, хозяйствен­ производства по делам об админист­
записываются все действия, которые ной, п р е д п р и н и м а т е л ь с к о й и т о р г о ­ ративных правонарушениях; о переда­
производились при осмотре, в случае вой деятельности. Согласно п. 4 Инс­ че материалов по подведомственнос­
изъятия описывается изымаемое обо­ трукции, при наличии данных о влеку­ ти, в том числе для решения вопроса
рудование. Изымаемое оборудование щем уголовную ответственность нару­ о рассмотрении материалов в рамках
должно быть опечатано, это делается, ш е н и и з а к о н о д а т е л ь с т в а , регулиру­ производства по делам об админист­
чтобы исключить доступ внутрь корпу­ ющего финансовую, хозяйственную, ративных правонарушениях; о завер­
са и подключение к нему питания. предпринимательскую и торговую де­ шении проверки в связи с неустанов­
Процесс о п е ч а т ы в а н и я ф и к с и р у ­ ятельность, в целях установления ос­ лением нарушения законодательс­
ется в протоколе. Осмотр и изъятие нований для в о з б у ж д е н и я уголовно­ тва РФ.
должны производиться с участием го дела, начальником органа внутрен­ При проведении таких мероприя­
двух понятых. них дел (органа милиции) или его за­ тий следует обратить внимание, что­
Что нужно сделать: ознакомиться местителем выносится мотивирован­ бы Постановление о проведении про­
с д о к у м е н т а м и проверяющих (чтобы ное постановление о назначении про­ верки было подписано начальником
знать, кто к вам пришел с проверкой), верки, ревизии по установленной фор­ районного О В Д или его заместителем,
узнать основания проводимой провер­ ме. В постановлении указывается сос­ т.е. в постановлении должны быть ука­
ки, в случае изъятия техники прове­ тав сотрудников милиции, проводящих заны: должность, Ф И О и стоять под­
рить, чтобы в протоколе были указа­ проверку. Сотрудники милиции т а к ж е пись. Если постановление не подпи­
ны индивидуальные п р и з н а к и и осо­ вправе производить изъятие, которое сано, либо подписано другим л и ц о м ,
бенности изымаемой техники (требо­ оформляется в присутствии двух по­ вы вправе отказать в проведении про­
вание основано на п. 3 ст. 177 У П К РФ), нятых протоколом и описью. верки, советую т а к ж е написать ж а л о ­
в случае если вы сомневаетесь в под­ По результатам проведения про­ бу в п р о к у р а т у р у , у п р а в л е н и е собс­
линности лицензии на установленное верки сотрудниками милиции состав­ твенной безопасности и вышестоя­
п р о г р а м м н о г о обеспечения, п р е ж д е ляется акт проверки финансовой, хо­ щий орган.
чем давать показания посоветуйтесь зяйственной, предпринимательской, В постановлении должны быть ука­
с а д в о к а т о м . Если с о т р у д н и к и ф и р ­ торговой деятельности. В акте отража­ заны сотрудники, которые могут учас­
мы используют свою технику, то необ­ ются все выявленные нарушения зако­ твовать в проводимых мероприятиях,
ходимо запастись документами, под­ нодательства и иные имеющие значе­ и вы можете проверить их соответс­
т в е р ж д а ю щ и м и право собственности. ние обстоятельства. А к т составляет­ твие; при проведении изъятия компью­
Постановление дается на осмотр кон­ ся в трех экземплярах, один из кото­ терной техники необходимо проверить
кретной фирмы и ее офиса, при про­ рых передается организации, в кото­ наличие протокола изъятия и описи,
ведении осмотра обыск сотрудников, рой проводилась проверка. в о п и с и д о л ж н ы быть подробно у к а ­
з а к р ы т ы х п о м е щ е н и й не д о п у с к а е т ­ По результатам п р о в е р к и п р и н и ­ заны изымаемые предметы.
ся, на это необходимо д о п о л н и т е л ь ­ мается одно из решений: о составле­ К о п и и всех с о с т а в л я е м ы х д о к у ­
ное постановление. нии рапорта об обнаружении призна­ ментов должны быть предоставлены
Второй случай - производится ков преступления; о направлении ма­ организации, в которой проводилась
обыск. При этом уже должно быть воз­ териалов проверки для рассмотрения проверка. # )
буждено уголовное дело. Если к вам в порядке, предусмотренном статья­
пришли с обыском, а информация ми 144 (сообщение о преступлении) и П р и с ы л а й т е В а ш и в о п р о с ы по а д р е с у
об уголовном деле у вас отсутствует, 145 (принятие решения по результатам sekretar@samag.ru или оставляйте на ф о ­
с о в е т у ю не п р е д п р и н и м а т ь н и к а к и х рассмотрения заявления о преступле- руме ж у р н а л а www.samag.ru/forum.
Алексеи Саеико
Java-приложения гораздо удобнее собирать в один jar-файл, нежели хранить сложную
структуру нескольких тысяч файлов. Однако плюсы использования jar-файлов этим удобством
н е ограничиваются, иногда может возникнуть необходимость передавать параметры
и з манифеста.

м: ногие Java-приложения постав­


ляются в виде одного или не­
с к о л ь к и х j a r - ф а й л о в (Java
ARchive), которые по сути являются
обыкновенными zip-архивами. В них
• сокращать объем приложения;
• упростить процесс создания биб­
лиотеки;
• осуществлять контроль версий.
работчика. Именно поэтому в данной
статье будут описаны несколько спо­
собов применения JAR API для вызо­
ва произвольных методов из jar-фай­
ла, записи и чтения атрибутов мани­
обычно, кроме байт-кода программы, П о л н о ц е н н о работать с т е х н о л о ­ феста. (Манифест - (устар.) торжес­
размещаются дополнительные ресур­ гией JAR можно как с помощью у т и ­ твенное письменное обращение вер­
сы и конфигурационные файлы. литы jar, входящей в состав JDK (Java ховной власти к народу в связи с важ­
Такой подход позволяет: Development Kit), так и с использовани­ ным политическим событием, торжест­
• подписывать содержимое jar-фай­ ем классов JAR API. венной датой и т. д. (Толковый словарь
ла, повышая т а к и м о б р а з о м уро­ Первый способ распространен пов­ русского языка).
вень безопасности; семестно, в то время как второй, за­
• сокращать время загрузки аппле- ч а с т у ю н е з а с л у ж е н н о , обделен вни­ Утилита jar
тов за счет отсутствия необходи­ манием и, как показывает п р а к т и к а , Прежде всего следует уделить неко­
мости о т к р ы т и я нового с о е д и н е ­ напрасно - во многих случаях это мо­ торое внимание утилите jar (http://java.
ния для к а ж д о г о файла; жет существенно облегчить жизнь раз­ sun.eom/javase/6/docs/technotes/tools/
solaris/jar.html). Э т о консольное п р и ­ ТАБЛИЦА 1 . АТРИБУТЫ ГЛАВНОЙ ГРУППЫ МАНИФЕСТА
ложение, запускаемое с набором па­ АТРИБУТ ОПИСАНИЕ
раметров. Manifest-Version Номер версии файла-манифеста. Определяется спецификацией как регулярное выражение
Примеры вызова утилиты: следующего вида: цифра+{.цифра+}*
Created-By Версия и поставщик платформы Java, с помощью которой был создан манифест.
// СОЗДАНИЕ НОВОГО JAR-ФАЙЛА Автоматически генерируется утилитой jar
JAR CFFILE.JARСПИСОК_ФАЙЛОВ
Signature-Version Версия подписи jar-файла. Определяется так же, как и Manifest-Version
// ПРОСМОТР СОДЕРЖИМОГО АРХИВА Class-Path Относительные указатели ресурсов (URL) для всех используемых дополнительных классов
JAR TF FILE, JAR и библиотек
// ИЗВЛЕЧЕНИЕ СОДЕРЖИМОГО ИЗ JAR-ФАЙЛА Main-Class Относительный путь к главному классу приложения, который должен содержать точку входа -
JAR XF FILE, JAR метод main(String[] args). Значение атрибута не должно содержать расширение .class. Атрибут
определяется для автономных настольных приложений, которые собраны в выполняемые jar-
файлы, которые могут быть запущены виртуальной машиной Java напрямую командой:
Java -jar file.jar
MANIFEST.MF
JAR File Specification (http://java.sun. ТАБЛИЦА 2. НАИБОЛЕЕ ИСПОЛЬЗУЕМЫЕ КЛАССЫ В JAR API
com/javase/6/docs/technotes/guides/jar/ ПОЛНОЕ НАЗВАНИЕ КЛАССА ОПИСАНИЕ
jar.html), позволяет расположить в ар­ java.util.jar.Attribut.es Таблица соответствий между именем атрибута и его значением
хиве file.jar только один манифест с до­
java.utii.jar.Attributes.Name Перечисление в виде констант всех имен атрибутов главной группы
полнительной служебной информаци­
java.util.jar.JarEntry Класс описывает элемент jar-файла, например, файл с расширением .class
ей META-INF/MANIFEST.MF, представ­
ляющий собой текстовый файл в к о ­ java.util.jar. JarFile Наследник класса java.util.zip.ZipFile с поддержкой манифеста. Используется
для чтения содержимого jar-файла
дировке UTF-8. Если он не был задан
java.util.jar.JarlnputStream Наследник класса Java.util.zip.ZiplnputStream с поддержкой манифеста. Используется
при создании jar-файла, используется для чтения содержимого jar-файла из любого входящего потока
манифест, который по умолчанию с о ­ Наследник класса java.util.zip.ZipOutputStream с поддержкой записи манифеста.
java.util.jar. JarOutputStream
держит информацию о своей версии Используется для записи содержимого jar-файла в любой исходящий поток.
и JDK, в которой был создан конкрет­ java.util.jar.Manifest Класс используется для работы с манифестом и его атрибутами
ный jar-файл: java.net.JarURLConnection Соединение с jar-файлом или его элементом с помощью указателя ресурсов вида:
аг:<иг!_к_]аг_файлу >!/{элемент_)аг_файла), например: jar:http://www.site.org/folder/
file.jarl/org/site/Clazz.class
MANIFEST-VERSION: 1.0
java.net. URLCIassLoader Используется для загрузки классов и ресурсов из classpath (может определяться,
CREATED-BY: 1.6.0 (SUN MICROSYSTEMS INC.) к примеру, атрибутом манифеста «Class-Path»)
Условно с о д е р ж и м о е м о ж н о раз­
делить на главную группу (содержит определенные стан­ PUBLIC STATIC VOID MAIN(STRING[] ARGS) (
дартами атрибуты, некоторые из них приведены в табли­ SYSTEM.OUT.PRINTLN("MAIN(): ЗАПУЩЕН"),
це 1) и индивидуальную группу (состав которой определя­ }
ется п р о и з в о л ь н о ) .
Имена произвольных атрибутов могут содержать только MANIFEST.MF архива имеет следующий вид:
цифры, строчные и заглавные буквы латинского алфавита
и з н а к « _ » , а по длине существует ограничение - 70 симво­ MANIFEST-VERSION: 1.0
CREATED-BY: 1.6.0_03-B05 (SUN MICROSYSTEMS INC.)
лов. К значению атрибута никаких требований, кроме эле­ MAIN-CLASS: PKG.MAIN
ментарной л о г и к и , не предъявляется.
Более подробно структуру и состав JAR и META-INF/ Вначале необходимо получить URL по имени файла:
MANIFEST.MF в рамках этого текста мы затрагивать не бу­
дем по той простой причине, что любой ж е л а ю щ и й может URLFILEURL= NEW FILE ("FILE. JAR") . TOURL();
URL URL = NEW URL("JAR", "",FILEURL+ "!/");
прочесть более подробно спецификацию JAR.
Сам вызов осуществляется следующим образом:
Использование JAR API
В последней на т е к у щ и й момент Java 1.6 к JAR API отно­ PUBLIC STATICFINALSTRING MAIN_METHOD = "MAIN";
PUBLIC VOID RUNMAINMETHOD(STRING CLASSNAME) THROWS J
сятся классы пакета java.util.jar, а т а к ж е классы java.net. EXCEPTION {
JarURLConnection и Java.net.URLCIassLoader. Ограничимся STRING!] ARGS = NEW STRING[1];
CLASS CLAZZ;
рассмотрением наиболее используемых классов (см. таб­ METHOD MAINMETHOD;
лицу 2). // СОЗДАДИМ CLASSLOADER
URLCIASSLOADER URLCLASSLOADER =
NEW URLCIASSLOADER(NEW URL[] { URL });
Запуск методов класса // ЗАГРУЗКА КЛАССА КЛАССЛОАДЕРОМ
CLAZZ = URLCLASSLOADER.LOADCLASS(CLASSNAME);
Прежде всего рассмотрим пример, который будет запус­ // ПОЛУЧЕНИЕ MAIN-МЕТОДА И ПРОВЕРКА, ЯВЛЯЕТСЯ ЛИ ОН
кать метод public static void main(String[] args) из произволь­ // ТОЧКОЙ ВХОДА
MAINMETHOD = CLAZZ.GETMETHOD(MAIN_METHOD, J
ного класса в jar-файле. Предположим, что у нас есть некий ARGS. GETCLASS ()) ;
файл file.jar, который содержит класс pkg.Main: MAINMETHOD.SETACCESSIBLE(TRUE);
INT MODS = MAINMETHOD.GETMODIFIERS();
IF (MAINMETHOD.GETRETURNTYPE() != VOID.CLASS
PACKAGE PKG; || IMODIFIER.ISSTATIC(MODS) || J
!MODIFIER.ISPUBLIC(MODS)) (
PUBLIC CLASS MAIN { THROW NEW NOSUCHMETHODEXCEPTION(MAIN_METHOD);
} else { В результате файл манифеста будет содержать:
/ / Запуск метода с объектом, у которого
/ / надо выполнить метод, и параметрами.
// n u l l показывает, что метод статический M a n i f e s t - V e r s i o n : 1.0
mainMethod.invoke(null, a r g s ) ; Created-By: J a r A t t r i b u t e W r i t e r
A t t r i b u t e _ l : Value_l
)
}
A t t r i b u t e 2: Value 2

Теперь попробуем задействовать JAR API для решения Чтение атрибутов из манифеста
несколько усложненной задачи - теперь необходимо запус­ Получившийся файл можно использовать в качестве мани­
тить метод main() главного класса jar-файла. Для этого нам феста для jar-архива - это довольно просто, поэтому пред­
надо лишь вызвать у ж е имеющийся метод runMainMethod() положим, что этот манифест уже лежит в jar-файле и тре­
с и м е н е м т р е б у е м о г о к л а с с а , которое м о ж н о получить буется считать из него все атрибуты или только некоторые.
из манифеста по имени атрибута Main-Class: Эту работу будет выполнять класс JarAttributeReader:

p r i v a t e S t r i n g getMainClassName() throws IOException { import Java.io.IOException;


JarURLConnection connection = J import J a v a . u t i l . j a r . A t t r i b u t e s ;
(JarURLConnection) u r l . o p e n C o n n e c t i o n ( ) ; import J a v a . u t i l . j a r . J a r F i l e ;
Attributes attributes = J
connection.getMainAttributes(); p u b l i c class JarAttributeReader {
r e t u r n attributes.getValue(Attributes.Name.MAIN_CLASS); p r i v a t e s t a t i c final S t r i n g OUTPUTJTEMPLATE = "%s=%s";
}
/ / Метод считывает все атрибуты из jar-файла filename
A t t r i b u t e s g e t A l l A t t r i b u t e s ( S t r i n g filename) throws J
После вызова метода runMainMethodQ в консоли поя­ IOException (
JarFile j a r F i l e ;
вится надпись: Attributes attributes;

main(): запущен j a r F i l e = new JarFile(filename);


attributes = jarFile.getManifest(). J
getMainAttributes();
return attributes;
Генерация манифеста с атрибутами }
После того как мы успешно запустили метод main() глав­
// Метод печатает в консоли атрибуты со значениями
ного к л а с с а jar-файла, попробуем поработать с атрибу­ v o i d p r i n t A l l A t t r i b u t e s W i t h V a l u e s ( S t r i n g filename) {
тами манифеста. Начнем с создания манифеста, а затем try {
Attributes attributes = J
попробуем прочитать записанные атрибуты. Итак, класс getAllAttributes(filename);
JarAttributeWriter будет генерировать все атрибуты: f o r (Object о : a t t r i b u t e s . k e y S e t ( ) ) (
System.out.println J
(String.format J
import Java.io.ByteArraylnputStream; (OUTPUTJTEMPLATE, J
import java.io.FileOutputStream; o, a t t r i b u t e s . g e t V a l u e J
import Java.io.IOException; (o.toStringO))) ;
import Java.io.InputStream; }
import java.io.OutputStream; } catch (IOException e) {
import Java.util.jar.Manifest; e.printStackTrace();
}
p u b l i c class J a r A t t r i b u t e W r i t e r ( }
p r i v a t e s t a t i c final S t r i n g LINEJIEMPLATE = "%s: %s\n";
)
// Метод генерирует текстовый файл - манифест с именем
// filename
p u b l i c v o i d generateManifest(String filename) ( В результате в консоли появится запись с л е д у ю щ е ­
S t r i n g B u f f e r buf = new S t r i n g B u f f e r ( ) ;
buf.append(getLine("Manifest-Version", "1.0")); го вида:
buf.append(getLine("Created-By", J
t h i s . g e t C l a s s ( ) .getName())) ; Manifest-Version=l.О
buf.append(getLine("Attribute_l", "Value_l")); Created-By=JarAttributeWriter
buf.append(getLine("Attribute_2", "Value_2")); Attribute_l-Value_l
try (
InputStream inputStream = J A t t r i b u t e 2=Value 2
new ByteArraylnputStream J
(buf . t o S t r i n g O . g e t B y t e s ("UTF-
8»)); Заключение
Manifest manifest - J Следует отметить, что JAR API предоставляют довольно
new Manifest(inputStream);
OutputStream outputStream = J мощные средства для работы с JAR вообще и MANIFEST.MF,
new FileOutputStream(filename); в частности, которые отнюдь не ограничиваются приве­
manifest.write(outputStream);
} catch (IOException e) { денными выше примерами. Ситуаций, когда правильное
e.printStackTrace() ; использования манифеста может существенно облегчить
процесс отладки и/или распространения приложений, до­
вольно много. Например, добавление версии приложения
// Метод возвращает одну строку манифеста. Метод format() -
// аналог printf в С - осуществляет форматированный вывод в качестве атрибута MANIFEST.MF позволит точно опре­
private String getLine(String attributeName, J делить номер сборки приложения. Иными словами, в об­
String attributeValue) { щем случае, в манифест можно записать различные па­
return String.format(LINEJIEMPLATE, attributeName, J
attributeValue); раметры для последующего их использования при запус­
}
}
ке приложения. # .

70 сис ? г h > * ! администратор


bugtraq

Отказ в обслуживании Уязвимость при обработке


в Sun Java System Web Proxy Server IPSec-политик в Microsoft Windows
Программа: Sun Java System Web Proxy Server 4.x. Программа: Microsoft Windows 2008; Microsoft Windows
Опасность: Средняя. Vista.
Описание: У я з в и м о с т ь с у щ е с т в у е т и з - з а н е и з в е с т н о й Опасность: Низкая.
ошибки в FTP-подсистеме. Удаленный пользователь может Описание: Уязвимость существует из-за о ш и б к и в меха­
запретить прокси-серверу принимать новые подключения. низме импорта IPsec-политик из доменов под управлением
URL производителя: www.sun.com/software/products/web_ Windows Server 2003 в домены под управлением Windows
proxy/home_web_proxy.xml. Server 2008. В результате о ш и б к и с и с т е м а игнорирует
Решение: Установите исправление с сайта производителя. IPsec-политики и данные, которые должны быть зашифро­
ванными, передаются в открытом виде.
URL производителя: www.microsoft.com.
Несколько уязвимостей в Apache Tomcat Решение: Установите исправление с сайта производителя.
Программа: Apache Tomcat 4.1.37 и более ранние вер­
сии; Apache Tomcat 5.5.26 и более ранние версии; Apache
Tomcat 6.0.16 и более ранние версии. Раскрытие данных
Опасность: Средняя. в VMware VirtualCenter
Описание: 1. Уязвимость существует из-за недостаточ­ Программа: VMware VirtualCenter версии 2.0.2 до обновле-1
ной о б р а б о т к и входных д а н н ы х в ф у н к ц и и HttpServlet ния Update 5 и 2.5 до обновления Update 2, возможно, дру­
Response.sendError(), которые возвращаются в пользовате­ гие версии
лю в HTTP-заголовке Reason-Phrase. Удаленный пользова­ Опасность: Низкая.
тель может с помощью специально сформированного за­ Описание: Уязвимость существует из-за того, что служба
проса выполнить произвольный код сценария в браузере VirtualCenter backend некорректно проверяет привилегии |
жертвы в контексте безопасности уязвимого сайта. при выполнении некоторых действий. Удаленный п о л ь з о - |
2. Уязвимость существует из-за того, что приложение ватель может получить доступ к некоторым данным (напри-|
нормализует целевой путь перед удалением строки запро-f мер, именам системных учетных записей).
са при использовании RequestDispatcher. Удаленный поль­ URL производителя: www.vmware.com/products/vi/vc.
зователь может получить возможность произвести обход Решение: Установите исправление с сайта производителя.
каталога.
URL производителя: jakarta.apache.org/tomcat.
Решение: Установите исправление для версий 4.x, 5.x из Отказ в обслуживании в Sun Solaris
SVN-репозитория или последнюю версию 6.0.18. Программа: Sun Solaris 10.
Опасность: Низкая.
Описание: Уязвимость существует из-за неизвестной
Целочисленное переполнение о ш и б к и , относящейся к системному вызову sendfilev(). Уяз­
в ядре Linux вимость может быть эксплуатирована локальным пользо­
Программа: Linux kernel версии 2.6.17-гс1 и выше. вателем с помощью специально сформированного прило­
Опасность: Низкая. жения, или удаленным пользователем с помощью специ­
_. Описание: Уязвимость существует из-за целочисленного ально сформированной веб-страницы, которая обслужива­
переполнения в функции dccp_setsockopt_change() в фай­ ется веб-сервером Apache 2.2.x. Для успешной эксплуата­
ле net/dccp/proto.c. Локальный пользователь может вызвать ции уязвимости с помощью веб-страницы, Apache должен
I панику ядра системы. быть собран без некоторых опций.
URL производителя: www.kernel.org. URL производителя: www.sun.com.
Решение: Установите исправление из GIT-репозитория Решение: Установите исправление с сайта производителя
производителя.

Отказ в обслуживании в IPsec-Tools


Спуфинг атака в PowerDNS в racoon
Программа: PowerDNS версии до 2.9.21.1. Программа: IPsec-Tools версии до 0.7.1.
Опасность: Низкая. Опасность: Низкая.
Описание: Уязвимость существует из-за того, что сервер Описание: Уязвимость существует из-за утечки памяти
сбрасывает DNS-запросы к недействительным DNS-запи- в демоне racoon при обработке некорректных предложе­
сям в пределах действительного домена. Злоумышленник ний. Удаленный пользователь может вызвать отказ в об­
может воспользоваться этим для проведения спуфинг-ата- служивании приложения.
ки на другой сервер. URL производителя: ipsec-tools.sourceforge.net.
URL производителя: www.powerdns.com. Решение: Установите последнюю версию 0.7.1 с сайта про­
Решение: Установите последнюю версию 2.9.21.1 с сайта изводителя.
производителя. Составил Александр Антипов

"Ч \ I

, т

v 1
В
Как программисты-разработчики, так и системные администраторы не понаслышке знают,
что такое рутина. Учитывая, что рутинные операции должен выполнять всё-таки компьютер,
посмотрим, чем нам поможет язык YAML в таком деле, как обработка конфигурационных
файлов для разрабатываемого приложения.

Ч
тобы п р и л о ж е н и е было г и б к и м чего-нибудь небольшого. Согласитесь, «параметр-разделитель-значение»
и настраиваемым, оно снабжается было бы нелепо для скрипта в 50-100 (чаще всего в качестве разделителя
конфигурационным файлом (а то строк писать аналогичного или даже выступает любое количество пробелов
и несколькими). Очевидно, что формат большего размера «парсер» для разо­ и/или символов табуляции, но могут
этого файла должен соответствовать вой (в контексте работы скрипта) зада­ быть и другие, с к а ж е м , знак равенства
определённым соглашениям, то есть чи анализа конфигурации. или двоеточие; сокращённо будем на­
можно сказать, что он пишется на не­ Естественно, как только в процессе зывать этот формат «П-Р-3»):
котором языке разметки. И при выбо­ работы возникает подобная проблема,
ре такого языка нужно учитывать осо­ то в голову сразу приходит бессмер­ node i p 10.0.0.51
node_user arc
бую роль конфигов - ведь они созда­ тная ф р а з а : «Всё у к р а д е н о до нас». node_password xidughei
ются людьми для программ. С одной В том смысле, что если разработчик email l i s t arc,hunter,engineer
sms l i s t hunterl2@sms .mob. r u
стороны, такой файл должен легко чи­ сталкивается с некоторой типовой за­
таться и редактироваться человеком дачей, то с высокой долей вероятнос­ Его достоинства: простота написа­
(не всегда и м е ю щ и м диплом с отличи­ ти можно считать, что данная задача ния и восприятия человеком и прос­
ем по специальности «Программист»), уже кем-то решена. Поэтому и в части той р а з б о р ( ф у н к ц и е й split по регу­
а с другой - легко «разбираться» про­ а н а л и з а к о н ф и г у р а ц и о н н ы х файлов лярному выражению, которая имеет­
граммой. Причём второе требование проблема обычно сводится к поиску ся практически во всех современных
связано не столько с ресурсоёмкостью наиболее удобного инструмента сре­ скриптовых языках). Но есть и недо­
задачи «разбора», сколько с простотой ди уже существующих. статки: «линейность», т.е. невозмож­
разработки соответствующей подпро­ ность создавать иерархию параметров,
граммы. Особенно актуально это ста­ Краткий обзор и «нетипизированность», т.е. сложнос­
новится для скриптовых языков (Perl, «типичных» форматов ти с передачей параметров, тип кото­
Python, Ruby и т. п.), основное назна­ Наиболее простым форматом конфи­ рых не укладывается в понятие «про­
чение которых - быстрая разработка стого» (строка, число).
г у р а ц и о н н о г о файла м о ж н о считать

72 систЕмнымадминистратс
Для борьбы с первым недостатком
используются различные методы. На­ О примере ровать с п о м о щ ь ю FTP наличие некоторо­
пример, разделение файла на так на­ По ходу статьи часто приводится пример го файла на сервере (node_ip), и в случае
зываемые «секции», когда секция вво­ н е к о т о р о г о к о н ф и г у р а ц и о н н о г о ф а й л а . неудачи отправлять уведомления на элек­
дится специальным синтаксисом (ска­ Чтобы придать ему немного к о н к р е т и к и , бу­ тронную почту и в виде S M S пользовате­
жем, «[Server]»), и все нижеследующие дем считать, что принадлежит он скрипту, лям согласно заданным с п и с к а м .
п а р а м е т р ы вплоть до м а р к е р а дру­ задача которого - периодически контроли-
гой с е к ц и и р а с с м а т р и в а ю т с я как от­
носящиеся к ней (вы тоже вспомнили иерархия, а сами параметры задают­ заключить текстовый параметр в апос­
про win.ini?). Второй н е д о с т а т о к вы­ ся по схеме «П-Р-3»: трофы) и соответствующим образом
нуждает вводить дополнительные со­ такие ситуации обрабатывать.
глашения, и при разборе конфигура­ <Node> Теперь настало время перейти
ip 10.0.0.51
ции у ч и т ы в а т ь их (в п р и м е р е в ы ш е user arc собственно к теме этой статьи - языку
придётся особо о г о в о р и т ь , что с п и ­ password xidighei YAML, набирающему всё большую по­
</Node>
сок параметров, разделённых запя­ <Lists> пулярность и стремящемуся оставать­
тыми, является массивом, а при счи­ email arc,hunter,engineer ся максимально простым как для чело­
sms hunterl2@sms.mob.ru
тывании конфигурационного файла </Lists> века, так и для программы.
потребуется к а к м и н и м у м ещё один
вызов split). В различных вариантах подобный YAML - «ещё один»
Другой подход к описанию конфи­ подход можно найти и в конфигурации или ««совсем не»?
гурации - XML-подобный синтаксис, других продуктов. Читать и редактиро­ Разработанный Кларком Эвансом,
набирающий в последнее время всё вать - удобнее, насчёт удобства про­ язык YAML (в версии 1.0 эта аббреви­
большую популярность (сам не видел, граммного анализа не вполне уверен. атура «официально» расшифровыва­
но р а с с к а з ы в а ю т , что в M a c O S д а ­ Да и в любом случае это уже похоже лась как «Yet Another Markup Language",
ж е настройки операционной системы на «частное» решение. начиная с 1.1 р а з р а б о т ч и к и р е ш и л и ,
в этом формате задаются). Вышепри­ Поскольку при разработке с к р и п ­ что «YAML Ain't Markup Language») пер­
ведённая конфигурация на этом языке тов, как правило, хочется чего-то сов­ воначально претендовал на роль пол­
могла бы выглядеть как-то так: сем простого, то не последнее место ноценной замены XML, но затем акцент
по популярности занимает «програм­ сместился в сторону максимально гиб­
<node> мистский» подход: в качестве файла кого описания данных. Он позволяет
<ip>10.0.0.5K/ip>
<user>arc</user> к о н ф и г у р а ц и и используется п о д к л ю ­ наиболее полно отображать основные
<password>xidughei</password> чаемый скрипт на «рабочем» языке, типы данных, используемых современ­
</node>
< l i s t type='email'> сразу при своём выполнении с о з д а ­ ными языками программирования, со­
<recipient>arc</reoipient> ю щ и й н у ж н ы й набор « к о н ф и г у р а ц и ­ храняя при этом максимальную про­
<recipient>hunter</recipient>
<recipient>engineer</recipient> онных переменных» (пример на язы­ стоту как для человека, так и для про­
</list> ке Python): граммного анализа. Wikipedia называ­
< l i s t type='sms'> ет YAML форматом с е р и а л и з а ц и и д а н ­
<recipient>hunterl28sms.mob.ru J
</recipient> 1
node = { ' i p : ' 1 0 . 0 . 0 . 5 1 ' , ных (http://ru.wikipedia.org/wiki/YAML),
</list> 'user': 'arc', что очень точно отражает его основную
'password': ' x i d i g h e i ' }
Здесь налицо в о з м о ж н о с т ь стро­ email_list = ['arc', 'hunter', J задачу. И действительно, YAML можно
'engineer'] с успехом использовать для м а р ш а -
ить иерархию любой с л о ж н о с т и . Д о ­ sms_list = ['hunterl28sms.mob.ru']
полнительные атрибуты также за­ линга (т.е. для представления данных
метно р а с ш и р я ю т в о з м о ж н о с т и это­ в памяти в формат, пригодный для хра­
Типичный пример такого подхо­
го ф о р м а т а . С о б с т в е н н о , было бы нения и передачи, см. http://ru.wikipedia.
да - большинство конфигов *BSD или
странно ожидать меньшего от языка, org/wiki/Маршалинг) или постоянного
Linux, представляющих собой скрипты
п р е т е н д у ю щ е г о на роль универсаль­ хранения на диске тех или иных струк­
на языке командной оболочки (sh, ре­
ного средства обмена информацией. тур данных: с к а ж е м , в языке Python
же csh или bash). Очевидно, что здесь
Только вот анализ такого файла прос­ для с е р и а л и з а ц и и т р а д и ц и о н н о ис­
совершенно не стоят проблемы разбо­
тым никак не назовёшь (хотя для тех, пользуется модуль pickle, в Ruby час­
ра конфигурации, структурных ограни­
кто «на ты» с XPath, XSLT и п р о ч и ­ то используют модуль Marshal, анало­
чений или невозможности задать нуж­
ми мудрёными а б б р е в и а т у р а м и , мо­ гичные решения есть и в других язы­
ный тип. Но при этом от пользователя
жет быть, и ничего сложного). Да и ре­ ках. Но если возникает необходимость
уже начинают требоваться хотя бы ба­
дактировать вручную такого монстра организовать обмен данными между
зовые познания в используемом языке
не с л и ш к о м удобно - в глазах рябит с к р и п т а м и , н а п и с а н н ы м и на р а з л и ч ­
программирования и немалая аккурат­
от тегов разметки. ных языках программирования, то уже
ность и внимательность. Да и разра­
требуется какой-нибудь у н и в е р с а л ь ­
Нечто среднее между этими двумя ботчик скрипта, если он стремится соз­
ный язык сериализации. YAML может
подходами мы видим в конфигурации дать достаточно надёжную программу,
использоваться в этой роли почти без
Apache, ProFTPD и ряде других при­ должен в своём коде учитывать воз­
ограничений.
ложений - «тегами» вводится нужная можность опечатки (скажем, забыли
Тем не менее основная цель данной статьи - рассмот­ +: p l u s
: colon
реть YAML как язык конфигурации. В этом качестве он ус­
пешно используется в таких фреймворках, как Ruby on Rails,
Symfony, Spring. Что же он из себя представляет? После обработки, с к а ж е м , в Python получим такой сло­
Наш пример на YAML может выглядеть так: 1
варь: «{'+': 'plus ,':': 'colon'}».
К р о м е показанного выше синтаксиса, для массивов
node: и хэшей существует и «линейная» нотация, близкая по ви­
ip: 10.0.0.51
user: arc ду к языку Python (кстати, отступы в YAML тоже играют
password: x i d i g h e i не последнюю роль, так что любителям Python он явно при­
email_list: дётся по вкусу):
- arc
- hunter
# Массив ( к а к элемент хэша)
- engineer
Moderators: [ S i t e Admin, Dr.Moder, Polizei]
sms_list:
# Хэш ( к а к элемент хэша)
- hunterl2@sms.mob.ru
Location: {host: localhost, port: 5432}

Как видите, разработчикам YAML удалось сохранить Само собой, что с обычными строками и числами проб­
лёгкость и «читабельность» простейшего формата с раз­ лем тоже не возникает. Параметры, заданные «в виде чис­
делителями, сделав его иерархическим за счёт использо­ ла», включая восьмеричное и шестнадцатеричное пред­
вания вложенных параметров. Да и возможности работы ставление, а т а к ж е научную нотацию, автоматически пре­
с типами данных здесь заметно расширены. Например, то, образуются в числовой формат. Аналогично, автоматичес­
что вы видите выше, это самый настоящий хэш («словарь» кое преобразование предусмотрено для дат. С к а ж е м , стро­
в терминологии Python), один элемент которого представ­ ку '2008-01-05' модуль PyYAML языка Python преобразует
ляет собой вложенный хэш, а ещё два - массивы («спис­ в выражение «datetime.date(2008,1, 5)». В качестве приме­
ки» в Python). ра рассмотрим обработку такого файла:
Вот, например, как это «развернётся» в Ruby (вывод
слегка отформатирован, для удобства восприятия): D a t e l : 2008-01-01
Date2: 01.02.2008
Time: 12:45
$ irb StringDate: "2008-01-01"
irb(main):001:0> require 'yaml'
i r b (main) : 0 0 2 : 0 > conftg = Y A M L : : l o a d ( o p e n ( ' c o n f i g . y m l ' ) )
=> ( " n o d e " = > Если этот файл называть «config.yml», то работать с ним
("user"=>"arc",
"ip"=>"10.0.0.51", можно следующим образом:
"password"=>"xidighei"},
"sms_li st " = > [ " h u n t e r 1 2 @sms.mob.ru"],
$ python
"email_list"=>["arc", "hunter", "engineer"]}
irb(main):003:0> puts config['node']['ip'] » > import yaml, datetime
1

10.0.0.51 » > config = y a m l . l o a d (open ( ' c o n f i g . y m l ) )


» > config

Как видите, хэш на YAML задаётся парами «ключ: зна­ { ' D a t e l ' : datetime.date(2008, 1 , 1 ) , 'Date2': '01.02.2008',
' T i m e ' : 765, ' S t r i n g D a t e ' : ' 2 0 0 8 - 0 1 - 0 1 ' }
чение», причём ни для ключа, ни для значения практичес­
ки никаких ограничений не существует - они могут содер­ » > config [' D a t e l ' ] . y e a r
жать пробелы, быть многострочными, представлять собой 2008
вложенные элементы... Да-да, ключ хэша может быть слож­
ной структурой данных! В этом случае он начинается с сим­ Заметили, что как дата представляется только строка
вола «?». Правда, далеко не все языки программирования в формате ISO (YYYY-MM-DD)? Если говорить точнее, то спе­
допускают подобные вольности. В частности, пример, по­ цификация поддерживает два формата даты и времени:
казанный ниже, нормально отрабатывается в Ruby, а, на­ • Datel: 2008-08-03t11:00:00
пример, в Python уже вызывает ошибку. • Date2: 2008-08-03 11:00:00

$ cat hash.yml При н е о б х о д и м о с т и м о ж н о з а д а т ь и в р е м е н н у ю з о ­


? - 1
- 2 ну. О д н а к о р а з л и ч н ы е « е в р о п е й с к и е » ф о р м а т ы (вро­
- 3: t h r e e де «01.01.2008») о б р а б о т ч и к а м и Y A M L и м е н н о к а к д а ­
some d i g i t s ты не распознаются. Также обратите внимание на то, что
$ irb строка «Time: 12:45» была преобразована в «'Time': 765».
irb(main):001:0> require 'yaml'
i r b (main) : 0 0 2 : 0 > config = YAML:: l o a d (open ( ' s l o h a s h . y m l ' ) ) Дело в том, что YAML значения вида «XX:YY:ZZ» распоз­
=> { [ 1 , 2 , < 3 = > " t h r e e " } ] = > " s o m e d i g i t s " ) наёт как шестидесятеричные числа. Т.е. запись «12:45» бы­
irb(main):003:0> config.keys[0]
=> [ 1 , 2 , { 3 = > " t h r e e " ) ] ла рассчитана как 12*60 + 45. Ф а к т и ч е с к и , подразумевая
irb(main):004:0> config[c.keys[0]] под этой записью «12 часов 45 минут», мы получили число
=> "some d i g i t s "
минут с начала дня.
Ещё одна возможность - использовать в качестве клю­ Также следует учесть возможности YAML по явному и не­
ча хэша различные символы (если ваш язык программиро­ явному преобразованию типов данных: если вам нужно пе­
вания от этого не впадёт в ступор): редать значение параметра именно как строку, просто за-
ключите его в апострофы или кавычки (в кавычках будет
выполняться замена escape-последовательностей, строка
в апострофах используется без каких-либо преобразова­
ний). Есть и более строгий способ указать тип данных:

PortAsString: !!str80

Ещё одна возможность, особенно полезная для кон­


фигурационных файлов, - поддержка своего рода «указа­
телей», когда вы можете присвоить некоторому значению
имя (вводится символом «&»), а затем «разыменовывать»
его (символом «*») в других местах файла: Результат:

Email l i s t : » > p r i n t config [' simple'


- arc
- Sh hunter one two t h r e e
- engineer
SMS l i s t : » > p r i n t config [' continued' ]
- *h # заменится на hunter
one two t h r e e
Правда, использовать такую «переменную» как часть
» > p r i n t config [' p r e ' ]
другого параметра ( с к а ж е м , задав значение в виде
«*h@sms.mob.ru») не получится.
Наконец, строки. Как вы уже поняли, строкой будет всё,
что заключено в кавычки или апострофы, а т а к ж е любые
значения параметров, не о п о з н а н н ы е как относящиеся В а р и а н т «simple» о т л и ч а е т с я от « c o n t i n u e d » т е м ,
к другому типу данных. Но YAML предоставляет и ряд до­ что в последнем случае сохраняется з а в е р ш а ю щ и й пере­
полнительных возможностей, например, поддержку «мно­ нос строки. К р о м е того, промежуточные переводы стро­
гострочных» строк (обращайте внимание на символ пос­ ки после символа «>» будут заменяться на пробелы толь­
ле двоеточия): ко для групп строк, имеющих одинаковый отступ. Если же

Л >з
^ -2» data center
/Аля т е х к т о з н а е т и е н у информации

D a t a C e n t e r F o r u m - 2 0 0 8
,_ Организатор
Ф о р у м п о ц е н т р а м о б р а б о т к и данных
3 0 с е н т я б р я 2 0 0 8 f £ / * E

BU. « И н ф о П р о с т р а н с т в о »

О с н о в н ы е т е м ы Data Center F o r u m - 2 0 0 8 :
• системы управления данными и их хранения
• безопасность И М
• преимущества и недостатки удаленных ЦОД
Z) • непрерывность работы UOA
• типичные ошибки при построении [_ЮД
Ё • электронный документооборот в ШЭД
Z) • возможности использования ЦОД в различных отраслях экономики
О (розничная торговля, телекоммуникации, банковский и финансовый сектор, промышленность)
ч—

Ва К л ю ч е в ы е доклады Data Centre Forurn - 2008: Контактная


• Д ж и л Экхос генеральный директор и член правления информация:
си dcw2008@fort-«>ss.ru
и Ассоциации менеджеров информационных центров (AFCOM)
го • Леонард Экхос, основатель и ex-президент AFCOM +7 812 334-16-86
га

J

Зарегистрируйтесь сегодня - при ранней регистрации
предусмотрена гибкая система скидок!

Подробнее о спонсорских возможностях на


перед строкой стоит символ «I», то все переводы строки со­ $ c a t many.yml
храняются в неприкосновенности. — # Server
Также существует возможность хранить двоичные стро­ host: localhost
p o r t : 80
ки в формате Base64: — # Client
user: root
png: ! ! b i n a r y | homedir: / v a r / c l i e n t / h o m e
iVBORwOKGgoAAAANSUhEUgAAABUAAAAVCAIAAAAmdTLBAAAAAXNSROIA
rs4c6QAAAARnQUlBAACxjwv8YQCAAAAgY0hSTQAAeiYAAICEAAD6AAAA $ cat perl.pl
gOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAh5JREFUOE+lVEsoRFEYPoow #!/usr/local/bin/perl
xORRk5SFBQsLNRtrSlZKKXaSZEFeyQx5K60QiPFME6XIKyYZjUKTEqmR
ZiFlMyklHum614zju3PvXGfunZFyOp05c+75vv///seJoZSS/wzgI4+ use Y A M L : : T i n y ;
HK+q2051ucblztotFtB8Cp7NCe8ZrZ+rjkP7CSrD6evSfzSn+vW7t5XD
8i5cfLbofTlllEutF2LSdEPdMEj+YT723LAuD9zg5U/r+phrJEm3ukbe $config = Y A M L : : T i n y - > r e a d ( ' m a n y . y m l ' ) ;
utM+TKYUihBe4D7MBZgc2dMUlBapZ2ZCjsMyfixSKFzJesFHd2uJwCXij $server = $config->[0];
0YhVAZgW9aBjKeCFKCQ4gvg7FyIkAbR4HNblGUor81ghtlNJgcMRGS8s $client = $config->[l];
ljtXZNkR8eUluZgsfslBBHOWjPc3Ji6dheGrO7JhExMbWIb/lv0EVUb4
Jhl98RIqcIH6WOVibZF/CQzP2rHKH4qlfTzlOQp/uubZkFV6JX+tkGiiw p r i n t "Connect t o $ s e r v e r - > ( h o s t } : $ s e r v e r - > { p o r t } \ n " ;
qo z j b w g P E b U / O d f q h y / w f + x l z A 4 7UaD 0 4UqMPyKBePwS f 4RAFT 9Ugb 8h p r i n t " as $ c l i e n t - > ( u s e r } f r o m $ c l i e n t - > { h o m e d i r } \ n " ;
AdpF/Ne2+XJWDoFUP2z+wSuVAKvCsUb4mZJQ/t99nCkTFa4VGfEExp970+
F8CI9ftxl99kf89VyysNXClF9wyy+OuZZ/EhmN62CdcMMFOK7G4wg08CK $ ./perl.pl
aENQYWhsNTt99mv5TDtx2xMIzoUMjS0WJdXeX3EzGo7vxtKiekAjvj0h/ Connect t o l o c a l h o s t : 8 0
PA07qGuUBtYPSyFljKFate/PNwvDAKJ/owerAAAAAElFTkSuQmCC as r o o t f r o m / v a r / c l i e n t / h o m e

Теперь можно делать с этим изображением всё, что тре­ Здесь many.yml - файл с двумя д о к у м е н т а м и . Симво­
буется (в примере ниже я сохраняю его в файл): лом «#» начинаются комментарии.

1
» > с = y a m l . l o a d (open ( ' г . y m l ) )
» > open('r.png', 'w') .write(c['png'])
Трудности перевода
Есть у YAML и недостатки. Один из самых существенных -
Кроме рассмотренных выше, язык YAML умеет работать проблемы с кодировками, отличными от Unicode. Специфи­
и с логическими типами данных («true» и «yes» распознают­ кация предусматривает поддержку лишь UTF-8, UTF-16 LE
ся как «истина», «false» и «по» - как «ложь»), поддержива­ и UTF-16 BE. Как р е з у л ь т а т - р а б о т а с другими кодировками
ются специальные значения: «nu.ll» и «~» как «None», «.NaN» полностью зависит от используемого модуля. Так, модуль
в значении «пап» (не число); «.inf» и «-.inf» - соответственно PyYAML и во FreeBSD, где используется KOI8-R, и в Windows
«плюс бесконечность» и «минус бесконечность». ХР (СР1251) упорно не желал обрабатывать файлы, содер­
Ещё следует знать о последовательности « - - » - она яв­ ж а щ и е хотя бы один кириллический символ независимо
ляется разделителем документов в потоке. Не все модули, от его месторасположения. С модулем 'yaml' в Ruby нигде
работающие с YAML, способны считывать несколько до­ проблем не возникло. В Ubuntu, где по умолчанию исполь­
кументов из одного файла. С к а ж е м , в Python метод load() зуется UTF8, все протестированные модули показали без­
модуля PyYAML считывает только первый (для работы со упречную работу с кириллицей.
всеми документами следует использовать метод load_all(), Таким о б р а з о м , появился ещё один повод всюду,
в о з в р а щ а ю щ и й генератор, из которого можно последова­ где только можно, переходить на Unicode.
тельно, методом next(), выбрать все документы потока). Мо­
дуль 'yaml' в Ruby действует аналогично, за тем и с к л ю ч е ­ Заключение
нием, что если символами «—» разделять простые строки, Как видите, YAML - довольно простой в освоении язык се-
то модуль включает их в состав строки, считая всё одним риализации. Наличие готовых модулей для многих языков
д о к у м е н т о м . Модуль Perl - Y A M L T i n y - успешно работает программирования позволяет использовать его «прямо сей­
с несколькими документами: час», да и разработка собственного парсера вряд ли будет
слишком сложной задачей. Читается
YAML и языки программирования Python: конфигурация на YAML очень легко,
Для работы с YAML п р а к т и ч е с к и к а ж д ы й i m p o r t yaml
и в то же время вы можете не ограни-
язык программирования имеет готовый мо­ config = y a m l . l o a d ( o p e n I • c o n f i g . y m i ' ) ) чивать себя только строковыми значе­
host = config['host']
дуль. В о з м о ж н о с т и YAML как я з ы к а сериа- ниями параметров, используя и масси­
лизации достаточно о б ш и р н ы , но если го­ Ruby: вы, и хэши, и логические значения...
ворить о таком у з к о м п р и м е н е н и и , как кон­ Если вы з а и н т е р е с о в а л и с ь данным
require 'yaml'
ф и г у р а ц и о н н ы е ф а й л ы , то в б о л ь ш и н с т ­
1
config = Y A M L : : l o a d ( o p e n ' c o n f i g . y m i ) ) я з ы к о м - обязательно п р о с м о т р и т е
host = config['host'] его полную спецификацию. Наверня­
ве случаев и с п о л ь з о в а н и е YAML сводит­
ся к вызову одного метода (обычно load()). В последних строках п о к а з а н ы приме­ ка вы найдёте ещё много интересного,
Н и ж е рассмотрены типовые примеры ис­ ры использования одного из параметров, что осталось за рамками статьи. #>
п о л ь з о в а н и я для различных я з ы к о в п р о ­ в п р е д п о л о ж е н и и , что он з а д а н к а к эле­
г р а м м и р о в а н и я (предполагается, что по­ мент х э ш а (словаря). 1. О ф и ц и а л ь н ы й с а й т я з ы к а - http:/
ток содержит один документ). Разрабатываются т а к ж е модули/библи­ yaml.org.
Perl: отеки для других языков п р о г р а м м и р о в а ­ 2. Спецификация YAML 1.2-http://yaml.org.
use Y A M L : : T i n y ; ния: С, PHP, Java, JavaScript, Haskell. Ссыл­ spec/1.2.
$config = Y A M L : : T i n y - > J ки можно найти на главной странице сайта 3. YAML Cookbook-http://yaml4r.sourceforge.
1
read( 'config.yml ) ->[0] ;
$host = $ c o n f i g - > { ' h o s t ' } ; проекта: http://yaml.org. net/cookbook.
bugtraq

Раскрытие данных в ядре Linux Межсайтовый скриптинг в Apache


Программа: Linux kernel версии до 2.6.27-гс2. mod_proxy_ftp
Опасность: Низкая. Программа: Apache 2.0.63 и 2.2.9, возможно более ран­
Описание: Уязвимость существует из-за ошибки в функции ние версии.
snd_seq_oss_synth_make_info() в файле sound/core/seq/oss/ Опасность: Низкая.
seq_oss_synth.c. Локальный пользователь может передать Описание: Уязвимость существует из-за недостаточной
некорректный номер устройства уязвимой функции и полу­ обработки входных данных в URL, содержащих символ «*» j
чить доступ к потенциально важным данным. в модуле mod_proxy_ftp. Удаленный пользователь может
URL производителя: www.kernel.org. с помощью специально сформированного запроса выпол­
Решение: Установите последнюю версию 2.6.27-гс2 с сай­ нить произвольный код сценария в браузере жертвы в кон­
та производителя. тексте безопасности уязвимого сайта.
URL производителя: www.apache.org.
Решение: Установите исправление из SVN-репозитория
Повышение привилегий в Sun Solaris производителя.
Программа: Sun Solaris 8, 9,10.
Опасность: Низкая.
Описание: У я з в и м о с т ь с у щ е с т в у е т и з - з а н е и з в е с т н о й Раскрытие данных в OpenSSH
ошибки в модуле ядра namefs. Локальный пользователь | Программа: OpenSSH версии до 5.1.
может вызвать панику ядра системы или выполнить п р о - 1 Опасность: Низкая.
извольный код в контексте ядра. Описание: Уязвимость существует из-за того, что sshd-
URL производителя: www.sun.com. сервер устанавливает опцию S O _ R E U S E A D D R для про­
Решение: Установите исправление с сайта производителя. слушивания сокета, используемого п е р е н а п р а в л я ю щ и м
Х11-сервером. Л о к а л ь н ы й пользователь может п о д к л ю ­
читься к Х11 перенаправляющему порту и перехватить Х11-
Переполнение буфера в ядре Linux сессию. Д л я у с п е ш н о й эксплуатации у я з в и м о с т и опция
Программа: Linux kernel версии до 2.6.25.11. XHUseLocalhost должна быть отключена (по умолчанию
Опасность: Низкая. включена) и операционная система должна позволять пов­
Описание: Уязвимость существует из-за о ш и б к и при об­ торное подключение к порту без проверки идентификатора
работке размера LDT-буфера на х86_64-системах. Локаль­ пользователя или IP-адреса (например, HP/UX).
ный пользователь может вызвать отказ в обслуживании или URL производителя: openssh.com.
выполнить произвольный код на целевой системе с приви­ Решение: Установите последнюю версию 5.1 или 5.1 р1
легиями учетной записи root. с сайта производителя.
URL производителя: www.kernel.org.
Решение: Установите последнюю версию 2.6.25.11 с сай­
та производителя. Отказ в обслуживании в Asterisk
Программа: Asterisk Open Source 1.0.x (все версии); Asterisk
Open Source 1.2.x (все версии до 1.2.30); Asterisk Open
Выполнение произвольного кода Source 1.4.x (все версии до 1.4.21.2); Asterisk Business Edition
в СА ARCserve Backup for Laptops А.х.х (все версии); Asterisk Business Edition В.х.х.х (все вер­
and Desktops сии до В.2.5.4); Asterisk Business Edition С.х.х.х (все версии
Программа: CA ARCserve Backup for Laptops and Desktops j до С.1.10.3); AsteriskNOW pre-release (все версии); Asterisk
r11.5; CA ARCserve Backup for Laptops and Desktops r11.11 Appliance Developer Kit O.x.x (все версии); s800i (Asterisk
SP2; CA ARCserve Backup for Laptops and Desktops r11.1 j \ Appliance) 1.0.x (все версии до 1.2.0.1).
SP1; CA ARCserve Backup for Laptops and Desktops r11.1; CA Опасность: Низкая.
ARCserve Backup for Laptops and Desktops r11.0; CA Desktop f ; Описание: 1. Уязвимость существует из-за ошибки при об-
Management Suite 11.2; CA Desktop Management Suite 11.1; I работке IAX2 РОКЕ-запросов. Удаленный пользователь мо-
:

CA Protection Suites r2; CA Protection Suites 3.0; CA Protection \ ; жет отправить большое количество РОКЕ-запросов, не от­
Suites 3.1. правляя АСК-пакет в ответ на пакет PONG, и потребить все
Опасность: Средняя. 1АХ2-номера.
Описание: Уязвимость существует из-за о ш и б к и потери 2. Уязвимость существует из-за того, что протокол за­
значимости целочисленных в службе LGServer при обработ­ грузки прошивки не требует рукопожатие. Удаленный поль­
ке входящих сообщений. Удаленный пользователь может зователь может отправит произвольном серверу пакеты
отправить специально сформированное сообщение службе размером 1040 байта с помощью 40-байтного пакета с под­
LGServer на порт 1900/ТСР, вызвать переполнение буфера мененным адресом источника.
и выполнить произвольный код на целевой системе. URL производителя: www.asterisk.org.
URL производителя: w w w . c a . c o m / u s / p r o d u c t s / p r o d u c t . Решение: Установите последнюю версию с сайта произ­
aspx?id=263. водителя.
Решение: Установите исправление с сайта производителя. Составил Александр Антипов
Профессиональное использование консоли
с помощью GNU Screen

Дмитрий Василье

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

Возможности Screen ми, в которых может и не быть посто­ чае Screen м о ж е т быть у с т а н о в л е н
Одна из основных в о з м о ж н о с т е й янной необходимости, но которые мо­ стандартными средствами поддержки
Screen - создание и управление гут помочь в в ы п о л н е н и и а д м и н и с т ­ пакетов вашей операционной систе­
несколькими консольными окнами ративной работы в отдельные момен­ мы или скачан с официального сайта
или т е к с т о в ы м и приложениями в од- ты времени. http://www.gnu.org/software/screen.
ном-единственном окне терминала. На рис. 1 изображен Screen с т р е ­ Теперь мы можем запускать Screen,
В один момент времени на экране тер­ мя и м е н о в а н н ы м и о к н а м и ( W o r k , для чего просто набираем:
минала может находиться только од­ Configuration, Logs) и открытым в нем
но из окон (несколько их может быть текстовым редактором Vim с примером $ screen
только в случае, если они делят экран файла конфигурации Screen.
терминала на части). Screen позволя­ После запуска на экран может поя­
ет быстро переключаться между окна­ Первый запуск виться информация о версии и лицен­
ми, сохранять и позднее возвращать­ Screen может быть запущен с помощью зии (при рассмотрении конфигурации
ся к текстовой сессии и открывать дос­ консольной команды screen, но прежде мы рассмотрим, как можно отменить
туп к ней другим пользователям. Плюс всего проверим, установлен ли Screen вывод данного сообщения), и в этом
к этому Screen позволяет давать ок­ в вашей системе, с помощью следую­ случае необходимо нажать к л а в и ш у
нам з а г о л о в к и , о т с л е ж и в а т ь а к т и в ­ щей команды: «Пробел» или «Ввод», после чего мы
ность в к а ж д о м окне и обмениваться попадаем на первый взгляд в обыч­
содержимым окон с помощью копиро­ $ which screen ную текстовую оболочку.
вания и вставки. И вдобавок Screen /usr/bin/screen Надо заметить, что в командной
позволяет переназначать клавиши, уп­ строке сразу можно указать коман­
равлять настройкой эмуляции терми­ Если к о м а н д а вернула путь, к а к ду для запуска определенного прило­
нала и решать еще много небольших в примере выше, м о ж н о сразу начи­ жения, например, для запуска top на­
задач, связанных с текстовыми окна­ нать пользоваться, в противном слу­ до набрать:
$ SCREEN TOP ^ О Т К Л Ю Ч И Т Ь ВЫВОД Л И Ц Е Н З И О Н Н О Й И Н Ф О Р М А Ц И И П Р И С Т А Р Т Е S C R E E N
STARTUP MESSAGE OFF

Хорошо, теперь Screen запущен, но, на первый взгляд, C H D I R


нет никаких внешних изменений - мы можем работать в за­ S C R E E N - T W O R K
пущенной оболочке или использовать top. Хитрость в т о м , C H D I R / E T C
что во время работы Screen передает все нажатия к л а в и ш SCREEN - T CONFIGURATION

непосредственно приложению, но (по умолчанию) оставля­


CHDIR / V A R / L O G
ет для себя управляющие команды, начинающиеся с ком­ S C R E E N - T L O G S
бинации к л а в и ш <Ctrl> + <а>. П ВЫБРАТЬ NEPSI
SELECT О
Эту управляющую комбинацию клавиш можно поменять
через файлы конфигурации (которые мы рассмотрим поз­
же), но во всех примерах будет рассматриваться только кон­ SCREENRC [SCREEN! 1,1 ALL [ 1 ]

фигурация по умолчанию. Таким образом, все клавиатур­ * WORK 1 C O N F I G U R A T I O N 2 LOGS

ные команды Screen состоят из двух клавишных комбина­ РИСУНОК 1 . SCREEN С ТРЕМЯ ИМЕНОВАННЫМИ ОКНАМИ (WORK,
ций - управляющей <Ctrl> + <а> и непосредственно клави­ CONFIGURATION, LOGS) И ОТКРЫТЫМ В НЕМ ТЕКСТОВЫМ РЕДАКТОРОМ
VIM
ши или клавишной комбинации, представляющей команду.
Практически к а ж д а я команда т а к ж е имеет свой текстовый только в конфигурации не указано создание сразу несколь­
аналог, который можно выполнить либо через файл конфи­ ких окон) и присваивает ему номер 0.
гурации, либо выполнив следующую команду: Новое окно с командной оболочкой можно создать с по­
• К л а в и ш н а я комбинация: <Ctrl> + <а> + <:>. мощью команды ниже:
• Текстовая команда: colon. • К л а в и ш н а я комбинация: <Ctrl> + <а> + <с>.
• Описание: вывести приглашение для ввода текстовых • Текстовая команда: screen.
команд в интерактивном режиме. • Описание: создать новое окно.

В данном случае мы должны выполнить две клавиатур­ При этом Screen создаст новое окно и присвоит ему сле­
ные комбинации, сначала нажав <Ctrl> + <а>, а затем кла­ д у ю щ и й по порядку номер. В нашем случае новым окном
вишу двоеточия. При этом Screen выведет в нижней час­ будет окно с номером 1.
ти экрана приглашение для ввода команды в виде двоето­ Теперь у нас есть у ж е два текстовых окна, из которых
чия. Ту ж е самую команду, которую мы только что выполни­ т е к у щ и м является только что созданное окно с номером 1,
ли с помощью клавишной комбинации, можно выполнить а окно с номером 0 находится в фоновом режиме. Но на­
через конфигурационный файл с помощью текстовой к о ­ до заметить, что даже если окно находится в фоновом ре­
манды colon, что может, например, понадобиться для в ы ­ жиме, оно может воспринимать вывод запущенного в нем
вода приглашения о вводе команд при старте или перена­ приложения, к а к если бы оно было т е к у щ и м . Например,
значении комбинации к л а в и ш , вызывающих это приглаше­ мы могли бы запустить в окне 0 процесс, который выводит
ние. Далее, как и в примере выше, для к а ж д о й клавишной дополнительную и н ф о р м а ц и ю через определенные про­
комбинации я буду писать соответствующие ей ключевые м е ж у т к и времени (для примера, это может быть команда
слова, которые можно использовать в файлах конфигура­ «tail -f»), и затем переключиться в окно 1 для работы в тек­
ции или вводить с помощью <Ctrl> + <а> и <:>. стовом редакторе.
Здесь может возникнуть закономерный вопрос - а что Через какое-то время, если мы з а х о т и м посмотреть,
если приложению нужно непосредственно передать ком­ что происходит в окне 0, мы можем переключиться в это
бинацию к л а в и ш <Ctrl> + <а>, которая у ж е используется о к н о и увидеть весь вывод р а б о т а ю щ е г о т а м процесса.
в Screen как служебная? Например, та­
кая ж е комбинация используется биб­ ТАБЛИЦА 1 . НАИБОЛЕЕ ЧАСТО ИСПОЛЬЗУЕМЫЕ КОМАНДЫ ДЛЯ УПРАВЛЕНИЯ ОКНАМИ
лиотекой редактирования командной КЛА ВИШНАЯ КОМБИНАЦИЯ ТЕКСТОВАЯ КОМАНДА ОПИСАНИЕ
строки readline для выполнения пере­ Ctrl + а w windows Выводит список номеров и заголовков всех окон в нижней
строчке экрана
хода в начало строки. Д л я этого слу­
чая в Screen предусмотрена следую­ Ctrl + а • windowlist Выводит интерактивный список номеров и заголовков всех
окон, из которого можно выбрать окошко для переключения
щая команда:
Ctrl + а Номер select Выбор окна по номеру. Например, команда <Ctrl> + <а> и 0
• К л а в и ш н а я комбинация: <Ctrl> + окна делает текущим окно с номером 0
<а> + <а>. Ctlr + а п next Переключиться на следующее по порядку окно или на первое
• Текстовая команда: meta. окно, если мы находились в последнем окне
• Описание: передать текущему Ctrl + а Р prev Переключиться на предыдущее по порядку окно
п р е д л о ж е н и ю к л а в и ш н у ю комби­ или на последнее окно, если мы находились в первом окне
1
нацию <Ctrl> + <а>. Ctrl + а select Вывести приглашение ввода номера окна для переключения
Ctrl + а Ctrl + а other Переключиться на последнее используемое окно
Управление окнами Ctrl + а N number Показать номер и заголовок текущего окна
Пришло время разобраться с коман­ Ctrl + а А title Установить заголовок текущего окна
дами для управления окнами. При з а ­ Ctrl + а к kill Принудительное закрытие окна, например, в случае если
пуске Screen создает одно окно (если приложение не удается закрыть обычным способом
Затем можно переключиться обратно в окно редактиро­ Несколько окон на экране
вания. По умолчанию Screen оставляет видимым на экране только
В предыдущем параграфе я описал пример с переклю­ одно логическое окно, но при желании есть дополнитель­
чением между окнами, но пока не сказал, какие команды ная возможность разделить экран терминала на горизон­
для этого используются. Рассмотрим подробнее наибо­ тальные регионы. Таким образом можно отображать сра­
лее часто используемые команды для управления окна­ зу несколько окон на одном экране терминала. Рассмот­
ми (см. таблицу 1). рим подробнее команды для работы с регионами экрана
При закрытии какого-либо из окон номера других окон (см. таблицу 3).
не меняются и в нумерации появляются «дырки», кото­ На рис. 2 изображен Screen с тремя именованными ок­
рые позднее могут быть заполнены новыми окнами. Хотя нами (Work, Configuration, Logs) и разделенным на два ре­
в Screen имеется команда для изменения номера окна, она гиона экраном. В верхнем регионе открыто окно Work с тек­
здесь не рассматривается и остается для самостоятельно­ стовым редактором Vim и примером файла конфигурации
го изучения. В случае если закрыты все окна, Screen завер­ Screen. В нижнем регионе - окно Configuration с частью об­
шает свою работу и выводит сообщение: щего файла конфигурации /etc/screenrc.

[screen i s terminating]
Консольные сессии
И в завершение мы рассмотрим одну из самых популярных
Работа с текстом возможностей Screen. Представим следующую ситуацию:
Теперь рассмотрим работу с содержимым окон - копирова­ системный администратор, находясь дома, заходит на уда­
ние и вставку текстового содержимого одного окна в дру­ ленный сервер, открывает несколько окон, запускает необ­
гое, мониторинг окон, сохранение текстовой копии экрана ходимые задачи, затем закрывает соединение и едет на ра­
и другие похожие задачи (см. таблицу 2). боту. На работе он опять заходит на тот ж е сервер и восста­
В режиме копирования Screen запускает текстовый ре­ навливает открытые дома окна с результатами выполнен­
дактор, похожий на редактор Vi. Наиболее часто использу­ ных задач. Звучит немного фантастично? Ни в коем слу­
емые команды редактора: чае! Консольные сессии Screen как раз и предназначены
• к л а в и ш и управления к у р с о р о м п е р е м е щ а ю т к у р с о р для осуществления этой задачи. Они позволяют отсоеди­
по экранному буферу; нить от терминала т е к у щ у ю сессию Screen со всеми окна­
• к л а в и ш а «Пробел» отмечает начало и конец региона ми и выполняемыми приложениями и затем в любой мо­
для к о п и р о в а н и я . При втором н а ж а т и и «Пробел» от­ мент времени присоединиться к ней опять. При этом все
меченный текст копируется в регистр по умолчанию выполняемые под Screen приложения будут продолжать
и Screen выходит из режима копирования. работать и использовать свои окна для вывода информа­
ции. Плюс ко всему консольных сессий
Таблица 2. Команды для работы с содержимым окон может быть несколько, но в этой ста­
Клавишная комбинация Текстовая команда Описание тье мы не будем на этом подробно ос­
танавливаться.
Ctrl + а М monitor Включить/выключить мониторинг активности для текущего
окна. Когда мониторинг включен и в окне, находящемся
в фоновом режиме, производится вывод текста, в служебной
Рассмотрим к о м а н д ы отсоедине­
строке выводится информация об активности ния консольной сессии от терминала
silence Включить/выключить мониторинг отсутствия активности (см. таблицу 4).
для текущего окна. Когда мониторинг включен и в окне, Чтобы присоединиться обратно
находящемся в фоновом р