СЬ
www.samag.ru
ЛИ
Почему MS SQL медленно работает?
Ищем причины
ЛИ
ТЯ Е
Ж ПИ
Строим защищенную беспроводную сеть:
ЗА ДНИ
РА КУ
Настраиваем UPS под Linux
ЛЫ ГО
ТИ РАС
Как восстановить
удаленные файлы под BSD
К У ВО
О
танавливаем Symantec Antivirus 9.0
ТР
в корпоративной сети
Эффективно управляем
С
полями пользователей в AD
БЫ
подписной индекс 20780
Контролируем безопасность сети
с помощью OSSIM
КА
www.samag.ru
Как обеспечить
ЬГ
ЬД О
РА СКА
ТЕ
К
ИС НН
ЕН
УС
БО
НА ТПУ
ИЛ ДА
ТП
НЧ ЖИ
ВО
РА Е О
КО НЕО
АВ СЛ
Л
Л
ХА
ПО
УЕ
ЗА
управляем сетью
Так видит журнал читатель, оформивший подписку: Linux-VServer: настраиваем
№5(30) май 2005
подписной индекс 81655
www.samag.ru
на базе OpenLDAP
танавливаем Symantec Antivirus 9.0
в корпоративной сети
Эффективно управляем
полями пользователей в AD
Контролируем безопасность сети
с помощью OSSIM
Интервью с Ларри Уоллом –
создателем языка Perl
БЕЗОПАСНОСТЬ ПРОГРАММИРОВАНИЕ
38 Как настроить библиотеку SASL 78 Многоядерные процессоры…
для совместной работы c Kerberos …и проблемы, ими порождаемые, в ОС семейства NT.
С помощью библиотеки SASL сетевые приложения мо- Крис Касперски
гут автоматически договориться об использовании оп- kk@sendmail.ru
ределенного механизма подтверждения идентичности
пользователя. Как осуществить взаимодействие биб- РЕТРОСПЕКТИВА
лиотеки SASL c Kerberos? Михаил Кондрин
mkondrin@hppi.troitsk.ru 86 Суровая правда, скрытая за «розовыми
очками». Часть 2
43 Защищаем корпоративную почту История компании Transmeta.
с SecExMail Gate Дмитрий Мороз
Обзор инструмента SecExMail Gate, который позволит akuji@list.ru
обеспечить конфиденциальность корпоративной поч-
ты, передаваемой по незащищенным сетям. 92 КНИЖНАЯ ПОЛКА
Сергей Яремчук
grinder@ua.fm 17, 27, 49, 73, 91 BUGTRAQ
П
режде всего обратим внимание ного семейства – пингвин. Компания Были представлены и компании,
на LinuxWorld. В этом году вы- IBM представляла ряд своих решений занимающиеся разработками своих
ставка была расположена особ- на базе Red Hat Linux. решений на Linux. Например, компа-
няком от всех остальных, и случайно Компания Novell традиционно пред- ния Smart Software знакомила с про-
забрести на неё было крайне сложно, лагала наиболее свежую версию дис- граммным продуктом «Умный ресто-
так как перед этим нужно было прой- трибутива Suse. ран» (система автоматизированного
ти сквозь довольно длинный и пустой ALT Linux и ASP Linux соответствен- учёта для управления ресторанным
коридор. но предлагали свои дистрибутивы. бизнесом).
Посещаемость выставки LinuxWorld
едва ли можно назвать рекордной. Од-
нако посетители подходили к экспо-
зициям с вполне конкретными целя-
ми, а не только праздным интересом.
Малое количество посетителей мо-
жет означать либо то, что на выставку
пришли только деловые люди или же
что нездоровый ажиотаж вокруг Open
Source подошёл к концу. Практически
не было заметно любителей халявы,
которые на многих выставках стайками
носятся от одного стенда к другому.
Больше всего внимания посетите-
лей собирали стенды ЛинуксЦентра
и журнала «Системный администра-
тор». И в первом, и во втором случае
основной причиной к этому были све-
жие номера журналов.
Также немало людей было около эк-
спозиции компании IBM, вокруг кото-
рой ходил представитель линуксоид- Лёгкий ажиотаж на стенде ЛинуксЦентра
4
репортаж
Компания R-Style, кроме всего про-
чего, предлагала авторизованное обу-
чение по Red Hat Linux.
Присутствовал и стенд компании
Linux-Online, разработчика дистрибу-
тива Linux XP, о котором в своё вре-
мя прошли жаркие дебаты на многих
форумах.
Несколько удивило название вы-
ставки систем электронного докумен-
тооборота – Documation. На стенде
Cognitive Technologies была представ-
лена система Евфрат-Документообо-
рот. InterTrust предлагал посетителям
узнать, как правильно управлять пер-
соналом и узнать побольше про за-
щищённый документооборот. Также
присутствовали компании DocsVision,
Neuhous group и Globus.
Честно говоря, на выставке
Documation было еще менее ожив- Весьма оживлённый стенд компании Hewlett-Packard
лённо, чем на LinuxWorld.
Гораздо оживлённее было на вы- ные решения. Несколько удивило при- мерной перегруженности выставоч-
ставках StorageExpo и InfoSecurity. сутствие компании Мегафон, которая ных площадей людьми заметно не бы-
Здесь присутствовали основные иг- предлагала услугу конфиденциальной ло ни ранним утром, ни в более позд-
роки рынка систем информационной и защищённой сотовой связи. нее время. К слову сказать, листая ка-
безопасности. Системы аутентифи- Сложно было пройти мимо бо- талог всех представленных компаний,
кации, антивирусной защиты и шиф- лее чем серьёзных стендов Aladdin, я слегка недоумевал. Сложилось впе-
рования были представлены компа- Trend Micro, Ланит, Открытые техно- чатление, что половина из заявлен-
ниями «Антивирусный центр», Aladdin, логии и ряда других. Очевидно, что ных компаний попросту не явилась
Dr. Web, Актив (Guardant), Лаборато- InfoSecurity и StorageExpo более при- на выставку.
рия Касперского, Websense, BioLink, влекательны для компаний, так как ни Стабильной посещаемостью могли
HP, Kraftway и другими. одного по-настоящему большого стен- похвастаться только разве что конфе-
Повсюду можно было видеть, как да (исключая компанию IBM) на том же ренц-залы. Списки выступающих, ви-
посетители заинтересованно общались LinuxWorld не было. севшие перед входом, внушали сво-
с представителями компаний, предла- В целом, нельзя сказать, что все ей длиной и обещали не дать скучать
гающими свои программные и аппарат- четыре выставки пустовали, но и чрез- на протяжении всего времени прове-
дения выставки.
В последнее время создаётся ус-
тойчивое впечатление, будто бы IT-вы-
ставки мало-помалу потихоньку себя
изживают, как произошло с приснопа-
мятной Комтек. Если говорить про вы-
ставку безопасности (InfoSecurity), ко-
торая интересна большинству систем-
ных администраторов, то налицо от-
сутствие новаторских решений и но-
вых технологий. Те же компании пред-
ставляют всё те же продукты. Стро-
го говоря, тот, кто был на выставке
в прошлом году, но не был в этом, –
ничего не потерял. Остаётся надеять-
ся, что отсутствие новинок – это лишь
«затишье перед бурей», а не мрачная
тенденция к истощению идей в компа-
ниях-разработчиках.
Алексей Коршунов,
А некоторые стенды вообще пустовали… фото автора
Уже в семнадцатый раз русскоязычный мир IT-шников собирается на крупное и уже давно
ставшее культовым мероприятие, имя которому – Softool.
6
репортаж
ря на широту затрагиваемых этой эк-
спозицией вопросов, путешествие
по стендам оставило ощущение на-
личия наибольшего спроса на антиви-
русные решения от лидеров индустрии
(правда, имеющих тенденцию расши-
ряться и интегрироваться во все более
значительных масштабах).
Популярная в последнее время тема
электронного документооборота и его
автоматизации не могла остаться неза-
меченной на Softool – ей отвели само-
стоятельную секцию «DOCFLOW Day»,
в которой вновь главенствовала не-
когда учредившая это мероприятие
ABBYY. На непродолжительной конфе-
ренции успели выступить наиболее яр-
кие представители этой области из оте-
чественной индустрии.
САПР’Экспо не случайно размес-
тили на втором этаже – практика пре-
дыдущих выставок показала, что CAD,
CAM и ГИС беспрестанно набирают по-
пулярность. В связи с этим экспозиции
понадобилось больше места для всех
желающих продемонстрировать свою
продукцию. Стоит выделить и насы-
щенную программу мастер-классов,
а также и занятной инициативы, полу-
чившей название «САПР-Шоу», где од-
ни и те же задачи одновременно реша-
лись на различных системах САПР.
LinuxLand
Проводимый во второй раз LinuxLand
вновь собрал ряд компаний, продви-
гающих технологии с открытым ко-
дом. Как завсегдатаев таких выста-
вок (в основном, конечно, отечествен-
ных и зарубежных Linux-поставщиков),
так и новичков вроде SmartSoftware, начально не планируя, создала Open На стенде редакции «Системного
предлагающих под лозунгом «Время Source-решение, обеспечивающее администратора» читатели приобре-
умных решений» комплексные систе- взаимодействие между веб-сервисами тали любимый журнал со специаль-
мы автоматизации предприятий, зани- и COM-объектами ОС Windows. ной большой скидкой, которая дейс-
мающихся такими услугами, как гости- твует исключительно на выставках.
ницы и рестораны, для Linux. В заключение А читателям, оформившим подпис-
Ввиду недавних релизов Mandriva Отдельно выделю привычную актив- ку на следующий, 2007 год, с юбилей-
(Corporate Server 4.0 и Linux 2007) ность со стороны «1C». ным пятидесятым номером журнала
в Москву пожаловал Пол Гийе (Paul Некоммерческое Партнерство Пос- (№1 за 2007 г.) в подарок будет прила-
Guillet), вице-президент продаж в этой тавщиков Программных Продуктов гаться диск с архивом всех вышедших
французской компании. Благодаря та- провело акцию «Не корми пирата!» – номеров, начиная с 2002 года.
кому стечению обстоятельств и стара- на своем стенде представители пар- По сравнению с остальными IT-вы-
ниям организаторов Россия стала пер- тнерства развернули свободную про- ставками этого года, Softool-2006 дейс-
вой в мире страной, где прошла офи- пагандистскую площадку, где пред- твительно удался, по-прежнему де-
циальная презентация последних раз- лагали каждому написать что-нибудь ржит марку и пользуется популярнос-
работок Mandriva. в поддержку лицензионной продук- тью у посетителей и участников.
Самым же интересным событием ции; разумеется, засилья коммента-
для меня стало знакомство с компани- риев от сторонников Open Source из- Дмитрий Шурупов,
ей Keyintegrity, которая, сама того из- бежать не удалось. фото автора
Как обеспечить
необходимое быстродействие
систем «1С: Предприятие»
Роман Марков
Вы каждый день выслушиваете жалобы бухгалтеров и менеджеров на низкое быстродействие
системы «1С:Предприятие», невозможно долгое формирование отчетов и постоянные
конфликты одновременных блокировок таблиц? Попробуем разобраться в сути проблемы
и проанализировать возможные варианты решений.
В
последние годы технологии тер- водителем и постоянно модифициру- системы «1С:Предприятие», – ее мед-
минального доступа к Windows- ется по собственным стандартам), не- ленная работа при увеличении разме-
приложениям пользуются неимо- обходимо максимально ускорить про- ра информационных баз, а также ко-
верной популярностью. В нашей стране цесс обмена данными в модели клиент- личества одновременно работающих
основную нишу занимает применение сервер, достигнув максимальной ско- пользователей. Помимо этого на быс-
терминального доступа для компен- рости обмена по сети. Однако никакие тродействие системы в целом может
сации недостатков скорости обработ- типовые локальные сети не позволяют влиять недостаточная производитель-
ки информации наиболее популярной достигнуть той скорости обмена, кото- ность серверов и рабочих станций,
системы учета – «1С:Предприятие». рая существует на внутренних шинах низкая пропускная способность ло-
Именно узкие места реализации об- серверов. Поэтому идея расположить кальной сети, нерационально состав-
работки данных в этой системе (нера- клиентскую и серверную части на од- ленные процедуры дополнительных от-
циональные процедуры чтения-записи ном физическом сервере дала макси- четов, некорректная настройка IT-инф-
записей из БД по сети) привели к не- мальное ускорение при работе систе- раструктуры, отсутствие у техперсона-
обходимости решать проблему уско- мы «1С:Предприятия». ла знаний о возможностях оптимиза-
рения системы в целом. Поскольку пе- ции информационной системы.
ределать процедуры обмена самосто- Подробнее о проблеме Как видите, количество факторов,
ятельно невозможно (не имеет смыс- Одна из самых неприятных проблем, влияющих на общее быстродействие
ла, так как система написана произ- с которой сталкиваются пользователи системы, велико, и не обладая знани-
8
администрирование
ями обо всех возможных причинах за- базы данных при каж-
медления, а главное – о способах ус- дом новом подключе-
транения таких причин, – невозможно нии, а посылает за-
построить быстродействующую сис- прос серверу баз дан-
тему, на 100% использующую все ее ных (SQL server). За-
возможности. Успешная работа при прос обрабатывается
реализации многих проектов систем- самим SQL-сервером,
ной интеграции, связанных с комплек- который считывает
сным внедрением систем «1С:Пред- данные из своей ба-
приятие», дает мне возможность мак- зы и выдает клиент-
График зависимости времени реакции системы
симально точно оценивать причины не- скому приложению от количества активных пользователей
эффективной работы указанного при- только необходимую
ложения у заказчиков. их часть. Таким образом взаимодейс- ное отличие состоит в том, что при не-
твие «клиент-сервер» сводится к от- обходимости SQL-сервер обеспечи-
Общие модели доступа правке на сервер запроса и получе- вает откат транзакций, аварийно за-
к БД «1С:Предприятие» ния ответа, содержащего уже отсор- вершившихся по каким-либо причи-
Наиболее часто использующийся тированные данные вместо самосто- нам. То есть в начале любой операции
на малых и средних предприятиях ва- ятельного считывания клиентом фай- по внесению изменений в БД SQL-сер-
риант – файл-серверная модель до- лов БД по сети. Это уменьшает сетевой вер записывает состояние изменяемо-
ступа. В этом случае один из компью- трафик и увеличивает быстродействие го объекта до проведения изменения
теров исполняет роль файл-сервера, в сравнении с файл-серверной моде- и отслеживает успех операции. В слу-
на котором хранятся БД, предостав- лью при большом количестве активных чае аварийного завершения этой опе-
ленные в общий доступ по сети, а поль- пользователей и значительном объеме рации объект не изменяется и возвра-
зователи играют роль клиентов этого БД. То есть для клиент-серверной вер- щается в предыдущее стабильное со-
файл-сервера, открывая предостав- сии время реакции на запросы поль- стояние. В случае аварийного завер-
ленные им файлы баз данных на чте- зователей при возрастании количес- шения операции по изменению фай-
ние и запись. тва активных пользователей не воз- ла DBF информация в нем остается
Файл-серверная версия использу- растает так резко, как это происхо- «как есть», что может привести к не-
ет файлы в формате DBF. Основное дит с файл-серверной моделью. Од- работоспособности БД.
ее преимущество заключается в том, нако не стоит забывать, что SQL-вер- Поэтому для обеспечения макси-
что не требуется дополнительного про- сия изначально ориентирована имен- мальной надежности хранения боль-
граммного обеспечения для органи- но на надежность обработки боль- ших БД и исключения возникновения
зации работы, так как для подключе- ших объемов данных, хранение кото- транзакций рекомендуется использо-
ния к базе данных достаточно предо- рых в файл-серверной модели чрева- вать клиент-серверную модель.
ставить папку с ее файлами в общий то разрушением БД, а не на увеличе- В «1С:Предприятии 8.0» использу-
доступ, что достигается средствами ние скорости работы с приложением ется трёхуровневая архитектура «кли-
любой сетевой операционной систе- (во всяком случае, это относится к со- ент-сервер», при которой клиентская
мы. Этот формат разрабатывался пре- четанию «1С:Предприятие» – Microsoft часть обращается к серверу приложе-
жде всего для работы с БД небольшо- SQL Server). Поэтому при малых раз- ний 1С, а он в свою очередь обращает-
го размера при малой нагрузке. Поэ- мерах БД или небольшом количест- ся к серверу баз данных Microsoft SQL
тому при активной работе нескольких ве активных пользователей SQL-вер- Server, который и обрабатывает за-
пользователей с базой данных наблю- сия проигрывает по скоростным пока- просы к информационной базе. Сер-
дается значительное замедление ра- зателям файл-серверной. Это можно вер приложений 1С сосредотачивает
боты программы. Особенно если кто- увидеть на примерном графике со- на себе выполнение объемных и слож-
нибудь из пользователей запустит пос- отношения. ных операций, при этом клиентская
троение масштабных отчётов за боль- Однако при больших объемах часть будет получать необходимую ей
шой период времени. О причинах этого БД (например, при общем объеме выборку. Ресурсы современных сер-
замедления я расскажу немного поз- DBF-файлов, превышающем 2-3 Гб) веров позволяют расположить и сер-
же, так как именно они мотивируют пе- хранение такой базы в файл-сервер- вер приложений и сервер БД на одном
реход к использованию терминально- ном варианте и работа с ней в много- физическом сервере, что, несомнен-
го решения в файл-серверной версии пользовательском режиме может со- но, ускоряет обработку запросов, од-
системы «1С:Предприятие». здать проблемы возникновения бло- нако создает двойную нагрузку на ре-
Второй тип организации досту- кировок таблиц при одновременном сурсы. К сожалению, именно к этому
па к базе данных системы «1С:Пред- доступе к ней нескольких пользова- нас вынуждают схемы взаимодействия
приятие» – клиент-серверная модель. телей, а также разрушение структу- клиентов систем «1С:Предприятие»
В клиент-серверной версии таблицы ры таблиц, что приведет к неработос- с их серверами.
хранятся в базе данных под управле- пособности БД. В случае перегрузки такого серве-
нием Microsoft SQL Server, и клиент- SQL-сервер хранит данные в дру- ра в моменты пиковых нагрузок жела-
ское приложение не открывает файлы гом формате. Главное принципиаль- тельно разделить Сервер Приложе-
10
администрирование
ее применение позволяет максималь- со сервером терминалов. Именно по- тическая» скорость работы с БД в ре-
но ускорить работу с БД. этому не имеет значения, какой ком- жиме сервера терминалов. Не пре-
Наверняка все вы знаете о «стран- пьютер установлен у клиента – единс- доставляйте общего сетевого досту-
ной» особенности работы с БД, распо- твенная его задача – запустить клиент- па к папке с базами данных, так как
ложенных на сетевых дисках серверов, скую часть, которая будет нормально совместное использование ее по сети
под управлением ОС Windows. С файл- работать даже на 486-м компьютере значительно замедлит работу. То есть
серверами под управлением других ОС с 16 Мб памяти и любой ОС, для кото- с одной и той же базой все должны ра-
дело обстоит получше, но не все умеют рой существует клиент сервера терми- ботать в терминальном режиме, неза-
их администрировать, да и то ускоре- налов Windows. висимо от ресурсов клиентской рабо-
ние, которое предоставляют техноло- Однако в таком варианте постро- чей станции.
гии терминального доступа, все равно ения сети вся нагрузка перекладыва- Помимо ускорения работы с БД
недостижимо другими способами – пе- ется на сервер, так как в его обязан- неоспоримым преимуществом терми-
реносом БД на файл-сервер с ОС, от- ности будет входить не только хране- нал-сервера является сжатие переда-
личимой от Windows. ние информационной базы, но и пол- ваемой по сети информации, что поз-
Итак, в чем же заключается эта ностью вся обработка, что равносиль- воляет работать с программой через
особенность, из-за которой резко но работе всех пользователей на од- медленные каналы связи. Именно та-
замедляется работа с сетевой БД ном локальном компьютере. Плюс под- кая модель доступа позволяет орга-
при одновременной работе с ней бо- держка сеанса связи с каждой подклю- низовать удаленную работу фили-
лее чем одного пользователя? То есть чённой машиной. В терминальном ре- альных отделов с единой БД в режи-
при работе в однопользовательском жиме специфична и сама работа поль- ме online – ведь для каждого клиента
режиме, даже по сети, скорость рабо- зователей: на экране они видят ра- достаточно канала передачи данных
ты оказывается приемлемой, однако бочий стол сервера, поэтому все ло- шириной 40-60 Кбит/сек. Таким обра-
стоит хотя бы еще одному пользова- кальные диски и принтеры на самом зом, при необходимости предоставить
телю начать работу с БД, как скорость деле будут являться периферией са- филиальным представительствам до-
формирования отчетов и проведения мого сервера. ступ к центральной БД (или наоборот)
документов падает в несколько раз, Серьезным расширением возмож- достаточно обладать сервером необ-
а то и на порядок. Это происходит из- ностей стандартного сервера терми- ходимой мощности для организации
за того, что система Windows отклю- налов Windows является продукт Citrix на нем сервера терминалов и кана-
чает кэширование дисковых опера- Metaframe. Он предоставляет возмож- лом связи с указанной выше пропус-
ций при подключении к сетевому ре- ность сделать работу с терминальным кной способностью.
сурсу более чем 1 пользователя. Де- приложением абсолютно прозрачным
лается это во избежание потери дан- для пользователя и для удобства поз- Сколько стоит такое
ных из-за взаимных блокировок, од- воляет подключить и собственные ре- терминальное решение?
нако сильно страдает производитель- сурсы компьютера. Например, под- Итак, принимая решение о переходе на
ность системы. ключение к сеансу пользователя его терминальную схему работы системы
Преимущество терминального локальных принтеров, на мой взгляд, «1С:Предприятие», необходимо учиты-
решения в том, что при его исполь- в Citrix Metaframe организован более вать, что для организации работы сер-
зовании вся обработка информа- удобно. Однако следует учитывать вера в режиме сервера приложений
ции (не только запросы, но и вся кли- что Citrix Metaframe является только необходимо приобрести лицензии кли-
ентская часть) происходит на серве- дополнением к стандартному серве- ентского доступа к нему. Каждая ли-
ре терминалов, так что на компьюте- ру терминалов MS, а не самостоятель- цензия «на устройство» (MS TS CAL)
рах пользователей даже нет необхо- ным продуктом. Да и стоимость данно- обойдется вам около 80 $. Сам сервер
димости устанавливать программу го «расширения» велика по сравнению терминалов входит в стоимость лицен-
«1С:Предприятие». с применением стандартного сервера зии Windows Server.
По сети компьютерам-клиентам терминалов от Microsoft. К слову, са- Расширение Citrix Metaframe стоит
предоставляются только готовые эк- му технологию Terminal Services ком- от 2000 USD за стартовый пакет из 5
ранные формы, пользовательской тер- пания Microsoft купила именно у ком- лицензий. Каждые последующие 5 ли-
минальной сессии. Поскольку переда- пании Citrix. цензий будут стоить около 1500 $.
ча экранного изображения в сжатом Если вы используете файл-сервер- Поэтому (это мое субъективное
виде требует меньшего потока данных ную версию программы, то максималь- мнение) покупка MS TS CAL – абсо-
для подключения к серверу термина- ные преимущества терминального ре- лютно оправдана, так как ускорение
лов, можно использовать медленные шения достигаются при расположении работы системы при этом предоста-
каналы связи, вплоть до обычного мо- базы данных на локальном дисковом вит новые возможности расширения
дема, а сами компьютеры могут быть массиве этого же сервера. При рас- бизнеса.
низкой производительности. положении базы на локальном диске Приобретение же Citrix Metaframe
На компьютеры пользователей сервера обмен с ней осуществляется должно быть обусловлено серьезной
устанавливается только терминаль- по внутренним шинам передачи дан- необходимостью использования воз-
ный клиент, задача которого иници- ных сервера, а не по локальной сети. можностей продукта, однако их анализ
ировать и поддерживать сеанс связи Именно этим и объясняется «фантас- выходит за рамки данной статьи.
Андрей Бирюков
Мониторинг и управление серверами и приложениями, особенно в большой сети, –
задача нетривиальная, и зачастую требует довольно больших затрат времени
и ресурсов. Эффективное средство, которое позволит вам решить часть этих проблем, –
Microsoft Operations Manager.
Приступая к работе вый продукт, не используют большинс- Ключевой элемент системы – сер-
Решение проблем, связанных с экс- тво имеющихся возможностей. Другие вер управления MOM. Отмечу, что сер-
плуатацией оборудования и програм- коллеги говорили, что хотели бы внед- вер управления должен размещаться
много обеспечения, – неотъемлемая рить у себя подобное средство, но опа- в центральном офисе (в случае, ес-
часть работы системного администра- саются, что продукт слишком сложен ли сеть компании географически раз-
тора. Так называемый troubleshooting, в эксплуатации и поддержке. Так ли несена), желательно иметь несколь-
как правило, занимает намного боль- это на самом деле? В этой статье вы ко маршрутов до каждого из фили-
ше времени, чем, к примеру, работы узнаете об архитектуре MOM, а также алов (хотя это требование относит-
по внедрению программных продук- разберем вместе типичные примеры ся не только к МОМ, но прежде всего
тов или начальная настройка сетевого использования различных компонент к надежности всей сети), а также про-
оборудования. В связи с этим возника- и функций. пускная способность сегмента сети,
ет необходимость в постоянном мони- в котором находится сервер управле-
торинге событий, происходящих в се- Архитектура системы ния, должна быть достаточной для то-
ти. Конечно, если у вас один или два «MOM 2005 предоставляет открытые го, чтобы администратор мог быстро
сервера, то всю необходимую инфор- и масштабируемые средства для уп- получать уведомления о различных
мацию можно получать из журнала со- равления информационными система- событиях и сбоях.
бытий (Event Viewer), счетчиков произ- ми предприятий, комплексного управ- Следующий элемент системы –
водительности (Performance Counter), ления событиями, активного контроля база МОМ, в которой хранятся все
а также WSH-сценариев. Но если у вас и оповещения, создания отчетов и ана- настройки и сообщения о событиях.
десятки серверов, на которых установ- лиза тенденций, а также специальные В связи с этим необходимо позабо-
лены различные программные продук- базы знаний, содержащие сведения титься о безопасности базы, разграни-
ты (службы Active Directory, базы дан- о функционировании систем и прило- чив соответствующим образом доступ
ных, система резервного копирования, жений, для повышения уровня управ- к ней. В зависимости от аппаратных
корпоративный антивирус и так далее), ляемости корпоративных систем». Та- возможностей сервера, на котором
то без промышленного решения не кое определение своему продукту дает разворачивается Microsoft Operations
обойтись. Для сети на основе Windows Microsoft. Несмотря на официальный Manager, базу данных можно устано-
таким решением является Microsoft стиль, такое определение дает общее вить как на том же узле, так и другом,
Operations Manager 2005. Однако, об- представление об архитектуре и фун- в случае, если нагрузка на сервер уп-
щаясь со многими системными адми- кциональности продукта. Итак, рас- равления слишком велика. Что каса-
нистраторами, мне приходилось стал- смотрим более подробно схему взаи- ется редакции SQL-серверa, которую
киваться с тем, что некоторые из них, модействия МОМ с управляемыми про- можно использовать для базы дан-
внедрив этот, прямо скажем, недеше- дуктами (см. рис. 2). ных, то лучше по возможности избе-
12
администрирование
жать применения MSDE. Дело в том,
что ввиду ограничений, которые раз-
работчики наложили на версию MSDE,
например, общий объем файлов базы
должен быть не более 2 Гб, нормальное
функционирование МОМ в больших се-
тях может оказаться под угрозой. К со-
жалению, мне не довелось разворачи-
вать МОМ вместе с Microsoft SQL 2005,
но по заверениям Microsoft, ее также
можно использовать в качестве ба-
зы данных.
Описав систему управления МОМ,
теперь перейду к элементам, которы-
ми управляет система. Узлы могут уп-
равляться как с помощью специаль-
ных агентов, так и без них. Для раз- Рисунок 1. Административная консоль МОМ
вертывания агентов необходимо ус-
тановить на управляемую машину производителей программных про- После установки, открыв
агент МОМ (узел вида Agent managed), дуктов. Management Packs для про- Administrative Console, вы увидите ок-
то есть сервис, который будет локаль- дуктов Microsoft можно скачать бес- но (см. рис. 1).
но собирать данные о состоянии маши- платно [1]. К тому же хочу заметить, Консоль является основным сред-
ны и отправлять их на сервер управ- что Management Pack можно сделать ством администрирования Microsoft
ления. Устанавливать агентов можно самому, подробнее этот вопрос я рас- O p e r at i o n s M a n a g e r. В р а з д е л е
как удаленно с сервера управления, смотрю далее. На этом теоретическая Administration, открыв подраздел
так и локально, запустив дистрибутив часть закончена, и приступим к более Computers, в группе Management
на управляемом сервере. Для соеди- интересной практической части, то Servers видны те серверы, которыми
нения с сервером управления по умол- есть реализации функциональных воз- может управлять МОМ. Сюда входят
чанию используется порт 1270 и про- можностей МОМ на практике. как узлы с установленными агента-
токол TCP. Узлы без агентов (agentless ми, так и agentless-узлы. Однако сра-
managed) не содержат каких-либо сер- Разворачиваем систему зу после установки в этом разделе бу-
висов и приложений МОМ. При этом Прежде всего необходимо определить, дет только один узел – сам сервер уп-
агент установлен на самом сервере какие сведения надо собирать. Пред- равления МОМ.
управления, который удаленно соби- положим, что в сети имеется четыре Теперь нужно развернуть агенты
рает информацию с управляемого уз- сервера. Первый является основным на тех узлах, которыми необходимо
ла. При этом используются средства контроллером домена, на нем так- управлять. Конечно, можно обойтись
Windows для сбора сведений о состо- же запущены службы DHCP, DNS, IIS без установки агентов, но тогда нельзя
янии управляемой системы. Недостат- и система резервного копирования. будет продемонстрировать часть фун-
ком agentless-узлов является отсутс- Второй – резервный контроллер доме- кциональных возможностей продукта.
твие ряда возможностей для более эф- на, на котором также установлен поч- Для развертывания можно воспользо-
фективного сбора статистики и реаги- товый сервер Exchange. Третий сервер ваться MSI-пакетом, который входит
рования на инциденты, по сравнению в предполагаемой топологии – это сер- в состав дистрибутива МОМ, или уда-
с agent-managed. вер баз данных, на котором установ- ленной установкой из консоли управ-
Еще один элемент системы управ- лены Microsoft SQL 2000 и сервер тер- ления Administration console. После за-
ления Microsoft Operations Manager – миналов. И наконец, четвертый фай- пуска открывается окно для установ-
Management Packs – контейнеры, со- ловый сервер, на нем находятся пап-
держащие наборы правил, позволя- ки общего доступа, хранятся профили
ющих осуществлять сбор информа- пользователей и файлы резервных ко-
ции. Этот элемент МОМ представляет пий. Расположение описанных прило-
особый интерес, так как именно с по- жений на конкретных серверах боль-
мощью Management Packs можно со- шого значения не имеет, даже если
бирать разнообразную информацию все они установлены на одном серве-
о системе. На основе этих сведений ре, МОМ это не помешает.
можно создавать правила, позволяю- Процесс установки самого серве-
щие реагировать на различные собы- ра управления MOM 2005 подробно
тия системы. расписан в файле помощи. Отмечу
Пакеты управления бывают как лишь, что после установки MOM 2005
платные, так и бесплатные. Бесплат- необходимо также установить Service
Рисунок 2. Схема взаимодействия МОМ
ные пакеты можно найти на сайтах Pack1. и управляемых серверов
14
администрирование
но собираются события (Events) и ис-
ключения (Exceptions), но уже относя-
щиеся только к данному разделу. На-
пример, на рис. 4 можно наблюдать
несколько сообщений разного уровня
важности, критические ошибки (Critical
Error), ошибки (Error), предупреждения
(Warning) и информационные сообще-
ния (Information).
Следует заметить, что это не прос-
то сообщения, ана логичные тем,
что операционная система создает в
журнале событий Event Log. Здесь со-
общения предусматривают некото-
рую реакцию оператора, в частности,
обратите внимание на поле Resolution
State. Новые сообщения всегда появ-
ляются в состоянии New, однако даль-
нейшее состояние каждого сообщения
должен определять уже оператор. Со-
стояние может подразделяться на че- Рисунок 4. Консоль оператора
тыре уровня: чае, приведенном на рис. 4, админист- Group». Далее создаваемой группе
Уровень 1 – проблема отправле- ратор при создании нового пула адре- необходимо дать имя и активировать
на внутренней технической под- сов на DHCP-сервере, забыл его акти- ее, включив опцию «Enabled». Теперь
держке. вировать, что и привело к появлению вам доступны три вида правил: Event
Уровень 2 – проблема отправлена данных сообщений об ошибке. Rules, Alert Rules и Performance Rules.
специалисту по данному продукту. Еще одной весьма полезной функ- Каждая из этих групп предполагает
Уровень 3 – проблема направлена цией МОМ, которая помогает систем- наличие правил для решения опреде-
во внешнюю поддержку (например, ному администратору в решении про- ленных задач:
службе технической поддержки блем, является наличие базы знаний. Event Rules – эта группа реагирует
компании-поставщика). При этом есть база знаний как по дан- на появление определенных собы-
Уровень 4 – проблема отправлена ному продукту, так и корпоративная ба- тий в журнале Event Log.
производителю. за, сведения в которую может добав- Alert Rules – правила, реагирую-
лять администратор. щие на определенные Alerts.
И также есть состояние Resolved Из прочих полезных функций Performance Rules – правила, ре-
(решено). При этом рекомендую не ста- Microsoft Operation Manager упомяну агирующие на определенные по-
вить сообщениям состояние Resolved, наличие в консоли оператора раздела роговые значения производитель-
не выяснив полностью причину возник- Events, содержащего сведения о собы- ности различных компонентов сис-
новения проблемы. В противном слу- тиях, но, в отличие от Alerts, здесь фик- темы.
чае вы можете просто забыть о её на- сируются все события, которые полу-
личии, а ведь при следующем прояв- чает МОМ. Эти события уже не требуют Для лучшего понимания я создам
лении этой проблемы последствия мо- реакции от оператора и носят инфор- по одному правилу каждого вида.
гут быть более значительны. Вот прос- мативный характер, но при этом на ос- Для Event Rules поставим задачу со-
той пример, на рис. 4 приведено со- новании сообщений раздела Events со- здать правило, по которому оператор
общение, в котором говорится о том, здаются уведомления Alerts. должен получать Alert при каждой не-
что DHCP-сервер по какой-то причи- удачной попытке FTP-соединения. Alert
не не выдает адреса. Можно предпо- Жизнь по правилам Rules – будем следить за сообщениями
ложить, что область DHCP не активи- Еще одно полезное свойство МОМ – недоступности сервиса, в случае их по-
рована, в связи с чем он не может вы- это возможность создания собствен- явления запускать сценарий, который
давать IP-адреса. Теперь обратите ных правил (Rule). На их основании будет осуществлять перезапуск серви-
внимание на поля «Time of First Event» можно создавать уведомление (Alert), сов. Для Performance Rules необходи-
и «Time of Last Event». Эти поля со- которое будет отправляться в случае мо следить за тем, чтобы нагрузка на
держат сведения о первом и послед- возникновения сообщений, интересу- процессор любого из серверов не пре-
нем сообщениях и о данной пробле- ющих администратора. Для того чтобы вышала 80%, в противном случае так-
ме. Согласитесь, так намного удобнее, создать правило, необходимо снача- же запускать сценарий.
чем самому искать сведения об ошиб- ла создать группу Rule Group. Для это- Итак, для создания первого пра-
ке в журнале событий Event Log. Зная, го требуется в разделе «Management вила заходим в «Event Rules», далее
когда проблема впервые появилась, Packs» выбрать «Rule Group» и далее «Action → Create Event Rule». Выбира-
намного проще ее решать. В моем слу- в меню «Action» выбрать «New Rule ем в появившемся меню «Alert on or
16
bugtraq
Экономьте время
на администрировании
Active Directory
Сергей Яремчук
18
администрирование
П
о мере роста количества пользо- каемых продуктов являет-
вателей и ресурсов, к которым ся Active Administrator, прос-
должен быть предоставлен до- той в использовании инс-
ступ, управление Active Directory да- трумент, позволяющий эф-
же внутри отдельного домена замет- фективно управлять груп-
но усложняется. А учитывая, что ад- повыми политиками и Active
министрированием может занимать- Directory, информировать
ся несколько человек, через некото- обо всех значительных из-
рое время ситуация может стать не- менениях, проводить всес-
управляемой, а сама система потре- торонний аудит, значитель-
бует серьезного аудита. Для админис- но экономя время на адми-
трирования Active Directory использу- нистрирование.
ются несколько инструментов, встро- Программа, к сожалению,
Рисунок 2. Настройка сервиса Active Template
енных в Windows 2000/2003 Server, не бесплатна, стоимость ли- Auto-Repair
что не всегда удобно и требует некото- цензии зависит от количест-
рого времени на их полноценное осво- ва объектов в Active Directory. Сама ли- шаблоны, как с нуля, так и на основе
ение. Консоль управления групповыми цензия привязана к Organizational Unit, уже имеющихся. Интерфейс позволя-
политиками (Group Policy Management поэтому применение ее с иным OU не- ет легко найти необходимый объект,
Console – GPMC), которая появилась возможно. при этом в другом окне будут отобра-
в 2003 году, обеспечивает пользовате- Для определенных администра- жены все разрешения. Для удобства
лю более удобный интерфейс управле- тивных целей используются шаблоны их отбора можно использовать систе-
ния политиками Windows на базе MMC Active Templates. Каждый шаблон оп- му фильтров.
(Microsoft Management Console). В его ределяет разрешения, которые тре- Консоль управления предоставля-
состав входит набор сценариев, пред- буются для определенных задач. С по- ет единый интерфейс для управления,
назначенных для автоматизации ти- мощью таких шаблонов можно лег- планирования, редактирования, ре-
повых задач управления объектами ко делегировать некоторые функции зервирования и восстановления груп-
групповой политики. Но в то же время пользователям и гарантируют после- повых политик. Поддерживается фун-
и его возможностей часто бывает не- довательное назначение разрешений кциональность инструмента, извест-
достаточно. в пределах Active Directory. Програм- ного как результирующий набор по-
ма контролирует состояние установ- литик (Resultant Set of Policies – RSoP),
Утилита Active ленных с помощью Active Templates появившаяся в Windows 2003 Server,
Administrator разрешений, права, не соответству- задача которого – упростить измере-
Корпорация ScriptLogic специализи- ющие действующей модели безопас- ние накопительных настроек группо-
руется на разработке решений, пред- ности, автоматически восстанавли- вой политики, применяемых к пользо-
назначенных для администрирова- ваются. Администратор может само- вателю или компьютеру. Это позволя-
ния сетей Windows. Одним из выпус- стоятельно создавать необходимые ет администраторам планировать сце-
нарии перемещения объекта. Active
Administrator автоматически сохраняет
всю историю изменений групповых по-
литик, давая тем самым возможность
при необходимости сравнить новые
настройки, быстро осуществить воз-
врат к старым настройкам. Изменения
политик производятся не напрямую
в рабочую среду, а в Offline Repository.
Для оценки эффекта созданные та-
ким образом политики сравниваются
с действующими, в том числе и с ис-
пользованием RSoP. Удобно, что ре-
дактирование Offline Repository может
быть осуществлено администратора-
ми, имеющими доступ к политикам
в режиме только для чтения. Но при-
меняют их только те, кто имеет соот-
ветствующие права. Средствами про-
граммы возможны копирование и реп-
ликация групповых политик между
доменами. Для контроля изменений
Рисунок 1. Настройка сервиса Event Configuration Utility в Active Directory и групповых поли-
20
администрирование
Настройка базы аудита
событий
Программа установки позволяет со-
здать базу событий безопасности
для локальной системы MSDE 2000.
Вероятно, может понадобиться пере-
нести ее на SQL Server. Для создания
такой базы выбираем «Creating Auditing
Database» в меню «Пуск». После это-
го появится знакомый мастер. На пер-
вом шаге которого в выпадающем
списке выбираем new database и да-
лее действуем как во время установ-
ки, заполняя нужные поля. После уста-
новки базы данных необходимо с по-
мощью Active Administrator, либо Active
Directory Users с MMC и разрешить ау-
дит в Default Domain Controllers Policy.
После чего выполнить gpupdate. Сле-
дующий шаг, настройка утилиты опо-
вещения Event Configuration Utility. В по-
явившемся окне (рис. 1) во вкладке
«Event Definitions» выбираем события,
Рисунок 3. Вид Active Administrator Console
при появлении которых мы хотим по-
лучать оповещение. Список адресов, GPO без их применения в реальной ются различные отчеты. В качес-
которым будет отсылаться уведомле- сети. тве фильтров можно использовать
ние, вводится во вкладке «Defailt Email Resultant Set of Policies (RSoP) – такие параметры, как дата, время,
Adresses». Но можно для отдельно- в этой вкладке производится ана- пользователь, событие и прочие.
го события указать специфический лиз созданных в offline repository по- Group Policy Objects – используя
электронный адрес, для этого нужно литик. эту вкладку, можно просматривать,
вызвать контекстное меню, щелкнув Group Policy Objects by Container – создавать, редактировать, вос-
по нему правой кнопкой мышки. Ес- здесь можно просмотреть группо- станавливать, добавлять к Offline
ли еще имеются сервисы с включен- вые политики и проследить связи, Repository групповые политики.
ным мониторингом событий, добавить отбирая информацию по OU или
их контроль можно во вкладке «Install сайтам. Вывод
DC Agents». На этой же странице отоб- AD Object Restore – в этой вклад- Несмотря на то, что начальная на-
ражается статус агентов и загружают- ке можно восстановить объекты стройка несколько непривычна, в том
ся новые файлы, содержащие собы- Active Directory, без перехода в ре- числе и из-за несколько неинтуитив-
тия. Все зарегистрированные собы- жим восстановления AD. При этом ного интерфейса, в дальнейшем Active
тия сохраняются затем в файле с рас- объектам можно восстановить ста- Administrator оправдает свое приме-
ширением edf. рые пароли либо задать новые. нение, а удобство работы окупит за-
Client Side Troubleshooting – весь- траченное на настройку время. На-
Работа с Active ма удобная функция, позволяющая личие таких возможностей, как Active
Administrator Console соединиться с клиентским компью- Templates, Offline Repository, аудит
При первом запуске консоли управ- тером, позволяя, например, убе- и оповещение о событиях по e-mail,
ления вам предстоит ввести лицензи- диться в том, что новые политики восстановление и прочее, делают его
онный ключ, если у вас его нет, но вы- применены правильно. удобным инструментом при админис-
бираем «Begin Evaluation» и пользу- Active Directory Security – здесь трировании Active Directory. Также хо-
емся программой в течении 30 дней, показан список ваших серверов чется отметить наличие довольно под-
без всяких ограничений функцио- и контейнеров, а также выводят- робной, в том числе и пошаговой доку-
нальности. ся пользователи или группы, име- ментации на английском языке.
Консоль состоит из 10 вкладок: ющие доступ к выбранным объек-
Group Policy History – здесь мож- там. 1. С а й т S c r i p t L o g i c , р а з р а б о т ч и -
но отследить историю изменений Active Templates – здесь создают- ка Active Administrator – ht tp://
групповых политик и при необхо- ся, редактируются и применяются www.scriptlogic.com.
димости произвести откат к пре- Active Templates. 2. Та б л и ц а с р а в н е н и я в о з м о ж н о с -
дыдущему состоянию. Active Directory Auditing – в этой тей Active Administrator 4.0 и GPMC –
Group Policy Offline Repository – вкладке просматриваются сооб- http://www.scriptlogic.com/products/
здесь создаются и редактируются щения системы аудита, генериру- activeadmin/comparisonmatrix.asp.
Как собирать
сетевую статистику
Андрей Бирюков
Наличие сведений о сетевой статистике может оказаться весьма полезным, так как позволяет
оценить состояние сети и запланировать ее модификацию, а также вовремя заметить
возникновение проблем. Предлагаем вам несколько способов сбора сетевой статистики
и применения полученных данных на практике.
Суть проблем для того чтобы иметь представление Рассмотрим все эти уровни по по-
Современные локальные сети имеют, о том, какие пакеты проходят через рядку. Работа на физическом уровне
как правило, довольно сложную струк- сеть, на какие периоды времени при- нас мало интересует, так как опреде-
туру и часто являются гетерогенными, ходятся пиковые нагрузки, сколько па- лить, насколько хорошо работает ка-
то есть состоят из сетевого оборудова- кетов теряется или приходит с ошиб- нал, можно лишь с помощью специ-
ния различных производителей и раз- ками и так далее. ального оборудования, например тес-
нообразных устройств, выполняющих Для того чтобы предложить прин- тера. Исключением может являться
специальные функции. В связи с этим цип классификации, рассмотрим ос- DSL-оборудование (модемы, DSLAM
в сети присутствует разнородный тра- новы сетевых технологий, в частнос- и т. д.), с помощью встроенных в него
фик, который необходимо правильно ти, иерархическую модель ISO OSI. функций можно получать информацию
классифицировать, в противном слу- Как известно, она делит сетевое вза- о состоянии интерфейса, статистику
чае существует риск того, что можно имодействие на семь уровней: по коллизиям и другую информацию.
пропустить критическое изменение в Физический Как получить эту информацию по то-
сетевом трафике определенного ви- Канальный му или иному конкретному оборудова-
да, что в свою очередь влечет поте- Сетевой нию, вы можете узнать в документации
рю или задержку критически важных Транспортный к соответствующей модели.
для бизнеса данных. После проведе- Сеансовый В отличие от физического уровня
ния классификации необходимо соб- Уровень представлений канальный (в англоязычной литера-
рать статистику для каждого класса, Уровень приложений туре именующийся Data Link) гораздо
22
администрирование
более информативен. Его рассмотрим
подробнее чуть позже.
Сбор статистики по сетевому
и транспортному уровням – основ-
ная тема этой сегодня, и большинство
примеров будет связано именно с эти-
ми уровнями.
Оставшиеся три уровня рассматри-
ваться не будут. Причин этому несколь-
ко, во-первых, многообразие различ-
ных протоколов, работающих на вер-
хнем уровне модели OSI, во-вторых, Рисунок 1. Статистика, построенная с помощью MRTG
связанная с этим многообразием слож-
ность в сборе соответствующей статис- тво сообщает о состоянии запущен- дения о попытках несанкционирован-
тики, в частности, отсутствие средств ных процессов, служб и интерфейсов. ного проникновения в сеть. Во втором
для учета пакетов, отправленных оп- Фактически те системные сообщения, случае большое количество пакетов,
ределенным протоколом высокого создаваемые устройством (также име- исходящих из внутренней сети на за-
уровня. Вообще для сбора статистики нуемые логами, журналами событий), крытые порты, может свидетельство-
для определенных протоколов высо- отправляемые на хост, на котором за- вать о том, что на некоторых машинах
кого уровня существуют специальные пущена служба Syslog, (в общем слу- пользователей установлено програм-
утилиты, созданные самими разработ- чае это может быть машина, работа- мное обеспечение, несоответствую-
чиками данного приложения. ющая под управлением Linux), c кото- щее корпоративной политике безопас-
Определившись с тем, какие ста- рого уже можно собирать статистику ности, и, возможно, есть смысл побе-
тистические данные и для каких про- за определенный период. Эти сооб- седовать с некоторыми пользователя-
токолов требуется собрать, теперь оп- щения могут быть как информацион- ми или администраторами.
ределимся с тем, для каких устройств ные, так и сообщения об ошибках, все Однако кроме сбора статисти-
что нужно собирать. Как уже упомина- зависит от настройки протоколиро- ки по запрещенным пакетам иногда
лось выше, локальная сеть содержит вания на конкретном устройстве. Ка- имеет смысл собирать информацию
в себе целый ряд различного оборудо- кую статистику можно собрать с по- и по разрешенным. Приведу пример.
вания, например сервера, маршрути- мощью Syslog? Предположим, при попытке отправить
заторы, коммутаторы, межсетевые эк- Например, в случае если какой-ли- письмо из своей сети, внешнему поль-
раны и т. д. Но при этом каждая груп- бо порт отключился и устройство по- зователю, ваш почтовый сервер полу-
па устройств функционирует на опре- теряло соединение с определенной се- чил сообщение об ошибке 550 (сер-
деленном уровне модели, маршрути- тью. Еще одним примером использова- вис недоступен) или 450 (сервис вре-
заторы на сетевом, коммутаторы на ния Syslog является журналирование менно недоступен), но при этом сер-
канальном, сервера на уровне прило- списков доступа Access Lists. Спис- вер получателя нормально пингует-
жений. Я буду рассматривать сбор ста- ки доступа определяют, каким хостам ся. Это может означать, что ваш вне-
тистики на определенных устройствах, и подсетям разрешен доступ к опре- шний IP-адрес попал в черные списки
для конкретных протоколов. деленным ресурсам посредством за- сетей, из которых идет рассылка не-
данных протоколов через соответству- желательной почты (спама). Сейчас
Статистика на сетевом ющие порты. Хорошим тоном при пос- нередко спам рассылается без ведо-
оборудовании троении ACL является правило «все, ма владельца компьютера с помощью
Сейчас на рынке можно встретить се- что не разрешено, то запрещено». Ру- троянских программ, которые, зара-
тевое оборудование от различных про- ководствуясь этим, ваш список досту- зив машину, превращают ее неболь-
изводителей, обладающих аналогич- па должен содержать правило, кото- шой SMTP-сервер, c которого начина-
ным функционалом для своего клас- рое запрещает весь трафик, который ют автоматически рассылать спам во
са устройств. В связи с этим при рас- не был разрешен (на некотором обору- внешнюю сеть. Для того чтобы опре-
смотрении примеров я не буду привя- довании, приоритет правил определя- делить зараженную рабочую станцию,
зываться только к одному производи- ется их очередностью в списке, на дру- достаточно просто посмотреть в фай-
телю, а буду использовать общие для гом – присвоенным значением приоре- ле журнала Syslog, с какого узла бы-
всех производителей стандарты и тех- тизации). Возвращаясь к задаче сбо- ли отправлены SMTP-сообщения на за-
нологии. Поэтому прежде чем присту- ра статистики, отправляем информа- блокировавший сервер. Вообще лучше
пить к описанию конкретных приме- цию обо всех запрещенных пакетах, всего запретить соединения по 25 пор-
ров, рассмотрим средства сбора ста- на службу syslog на специально выде- ту всем узлам, кроме корпоративного
тистики. ленном для этого хосте. Причем мож- почтового сервера, но, к сожалению,
но протоколировать как сведения о па- это, как правило, не делается, хотя
Syslog кетах, шедших из Интернета во внут- следовало бы.
Сообщения Syslog являются средс- реннюю сеть, так и наоборот. В пер- Данная служба использует прото-
твом, с помощью которого устройс- вом случае мы поможет соберем све- кол UDP, также она реализована прак-
24
администрирование
Другим средством, с помощью которого можно соби- Fragments Reassembly Per Second – фрагментов пере-
рать сетевую статистику, является сценарий Windows Script собрано за секунду;
Host, который будет собирать информацию о количестве Fragments received Per Second – получено фрагментов
полученных и переданных пакетов, а также о пакетах, со- за секунду.
держащих ошибки.
Механизм действия такого сценария довольно прост, Эта статистика нуждается в некотором пояснении.
оригинальную версию можно найти в источнике [5]. Но я Для протокола TCP единицей измерения являются сег-
предлагаю его немного модифицировать, для того что- менты, также здесь фигурируют соединения (Connections),
бы сделать пригодным для практического использова- так как данный протокол использует при работе установку
ния. Для того чтобы автоматизировать процесс сбора све- соединения. Для UDP в контексте данного сценария еди-
дений, я буду собирать данные в документ формата Excel, ницей измерения является датаграмма. А для протокола IP
в котором первая страница посвящена статистике по TCP, кроме датаграмм также учитываются и их фрагменты, что
вторая – по UDP и третья – по IP. При этом получать будем позволяет учитывать также статистику по обработке час-
следующие данные. тей данных, передаваемых этим протоколом.
Для TCP: Следует отметить, что в источнике [5] также имеются
Connection Failures – счетчик неудачных соединений; примеры сценариев для сбора статистики по IPSec и по про-
Connection Active Connection Established – количество токолам IP телефонии. Так что при необходимости их тоже
активных соединений; можно включить в приведенный далее сценарий.
Connection Passive – количество пассивных соедине- Далее приведу пример сценария, выполняющего все
ний; эти действия с необходимыми комментариями.
Connection Reset Segments Per Second – отброшено сег-
ментов за секунду; Листинг 1. Сценарий, собирающий статистику по протоколам
Segments Received Per Second – получено сегментов strComputer = "." // используется локальная машина
за секунду; Set objWMIService = GetObject("winmgmts:" ↵
& "{impersonationLevel=impersonate}!\\" ↵
Segments Retransmited Per Second – транслировано сег- & strComputer & "\root\cimv2")
ментов за секунду; set objRefresher = ↵
CreateObject("WbemScripting.SWbemRefresher")
Segments Sent Per Second – отправлено сегментов за се- // объекты, необходимые для запуска сценария
кунду. Set colItems = objRefresher.AddEnum _
(objWMIService, ↵
"Win32_PerfFormattedData_TCPIP_TCP").objectSet
Для UDP: // объект, с помощью которого собираются данные по TCP
Set colItems1 = objRefresher.AddEnum _
Datagrams No Port Per Second – получено датаграмм (objWMIService, ↵
на неверный порт в секунду; "Win32_PerfFormattedData_TCPIP_UDP").objectSet
// объект, с помощью которого собираются данные по UDP
Datagrams Per Second – отправлено датаграмм в секун- Set colItems2 = objRefresher.AddEnum _
ду; (objWMIService, ↵
"Win32_PerfFormattedData_TCPIP_IP").objectSet
Datagrams Received Errors – получено с ошибками; // объект, с помощью которого собираются данные по IP
Datagrams Received Per Second – датаграмм получено objRefresher.Refresh // обновление счетчиков
в секунду.
Const xlDiagonalDown = 5
Const xlDiagonalUp = 6
Для IP: Const xlNone = -4142
Datagrams Forwarded Per Second – датаграмм передано Const xlContinuous = 1
Const xlThin = 4
за секунду; Const xlThick = 4
Datagrams Discarded – отклонено; Const xlEdgeLeft = 7
Const xlEdgeTop = 8
Datagrams Received Header Errors – получено с ошибка- Const xlEdgeBottom = 9
ми в заголовке; Const xlEdgeRight = 10
Const xlInsideVertical = 11
Datagrams Received Per Second – датаграмм получено Const xlInsideHorizontal = 12
за секунду; Const xlAutomatic = -4105
Const xlCenter = -4108
Datagrams Received Unknown port – получено на неиз- Const ForReading = 1
вестный порт; Const ForWriting = 5
// набор констант, необходимых для создания документа Excel
Datagrams Sent Per Second – датаграмм отправлено
за секунду; Set oE = CreateObject("Excel.Application")
oE.Visible = false
Fragments Per Second – всего фрагментов (частей да- oE.Workbooks.Add
таграмм) за секунду; // создаем новый документ Excel
oE.DisplayAlerts = False
Fragments Failures – фрагменты с ошибками; 'oE.Sheets(4).Delete
Fragments Datagrams Per Second – фрагменты датаграмм oE.DisplayAlerts = True
// определяем количество страниц
за секунду; Set s = oE.Sheets(1)
Fragments Reassembly Failures – неудачные попытки пе- s.Name = "Статистика по TCP"
// название для первой страницы
ресборки фрагментов; Set s1 = oE.Sheets(2)
Fragments Created Per Second – создано фрагментов за s1.Name = "Статистика по UDP"
// название для второй страницы
секунду; Set s2 = oE.Sheets(3)
26
bugtraq
Сергей Алаев
Надоела пустая трата времени на ведение адресных книг в текстовом формате?
Возможно, использование сервера каталогов будет лучшим решением проблемы.
ных возможностей (правила, тригге- как Outlook Express, Mozilla Thunderbird Рабочий адрес
ры, встроенные языки). Продукт 1С и просто Mozilla. Итак, приступим. Почтовый индекс
28
администрирование
Собираем из портов:
# cd /usr/ports/databases/unixODBC
# make && make install
# cd /usr/ports/databases/openldap23-client
# make && make install
# cd ../openldap23-server
# make WITH_ODBC=YES WITH_ODBC_TYPE=unixodbc
# make install
# slappasswd –h {MD5} –s secret Возможно, вам придётся установить утилиту sudo в раз-
[PostgreSQL]
Description = PostgreSQL driver for Linux & Win32
Driver = /usr/local/lib/libodbcpsql.so
Setup = /usr/local/lib/libodbcpsqlS.so
FileUsage = 1
# mcedit /usr/local/etc/odbc.ini
[PostgreSQL]
Description = Test to Postgres
Driver = PostgreSQL
Trace = Yes
TraceFile = sql.log
Database = ldap
Servername = 127.0.0.1
UserName =
Password =
Port = 5432
Protocol = 6.4
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings =
# mcedit /var/db/pgsql/postgresql.conf template1=# CREATE USER ldap WITH SYSID 100 PASSWORD '123456'
NOCREATEDB NOCREATEUSER;
listen_addresses='localhost'
Теперь создадим базу данных для данной адресной
Для версии 7.x необходимо указать: книги:
Для запуска PostgreSQL выполните команду: В данном случае очень важно использовать коди-
ровку UNICODE, т.к. OpenLDAP будет добавлять дан-
# /usr/local/etc/rc.d/010.pgsql.sh start ные, содержащие русские символы в юникодной коди-
ровке, а не SQL-ASCII. Использование данной кодиров-
ки в базе данных позволит корректно отображать симво-
Настройка UnixODBC лы на русском при непосредственном доступе к таблицам
Для настройки UnixODBC необходимо создать два файла PostgreSQL. Отсоединяемся и создаем таблицы под новым
следующего содержания: пользователем ldap к вновь созданной базе ldap:
30
администрирование
# psql –h 127.0.0.1 –d ldap –U ldap –p 5432 ↵ В браузере заходим на http://192.168.7.1/phpldapadmin/.
–W < /usr/local/scripts/main.sql
Дмитрий Столяров
Если становится сложным справляться с администрированием множества служб на одном
сервере или вы не хотите давать привилегии суперпользователей другим администраторам,
попробуйте распределить службы по виртуальным серверам.
В
наше время неудержимого про- В этой статье рассматривается с нулевым номером и обладают боль-
гресса информационных техно- технология Linux-VServer (http://linux- шими возможностями, они имеют до-
логий и развития глобальных се- vserver.org). Описываются основные ступ к процессам и данным всех вирту-
тей многим системным администрато- возможности, а также вы найдете инс- альных серверов. В файловой системе
рам приходится сталкиваться с зада- трукции по установке программного главного сервера корни файловых сис-
чами, связанными с созданием ресур- обеспечения, и настройке виртуаль- тем виртуальных серверов расположе-
сов для широкого пользования. С уве- ных серверов. ны в некоторой директории.
личением объема таких ресурсов, на- VPS внутри выглядит как полноцен-
ходящихся в руках одного админист- Основные возможности ная Linux-система. Вы можете предо-
ратора, растет сложность администри- Технология Linux-VServer позволяет со- ставить права root на него и совершен-
рования и, как правило, страдает бе- здавать несколько виртуальных сер- но не бояться, что как-то могут быть
зопасность. Встают вопросы частич- веров (VPS), работающих независи- повреждены другие виртуальные сер-
ного делегирования административ- мо под управлением одного ядра опе- веры или главный сервер. Все серви-
ных полномочий. Техники VPS (Virtual рационной системы. сы, такие как электронная почта, ба-
Private Server) и VDS (Virtual Dedicated Каждый виртуальный сервер свя- зы данных, Web, SSH, могут быть за-
Server) позволяют решать такие за- зан с одним контекстом, в котором вы- пущены без модификаций (или с не-
дачи – задачи «эффективного раз- полняются его процессы. Контекст – которыми минимальными модифика-
деления целого на меньшее». В отли- это окружение, объединяющее группу циями) на виртуальном сервере (спи-
чие от других небезызвестных техно- процессов в системе, и отделяющее их сок программ, с которыми возникают
логий, таких как VMWare и Xen, VPS от процессов, не входящих в этот кон- проблемы, вы можете можете просмот-
предоставляет минимальную виртуа- текст. Имена пользователей и групп, реть здесь: http://wiki.linux-vserver.org/
лизацию. Подробнее различные виды а также их идентификаторы принад- ProblematicPrograms). Каждый VPS мо-
виртуализации описаны здесь: http:// лежат контексту. Процессы главного жет обладать как одним IP-адресом,
en.wikipedia.org/wiki/Virtualization. (корневого) сервера входят в контекст так и несколькими.
32
администрирование
Для виртуального сервера может быть настроено мно- Опции, отвечающие за совместимость со старым управ-
жество параметров и ограничений. Вот наиболее часто ис- ляющим программным обеспечением, и не представляющие
пользуемые из них: в нашем случае никакого интереса. Их надо отключить.
Место, занимаемое на диске и количество индексных
Linux-VServer -> Show a Legacy Version Number (VSERVER_LEGACY_VERSION=n)
дескрипторов (файлов). Linux-VServer -> Enable Legacy Kernel API (VSERVER_LEGACY=n)
Объем физической и виртуальной памяти.
Доля использования мощности процессора и список Следующая опция отвечает за устаревшую поддержку
процессоров, на которых может выполняться VPS. сети в виртуальных серверах, эта поддержка, как написа-
Максимальное количество процессов, принадлежащих но в документации, нужна:
контексту.
Linux-VServer -> Disable Legacy Networking Kernel API (CONFIG_VSERVER_NGNET=n)
Для каждого VPS могут отслеживаться такие показа- Опция, отвечающая за то, чтобы виртуальные серверы
тели, как: видели только свои процессы (в отличие от главного сер-
Использованное процессорное время. вера, который может просматривать процессы всех VPS
Количество совершенных системных вызовов fork (с его (с помощью специальных утилит):
помощью создаются новые процессы).
Linux-VServer -> Enable Proc Security (VSERVER_PROC_SECURE=y)
Количество полученных и переданных сетевых паке-
тов. Опция, отвечающая за возможность жесткого управле-
ния процессами. Если VPS превысил свой лимит процес-
Программное обеспечение сорной мощности и для него установлено жесткое управ-
Операционная система GNU/Linux; Linux-ядро 2.6.17 ление, выполнение процессов контекста будет замороже-
(http://kernel.org). но на некоторый промежуток времени (подробнее смотреть
Linux-VServer Kernel Patches 2.0.21 (http://wiki.linux-vserver. «Ограничение ресурсов»):
org/Downloads).
Linux-VServer -> Enable Hard CPU Limits (VSERVER_HARDCPU=y)
Linux-VServer Userspace Utilities 0.30.210 (http://wiki.linux-
vserver.org/Downloads). Следующая опция отвечает за ограничение времени
простоя контекста, она позволяет добиться большей интер-
Также потребуется образ, который будет использовать- активности (меньшего времени отклика), но и сильно уве-
ся на VPS. Вот некоторый список архивов, содержащих го- личивает перегрузку, связанную с планированием процес-
товые образы: сов (отправкой их на выполнение). Оставлю выбор на ва-
http://mirrors.sandino.net/vserver/images; ше усмотрение:
http://debian.marlow.dk/vserver/guest; Linux-VServer -> Limit The IDLE task (VSERVER_HARDCPU_IDLE)
http://www.fumanchu.com/vserver;
http://lylix.net/vps+templates/func,select/id,1; Опция, отвечающая за разделение битов в идентифика-
http://distfiles.gentoo.org/experimental/x86/vserver; торах пользователя и группы на биты, характеризующие но-
http://distfiles.gentoo.org/experimental/amd64/vserver. мер контекста, и биты являющиеся идентификатором поль-
зователя внутри VPS. Изменяя эти числа, можно достичь
Отличается такой образ от полноценной Linux-системы разного максимального числа возможных групп и пользо-
обычно измененными скриптами инициализации, а в осо- вателей в системе. Используется это при сохранении при-
бенности – скриптами, направленными на проверку целос- надлежности файла к конкретному VPS в файловой систе-
тности корневой файловой системы и т. п. ме. Рекомендую оставить значение по умолчанию:
Разумеется, никто не отменяет возможности самосто- Linux-VServer -> Persistent Inode Context Tagging -> UID24/GID24 (INOXID_UGID24=y)
ятельного создания образа на основе используемого ва-
ми дистрибутива. Опция отвечает за поддержку встроенного в ядро NFS
демона:
Установка поддержки Linux-VServer Linux-VServer -> Tag NFSD User Auth and Files (XID_TAG_NFSD=n)
в ядре
Скачаем ядро, разархивируем его и добавим патч: После настройки этих опций скомпилируем и устано-
вим ядро, поправим соответствующим образом загрузчик,
# wget http://www.kernel.org/pub/linux/kernel/v2.6 ↵ а потом не забудем перезагрузиться:
/linux-2.6.17.13.tar.bz2
# wget http://ftp.linux-vserver.org/pub/kernel/vs2.0 ↵
/patch-2.6.17.13-vs2.0.2.1.diff.bz2 # make bzImage modules modules_install install
# tar -xjf linux-2.6.17.13.tar.bz2
# bunzip2 patch-2.6.17.13-vs2.0.2.1.diff.bz2
# cd linux-2.6.17.13
# patch -p1 < ../patch-2.6.17.13-vs2.0.2.1.diff
# make menuconfig Устанавливаем программное
обеспечение для управления VPS
После того, как вы примените патч к ядру, в меню кон- Для работы утилит нам понадобится программа vconfig
фигурации появится новая секция «Linux-VServer», ей мы (http://www.candelatech.com/~greear/vlan.html).
и уделим внимание. Скачаем и разархивируем утилиты:
# make
# make install
Создание VPS
Дополним переменные окружения новыми путями Для начала нужен образ VPS. Мы выберем для себя образ
(это лучше прописать, например, в bashrc): на основе Gentoo. Скачаем и распакуем его:
Или, в случае fstab, это будет строчка вида: # vserver testvps build -m skeleton --context 5 ↵
--initstyle plain
34
администрирование
хивы исходных файлов, используемые пакетным менедже- # vserver testvps enter
# ifconfig
ром emerge.
Запустим наш новый виртуальный сервер: Выход из консоли VPS осуществляется стандартно: ком-
бинацией клавиш <Ctrl+D> или командой logout.
# vserver testvps start Если по аналогии создать второй виртуальный сер-
вер и присвоить ему IP-адрес из той же сети (например,
Посмотрим информацию о запущенных серверах: 192.168.0.3) серверы смогут осуществлять коммуникации
друг с другом.
# vserver-stat
CTX PROC VSZ RSS userTIME sysTIME UPTIME NAME Архитектурные рекомендации
0 106 1.6G 744.4M 36m41s10 6m39s70 17h45m58 root server
5 1 1.4M 492K 0m00s21 0m00s13 0m00s75 testvps
Наиболее востребованной технология VPS оказалась для
создания хостинговых решений. Большую актуальность
Обратите внимание, что главный сервер представляет- она имеет и в образовательной среде, так как предостав-
ся как VPS с номером 0 и именем «root server». ляет возможность без последствий давать привилегии су-
Для входа в консоль VPS можно использовать следу- перпользователя (root). А как без них обучить админист-
ющую команду: рированию?
Рассмотрим четыре способа организации доступа к вир-
# vserver testvps enter туальным серверам. Некоторые из них могут быть исполь-
зованы для организации публичного (для неограниченной
аудитории) доступа, другие – для групп пользователей ко-
Настройка сети в VPS нечного размера. Выбирая наиболее эффективные вари-
Прежде всего перейдем в каталог с конфигурацией ин- анты доступа в конкретной ситуации и правильно комби-
терфейсов виртуального сервера и создадим директорию нируя их, можно добиться больших гибкости, удобства ис-
для первого интерфейса: пользования и надежности.
Укажем псевдоним устройства, создаваемого при ини- Приватный IP + Port Forwarding (DNAT)
циализации VPS: Этот вариант очень удобен, когда вы хотите предоставить
доступ к одному или нескольким сервисам, запущенным
# echo 'testvps' > name на VPS, например, для администрирования.
VPS-серверам выделяются IP-адреса из приватного диа-
Настроим IP-адрес и маску сети: пазона некоторой виртуальной сети. Для нужных сервисов
на VPS-серверы пробрасываются порты с публичных IP-ад-
# echo '192.168.0.2' > ip ресов, привязанных к самому серверу. Таким образом, об-
# echo '24' > prefix
ращаясь на один и тот же IP-адрес, например, по портам
Перезагрузим VPS: 21 (FTP) и 80 (HTTP), мы можем в действительности обра-
щаться к разным VPS.
# vserver testvps restart Основным недостатком такой реализации является то,
что она совершенно не пригодна для HTTP-хостинга. Ско-
Для того чтобы посмотреть получившийся результат, рее всего, вас не поймут, если вы предложите одним сво-
воспользуемся командой ip (входит в iproute2: http://linux- им клиентам обращаться к своему сайту по порту 1080,
net.osdl.org/index.php/Iproute2). а другим – по 8080, что простительно в случае с админис-
тративным доступом.
# ip addr | grep 192.168.0.1
Приватный IP + VPN
На экране мы увидим: Так же, как и в предыдущем варианте, VPS назначаются
приватные IP-адреса. В получившуюся приватную сеть ор-
inet 192.168.0.2/24 brd 192.168.0.255 scope global eth0:testvps
ганизовывается VPN-доступ с использованием, например,
Обратите внимание, что полное имя устройства ви- PPTP или OpenVPN, или IPSec.
да <имя>:<псевдоним> не может быть в длину больше 15 Этот вариант может быть использован не для публич-
символов. ного доступа, а для административного или для досту-
В VPS можно увидеть результат: па некоторой небольшой группы людей. Многие VPN-ре-
Приватный IP + HTTP-прокси
На главном сервере или на одном из VPS с публичным IP- Настройка ограничений ресурсов
адресом мы запускаем реверсный HTTP-прокси-сервер, Перейдем в директорию с конфигурацией виртуального
перенаправляющий, в зависимости от доменного име- сервера:
ни, запросы внутрь виртуальной сети на нужные VPS. Та-
ким образом, через 80 порт на одном публичном IP мы мо- # cd /usr/local/vserver/etc/vservers/testvps/
# mkdir rlimits
жем предоставлять HTTP-доступ к сайтам, расположен- # cd rlimits
ным на разных VPS. В качестве реверсного прокси-серве-
ра прекрасно подходит продукт российского производства Существуют следующие ресурсы: cpu, fsize, data, stack,
nginx (http://sysoev.ru). core, rss, nproc, nofile, memlock, as, locks. Более подробно
Этот вариант, к большому сожалению (в силу внутрен- о типах ресурсов можно прочитать в man setrlimit.
него устройства протокола), пригоден только для HTTP. В директории создаются файлы с именами <имя
ресурса>.min, <имя ресурса>.soft, <имя ресурса>.hard,
Настройка ограничений дискового в которых и определяются конкретные ограничения для
пространства ресурсов.
Для настройки перейдем в директорию с конфигурацией В файле /usr/local/vserver/etc/vservers/testvps/flags вы
VPS и создадим там каталог: можете установить флаги, рассмотрим некоторые часто
используемые:
# cd /usr/local/vserver/etc/vservers/testvps/ virt_uptime – показывать внутри VPS время работы вир-
# mkdir dlimits
# mkdir dlimits/0 туального сервера.
# cd dlimits/0 virt_load – показывать индикатор загрузки VPS,
а не главного сервера.
Укажем директорию, для которой мы устанавливаем sched_hard – указывает планировщику замораживать
ограничения: процесс, если он превысил лимит мощности процессо-
ра.
# echo '/var/vservers/testvps' > directory sched_prio – указывает планировщику понижать при-
оритет процесса, если он превысил лимит процессора.
Ограничим количество индексных дескрипторов фай- fork_rss – запрещать системный вызов fork, если пре-
лов: вышен rlimit rss.
36
безопасность
Михаил Кондрин
С помощью библиотеки SASL сетевые приложения могут автоматически договориться
об использовании определенного механизма подтверждения идентичности пользователя.
Как осуществить взаимодействие библиотеки SASL c Kerberos?
Общие свойства SASL потребуется приложить определенные тевых протоколов – SMTP, IMAP и/или
Преимущества протокола Kerberos – усилия по анализу используемых про- POP3, их конфиденциальности и за-
сильная криптографическая защи- граммных пакетов и выбору тех из них, щиты от несанкционированного до-
та паролей и данных, единая система что поддерживают Kerberos. ступа. В принципе способов добиться
управления паролями пользователей Любой из вас в своей работе на- решения этой задачи может быть не-
и возможность реализации single sign- верняка сталкивается с протокола- сколько (см., например, [1, 2, 3, 4]), но
on-системы (система единой регист- ми отправки и получения электрон- решение с помощью Kerberos пред-
рации пользователей). Основной не- ной почты. Электронная почта – ста- ставляется мне наиболее простым и
достаток – сложная программная реа- рый и популярный протокол. И именно удобным. Удобство в данном случае
лизация механизма аутентификации. потому, что протокол старый (создан- подразумевает не только простоту ад-
Для того чтобы протокол, точнее, сер- ный в те времена, когда разработчи- министрирования, но и удобство поль-
вис и клиентское приложение, исполь- ки не слишком задумывались о безо- зователей, которые получают единооб-
зовали аутентификацию пользовате- пасности своих продуктов) и популяр- разный способ доступа к протоколам
лей через Kerberos, соответствующий ный (широкий выбор потенциальных чтения и отправки почты на основании
код должен быть реализован как в кли- жертв), электронная почта является своего системного пароля как изнутри,
ентской, так и серверной частях прото- удобной целью для злоумышленников. так и извне локальной сети (в послед-
кола. Поэтому, если вы попытаетесь ор- При этом ваша задача состоит в орга- нем случае есть некоторые оговорки).
ганизовать single sign-on-систему, вам низации безопасности нескольких се- Немаловажным обстоятельством яв-
38
безопасность
ляется и то, что Kerberos – хорошо мас-
штабируемый протокол, который раз-
рабатывался в расчете на огромные
университетские сети.
Ключевой элемент, обеспечиваю-
щий взаимодействие Kerberos и поч-
товых служб, – пакет SASL (Simple
Secure Authentication Layer), разрабо-
танный в Университете Карнеги-Мел-
лон. Помимо реализации от CMU (по-
лучившей название Cyrus-SASL) су-
ществует GNU-версия gsasl [5], разра-
батываемая практически единолично
шведским программистом Джеффсо-
ном. Несмотря на то что gsasl доволь-
но быстро развивается, эта реализа-
ция все еще считается бета-версией
и значительно уступает по надежнос-
ти Cyrus-SASL. Всего университетом
Карнеги-Меллон было выпущено две
реализации библиотеки SASL, разли-
чающиеся между собой по API и фор-
мату хранения пользовательских дан-
ных, хотя и совместимые по протоко-
лу. В настоящее время вторая версия Структура SASL
SASL практически полностью вытесни-
ла первую, и поэтому под SASL я буду раторами, каждый из которых имеет значения принимается решение о про-
понимать именно вторую версию (кото- свой взгляд на политику сетевой бе- должении или остановке цикла аутен-
рую иногда обозначают как SASL2). зопасности. Предположим, что один тификации. Цикл прекращается, когда
Сегодня вы узнаете, как настроить из них сконфигурировал сервис та- возвращаемое значение станет рав-
SASL применительно к использованию ким образом, что тот позволяет ау- ным SASL_OK, что означает успешную
в системе электронной почты, но функ- тентифицировать пользователя че- аутентификацию, или функция вернет
ции SASL гораздо шире, чем просто ин- рез Kerberos5 (условное обозначение сообщение об ошибке, что означает от-
терфейс между почтовыми службами механизма – GSSAPI), с помощью па- каз в аутентификации. Хотя число ша-
и Kerberos. SASL был задуман в качес- роля, закодированного по алгоритму гов, которое требуется для подтверж-
тве своего рода диспетчера, позволя- MD5 (CRAM-MD5), и простого тексто- дения идентичности пользователя, мо-
ющего сетевым клиентам и серверам вого пароля (PLAIN). Если в клиенте жет быть различно для разных меха-
договориться о механизме аутентифи- настроена поддержка какого-нибудь низмов аутентификации, да и спосо-
кации, который клиент должен исполь- из этих механизмов, то SASL позволя- бы ввода пароля (или его отсутствие)
зовать, чтобы подключиться к серве- ет провести аутентификацию посредс- в клиентском приложении могут быть
ру. Более того, библиотека, входящая твом именно этого механизма, причем различными, но сам алгоритм аутен-
в состав SASL, позволяет унифициро- в случае множественного пересечения тификации при этом остается тем же
ванным образом провести эту аутен- будет выбран наиболее сильный. Про- самым.
тификацию независимо от выбранно- граммная реализация выглядит оди- Теперь небольшой обзор возмож-
го механизма. Прозрачность процеду- наково – разработчик должен иници- ностей SASL. Механизмы аутентифи-
ры аутентификации через SASL поз- ализировать библиотеку (c помощью кации, реализованные в Cyrus-SASL,
воляет как клиенту, так и серверу од- функций sasl_client/server_new, ..._init, условно можно разделить на три груп-
новременно поддерживать несколь- ..._start) и затем войти в цикл аутенти- пы (см. рисунок). Первая группа – на-
ко различных типов аутентификации фикации. На каждом шаге цикла про- иболее слабые механизмы – это аутен-
без необходимости программно реа- грамма должна прочитать блок дан- тификация посредством открытых тек-
лизовывать каждый из них – разработ- ных, полученный по сети (реплика кли- стовых паролей PLAIN и LOGIN. Раз-
чик может положиться на библиотеку ента/сервера), и передать его функ- личие между ними только в формате,
SASL, что та выберет наиболее подхо- ции sasl_client/server_step. На выходе в котором имя и пароль пользователя
дящий из набора, предлагаемого кли- функции контролируется возвраща- передаются по сети от клиента к сер-
ентом или сервером. емое значение и один из ссылочных веру. Это очень слабые механизмы
Как это выглядит на практике? Кли- параметров. Ссылочный параметр пе- (слабее них только ANONYMOUS, от-
ент и сервер могут находиться в раз- редается по сети без дополнительной крывающий беспарольный доступ лю-
ных сетях, которые построены и скон- обработки, а возвращаемое значение бому пользователю), поскольку паро-
фигурированы разными админист- анализируется, и в зависимости от его ли могут быть перехвачены злоумыш-
40
безопасность
SASLDB по умолчанию требует в качестве DB-движка После того как все эти условия выполнены, можно на-
Berkley DB [9]. С этим связана одна небольшая проблема. чать тестирование SASL. Вначале, войдя как root на одном
Так же, как и SASL, многие программы, такие как heimdal, из терминалов, запускаем серверную часть:
Postfix и Cyrus-IMAP, используют Berkley DB для хранения
своих собственных данных, например, псевдонимов поль- $./server -p 3001 -s host -m GSSAPI
зователей в Postfix. Многие дистрибутивы Linux включа-
ют в себя несколько версий Berkley DB (от 2-й до 4-й), при- Опция -p задает порт, который будет прослушивать сер-
чём эти версии несовместимы между собой, и линковка вер. Имя сервиса определяется с помощью опции -s host,
какой-нибудь программы с разными версиями Berkley-DB причем необходимо указать только первую часть имени при-
ни к чему хорошему не приведёт. К примеру, если попы- нципала, к которой затем автоматически добавляются имя
таться скомпилировать SASL с 4-й версией, в то время как компьютера и имя сектора Kerberos. Можно выбрать любо-
heimdal, используемый SASL, слинкован с 3-й, то в резуль- го другого принципала, отличного от host/kdc.myrealm.ru,
тате библиотека SASL будет неработоспособна. Грубо гово- лишь бы его ключ присутствовал в keytab-файле. Список
ря, динамический загрузчик просто не разберётся, из какой- доступных механизмов определяется опцией -m, здесь мы
именно библиотеки вызывать функцию, если она присутс- ограничиваемся только GSSAPI-механизмом.
твует в обеих библиотеках. При конфигурации по умолча- Затем на другом терминале запускаете клиентскую
нию интересующих нас программ автоматически выбира- часть. В первую очередь получим супербилет (TGT) для ря-
ется самая новая версия BerkleyDB, которую удалось найти дового пользователя (kinit mike) и от имени этого же поль-
в системе. В то же время могут возникнуть проблемы сов- зователя запускаем клиента:
местимости Cyrus-SASL и почтового сервера Postfix, кото-
рый не поддерживает 4 версию BDB. Поэтому следует ог- ./client -p 3001 -s host -m GSSAPI kdc.myrealm.ru
раничиться только третьей версией и на время сборки про- receiving capability list... recv: {6}
грамм деинсталлировать BerkleyDB4 (если она присутству- GSSAPI
GSSAPI
ет у вас в системе), или, по крайней мере, удалить ее заго- please enter an authorization id: mike
ловочные файлы. У меня все упомянутые выше програм- ...
successful authentication
мы были скомпилированы с BerkleyDB-3.3. closing connection
42
безопасность
Cергей Яремчук
Сегодня электронная почта – центральное звено в системе обмена информацией благодаря
скорости доставки и простоте в использовании. Обеспечить защиту электронной переписки –
задача любого администратора.
Н
е секрет, что электронную почту го, что важная информация будет от- ся исключительно открытые стандар-
можно перехватить, – достаточ- правлена незашифрованной. ты. На рабочих местах никакого допол-
но установить сниффер и затем В журнале уже рассматривал- нительного программного обеспече-
спокойно читать всю проходящую ин- ся вариант построения защищенной ния не требуется. При этом SecExMail
формацию. Низкий уровень компью- почтовой системы на основе Tiger Gate довольно легко интегрирует-
терной грамотности некоторых пользо- Envelopes [1], в SecExMail Gate приме- ся в существующую инфраструктуру.
вателей только упрощает этот процесс. нен аналогичный принцип. После установки сервера на компью-
Можно, конечно, заставить пользова- терах клиентов потребуется лишь за-
телей самостоятельно зашифровы- Как работает дать новые параметры, указав в на-
вать перед отправкой всю корреспон- SecExMail Gate стройках в качестве SMTP/POP3-сер-
денцию (большинство почтовых клиен- SecExMail Gate – почтовый прокси- вера SecExMail Gate. На самом же
тов умеют делать это автоматически), сервер, который подключается меж- SecExMail Gate необходимо пропи-
но сразу же станет вопрос об управле- ду почтовым клиентом и SMTP/POP3- сать данные корпоративного почтово-
нии ключами. Кроме того, пользова- сервером, и в реальном времени шиф- го сервера. Хотя в некоторых случаях,
тель должен будет запоминать порядок рует все проходящие через него элек- чтобы не бегать по этажам, наверное
отправки сообщений различным кор- тронные сообщения, обеспечивая кон- проще на место почтового сервера
респондентам, возможность напутать фиденциальность корпоративной поч- поставить SecExMail Gate, а старому
здесь все-таки довольно велика. Всег- ты, передаваемой по незащищенным серверу дать новый адрес (не забыв
да будет существовать вероятность то- сетям. Для шифрования используют- поменять настройки DNS). Пользо-
44
безопасность
фиката будет выдано сообщение, в ко- рианта работы SecExMail Gate. Ина-
тором указано имя файла ключа и сер- че сообщение дальше SecExMail Gate
тификата (они сохраняются в каталог, не пройдет, почтовый сервер не смо-
в который установлен сервер). Орга- жет зарегистрироваться, чтобы пере-
низации, купившие лицензию, могут дать или принять сообщение. После
подписать в Bytefusion Ltd. созданный внесения изменений на вкладке на-
сертификат, отослав файл по адресу жимаем «Apply» для записи измене-
support@bytefusion.com. ний и перезапуска сервера.
Теперь все готово для настройки Вкладка «Service» предназначе-
сервера SecExMail Gate. на для управления работой сервиса
SecExMail Gate. Здесь можно просмот-
Настройка и запуск реть статус работы, остановить и за-
Рисунок 3. Настройка параметров
SecExMail Gate пустить сервер, включить журнали- защищенного POP3-соединения
Программа настройки SecExMail Gate рование событий и подключение кли-
проста и понятна, зная все необходи- ентов. Для получения более подроб- Соответствие между пользователь-
мые для работы параметры, весь про- ной информации включите флажок скими почтовыми адресами и группа-
цесс не займет более 5 минут. Для на- «Verbose». Журнал работы сервера со- ми задается во вкладке «Groups». За-
стройки SMTP-туннеля заходим в од- храняется в текстовый файл, просмот- писи, в которой имеют приблизитель-
ноименную вкладку и устанавливаем реть записанную в него информацию но такой вид:
флажок «Enable SMTP Relay» (рис. 2). можно во вкладке «Events». Для каж-
Слева в области «E-Mail Client» изме- дого клиента в подкаталоге client-logs info@test.com administrations
support@test.com administrations
няем при необходимости номер пор- создается свой текстовый файл, в ко- sales@test.com sales
та для входящей почты (по умолча- торый заносятся все связанные с ним fedja@test.com sales
нию 25), а справа указываем порт, имя события. В имени файла использован
или IP-адрес почтового сервера, кото- IP-адрес, с которого зашел клиент, Для удобства хранения и обра-
рому будут перенаправляться сообще- например 127_0_0_1.txt. Во вкладке ботки вся информация хранится
ния после зашифровки. Теперь пере- «Clients Log» можно просмотреть все в «comma separated values» в фай-
ходим во вкладку «POP3», и аналогич- эти файлы. ле groupkes.csv. После внесения из-
ным образом настраиваем параметры Д л я х ран е н и я к л юч е в ы х д ан - менений напрямую в файл необходи-
транзита входящих сообщений. В на- ных в зависимости от назначения мо зайти в эту вкладку и нажать кноп-
стройках почтовых клиентов указыва- используются различные вкладки. ку «Re-read groups file», чтобы инфор-
ем новые параметры, установив в ка- Так, во вкладке «Keys» прописывают- мация стала доступна SecExMail Gate.
честве сервера приема передачи со- ся публичные и закрытые ключи, при- Для работы указанной схемы должны
общений SecExMail Gate. надлежащие внутренним пользовате- быть созданы ключи, соответствую-
Защищенные с помощью SSL POP3 лям компании. Для создания нового щие адресам administrations@test.com
и SMTP-соединения настраиваются ключа необходимо нажать «New key», и sales@test.com. И наконец публичные
в других вкладках. Но в начале не- после чего появится знакомый SecEx ключи всех корреспондентов хранятся
обходимо указать на файлы серти- KeyGenerator. Из этого же окна можно во вкладке «Friends».
фикатов и ключей, сгенерированных экспортировать или импортировать Для генерирования случайных чи-
ранее с помощью утилиты Generate любой ключ. сел SecExMail Gate использует инфор-
SSL Certificate Request. Переходим В SecExMail Gate предусмотрены мацию, взятую из системных процес-
во вкладку «SSL», в поле «SSL/TSL три вида ключей, что позволяет наибо- сов, файлов в системных и временных
Tunables» выбираем параметры тун- лее оптимально распределять ключе- каталогах. Все возможные настройки
неля (TSL v.1, SSL v.2 или 3), и мини- вую информацию: доступны на вкладке «Entropy».
мальный размер шифра (Min.Cipher Wildcard keys – представляют об- SecExMail Gate является простым
Bits). И, наконец, в «Certificate File» щий ключ без привязки к опреде- и в то же время весьма эффективным
и «Private Key File» указываем создан- ленному почтовому адресу, то есть инструментом, позволяющим быст-
ный сертификат и ключ. После чего сообщение, зашифрованное с его ро наладить обмен зашифрованными
потребуется перезапустить сервер. Те- помощью, может предназначаться почтовыми сообщениями. Для поль-
перь переходим во вкладку «SMTPS» любому пользователю компании, зователей его применение будет про-
и прописываем параметры защищен- почтовый адрес которого заранее зрачным, а удобство при работе с клю-
ного соединения, указав номер порта, не устанавливается. чами заметно упрощает его админис-
отличный от используемого во вклад- Personal keys – этот ключ уже при- трирование.
ках «SMTP» и «POP3» (по умолчанию вязан к определенному почтовому
стоят стандартные 465 и 995). Учтите, адресу и предназначен для индиви- 1. Яремчук С. Защищенная почтовая сис-
что если основной почтовый сервер дуального обмена сообщениями. тема с Tiger Envelopes. //Системный ад-
также использует защищенное соеди- Department keys – ключ ассоции- министратор, № 6, 2005 г. – C. 61-63.
нение, то для работы с ним возможно рован с отделом или группой поль- 2. Cайт By tefusion Ltd. – http://w w w.
применение только защищенного ва- зователей. bytefusion.com.
Растущая угроза:
руткиты Win32
Артем Баранов
Для хакеров и вирусописателей во все времена был актуален вопрос, как сделать работающий
код, файл на диске или раздел реестра невидимым для программ, работающих в системе.
Решение этого вопроса пришло из мира UNIX и называется rootkit.
П
од руткитом понимается техно- шить проблему, если будете понимать, ют на нулевом кольце или на уровне
логия, используя которую, мож- как устроены руткиты, для чего они ядра NT.
но скрыть в системе что угод- нужны, с помощью чего можно их уда-
но, в том числе работающий процесс, лять и как это делать вручную. В статье Руткиты
файл на диске, раздел реестра. При- рассмотрены руткиты для Windows NT пользовательского
меняя такую технологию, хакер мо- 5 (Windows 2000, 2003 Server, XP). режима
жет скрыть раздел в реестре, куда за- В Windows существует два вида Руткиты пользовательского режима
писался бэкдор или работающий кли- руткитов, различных в схеме работы легче в реализации, чем руткиты ре-
ентский модуль трояна. С появлением и устройстве. Первые, руткиты поль- жима ядра. Первые в свою очередь
такой технологии в Windows у адми- зовательского режима, функциони- можно разбить на две группы. К одной
нистраторов начались головные боли. руют на третьем кольце х86. Вторые, относятся руткиты, которые являются
Вы сможете гораздо эффективнее ре- руткиты режима ядра, функциониру- троянскими программами и заменяют
46
безопасность
настоящие приложения. Например, ес-
ли для отображения процессов исполь-
зуется tlist.exe из Resource Kit, то мож-
но написать свою tlist.exe, например с
использованием Psapi или библиотеки
Tool Help, скрывающую имя конкрет-
ного процесса и подменить ею насто-
ящую tlist.exe. Недостаток такого под-
хода очевиден. Кому захочется зано-
во написать диспетчер задач Windows
для скрытия определенного процесса.
Второй тип руткитов 3-го кольца отли-
чается от первого техникой реализа-
ции. Руткиты, относящиеся ко второму
типу, используют общий принцип фун-
кционирования, именуемый перехва-
том API-вызовов. Он был описан Дж.
Рихтером в его монографии «Windows
для профессионалов» и М. Питреком
«Секреты системного программирова-
ния в Windows 95». Этот тип также мо-
жет быть разбит на два. К первому сле-
дует отнести руткиты, перехватываю-
щие вызовы DLL подсистемы окруже-
ния Win32 (Kernel32, Advapi32, User32,
Gdi32). Ко второму типу относятся рут-
киты, перехватывающие недокумен-
тированные «родные» API (Native API) Этапы обработки API в Win32 и места внедрения руткитов
в Ntdll.dll. Напрашивается вопрос, за-
чем перехватывать недокументиро- керы уже давно дизассемблировали По сути, руткиты режима ядра пред-
ванные API, если можно перехватить код Kernel32.dll и Ntdll.dll и опубликова- ставляют собой драйверы, загружен-
«обычные». Дело в том, что некоторые ли свои соображения на этот счет. Во- ные в период работы Windows. Меха-
стандартные программы Microsoft, на- вторых, перехват API-вызовов на уров- низм перехвата API-вызовов на уровне
пример диспетчер задач (task manager), не Ntdll.dll дает некоторые существен- ядра впервые был предложен М. Рус-
для получения статистики используют ные преимущества. Дело в том, что все синовичем и Б. Когсвелом, авторами
не обычные API, а недокументирован- библиотеки, получающие информацию sysinternals.com. Он базируется на под-
ные. Тот же диспетчер задач использу- о процессах, типа Psapi, обращаются мене адресов в таблице диспетчериза-
ет для получения списка процессов не в конечном счете к одной точке входа ции системных сервисов на свои обра-
что-то вроде Psapi, а функцию NtQuery в Ntdll.dll, которая предоставляет неис- ботчики, например, на адреса функций
SystemInformation, которая хоть и доку- черпаемую системную информацию – драйвера. Перед тем, как менять адре-
ментирована в последних SDK, но да- NtQuerySystemInformation. са, руткит сохраняет настоящие адре-
леко не полностью. Изучая лишь SDK са системных сервисов в своем буфе-
по этой функции, можно долго недо- Руткиты режима ядра ре. Когда ядро обрабатывает систем-
умевать, как диспетчер задач получает Руткиты режима ядра, как уже упо- ный сервис, это приводит к актива-
с помощью нее информацию о процес- миналось, функционируют на уровне ции не настоящей функции, а троянс-
сах. Полное описание этой функции ядра NT и более сложны в реализа- кой (т.е. функции драйвера), та в свою
вы можете увидеть в книге Г. Неббе- ции. В их основу положен тот же ме- очередь вызывает настоящий сервис
та «Справочник по базовым функциям ханизм перехвата API-вызовов, но уже по сохраненному адресу и фильтрует
API Windows NT/2000». Очевидный не- на уровне ядра. С использованием та- результат. Основное преимущество та-
достаток такого руткита заключается в ких руткитов можно модифицировать ких руткитов в том, что они независи-
том, что он реализован с использова- как само ядро, так и объекты ядра. Учи- мы от процессов, а точнее от их вирту-
нием структур, которые могут быть из- тывая, что устройство объектов ядра альных адресных пространств. Теперь
менены в следующей версии Windows. является полностью недокументиро- о недостатках руткитов режима ядра.
По вышесказанному следует сделать ванным, можно смело сказать, что да- Как известно, разработка кода режи-
несколько замечаний. Во-первых, рут- леко не каждый профессионал в Win32 ма ядра сама по себе довольно слож-
киты для Windows распространяют- может разработать такой руткит. Хоро- на и налагает определенные ограни-
ся очень быстро. Поэтому говорить о шей отправной точкой в этом послужит чения. Одна малейшая ошибка в ко-
том, что что-то является недокумен- книга С. Шрайбера «Недокументиро- де, например появление жучка или не-
тированным, бессмысленно, т. к. ха- ванные возможности Windows 2000». обработанного исключения, повлечет
48
bugtraq
Cергей Яремчук
Все больше специалистов сходятся во мнении, что антивирусные программы – это, скорее,
инструмент управления антивирусным риском, чем решение, предназначенное для защиты.
К
сожалению, методы обнаруже- с Browser Sentinel [2] разработки UnH зовано вредоносной программой, что-
ния, основанные на знаниях, Solutions. бы обеспечить себе дальнейшую жиз-
не всегда справляются со сво- недеятельность. В случае возникнове-
ими обязанностями. В случае появле- Назначение Browser ния подозрительной активности поль-
ния нового вируса, либо неизвестной Sentinel зователь будет оповещен. И при необ-
реализации атаки, они уже не в состо- Программа предназначена для наблю- ходимости любой элемент может быть
янии защитить систему. В большинс- дения за уязвимыми зонами компью- остановлен или удален. Кроме этого,
тве случаев вирус или другую вредную тера, которые часто подвергаются на- есть возможность произвести деталь-
программу можно обнаружить, контро- падениям со стороны различного типа ный анализ всех запущенных процес-
лируя уязвимые элементы операци- вредоносных программ, предоставляя сов, программ, элементов управления
онной системы и целостность систем- пользователю полный контроль над ни- ActiveX, драйверов и других модулей,
ных файлов. Вероятно, поэтому сегод- ми. А таких чувствительных к зараже- с выдачей подробной информации и со-
ня активно продвигаются такие реше- нию зон в системе не мало. Здесь пла- зданием разнообразных отчетов. Для
ния, не требующие каждодневного об- гины Browser Helper Object и различ- удобства Browser Sentinel содержит
новления баз и позволяющие с доста- ные элементы Internet Explorer, эле- небольшую встроенную базу данных
точно большой вероятностью обнару- менты автозапуска программы, служ- по элементам, которые поставляются
жить вирусы, которые не зарегистри- бы, драйверы, модули, расширения вместе с Windows и являются ее час-
рованы в сигнатурных базах. В жур- оболочки, протоколы, файл hosts, пос- тью, и не более. Пользователь для уп-
нале уже рассказывалось о некото- тавщики многоуровневых услуг и про- рощения анализа ситуации может уб-
рых из них [1], сегодня познакомимся чее. То есть все, что может быть исполь- рать все известные программе компо-
50
безопасность
ненты, чтобы они не мешали. Хотя пос- Работа с Browser Sentinel
ле обновления системы или установки Установка Browser Sentinel стандартна
некоторых драйверов системные про- для Windows, в процессе можно будет
граммы могут попасть в категорию не- выбрать один из режимов:
известных, поэтому до конца полагать- профессионала – под наблюдением
ся на выводимую информацию по сис- находятся все зоны, каждый новый Рисунок 2. Сообщение, появляющееся
темным элементам не стоит. элемент требует подтверждения; после установки Browser Sentinel
Так как программа не использует новичка – не наблюдаются следую-
никаких других баз, и ее действия но- щие зоны: службы, драйвера, про- кто и когда запустил, ключ реестра, ста-
сят скорее информационный характер, токолы, LPS и файл hosts. Измене- тус и некоторые другие параметры.
то всё решение о легитимности той или ния в загруженных модулях и мо- Для каждого такого элемента мож-
иной программы лежит на пользовате- дулях автозапуска принимаются но выполнить два действия: выключить
ле. Поэтому разработчики ориентиру- автоматически. В дальнейшем ре- и удалить. В любом случае перед уда-
ют свой продукт именно на подготов- жим работы можно сменить. Также лением желательно вначале отклю-
ленного пользователя, который сможет следует помнить, что все сторонние чать, в этом случае запись переносит-
разобраться в многочисленных воп- программы, имевшиеся на компью- ся во временное хранилище, из кото-
росах, задаваемых этой программой тере на момент установки Browser рого ее всегда можно будет восстано-
в процессе работы. Иначе в случае не- Sentinel, принимаются автомати- вить. Если система и программы пос-
правильного редактирования парамет- чески (рис. 2). Рекомендуется про- ле этого работают нормально, то за-
ров возможна блокировка системы, что смотреть все вкладки и убедиться, тем этот элемент можно смело уда-
в некоторых случаях исправить можно что все элементы безопасны. лять. В этом случае стирается вся ин-
только полной ее переустановкой. формация, без возможности восста-
Актуальной на момент написания По щелчку на изображении щи- новления. Некоторые программы мо-
статьи являлась версия 2.1.1. Browser та в системной панели появляет- гут генерировать большое количест-
Sentinel работает на компьютерах с ус- ся главное окно программы (рис. 1). во событий, которые могут отвлекать.
тановленной Windows 98/ME/2000/XP/ Для удобства охраняемые зоны поде- Для удобства некоторые программы,
Server 2003. Имеет русский и английс- лены на две группы. Первая контроли- имеющие меньшую вероятность стать
кий интерфейсы. рует все, что связано с Internet Explorer. источником неприятностей, можно за-
Именно к настройкам этой зоны допу- нести в доверенную зону. После этого
Лицензия щен пользователь в режиме, предна- Browser Sentinel не будет показывать
Программа распространяется как значенном для новичка, так в случае предупреждения для таких элементов.
Shareware, при этом пользователю ошибки максимум, что придется сде- И наоборот, действия отдельных при-
предоставляется для тестирования лать, это переустановить приложение. ложений всегда требуют отрицатель-
на 30 дней полноценная версия про- Вторая зона защищает систему. Все ного ответа и удаления нового эле-
граммы. Стоимость регистрации 350 настройки в эту зону должны вносить- мента. Для удобства их можно занес-
руб. Если почитать лицензию, то узна- ся с большой осторожностью. Выбрав ти в список запрещенных, и операция
ем, что можно использовать зарегис- элемент, можно просмотреть подроб- удаления или отключения будет про-
трированную версию на всех компью- ную информацию о нем: имя, описа- изводиться автоматически без выдачи
терах, которыми владеет купивший ее ние, файл, версия, размер, контрольная предупредительного сообщения.
пользователь. сумма (MD5, CRC32), время создания, Информация поражается не виру-
сом, а выполненным им действием. По-
этому, отслеживая потенциально опас-
ные точки системы, можно с большой
долей вероятности обнаружить лю-
бую программу, которая тайком пыта-
ется запуститься на компьютере. Ути-
литы вроде Browser Sentinel, несмотря
на кажущуюся простоту, позволяют ос-
тановить большую часть таких вредо-
носных программ и тем самым защи-
тить компьютер от неизвестных виру-
сов и других malware.
К
ак и многие москвичи, я люблю ставка, я не могу отделаться от ощу- Летний сад
Питер. Как и многие москвичи, щения, что где-то за дверью – Невский Вы, конечно, помните, строки Анны
я считаю его мистическим горо- проспект, Эрмитаж, стрелка Васильев- Ахматовой:
дом. Как и многие москвичи, я радуюсь, ского острова. И чего сидеть в четырех Я к розам хочу, в тот единственный сад,
когда встречаю петербуржца. Почему? стенах – лучше пойти погулять. Только Где лучшая в мире стоит из оград,
Трудно объяснить. Как любой здра- тогда и беседы не получится, нас пог- Где статуи помнят меня молодой,
вомыслящий житель города на Неве, лотит блеск града Петрова… А я их под невскою помню водой.
Игорь Данилов, легендарный Dr. Web, Но я п о с л у ш н о во з в ращ аю с ь
на мои восторги улыбнулся. «Мы все на землю, в Москву, и задаю Иго- Какой турист не хочет «посетить»
время живем в этом городе, конеч- рю свои вопросы. Однако надеюсь, Летний сад, на статуи полюбоваться?
но, не всегда видим эту красоту… Вот, что мой собеседник простит мне та- Но какое слово ужасное – «посетить»,
гости недавно приезжали, с ними вы- кую вольность и позволит совершить бр-р-р… В один из первых своих визи-
брались, погуляли». Конечно, он прав. с ним виртуальную прогулку по Пе- тов в Петербург я специально ждала мо-
Но почему-то все время, пока мы раз- тербургу. Прогулку с человеком, кото- мента, когда экскурсии закончатся, на-
говариваем, несмотря на то, что бесе- рый родился и вырос в Северной сто- ступит вечер, благо ночи были белые,
да происходит в самом сердце Мос- лице и потому ассоциируется у меня и пошла в одиночку искать заветный сад.
квы и вокруг шумит столичная IT-вы- именно с ней. Увы, в ту ночь он не пожелал впустить
52
человек номера
меня за «лучшую в мире ограду», хотя я
усердно искала и спрашивала прохожих.
Мы встретились через много лет…
Эта история, рассказанная Игорю
Данилову, вызвала у него удивление:
«Вы спрашивали? И вам не помогли?
Обычно у нас бабушки не только под-
скажут, где, но и проводят, покажут».
Летний сад… У него удивительная
судьба! Созданный по велению Пет-
ра Первого в 1704 году лучшими мас-
терами садово-паркового искусства,
при жизни императора он был блестя-
щей парадной резиденцией. При Анне
Иоанновне превратился в звериный за-
Слева направо: ведущая рубрики Оксана Родионова, «Доктор Веб» Игорь Данилов,
гон. В XIX веке это уже городской сад Марина Хромова – PR-менеджер компании
«для прилично одетой публики». После
революции – музей. Сразу после Ленин- да Безымянным ериком, но в связи им видом виновато показывая: «Я вам
градской блокады школьники и учителя с устройством в саду фонтанов, пе- не помешаю, только не гоните…»
выращивали здесь овощи… И всегда – реименованная. Помню, зайдя как-то Дети Игоря Данилова к высоким
любимое место для отдыха. по делу в один из офисов, располо- технологиям не приобщились. Если
Не подумайте, что я собираюсь женных на Фонтанке, я по-хорошему у самого Игоря явно сработали гены –
сравнивать судьбы сада и человека. позавидовала сидящим там людям – мама и сейчас работает учителем ма-
Но все же параллель напрашивается смотришь в окошко на воду, на мос- тематики в одной из петербургских
сама собой. Летний сад всегда остает- ты, на Фонтанный дом на другом бе- школ, – то любовь к точным наукам сы-
ся самим собой, каким бы не было его регу… Веселее как-то работать, по- ну и дочери не передалась. Хотя жена
название и облик. Игорь Данилов всег- моему. «Да ведь вода, – скажите вы, – Игоря, тоже, между прочим, матема-
да оставался самим собой, пробуя се- наверняка грязная. Что тут весело- тик. Сын Иннокентий учится в универ-
бя в разных профессиях и ипостасях. го?». Грязная. И дома вдоль набереж- ситете на биологическом факультете,
После школы он твердо знал, где хо- ной обшарпанные, в копоти иногда. дочь Ольга перешла в 11-й класс и то-
чет учиться дальше. Собрал чемодан, Что делать? Это не портит Петербург, же не собирается идти по родитель-
сел в поезд и уехал в Волгоград, в Ка- на мой взгляд. Правда, Игорь Данилов ским стопам. Да и невозможно было
чинское высшее военное авиацион- со мной не согласен: «Мне неприятно. передать, считает Игорь. Заложенное
ное училище летчиков. Родители это- Я очень переживаю, особенно в начале природой нельзя изменить, сколько
му выбору не препятствовали. А поче- зимы, когда вся эта грязь видна, у ме- не пытайся. «Воспитание большой ро-
му именно в летное? Игорь не роман- ня депрессивное настроение. Хочет- ли не играет. Оно, конечно, имеет ог-
тик, но считает, что так распорядились ся, чтобы было как в Хельсинки, Сток- ромное значение, но не решающее».
высшие силы – Бог, Судьба… В конце гольме. Белый город, без грязи, без со- Еще одно убеждение Игоря Данило-
концов он закончил Ленинградский ин- ли. У нас, к сожалению, этого не умеют, ва – преподавателем в школе должен
ститут авиационного приборостроения не хотят. К 300-летию отремонтирова- быть обязательно мужчина, «потому
(ныне Санкт-Петербургский государс- ли хотя бы центр. Я тут вышел на набе- что он может научить детей логичес-
твенный университет аэрокосмическо- режную и удивился: ничего себе, ока- ки мыслить, дать основы мышления».
го приборостроения), стал инженером- зывается, вот что у нас есть». Взгляд консервативный, но вполне
радиотехником. И это тоже судьба так Но вернемся к Фонтанному дому. объяснимый. И мне близкий. Уж слиш-
решила. А уж приобщение к сфере IT Удивительное место. Снаружи это дво- ком женственны нынче мужчины и му-
было явно судьбоносным. «Появились рец, шедевр русского барокко. А внут- жественны женщины…
персональные компьютеры, некому бы- ри еще интереснее. В музее Анны Ах- Я спросила Игоря Данилова, как от-
ло на них работать. Я как-то случайно матовой есть мемориальная часть, воз- носятся к его популярности сын и дочь.
попал за компьютер, и меня захватило вращающая квартире Пуниных – Ахма- Он спокойно ответил: «У меня такие же
эта сфера деятельности», – объясняет товой облик 1920-1940-х годов, и лите- проблемы с детьми, как у всех, это ни-
Данилов. Однако Игорь Данилов, раз- ратурно-историческая. Они нисколько коим образом не влияет на мои взаи-
рабатывающий антивирус, и школьник не мешают друг другу. А уже если экс- моотношения с ними». Однако борцу
Игорь, выбирающий профессию, – один курсовод попадется хороший, хожде- с антивирусами приятно, что его дети
и тот же человек. Любитель математи- ние по ахматовскому музею превраща- учились по учебникам, в которых напи-
ки, кроссвордов, головоломок, логики. ется в праздник. Мне повезло попасть сано про их папу, Доктора Веба.
в Фонтанный дом вместе с группой
Фонтанка школьников. Их вел учитель, историк, Мойка
Около Летнего сада из Невы вытека- и так его было интересно слушать, что О будущем информационных техноло-
ет Фонтанка, речка, бывшая неког- я присоединилась к ребятам, всем сво- гий у Игоря Данилова довольно мрач-
54
IMHO
Как зарабатывают
на Open Source
Крис Касперски
Ожесточенная конкуренция между программистами заставляет не только совершенствовать
качество кода, но также искать новые, более эффективные бизнес-схемы, использующие
все доступные средства, в том числе и концепцию открытых исходных текстов, уверенно
противостоящую компаниям-гигантам.
П
рактически на любом програм- жить, и не просто жить, но еще поку- циализированные секторы рынка еще
мистском форуме можно встре- пать дорогостоящую вычислительную как-то держатся на плаву, но объемы
тить человека (а то и целую технику, летать на различные конфе- продаж ПО до приобретения Феррари
группу людей), пропагандирующую ренции, да и просто носиться на Фер- явно недотягивают.
«Свободу Кода» (в той или иной трак- рари-512-TR в свое удовольствие – по- Открытые исходные тексты пред-
товке) и призывающую программис- чему бы и нет, если их труд оплачива- ставляют реальную угрозу для компа-
тов открывать исходные тексты сво- ется?! ний-гигантов и дают программистам
их проектов, разделив знание с ми- В 16 лет еще можно работать возможность урвать свой кусок пиро-
ром. Продавать уже проданную про- на благо человечества, не требуя ни- га, пополнив карманы пачками прият-
грамму – страшный грех и единствен- чего взамен, но с возрастом неизбеж- но хрустящих банкнот. Здесь, в этой
но правильный путь, ведущий в рай, – но встает проблема: как зарабатывать статье, мы будем говорить исключи-
это трудиться на благо человечества на жизнь?! Программисты относятся тельно о коммерческой составляющей
в поте лица своего, не заботясь о ком- к тем немногим счастливчикам, совме- Open Source, оставив идеологическую
мерческой выгоде. щающим приятное с полезным, зачас- подоплеку в покое. Но для начала нуж-
Примечательно, что большинство тую полностью отдающимся своей ра- но разобраться с терминологической
вышеуказанных личностей сами ни- боте и при этом зарабатывающим не- путаницей, царящей в этом мире.
чего не программируют, но с удовольс- плохие деньги, правда, с каждым го-
твием пользуются программами, за ко- дом этих денег становится все мень- Различные виды
торые не нужно платить. Естествен- ше и меньше. Массовый рынок давно лицензий
но, им хочется, чтобы таких программ находится под пятой крупных корпора- Английский язык относится к числу на-
было как можно больше. Тем време- ций, мелкие фирмы скупаются на кор- иболее примитивных среди всех высо-
нем программистам нужно на что-то ню или идут ко дну косяками. Узкоспе- коразвитых, чем, собственно, и объ-
56
IMHO
ясняется его популярность, а вовсе приобрести по цене носителя, причем ные» каналы весьма успешно конкури-
не тем, что Америка правит миром BSD не стоит на месте и активно раз- руют с коммерческими.
и центр научно-технического прогрес- вивается, предоставляя возможности, Давайте попробуем найти бизнес-
са находится именно там. В английс- которые в Windows появляются с ог- схему, позволяющую выпускать «бес-
ком очень мало слов, вследствие чего ромным запозданием или не появля- платные» программы. Ведь никто же
каждое слово имеет множество значе- ются вообще! Вот только один пример: не будет спорить, что бесплатная про-
ний, что, в конечном счете, едва не по- при возникновении исключения в од- грамма намного более конкурентос-
губило движение Open Source. Термин ном из драйверов, Windows останав- пособна своего коммерческого ана-
«free» означает не только «свобод- ливает всю систему целиком, не поз- лога, даже если аналог превосходит
ный», но и «бесплатный», поэтому по- воляя драйверам файловой системы ее по ряду параметров.
нятие «Free Software» можно толковать сбросить свои буфера. И хотя такая Ниже обсуждаются различные
двояко, и большинство пользователей возможность на уровне архитектуры бизнес-схемы, ориентированные как
(по закону Мерфи) истолковали его в NT закладывалась изначально, она на индивидуальных программистов,
совсем не так, как это задумывалось. до сих пор остается нереализованной, так и на крупные компании. Подчер-
Чуть позже «free» заменили на «open», а вот крах одного из модулей в BSD кну еще раз – именно бизнес-схемы,
но это лишь добавило путаницы и поз- оказывает минимально пагубное воз- целью которых является максимали-
волило Microsoft и другим компаниям действие на остальные компоненты зация прибыли, а вовсе не стремле-
«примазаться» к движению за свобод- системы, позволяя ей корректно за- ние осчастливить человечество в пла-
ное ПО, путем раскрытия части исход- вершить свою работу или даже пере- нетарном масштабе.
ных текстов под подписку о неразгла- запустить «упавший» модуль на лету).
шении и без передачи прав на их пос- Свобода «коммунистического типа» Мотивы раскрытия
ледующую модификацию. предлагается нам под видом GPL-по- исходного текста
Давайте выделим следующие уров- добных лицензий, требующих отчис- Прежде чем обсуждать аргументы
ни свободы. Абсолютная свобода пре- лений в случае применения их в ком- сторонников Open Source, обратите
доставляется BSD-подобными лицен- мерческих продуктах или открытия ко- внимание на одну интересную деталь.
зиями, позволяющими делать с ис- да всего проекта под все той же GPL. Большинство пользователей предпо-
ходными кодами все, что угодно: на- Это справедливо, но… никакой свобо- читают скачивать готовые бинарные
резать на болванки и перепродавать, дой здесь и не пахнет. Во многих слу- сборки, игнорируя наличие исходных
модифицировать по своему усмотре- чаях GPL является хитрым маркетин- текстов, которые, во-первых, занима-
нию, использовать в составе коммер- говым трюком: «свободная» програм- ют гораздо больше места, а во-вторых,
ческих проектов… и все это без каких- ма требует гораздо меньших вложений очень часто требуют наличия внеш-
либо отчислений! В частности, на ба- в рекламу для ее продвижения. Лю- них библиотек, влекущих в свою оче-
зе свободной BSD построена закрытая дям свойственно скачивать то, что бес- редь дополнительные зависимости,
CISCO OS, а ряд сетевых компонентов платно, но… как только дело доходит причем все они не самым лучшим об-
лег в основу стека NT. Компании-ги- до коммерческого применения, прихо- разом стыкуются друг с другом, отка-
ганты обогатились, а разработчики… дится либо нарушать лицензию (ведь зываясь компилироваться новой (или,
подарили миру свободный код, пов- открывать свой код только потому, что наоборот, старой) версией компилято-
торив историю с Прометеем. (Тут кто- там используется пара «свободных» ра. И даже когда сборка проходит без
то может увидеть противоречие, ведь библиотек, никто не будет!), либо… сучка и задоринки, она все равно тре-
выше утверждалось, что Open Source платить разработчикам! бует процессорного времени и диско-
создает угрозу компаниям-гигантам Поэтому BSD – это свобода и от- вого пространства, не говоря уже о се-
и… в то же самое время их обогаща- крытость, а GPL – всего лишь откры- тевом трафике.
ет. На самом деле, никакого проти- тость. Что же касается «бесплатности», Так зачем же скачивать исходные
воречия здесь нет, CISCO поставля- то это не более чем распространенный тексты, если мы не собираемся до-
ет на рынок маршрутизаторы, снаб- миф. По дорогам тоже можно ездить рабатывать программу «напильни-
женные всеми необходимыми серти- как бы бесплатно, но если вспомнить, ком» или проводить аудит безопас-
фикатами, и схожую функциональ- что их строительство обычно финан- ности? Правильно, – незачем. Вот по-
ность можно получить от более деше- сируется из местного бюджета, а мес- тому большинство пользователей их
вой связки PC + BSD, коллектив раз- тный бюджет – это налоги, то какая- и не качает, а один из самых популяр-
работчиков BSD маршрутизаторами то странная «бесплатность» у нас по- ных дистрибутивов Linux – KNOPPIX
не занимается, поскольку здесь кро- лучается. Другой пример – телевиде- распространяется без исходных тек-
ме энтузиазма нужны большие капита- ние, оплачиваемое рекламодателями, стов, и ведь никто же не жалуется!
ловложения. Microsoft, довольно мно- включившими в свои продукты доба- Другой вопрос, что собирая програм-
го позаимствовавшая из BSD, сократи- вочную стоимость на рекламу. То есть му с определенными ключами, мож-
ла расходы на разработку своей сис- «бесплатные» телеканалы оплачива- но здорово сократить ее размер, вы-
темы и смогла создать более конку- ются пивом, стиральным порошком, кинув все ненужное или оптимизиро-
рентоспособный серверный продукт, прокладками и прочими продуктами вать под конкретный тип процессора,
который миллионы людей покупают народного потребления. При всей не- но при желании этого же эффекта мож-
за деньги, в то время как BSD можно нависти зрителей к рекламе «бесплат- но добиться путем использования ди-
58
IMHO
На самом деле, для расширения тывать программу совершенно необя- непрофессионализм? Особенно, ес-
функционала программы достаточно зательно. Гораздо проще скопировать ли программа содержит ворованные
реализовать механизм плагинов или ее один к одному и продавать, как это компоненты. Анализируя откомпили-
встроенный скриптовый язык. Отлад- делают пираты. рованный код, невозможно доказать,
чик OllyDbg распространяется без ис- Наукоемкие ноу-хау, заложенные соответствует ли он данному исходно-
ходных текстов, но для него написа- в программу, лучше сразу же патен- му тексту или нет, поэтому воровство
но огромное количество плагинов, ко- товать, поскольку в противном слу- легко сходит с рук.
торые не привязаны к какой-то од- чае их все равно выдерут дизассемб- Плюс еще стадный признак и инер-
ной конкретной версии и могут рас- лером, хотя… 99% программ ничего ционность мышления. В мире UNIX
пространяется как по официальным, принципиального нового (на уровне ко- принято распространять программы
так и по независимым каналам: ис- да) в себе не содержат и основная до- вместе с исходными текстами, и боль-
ходные тексты служат гарантом, ля находок приходится на дизайнерс- шинство программистов так поступа-
что автор программы неожиданно кие решения, то есть на видимый не- ют, даже когда их исходные тексты
не уедет в Израиль и проект, лишен- вооруженным глазом интерфейс, а вот интересны только им самим. В мире
ный поддержки, не умрет, ударив код… порою на него страшно смотреть. Windows, напротив, большинство про-
по всем его пользователям. А кому хочется демонстрировать свой грамм распространяется в двоичном
Какая-то доля истины в этом ут-
верждении есть, но… раскрыть исход-
ные тексты это одно, а подобрать до-
www.inconex.ru
стойного преемника – совсем другое.
Не нужно приводить в пример FireFox,
возникший на обломках Netscape,
или FAR, создатель которого сосре-
доточился на RAR, поняв, что не смо-
жет тянуть два проекта одновременно.
Возьмите DOS Navigator, пользующие-
ся во времена DOS огромной популяр-
ПР И Г Л А СИ Т Е Л Ь НЫ Й Б И Л Е Т
ностью, особенно в среде программис-
тов. Ну и где он сейчас? А ведь исход-
ные тексты открыты… Но сплоченной
команды разработчиков, подхватив- БЕСПРОВОДНЫЕ И МОБИЛЬНЫЕ
ших знамя и продолживших «дело Ле-
ТЕХНОЛОГИИ В ПРОМЫШЛЕННОСТИ
нина», как-то не сложилось и продукт
распался на несколько независимых
проектов, ни один из которых не полу-
чил дальнейшего развития.
РОССИЯ, МОСКВА, CК ОЛИМПИЙСКИЙ
Подводя итог, можно сказать, что
потребителя в первую очередь ин-
тересуют не исходные тексты, а бес- БЕСПРОВОДНАЯ СВЯЗЬ
платность продукта, поэтому дальней- COMMUNICATION
ший разговор мы будем вести именно БЕСПРОВОДНЫЕ СИСТЕМЫ
в этом ключе. S E C U R I T Y БЕЗОПАСНОСТИ
www.inconex.ru
телодвижений.
А вот если выложить каталогиза-
тор в свободный доступ, мы хоть ни-
чего и не приобретем, но зато ничего
и не потеряем. Тысячи людей скажут
«спасибо», протестируют программу
на всем спектре оборудования, под-
скажут несколько интересных идей
COM PL I M E N TA R Y T I CK E T
Оrganizer: Venue:
SC Olimpiyskiy, North exit Оружие против монстров
16 Olimpiyskiy pr., Moscow
Metro: “Prospekt Mira” Конкурировать с компаниями-гига-
Information нтами на самом деле не так сложно,
INCONEX support:
Теl: +7 (495) 739 55 09 SC Olimpiyskiy как это кажется, особенно, если рас-
Fax: +7 (495) 641 22 38 North exit
пространять свой продукт на бесплат-
Opening hours: Ul. Schepkina
ной основе. Несмотря ни на какие уси-
лия Microsoft, весовая доля FireFox
Prospekt Mira
и Opera все растет и растет. И хотя
Metro: “Prospekt Mira”
стабильности IE ничего не угрожает,
Microsoft с большим удовольствием
60
IMHO
скупила бы конкурентов, если бы они Да, по лицензии GPL продук т ных (если один человек «вбил» описа-
только продавались. Многие компании не может быть куплен без согласия ние дисков в базу, зачем тысячам дру-
изначально строят свой бизнес на том, всех разработчиков, на что поклонники гих делать то же самое?!), после чего
что через некоторое время их купит тот, Open Source всегда напирают, но зато начнем привлекать лейблы (лейблами
кому они мешают, или тот, кому нуж- он может быть похоронен, к чему кон- (от англ. label, одним из значений кото-
на клиентская база. Так было в случае куренты, собственно, и стремятся. Ко- рого является «бренд») в музыкальной
и с WinAmp, и с ICQ… да много можно нечно, с психологической точки зрения, индустрии называют компании, поку-
привести примеров! Вон, легендар- не слишком-то приятно работать с пер- пающие права на произведения и за-
ный исследователь недр Windows Макр спективой быть закопанным в могилу, нимающиеся их рекламой, распро-
Руссинович, и тот продал свой бизнес но… эта бизнес-схема приносит непло- странением и т. д. (см. «record label»
Microsoft, чем остался страшно дово- хие деньги, а программное обеспече- на wikipedia – http://en.wikipedia.org/
лен: http://www.sysinternals.com/blog/ ние в конечном счете все равно уста- wiki/Record_label)) (или просто магази-
2006/07/on-my-way-to-microsoft.html. ревает, отправляясь в небытие. ны, торгующие дисками), предоставив
Конечно, подобные шаги требу- им возможность информировать поль-
ют внушительных капиталовложе- Программа как услуга зователей о новинках и вести мони-
ний, и существует риск, что продукт Рассматривая программу как товар, торинг реальной популярности своей
не «пойдет», конкуренты не обратят мы, во-первых, ввязываемся в вой- продукции. Ведь если у человека есть
на него внимания или рыночная ситу- ну с хакерами и пиратами, норовящи- два альбома такой-то группы, то сооб-
ация неожиданно изменится, сделав ми взломать программу, выложить ее щение о появлении третьего, навряд ли
продукт ненужным (в частности, рас- в файло-обменную сеть или распро- оставит его равнодушным. То есть мы
пространение высокоскоростных ка- странять по цене носителя. А конку- продаем контекстную рекламу, и ос-
налов связи снизило популярность ме- ренция?! Десятки компаний предлага- новным источником прибыли стано-
неджеров закачек в десятки раз, и вы- ют схожие по своим функциональным вятся именно лейблы. Прибыль будет
жили те, кто обеспечивал лучшую ка- возможностям программы, и на рын- тем выше, чем больше у вас пользо-
талогизацию содержимого, лимита- ке появляются все новые и новые иг- вателей, количество которых обрат-
цию трафика, продвинутую планиров- роки. Как говорится, тут не до нажи- но пропорционально стоимости про-
ку и т. д.). Однако затраты на разра- вы! Выжить бы… А что!!! И выживем, граммы. То есть для достижения мак-
ботку программы можно существенно если начнем рассматривать програм- симальной прибыли программа долж-
сократить, если не раздувать штаты му как услугу. на распространяется бесплатно! Наша
сверх необходимого и активно вербо- Продажи программы – не единс- основная задача – собрать как можно
вать энтузиастов со всех концов зем- твенно возможный источник дохо- больше пользователей, предоставив
ли, а такие всегда найдутся, если вести да. Пусть программа будет бесплат- им те сервисы, в которых они острее
проект под эгидой Open Source. ной, пусть ею пользуются все желаю- всего нуждаются (заказы новых дис-
Весь фокус в том, что несмотря щие! А мы им поможем! Техническая ков одним кликом мыши, поиск по на-
на то, что исходный код никому из учас- поддержка, всевозможные семинары званию файла/композиции в базе, пи-
тников проекта единолично не прина- и тренинги, литература и бумажная до- ринговая сеть, наконец!).
длежит, основную ценность представ- кументация… Перечень платных услуг Естественно, сразу же возника-
ляет не текст, а… координация его со- можно продолжать бесконечно. В тех- ет вопрос о приватности и безопас-
здания. Уберите лидера, и проект раз- нически сложных программах (таких, ности. Передавая он-лайновой служ-
валится, в лучшем случае распавшись например, как IDA Pro, PC-3000) огром- бе описания своих дисков, пользова-
на несколько независимых «остров- ную роль играет наличие центра обу- тель рискует нарваться на очень круп-
ков», в худшем – просто задохнется. чения специалистов, поскольку само- ные неприятности, если эти диски – пи-
К тому же, не надо забывать, что дви- стоятельно разобраться с продукта- ратские (а в большинстве случаев это
жение Open Source имеет разветвлен- ми подобного уровня среднестатисти- так и есть). Следовательно, необходи-
ную сеть каналов распространения ческий пользователь не в состоянии. мо обеспечить такой механизм пере-
программного обеспечения и постоян- А программные комплексы еще тре- дачи данных от пользователей к ба-
но используется средствами массовой буют и грамотного внедрения. Здесь зе и от пользователя к пользователю,
информации в качестве фетиша по по- мало вставить лицензионный диск который бы гарантировал со 100% на-
воду и без повода. То есть разработка и щелкнуть по пиктограмме с надпи- дежностью, что ничей IP-адрес не бу-
продукта под знаменем Open Source сью «Install»! дет «засвечен». Технически добить-
обеспечивает хорошую рекламу, спо- Но оставим корпоративный сектор ся этого очень легко – достаточно ис-
собствует его продвижению на рынок, тем, кто на нем пасется. Возьмем ве- пользовать proxy-серверы, в роли ко-
что оказывает поразительное психо- щи простые и куда более приземлен- торых могут выступать и сами поль-
логическое давление на конкурентов, ные, например, уже упомянутый ката- зователи. Да-да, если информация
у которых желание прибрать наш биз- логизатор дисков, бесперспективность передается не напрямую, а через це-
нес к рукам возникает раньше, чем продаж которого мы обсуждали выше. почку наугад выбранных пользовате-
попытка реально оценить: какую уг- А теперь прикрутим к нему он-лайно- лей, каждый из которых не запоми-
розу для их существования он пред- вую службу, позволяющую пользовате- нает IP-адрес отправителя, то опре-
ставляет. лям обмениваться своими базами дан- делить IP-адрес обладателя данного
62
IMHO
Генри Форд
Сергей Супрунов
Движение Open Source зародилось как протест против проприетарного подхода
к программному обеспечению и поначалу воспринималось, скорее, как развлечение.
Cейчас всё большее число компаний связывают с открытыми проектами свой бизнес.
Попытаемся разобраться, что ждёт эти проекты в перспективе.
Что мы хотим тивация. Такова наша природа. И что- в дальнейшем на сопровождение, оку-
от программы бы понять, какое будущее ждёт откры- паются уже тем, что вы сами использу-
Сначала посмотрим, каким требовани- тое ПО и что мы сами можем ждать ете эту программу. Следовательно, вы
ям должна отвечать программа, что- от него, нужно попытаться разобрать- ничего не потеряете, если отдадите её
бы называться «хорошей» с точки зре- ся в таком вопросе: что заставляет лю- ещё кому-нибудь бесплатно (если, ко-
ния конечного потребителя. Очевидно, дей распространять свои программы нечно, не боитесь, что ею воспользу-
что основное требование – минимум бесплатно? ются и ваши конкуренты).
ошибок. Ошибки, которые в ней всё Ричард Столлмен в своём пись- Следующий логический шаг –
же будут выявляться, необходимо ус- ме «Свободному ПО двадцать лет: выпустить её не просто бесплатно,
транять профессионально и как мож- что дальше?» выделяет два вида моти- но с открытым кодом. Вы по-прежне-
но быстрее. Не последнюю роль игра- вации: отсутствие нужной программы му ничего не теряете, но зато можете
ют удобство работы и понятность ин- и желание быть свободным [1]. Но, ду- рассчитывать, что какая-нибудь «доб-
терфейса, а на все вопросы должна маю, при более детальном рассмотре- рая душа» (мотивы доброты которой
быть возможность получить грамот- нии мотивов будет больше. Коротко мы ещё рассмотрим) будет помогать
ный и исчерпывающий ответ. охарактеризую основные из них. вам в вашей разработке (хотя бы ука-
То есть программный проект дол- зывая на ошибки).
жен разрабатываться квалифициро- Удовлетворение своих нужд С точки зрения сообщества такая
ванными специалистами (в том чис- На этот мотив указывает и Столлмен, мотивировка не позволяет продук-
ле и в области эргономики), снабжать- а также Эрик Реймонд в своей нашу- ту далеко отойти от удовлетворения
ся качественной документацией и эф- мевшей статье «Собор и Базар» [2] – частных потребностей его разработ-
фективной технической поддержкой. иногда случается так, что вы не можете чика. И его качество будет ровно та-
Способны ли открытые проекты соот- найти готовую программу (пусть даже ким, какое необходимо разработчи-
ветствовать этим требованиям? и за деньги), которая обладала бы нуж- ку – не больше и не меньше. К тому
ными вам качествами. Тогда вы разра- же на гарантированную техподдержку
Что движет батываете её самостоятельно и тем са- тоже рассчитывать не приходится.
разработчиками мым удовлетворяете свои потребнос- Конечно, если проект очень хорош,
Как известно, люди ничего не делают ти. То есть силы и ресурсы, затрачен- то у него есть все шансы вырваться из-
просто так. Им непременно нужна мо- ные на разработку и затрачиваемые под крыла своего создателя и «уйти
64
IMHO
ный противник. Не намного сильнее, лучение прибыли. (Единичный слу- ся сделать то же самое с Java. Но от-
чтобы борьба с ним не выглядела без- чай с Canonical Ltd. принимать во вни- нюдь не из любви к свободе – просто
надёжным делом, но всё же находя- мание не будем – не каждому мульти- ей нужно продавать свои Sun Fire. Без-
щийся впереди. Сейчас такой против- миллионеру захочется тратить свои условно, эти примеры слишком упро-
ник есть – коммерческое ПО. Оно го- деньги так, как это делает Шаттлворт. щены и в какой-то степени даже грубы,
раздо сильнее распространено, и за- Да, кстати говоря, и Canonical не только но тем не менее смысл они отражают
частую лучше свободных аналогов. благотворительностью занята.) довольно точно – бесплатное распро-
(Что бы там ни говорили, но я исполь- Поэтому посмотрим, как же можно странение программ в данном случае
зую AbiWord для подготовки этой ста- зарабатывать на открытых програм- служит средством повышения прибы-
тьи лишь потому, что он бесплатен мах, которые каждый желающий мо- ли в других областях.
и работает в Ubuntu, а вовсе не потому, жет распространять безо всяких огра- А прибыль может повыситься толь-
что он лучше MS Word технически.) ничений и по любой цене. ко в одном случае – если мы, то есть
Но что будет, когда открытые про- конечные потребители, выложим боль-
граммы станут действительно луч- Проекты под заказ ше денег. Так что это «бесплатное» ПО
ше коммерческих? Их разработчики Это, скорее, теоретическая возмож- довольно сильно начинает смахивать
просто потеряют интерес к дальнейше- ность, нежели практический пример. на пресловутый сыр...
му улучшению. Но и не победить тоже Суть открытого и свободно распро-
нельзя – когда всё время бежишь вто- страняемого ПО в том, что получив Борьба с конкурентами
рым, начинаешь думать, что первым тем или иным способом (в том числе И снова сразу же вспоминается IBM.
тебе никогда не стать, а раз так, зачем и купив) программный продукт, вы мо- Она ведёт свой бизнес в самых раз-
вообще бежать? жете легко передать его кому-то ещё личных секторах рынка. И, например,
по меньшей стоимости или даже бес- в секторе корпоративных баз данных
К сожалению, большинство из этих платно. Фактически, разработчик по- одним из основных конкурентов IBM
факторов не всегда в состоянии сти- лучает гарантию только на первую является Microsoft. Но Microsoft имеет
мулировать работу над проектом, что продажу. Так что если сделать перво- интерес и в секторе операционных сис-
называется, «от и до». Первоначаль- начальную стоимость продукта доста- тем, куда IBM уже давно не стремится.
ная работа, когда идея начинает воп- точно высокой, то таким путём мож- Так что если поддерживать бесплат-
лощаться во что-то реальное, достав- но попытаться компенсировать за- ную ОС, то можно нанести серьёзный
ляет массу удовольствия. Но вот ког- траты на разработку и даже получить урон своему конкуренту, ничуть не пос-
да дело доходит до необходимости прибыль. традав самому.
«вычищать» ошибки (не зря говорят, Пожалуй, единственный способ И если в предыдущем случае (про-
что последние 10% проекта отнима- продать один экземпляр программы движение других товаров) компания-
ют 90% времени), отвечать на беско- по цене, превышающей её себестои- спонсор так или иначе диктует свои
нечные однообразные вопросы поль- мость, – это разработка на заказ (ина- требования разработчикам, чтобы по-
зователей, да и даже писать докумен- че как вы получите гарантию, что во- лучить те свойства продукта, которые
тацию, то здесь уже не всегда энтузи- обще сможете что-то продать). Но весь соответствовали бы её маркетинго-
азма хватает... Традиционный путь – фокус в том, что заказчик, выклады- вым целям, то для того чтобы «подло-
«свалить» это на новичков, присоеди- вая немалые деньги, будет, скорее жить свинью» конкуренту, достаточно
нившихся к проекту («поработай с пол- всего, желать получить программу просто создать участникам открытого
годика в Bugzilla, а там, может, и в раз- в свою полную собственность, так что проекта условия для разработки пре-
работчики возьмём»). об Open Source в данном случае речь восходной программы. С точки зрения
Так что можно сделать небольшой вряд ли будет идти (разве что разра- сообщества этот способ меценатства
промежуточный вывод о том, что из су- ботка будет основана на GPL-коде, наиболее хорош. К тому же, если вам
ществующих мотиваций единствен- и заказчика поставят перед фактом, не нужна корпоративная СУБД, то и пе-
ная, которая может оказывать более- что «иначе нельзя»). Потому я и оха- реплачивать за неё вы не будете.
менее серьёзное влияние на полно- рактеризовал данный пункт как тео-
ценное развитие открытых проектов ретический. Техническая поддержка
в долгосрочной перспективе, – это всё- На этом в значительной степени строят
таки оплачиваемая работа. Попытаем- Продвижение сопутствующих свой бизнес такие компании, как Red
ся разобраться, зачем же коммерчес- товаров Hat Inc., Novell, Mandriva... То есть ос-
ким компаниям может понадобить- Вот этому уже можно найти массу новной источник дохода – не продажи
ся оплачивать разработку открытых практических примеров. IBM актив- программы, а плата за её обслужива-
программ. но спонсирует разработку Linux, что- ние. Поскольку люди, особенно в кор-
бы более успешно продвигать свои поративном секторе, хотят просто де-
«Шкурный интерес» серверные решения, да и чтобы на их лать свою работу с помощью компью-
Не подлежит, думаю, ни малейшему новом процессоре Cell гарантирован- тера – рассчитывать фундамент зда-
сомнению тот факт, что любое вло- но работала хотя бы одна операцион- ния, рисовать дизайн будущего ав-
жение, осуществляемое коммерчес- ная система. Sun Microsystems час- томобиля, раскладывать пасьянс, –
кими компаниями, направлено на по- тично открыла коды Solaris и готовит- то они совсем не желают знать, что та-
66
IMHO
В итоге если разработчики хотят со- рами. Эти проекты и сейчас во многом как техническая поддержка. В то же
хранить этих пользователей, то им опираются на университеты. время рост числа пассивных поль-
придётся более серьёзно относить- Что может дать открытым проек- зователей, требующих от разработ-
ся к вопросу технической поддержки. там возврат в науку? Во-первых, хоть чиков «коммерческого» качества по
А это уже возможно лишь на коммер- и небольшое, но всё же стабильное «свободной» цене и мешающих тем
ческой основе. финансирование, поскольку любое самым программировать просто для
По большому счёту разработчи- здравомыслящее государство за- удовольствия, постоянно будет уси-
кам, если они не получают за это де- интересовано в дешёвых и эффек- ливаться.
ньги, безразлично, будет их програм- тивных программах, а также в гра- В этих условиях у открытых проек-
ма использоваться одним пользова- мотных специалистах, выучивших- тов есть, на мой взгляд, три пути. Пер-
телем или несколькими миллиона- ся на этих самых программах. Да и вый – не обращать ни на что внимание
ми. Вот число активных пользовате- для коммерческих компаний, кото- и просто делать то, что и делали. Воз-
лей, присылающих грамотные отчёты рые сейчас используют открытое ПО можно, здесь трудно будет говорить
об ошибках или даже патчи, – фактор и потому оказывают поддержку про- о высоком качестве конечного продук-
критический, но, к сожалению, на ны- ектам Open Source, в принципе ниче- та. Возможно, использовать его будут
нешнем этапе развития Open Source го не меняется. лишь несколько сотен человек, кото-
можно, наверное, считать, что здесь Во-вторых, университет – это рые сами же и занимаются его разра-
потенциал для экстенсивного роста практически неисчерпаемый источ- боткой. Но, в конце концов, не слиш-
почти исчерпан. Кто хотел участво- ник студентов-добровольцев (а по- ком давно так всё и было.
вать в открытых проектах, тот в них рой и не совсем добровольцев), ко- Второй – переход на коммерчес-
уже участвует. торых можно привлечь к той или кие рельсы. Только деньги всё же луч-
На самом деле проектам нужны иной работе. Конечно, рассчитывать ше брать за сам продукт, а не за его
и пассивные пользователи – но лишь в этом случае на высокую квалифи- поддержку – так оно и честнее, и по-
как средство влияния на потенциаль- кацию разработчиков не приходится, нятнее для конечного пользователя.
ных инвесторов и жертвователей, ну и но под чутким руководством грамот- Да и не будет соблазна оставить «ды-
в определённой степени как повод гор- ного профессора эффективность их рочку», чтобы потом дать повод поль-
диться своим детищем. работы, скорее всего, будет замет- зователям пожалеть, что не подписа-
но выше, чем при нынешнем спосо- лись на обновления.
Назад в будущее бе взаимодействия в большинстве Третий путь – переход на науч-
Получается, что бизнес-модель Open сообществ. ные принципы разработки без огляд-
Source не подкреплена достаточно Научный подход позволит более ки на число вовлечённых пользовате-
надёжными и долгосрочными ресур- фундаментально подходить к разра- лей, показатели TCO, привлекатель-
сами, гарантирующими качественное ботке, когда на смену принципу «ес- ность для инвесторов. А все «рыноч-
и эффективное развитие и в будущем. ли это работает – не трогай» придёт ные» вопросы оставить на откуп ком-
Так есть ли это будущее у открытых подход «выбирай наилучшее реше- мерческим компаниям.
проектов вообще? ние». Может быть, это несколько затя- Что получится на самом деле – вре-
На мой взгляд, есть. Но чтобы его нет время разработки и появления но- мя покажет.
увидеть, нужно забыть о коммерчес- вых функций, но зато можно будет го- Удачи!
кой составляющей и обратить внима- ворить о заметном повышении качес-
ние на то, что процесс работы над от- тва. А «фичи» всегда студенты-энту- 1. Столлмен Р. Свободному ПО двад-
крытыми проектами очень напоми- зиасты добавят. цать лет: что дальше? – http://zdnet.ru/
нает научную работу. Действитель- Остаётся открытым вопрос с тех- ?ID=312009.
но, в научной среде тоже принято де- нической поддержкой, но этим в прин- 2. Реймонд Э. Собор и базар – http://
лать достоянием общественности но- ципе по-прежнему могут заниматься www.seagreen.ru/free/esr/esr_cathedral-
вые теории, результаты эксперимен- коммерческие компании на платной bazaar2.html.
тов и т. д. И каждый может опереть- основе. Им даже проще будет стро- 3. Торвальдс Л., Даймонд Д. Just for Fun.
ся на достижения своих коллег, чтобы ить свой бизнес, поскольку «источ- Рассказ нечаянного революционе-
продвинуться ещё дальше. Это естес- ник» разработки более предсказуем ра. – Эксмо-Пресс, 2001.
твенная схема обмена мыслями и иде- и есть с кем при необходимости всту- 4. Безруков Н. Повторный взгляд на Собор
ями, выработанная, скажем так, «эво- пить в переговоры. и Базар – http://www.linux.org.ru/books/
люционным» путём и отличающая- GNU/misc/second-look-at-CatB.html.
ся от столь же естественной схемы Подводя итоги 5. http://www.nixp.ru/news/7670
обмена товарами и услугами. А про- Таким образом, можно сделать вывод, 6. Бизнес модель Open Source – перспек-
грамма – это, скорее, идея, чем мате- что дальнейшее развитие Open Source тивы и угрозы. Elashkin Research – http://
риальная вещь. рано или поздно упрётся (наверно, www.elashkin.com.
По большому счёт у движение можно сказать, что уже упирается) 7. http://www.nixp.ru/news/7583.
Open Source зародилось именно в на- в недостаток разработчиков, не го- 8. М а н и ф е с т L i n u x X P D e s k t o p –
учной среде. BSD, UW-IMAP, Exim, воря уже о «сотрудниках», занятых http://linux-online.ru /about /articles /
X-Window являются хорошими приме- на таких неинтересных направлениях, detail.php?ID=897.
Open Source
взглядом оптимиста
Алексей Барабанов
Стремительный рост числа программных проектов с открытыми исходными текстами
и одновременно свободными от платы за использование создал ситуацию, когда явление,
существующее де-факто, пока не получило всестороннего объяснения своего возникновения
и развития, но уже породило множество спекуляций на этот счет.
Н
аиболее полный и многофактор- граммное обеспечение (ПО) с откры- профессионалами, если по всем фор-
ный анализ явления Open Source тым кодом, понимая под этим как ре- мальным признакам их деятельность
дается в материалах Elashkin зультат работы, так и саму процедуру напоминает хобби? Именно этот па-
Research (http://www.elashkin.com), его создания. радокс создал целую школу наукооб-
а именно в работе «Бизнес-модель Итак, в чем феномен OSS? Он про- разных фантазеров, рассуждающих
Open Source. Перспективы и угрозы». являет себя и в сфере технологий, о том, что качество OSS не соответс-
Можно даже сказать, что исчерпываю- и в сфере общественных отношений, твует качеству проприетарных проек-
щий. Но я предлагаю обратиться к ука- а главное, в сфере экономики. Мож- тов. И, мол, управление там ненадеж-
занному источнику лишь тем, кто нуж- но бесконечно долго восхищаться ное, и контроль недостаточный, а са-
дается в терминологических поясне- тем, как проекты OSS создаются, ка- мое тревожное в том, что производите-
ниях, то есть не знает ничего о пред- залось бы, сами собой, можно беско- ли не заботятся о благе потребителей,
мете, или склонен к академическо- нечно долго митинговать на тему про- так как не получают за работу деньги.
му способу мышления, то есть хочет тивостояния «старого мира» и сторон- Ну и после такого «веского» аргумен-
знать все. Я не буду ставить перед со- ников OSS, но самое главное, что биз- та, радетели за качество, как ловкие
бой цели объять необъятное. Отвечу нес OSS на первый взгляд не содержит ярмарочные фокусники, предлагают
лишь на один главный вопрос: есть ли стандартной экономической цепочки немедленно облегчить карманы зева-
нечто, что угрожает Open Source? В об- «товар-деньги-товар». Вот, что осо- кам, призывая их заплатить за пропри-
суждении будем придерживаться тер- бенно поражает при рассмотрении етарное ПО, которое, по мнению доб-
минологии, введенной упомянутой OSS, то, что производитель отдает то- рых проповедников, спасет Мир.
статьей, и главный объект называть вар даром! Где же тут бизнес? Можно Спрашивается, может ли подобное
Open Source Software (OSS) или про- ли после этого разработчиков считать явление, как кажется на первый взгляд,
68
IMHO
игнорирующее все экономические за- ронних обязательств. Старая формула Примеры:
коны, оказывать такое сильное влияние «товар-деньги-товар» была сильна тем, все проекты имеют свои «домаш-
на экономику? Одно из двух: или OSS – что деньги считались абсолютной цен- ние» сайты и электронную почту
это секта, религия или партия анархис- ностью. Но в условиях современного для связи с разработчиками;
тов, тогда «ату их» без всяких рассуж- мира использование банковских биле- создаются даже специальные
дений о выгодности или невыгодности тов и даже виртуальных электронных бесплатные виртуальные места
для потребителей, так как в этом слу- денежных единиц ставит вопрос о га- для размещения проектов OSS и
чае OSS – это уже общественно-по- рантии ликвидности самих оборотных организации их разработчиков.
литическое явление. Или OSS – это денег. Почему же покупка акций пред- Этот фактор снижает стоимость
вид новой экономики, и все противни- приятий зарубежных государств нико- разработки и сопровождения OSS
ки OSS сознательно лгут! Думаю, вто- го не смущает, а вот возвратность ин- и обеспечивает ее сотрудниками.
рое. И докажу это. Бизнес-модель OSS вестиций в OSS так тревожит? Дело 3. Интернет, как среда электрон-
полностью подчиняется всем экономи- в том, что реализация преимуществ ных платежей.
ческим законам. В рамках этой моде- от производства OSS сопровождает- Примеры:
ли потребители платят за товар, а про- ся большим числом условий. Даже са- для работы с OSS и аналогичной
изводители получают деньги за работу. мо функционирование проектов OSS продукцией были созданы спе-
Начнем обсуждение с производителей, также возможно лишь при соблюдении циальные платежные системы,
так как именно эта сторона экономи- ряда условий. ориентированные на небольшие
ческой цепочки обязательно идентифи- Теперь можно дать ответ на воп- и очень быстрые переводы.
цируется (хотя бы авторским правом) рос, почему так многочисленны вер- Это самый важный фактор для реа-
и поэтому в первую очередь подверга- сии защитников о преимуществах OSS лизации выгод от продажи продук-
ется нападкам противников OSS. и столь же велики числом доводы про- ции OSS. Он единственный обеспе-
тивников. Все они описывают частные чивает прямую конвертацию в де-
Разработчики OSS условия, гарантирующие или препятс- нежный эквивалент.
не филантропы твующие реализации выгод, получен-
О, сколько догадок на счет мотива- ных от продажи продукции, созданной Могут ли перечисленные факторы
ции разработчиков OSS высказано OSS. Хотя ключевых факторов совсем исчезнуть или перестать действовать?
в прессе и на страницах вполне серь- немного. И в упомянутой выше рабо- Иначе говоря, угрожает ли что-то Ин-
езных монографий. И тема эта никогда те они названы среди прочих: «В ос- тернету? Конечно, да! Война, напри-
не исчерпается. Ключевое слово в этих нове этого явления лежит огромный мер. Стоит ли об этом беспокоиться?
опусах «даром». А логическая связ- рост скорости обмена информацией Конечно, да! Стоит ли это обсуждать
ка строится так: разработчик трудит- и чрезвычайно низкая стоимость это- не как фактор политики, а именно от-
ся – даром! Что такое «даром» в эко- го процесса». Конечно, не надо пони- раслевой экономики? Конечно, нет!
номике? Это значит, что в процессе мать, что, протянув высокочастотный А теперь, учитывая, что перечис-
передачи некоторого товара его стои- канал из Европы в Америку и дождав- ленные факторы обеспечивают воз-
мость не учитывается. Ну а в отноше- шись амортизации его стоимости, мы можность производства продукции
нии разработчиков OSS, что они пи- создадим OSS. Ключевое слово – «Ин- с минимальными издержками, на ос-
таются святым духом, так как, создав тернет»! нове эффективной системы группо-
ценный продукт, не взяли за него пла- В становлении OSS сыграли глав- вой работы и создают возможность по-
ту. Если бы это было так, то тема OSS ную роль три фактора: лучать за это живые деньги, стоит ли
исчерпала бы себя естественным пу- 1. Интернет, как средство доставки, обсуждать проблемы тех, кто не уме-
тем после смерти от голода последне- позволивший сделать почти бес- ет воспользоваться очевидными пре-
го безумного разработчика. Учитывая, платными как передачу (разме- имуществами? Ведь это подобно тому,
что обычный человек без пищи не смо- щение), так и получение (загруз- что нуждающийся увидел деньги и про-
жет прожить более месяца даже с по- ку) программной продукции. шел мимо! То есть совершенно не со-
мощью мантр, то OSS не продержалось Примеры: ответствует природе человека.
бы такое время и уж точно не смогло владение недорогим хостингом Смотрите, что выходит. Разработчи-
расти подобными темпами. Значит, все обходится менее 80 $ в год; ку необходимо получать плату за свой
ложь с самого начала. С этого звонко- неограниченный трафик досту- труд, чтобы иметь средства к сущест-
го слова «даром». пен за 25 $ в месяц. вованию. Участие разработчика в про-
Итак, первая аксиома: все участни- Этот фактор позволяет снизить екте OSS обеспечивает такую возмож-
ки процесса OSS со стороны разработ- стоимость оборота продукции OSS ность. Что еще надо, чтобы доказать,
ки за свой труд получают... выгоду! и одновременно реализовать ряд что разработчики все-таки имеют доход
Не деньги, а именно выгоду, неко- преимуществ путем привлечения от своей деятельности? Скептики хотят
торое преимущество, стороннее обя- определенной аудитории к сайтам, узнать «как»? Надо «схватить за руку»
зательство и прочее. Именно поэтому связанным с OSS. и прямо вручить «ключи от квартиры,
возникает вопрос об условиях реали- 2. Интернет, как средство рекрути- где деньги лежат», а то ведь не пове-
зации этой выгоды, или о ликвиднос- рования и интеграции разработ- рят! Но не забывайте, в этом разделе
ти полученных преимуществ или сто- чиков OSS. мы обсуждаем только сторону разра-
70
IMHO
не изменит статус этих стран. Так как указ Думы, и тогда мы все бросимся признать достаточными, то послед-
подобные страны становятся лишь на- писать «бесплатные программы»? ним требованием будет финансиро-
хлебниками OSS-проектов и попадают Что вообще нам для этого нужно? вание. То есть надо «влить» в систе-
в зависимость от них. И тут уже совер- Дешевый Интернет? Смотрю на свой му «кровь», и она заработает. Вот это-
шенно правильно отмечено, что «даль- ADSL-роутер, вроде уже есть. Высоко- го-то и не происходит!
нейшее развитие IT в стране будет тор- развитое демократическое общество? Никакие сервисные услуги не на-
мозиться.» Я бы даже усугубил. OSS – Смотрю на экран телевизора, говорят, кормят разработчиков, которые долж-
это реинкарнация «халявы». В свое что тоже есть. Обеспеченные гражда- ны не крутиться вокруг серверов и ра-
время украденные технологии IBM 360 не с высоким уровнем самосознания? бочих станций, а писать код в ком-
сыграли решающую роль в погребе- Смотрю в окно на проезжающие доро- фортных условиях. Значит, все столь
нии отечественной IT. И теперь выжи- гие автомобили и догадываюсь, что их бурно обсуждаемые вторичные спо-
вет лишь та страна, которая не только тоже изрядно. Почему же нет OSS? собы заработка не смогут сыграть су-
возьмет все от OSS, но и вернет об- Тут мне возразят: «А как же ALT Linux, щественной роли в становлении OSS,
ратно не менее! Значит, лишь тогда Этерсофт и другие, которые разра- так как эти поступления будут оседать
можно утверждать о существовании батывают оригинальный отечествен- на счетах сервисных же предприятий
OSS в России, когда наша страна ста- ный OSS?» Дело в том, что эти компа- и не дойдут до разработчиков, если
нет оплачивать собственные проекты нии вынуждены строить свой бизнес только... если только сами сервисные
OSS, и эти проекты станут востребо- по традиционной схеме, и их бюджет компании, как IBM и Novell, не осоз-
ваны за рубежом. А в противном слу- пополняется из поступлений от про- нают необходимость отчислений! Вот,
чае все мы превратимся в обслужива- даж по традиционным физическим опять пришли к мысли о иерархии пот-
ющий персонал, сопровождающий чу- каналам. Сравните их с Fedora Project ребностей.
жие OSS-проекты. или с openSUSE. Почувствуйте разни- Теперь просуммируем все ранее
И вот аксиома номер два: потреби- цу между мелкими частными инициа- сказанное, применительно к вопросам
тели продукции OSS всегда на выбор тивами и деяниями транснациональ- финансирования. Итак, объект финан-
или оплачивают продукцию, или при- ных корпораций. Для того чтобы OSS- сирования – это компания, ведущая
соединяются к разработчикам, то есть проект мог успешно развиваться, он OSS-разработки методами, описан-
возвращают труд, но делают это после не должен попадать в тиски жестких ными в первом разделе настоящей
получения продукта. потребительских требований. То есть статьи. То есть компания со столь вы-
Говоря иначе, потребители OSS вы- надо исключить диктат неграмотного соким уровнем виртуализации своей
нуждаются или работать на него, или потребителя, голосующего «рублем». деятельности, что ее капитализация
платить за него. И поэтому распростра- А в случае ALT Linux и Этерсофт это и IPO на рынке ценных бумаг в эконо-
нение OSS в станах третьего мира мо- всего лишь удачный частный бизнес мической системе, ориентированной
жет привести лишь к тому, что где-то группы лиц, но никто из нас не готов на сырьевые отрасли, вряд ли воз-
в Центральной Африке станут чтить его спонсировать просто так. И мно- можна. Источник финансирования –
нового белого колдуна Марка, но не гочисленные фонды, поощряющие это частные лица и компании, гото-
стоит ждать, что появятся африканс- развитие технологических проектов, вые к поощрению проектов с негаран-
кие инкубаторы OSS, которые будут на зарубежные гранты тоже не готовы. тированной финансовой отдачей или
рекрутировать в свои проекты евро- И многочисленные комитеты, растра- вообще к спонсированию, что в усло-
пейцев. OSS – это своего рода «тро- чивающие российский бюджет, как нам виях фискальных налоговых законов
янский конь». Принятие такого подар- говорят, на развитие наукоемких про- тоже невозможно. Способ финанси-
ка не принесет ничего хорошего ника- ектов, тоже не готовы. И даже россий- рования – это целевые перечисления,
кой «Трое». ские олигархи, времени которых хва- управляемые и контролируемые него-
Вы все еще думаете, что за OSS тает на вздорные телепередачи по по- сударственными и коммерчески толе-
никто не платит? В отсталых стра- иску менеджера-эксгибициониста, то- рантными комитетами, что в условиях
нах да, в передовых выстраиваются же не находят здесь своего интереса. коррумпированного государства тоже,
в очередь! Иначе говоря, для разви- То есть наше общество не готово к со- увы, невозможно.
тых стран OSS давно уже стал инстру- зданию собственного OSS. И поэтому У вас еще остались вопросы о том,
ментом влияния и национальной гор- с удовольствием потребляет и обслу- что мешает OSS и угрожает его разви-
дости. Гордость в розницу не продают, живает зарубежный. тию? Сами подумайте, если предпри-
но все за нее платят. Тут самое время задать вопрос, ятие, называемое коммерческим, от-
а в какой форме общество может вы- дает свою продукцию даром, а с другой
Перспективы OSS разить свой интерес в OSS. Не будем стороны, существует иное предпри-
Cтало ясно, что внутри OSS все готово обсуждать зарубежные страны. Попро- ятие, для которого никакой проводкой
для получения доходов, а потребитель- буем ответить, как это может произой- в балансе и никакой производственной
ская среда точно так же готова платить, ти в нашем отечестве. необходимостью не оправдать оплату
если не прямо по счету, то опосредо- Ключевой момент – это обеспече- работы, которая фактически достает-
ванно как минимум. Так что же теперь ние финансирования. Если уровень ся ему даром, то как может расценить
мешает создать и развивать OSS, на- технологии и подготовка среды по- такую ситуацию типичный простова-
пример, в той же России? Может, нужен тенциальных разработчиков можно тый российский налоговик?
72
bugtraq
Python – в школу!
Сергей Супрунов
Современная жизнь без компьютеров уже немыслима, и чтобы чувствовать себя в этом
мире достаточно уверенно, понимание того, как эти «ящики» работают, просто необходимо.
И закладывать это понимание нужно на самых ранних этапах образования, начиная со средней
школы.
Что должно быть фундаментальной дисциплины, вы- то есть понимание процессов, кото-
на уроках информатики? рождаясь в некие курсы подготовки рые заложены в то или иное явление.
Сейчас со школьным предметом «Ин- секретарей-машинисток. Мы же не учим детей на уроках физи-
форматика» сложилась довольно не- Однако основная задача средней ки, как менять головку блока цилинд-
приятная ситуация – он теряет роль школы – дать общее образование, ров двигателя ЕМЗ-236? И на биоло-
74
образование
гии не преподаётся практика протези- Ну а как тогда объяснить школьни- те с учениками, постепенно наращи-
рования зубов. Эти вопросы – уже за- ку, как именно работает операционная вая сложность и позволяя на первых
дача профессионального образования, система или тот же Word? Без понима- этапах получить осязаемый резуль-
но никак не общего. ния основ программирования, без при- тат, не углубляясь в излишние под-
А вот с информатикой получилась косновения к ним на практике инфор- робности.
ситуация как раз противоположная. мационные системы так и останутся Во-вторых, такому языку програм-
Определённые «общие» понятия, та- «чёрными ящиками», а неизвестность мирования нужна определённая «про-
кие как архитектура ЭВМ (по плака- ведь всегда пугает. зрачность», чтобы детали работы раз-
там, нарисованным в 80-х годах) и ос- Естественно, не нужно ставить сво- рабатываемой программы не были
новы алгоритмизации, по инерции ей задачей научить школьника писать скрыты за «виджетами и прочими гад-
ещё преподаются, хотя порой и с до- драйверы к Linux или полнофункцио- жетами».
вольно сильным отрывом от действи- нальные клиенты для сетей BitTorrent. В-третьих, он должен быть совре-
тельности. Но показать частичку этого «вол- менным. Не нужно бояться расска-
А вот практическая составляющая шебства», когда из нескольких десят- зывать детям про объектный под-
сводится к программам типа «Вве- ков строк самых обычных букв и цифр ход к программированию, про моду-
дите A, введите B, получите A + B» рождается работающая программа – ли и библиотеки. Ведь это всё есть,
на Бейсике и «глубокому» освоению это просто необходимо. на этих понятиях основана работа сов-
процедуры создания таблицы в Word, Причём важным моментом здесь ременных вычислительных систем,
когда любое отклонение мышки от за- является «жизненность» этих экспери- с этим ученикам предстоит столкнуть-
данной преподавателем траектории ментов, их соответствие современным ся в будущем, если они выберут себе
жестоко карается... стандартам и тенденциям. Ну и, конеч- специальность, связанную с компью-
Мне кажется, такой подход как раз но же, полезность, практическая цен- терами. В конце концов базовые кон-
и приводит к тому, что, устроившись ность. Если программа не вписывается цепции ООП совсем не сложнее орга-
на работу или поступив в вуз, недав- в интерфейс нынешних систем и не де- нической химии и общей теории отно-
ний ученик как огня боится компью- лает ничего полезного, то её разработ- сительности.
тера, полностью теряет ориентацию ка вряд ли сможет вызвать необходи- В-четвёртых, было бы хорошо, ес-
в системе при минимальных измене- мый интерес и желание действитель- ли бы выбранный язык программиро-
ниях интерфейса и при всплывании но разобраться во всей этой «кухне», вания был «практикующим». То есть
любого окошка, не упомянутого в инс- вместо того чтобы просто «содрать» это должен быть не искусственный,
трукции, бежит к системному адми- код у соседа по парте. пусть и идеально соответствующий це-
нистратору. лям образования, а всё-таки реальный
По моему глубокому убеждению, Что нам надо от языка инструмент. Если навыки, полученные
сейчас назрела необходимость вер- программирования? в школе, нельзя будет применить до-
нуть информатике былую «фундамен- Итак, возникает следующий вопрос – ма для разработки какой-нибудь «за-
тальность», когда изучаются не пос- а какой же язык программирования пускалки для игрушек», то их цен-
ледовательность «кликов» для запус- лучше всего подходит на роль «учебно- ность будет уже заметно ниже. А ес-
ка веб-браузера, а основы архитекту- го»? Традиционно это Basic или Pascal, ли эти знания пригодятся и в универ-
ры операционной системы и её орга- но, к сожалению, сейчас они несколь- ситете, и на работе – так вообще за-
низация; не назначение иконок на па- ко устарели. Впрочем, чтобы не гадать мечательно.
нели инструментов в Excel, записыва- на кофейной гуще, попробуем сформу- Ну и, наконец, дополнительными
емое под диктовку, а базовые поня- лировать основные требования, кото- плюсами будут доступность самого
тия графического интерфейса поль- рым должен (по крайней мере, в идеа- языка программирования и среды раз-
зователя... Причём в идеале – абс- ле) соответствовать язык программи- работки, а также его многоплатфор-
трагируясь от конкретной операци- рования для школы. менность, то есть возможность исполь-
онной системы. Во-первых, он должен быть прост зовать его независимо от того, рискнёт
Безусловно, практическая рабо- и понятен. Если для того, чтобы вывести ли школа выбрать в качестве базовой
та тоже необходима, но именно как на экран любимое всеми «Hello, world!», платформы Linux или «останется вер-
практикум, дополняющий основной потребуется целую четверть рассказы- на» системам Windows.
курс. вать пятиклассникам про «кучи», сте-
ки и динамическое выделение памя- Почему Python – лучший
Нужно ли изучать ти, то такой язык должен быть отбро- выбор?
языки программирования? шен сразу. Теперь попытаюсь объяснить, поче-
Понятно, что компьютеры изучать не- Но с другой стороны, он также му я вынес в заголовок статьи имен-
обходимо. А нужно ли в школе препо- не должен быть и слишком прос- но Python. Анализ сформулирован-
давать программирование? Ведь мы тым, не позволяющим «выпрыгнуть» ных выше критериев показывает, что
только что решили, что не стоит гото- за пределы элементарных консольных Python в той или иной мере соответс-
вить из учеников полноценных специ- диалогов. То есть в идеале язык про- твует всем этим требованиям.
алистов в той или иной области, отби- граммирования должен обладать спо- Написать первую программу на нём
рая хлеб у вузов и колледжей. собностью «эволюционировать» вмес- предельно просто:
76
полезные советы
Многоядерные процессоры
и проблемы, ими порождаемые,
в ОС семейства NT
Крис Касперски
Многоядерные и Hyper-Threading-процессоры не только увеличивают производительность,
но и порождают многочисленные проблемы – некоторые приложения (драйверы) начинают
работать нестабильно, выбрасывая критические ошибки или обрушивая систему в голубой
экран смерти. В чем причина такого поведения и как его избежать?
М
ногопроцессорные системы ющие на IBM PC, долгое время оста- блем, поскольку большинство людей
имеют свою специфику, с ко- вались совершенно незнакомы. По- видели многопроцессорные системы
торой программисты, работа- началу это не создавало никаких про- только на картинках, и только едини-
78
программирование
цы могли позволить себе иметь такую ные машины» мы будем по-
штучку на рабочем столе. нимать как истинно мно-
Теперь же все изменилось. Исчер- гопроцессорные системы,
пав резервы тактовой частоты, произ- так и компьютеры, постро-
водители процессоров сначала пред- енные на базе многоядер-
ложили нам Hyper-Threading (два вир- ных процессоров или про-
туальных процессора в одном), а затем цессоров с Hyper-Threading).
и многоядерные процессоры (несколь- Прик ладное приложение
ко полноценных процессоров на одном или драйвер устройства,
кристалле). И хотя до «эмуляции» на- спроектированный для од-
стоящей многопроцессорной системы нопроцессорной системы,
им еще далеко (многоядерные процес- не требует никакой адапта-
соры имеют одну шину, один контрол- ции для переноса на много-
лер прерываний и т. д.), дефекты про- процессорную систему, ес-
граммного обеспечения уже начина- ли, конечно, он спроектиро-
ют проявляться. ван правильно. Многие ти-
Проблема на самом деле очень се- пы ошибок (и в особеннос-
рьезна и относится не только к про- ти ошибки синхронизации)
граммис там- самоучкам, к лепаю - могут годами не проявлять-
щим мелкие утилиты, но затрагива- ся в однопроцессорных кон-
ет и весьма именитые корпорации, фигурациях, но завалива-
в том числе специализирующиеся на ют многопроцессорную ма-
мобильных устройствах. Вот что пи- шину каждые десять минут,
шет AMD в руководстве по програм- а то и чаще.
мированию под многоядерные про- Исправление ошибок
цессоры: «...the primary issues that the требует переделки исходных Рисунок 1. В симметричной многопроцессорной
mobile industry typically faced involved текстов (иногда очень зна- системе (которой является Windows NT и ее
потомки), каждый поток может исполняться
maximizing performance in a battery- чительной), но… что делать, на любом процессоре
operated environment, handling sleep если все, что у нас есть – это
states and non-standard display and двоичный файл? Хорошо, если дефек- точное приложение, на многопроцес-
I / O s u b sys te m s , a n d l ow -vo l t ag e ты исправлены в новой версии (кото- сорной машине оно будет выполняться
considerations. Thus, many device рая, между прочим, денег стоит), а ес- с той же самой скоростью, что и на од-
drivers were tuned to maximize reliability ли нет? нопроцессорной (или даже чуть мед-
and performance in those singleprocessor Эта статья адресована как самим леннее, за счет накладных расходов
mobile environments: and many haven’t разработчикам, так и продвинутым на поддержку многопроцессорности)
even been tested in a multiprocessor пользователям, умеющим держать (см. рис. 1).
system, even in the manufacturer’s own hiew в руках и не шарахающихся в сто- Процесс – более крупная испол-
test lab» («…основная проблема в том, рону от дизассемблера. Мы постара- нительная единица. Грубо говоря, это
что мобильная индустрия в основном емся рассмотреть как можно больше «коробок», в котором находятся прина-
сосредоточена на максимизации про- способов решения проблем, а вопро- длежащие ему потоки, исполняющие-
изводительности в условиях питания сы правомерности модификации дво- ся в едином адресном пространстве.
от батарей, обработке «спящего» со- ичного кода пускай решают юристы Каждый поток обладает своим собс-
стояния, нестандартных дисплеев, и… моралисты. твенным стеком и набором регист-
подсистемы ввода/вывода и умень- ров, но вынужден разделять глобаль-
шении питающего напряжения. Поэ- Прикладной уровень ные переменные и динамическую па-
тому большинство драйверов наце- Минимальной единицей исполнения мять вместе с другими потоками про-
лено на максимальную надежность в Windows является поток (thread), ко- цесса, что порождает проблему синх-
и производительность в однопроцес- торый в каждый момент времени мо- ронизации. Допустим, один поток вы-
сорном окружении. Многие из них жет исполняться только на одном про- водит ASCIIZ-строку на экран, а дру-
не были протестированы на много- цессоре. Несмотря на то что в боль- гой – в это же самое время выполня-
процессорных машинах, даже в про- шинстве случаев этот процессор не яв- ет над этой строкой функцию strcat(),
изводственных тестовых лаборатори- ляется жестко закрепленным и плани- удаляющую символ нуля до заверше-
ях» (http://developer.amd.com/assets/ ровщик может запускать поток на лю- ния операции копирования. Как следс-
16_Interrupts.pdf)). бом свободном процессоре, поток ос- твие – первый поток «вылетит» за пре-
Основной «удар» различий одно- тается неделимым (как атом), и раз- делы строки и пойдет чесать напа-
и многопроцессорных машин опера- личные части потока никогда не выпол- ханную область памяти до тех пор
ционная система и BIOS берут на се- няются более чем на одном процессо- пока не встретит посторонний нуль
бя (примечание: здесь и далее по тек- ре одновременно. То есть, если в сис- или не нарвется на исключение типа
сту под термином «многопроцессор- теме запущено только одно однопо- access violation.
80
программирование
Программисты, писавшие резиден-
тов под MS-DOS, должно быть, помнят,
как часто им приходилось пользовать-
ся командой CLI, запрещающей преры-
вания на время перестройки критичес-
ких структур данных. Допустим, наш
русификатор устанавливает новый об-
работчик клавиатурного прерывания.
Он записал в таблицу векторов свое
смещение и только собирался запи-
сать сегмент, как пользователь вдруг
нажал на клавишу, и процессор пере-
дал управление по адресу со старым
сегментом и новым смещением.
Программируемый контроллер
прерываний (Programmable Interrupt
Controller, или сокращенно PIC) ориги- Рисунок 4. Обработка аппаратных прерываний на машине с одним процессором
нального IBM PC был построен на мик-
росхеме i8259A, сейчас же контроллер
прерываний встроен непосредствен-
но в южный мост чипсета и эмулирует
i8259A лишь в целях обратной совмес-
тимости. PIC имеет 15 линий прерыва-
ний, а каждая линия – свой приоритет.
Во время обработки прерываний пре-
рывания с равным или более низким
приоритетом маскируются, так сказать,
откладываясь на потом. Иногда это по-
могает, иногда нет. Например, если за-
маскировать прерывания от таймера
более чем на один «тик», системные
часы начнут отставать. А если проигно-
рировать прерывания от звуковой кар-
ты и вовремя не «скормить» ей очеред-
ную порцию данных, она начнет «буль- Рисунок 5. Маскировка прерываний драйвером на двухпроцессорной машине
кать», заставляя пользователя рыдать
от счастья и биться головой о монитор. ный. Нормальное выполнение потока гие программисты просто повыша-
Прерывания с более высоким приори- происходит на нулевом уровне, назы- ют уровень IRQL ядерной API-фун-
тетом прерывают менее приоритетные ваемом пассивным (PASSIVE), и его кций KeRaiseIrql (), а при выходе
прерывания, возвращая им управле- может прерывать любое асинхрон- из ISR восстанавливают его вызовом
ние после того, как они будут обрабо- ное событие, возникающее в системе. KeLowerIrql(). Даже если они не дела-
таны. Усовершенствованные клоны При этом операционная система повы- ют этого явно, за них это делает сис-
PIC (Advanced Programmable Interrupt шает текущий IRQL до уровня возник- тема. Рассмотрим происходящие со-
Controller, или сокращенно APIC) обес- шего прерывания и передает управле- бытия более подробно.
печивают 256 линий прерываний и, ние его ISR (Interrupt Service Routine – Допустим, поток A работает
в отличие от обычного PIC, способны процедура обработки прерывания), на уровне IRQL равном PASSIVE_LEVEL
работать в многопроцессорных сис- предварительно сохранив состояние (см. рис. 4). Устройство Device 1 воз-
темах (см. рис. 2). текущего обработчика. бу ж дает аппаратное прерывание
Операционная система Windows Приоритеты с номерами 1 и 2 отда- с уровнем DIRQL (т.е. с номером 3 до 31
поддерживает PIC и APIC контролле- ны под программные прерывания (на- включительно). Операционная систе-
ры, но использует свою собственную пример, возникающие при ошибке об- ма прерывает выполнение потока A,
систему приоритетов прерываний, из- ращения к странице памяти, вытеснен- повышает IRQL до DIRQL и передает
вестную под аббревиатурой IRQL, ко- ной на диск), а все остальные обслу- управление на ISR устройства Device 1.
торая расшифровывается как Interrupt живают аппаратные прерывания от пе- Обработчик прерывания обращает-
Request Levels (уровни запроса пре- риферийных устройств, причем преры- ся к устройству Device 1, делает с ним
рываний). Всего существует 32 уров- вание от таймера имеет приоритет 28 все, что оно требует, ставит в очередь
ня, пронумерованных целыми числа- (см. рис. 3). отложенную процедуру DpcForISR()
ми от 0 до 31. Уровень 0 имеет мини- Чтобы замаскировать прерыва- для дальнейшей обработки и понижает
мальный приоритет, 31 – максималь- ния на время выполнения ISR, мно- IRQL до прежнего уровня. Отложенные
82
программирование
поскольку отладчик может заметить,
что точка останова исчезла, и поста-
вить ССh еще раз, забыв обновить
оригинальное содержимое, оставше-
еся от старой команды. Корректный
перехват в этом случае практичес-
ки невозможен. Теоретически мож-
но внедрить jump во вторую инструк-
цию, но для этого нам необходимо оп-
ределить, где заканчивается первая,
а поскольку ее начало искажено про-
граммной точкой останова, для ее де-
кодирования придется прибегнуть
к эвристическим методам, а они не-
надежны. К счастью, большинство
Рисунок 7. Отсутствие синхронизации при обработке прерываний на двухпроцессорной
функций начинаются со стандартно- машине приводит к порче разделяемых данных
го пролога PUSH EBP/MOV EBP,ESP
(55h/8Bh ECh), поэтому, встретив пос- хваченных функций и, если это дейс- кают (если они вообще возникают, ху-
ледовательность CCh/8Bh ECh, мы твительно «наш» адрес, выполняем ра- же когда программа делает из обраба-
вполне уверенно можем внедрять свой нее сохраненную машинную инструк- тываемых данных «винегрет») доволь-
jump, начиная с MOV EBP,ESP. цию в своем буфере и передаем управ- но далеко от места «аварии». То же
Вот только тут есть один нюанс. Ко- ление на вторую инструкцию перехва- самое относится и к голубым экранам
манда ближнего перехода в 32-битном ченной функции. Снимать CCh ни в ко- смерти. Изучение дампов памяти дает
режиме занимает целых 5 байт, поэто- ем случае нельзя! Поскольку в этот мо- довольно скудную информацию, осо-
му для ее записи необходимо восполь- мент функцию может вызывать кто-то бенно если разрушены структуры дан-
зоваться командой MOVQ, иначе мо- еще, но наш перехватчик «прозевает» ных, хранящиеся в динамической па-
дификация будет представлять неа- этот факт! мяти, которая каждый раз выделяет-
томарную операцию. Задумайтесь, что Если же полученный адрес не «наш», ся по разным адресам, что затрудня-
произойдет, если мы записали 4 пер- мы передаем управление предыдуще- ет воспроизведение ошибки.
вых байта команды JMP NEAR TARGET му обработчику INT 03h. То же самое При наличии исходных текстов
командой MOV и только собрались до- мы делаем, если программная точка в первую очередь проверьте: не ис-
писать последний байт, как внезап- останова была установлена еще до пе- пользуются ли во многопоточной про-
но пробудившийся поток захотел вы- рехвата. Тогда мы позволяем преды- грамме однопоточные версии биб-
звать эту функцию? Правильно – про- дущему обработчику INT 03h восста- лиотек? В частности, компилятор
изойдет крах! новить ее содержимое, а сами ставим Microsoft Visual C++ поставляется
Но даже атомарность не спаса- CCh на следующую инструкцию. Ко- с двумя версиями статических биб-
ет от всех проблем. Допустим, мы нечно, такой способ перехвата намно- лиотек С: LIBC.LIB – для однопоточ-
записываем 5-байтовую команду го сложнее «общепринятого», зато он ных и LIBCMT.LIB – для многопоточ-
JMP NEAR TARGET поверх 2-байтовой на 100% надежен и работает в любых ных программ. Динамически компону-
команды MOV EBP,ESP, естественно, конфигурациях – как одно- так и мно- емая библиотека MSVCRT.LIB исполь-
затрагивая следующую за ней коман- гопроцессорных. зуется как в одно- так и во многопоточ-
ду. Даже на однопроцессорных маши- ных проектах. Также поищите прямые
нах существует вероятность, что какой- Пути решения проблем вызовы CreateThread(). Со стандарт-
то из потоков был ранее прерван сра- Самое простое (и самое радикальное) ной библиотекой С они несовместимы
зу же после выполнения MOV EBP,ESP, решение – указать ключ /NUMPROC=1 и потому должны быть в обязательном
и когда он возобновит свое выполне- (или /ONECPU) в файле boot.ini, од- порядке заменены на _beginthread()
ние, то… окажется посередине коман- ним росчерком пера превратив много- или _beginthreadex().
ды JMP NEAR TARGET, что повлечет процессорную систему в однопроцес- Все глобальные переменные (кро-
за собой непредсказуемое поведе- сорную. Правда, о производительнос- ме тех, что используются для обмена
ние системы. ти после этого можно забыть, поэто- данных между потоками) поместите
Алгоритм безопасной модифи- му прибегать к такому «варварскому» в TLS (Thread Local Storage – локаль-
кации выглядит так: перехватываем методу стоит только в самых крайних ная память потока). На уровне исход-
INT 03h, запоминая адрес прежнего случаях, когда система регулярно сбо- ных текстов это делается так:
обработчика, внедряем в начало пере- ит, а времени на поиски неисправности
хватываемой функции CCh (если толь- и капитальный ремонт у нас нет. __declspec (thread) int my_var
ко программная точка уже не установ- Кстати, поиск неисправностей – са-
лена). При возникновении прерыва- мое сложное дело. Некорректная син- при этом компилятор создает в PE-фай-
ния INT 03h мы сравниваем получен- хронизация потоков приводит к порче ле специальную секцию .tls, куда и по-
ный адрес со списком адресов пере- данных, и критические ошибки возни- мещает my_var, автоматически созда-
Заключение
Многопроцессорные системы созда-
ют гораздо больше проблем, чем мы
здесь описали, и далеко не все из них
разрешимы в рамках простой передел-
Рисунок 8. Защита разделяемых данных спин-блокировками
ки программ. Получив возможность со-
вая отдельный экземпляр для каждо- шить и без правки – поменяв приори- здавать потоки, программисты дале-
го из потоков. теты потоков. Если один из двух (или ко не сразу осознали, что отлаживать
В отсутствие исходных текстов эту более) потоков, использующий раз- многопоточные программы на поря-
затею осуществить труднее, но все- деляемые данные без синхронизации, док сложнее, чем однопоточные. С дру-
таки возможно. Сначала необходи- получит больший приоритет, чем ос- гой стороны, уже сейчас мы приходим
мо найти переменные, к которым идет тальные, «расстановка сил» немед- к распределенным системам и распре-
обращение из нескольких потоков. ленно изменится, и, возможно, она из- деленному программированию. Раз-
Это делается так: ищутся все вызовы менится так, что порча данных станет бив цикл с большим количеством ите-
CreateThread()/_beginthread(), опреде- происходить не так часто, как прежде. раций на два цикла, исполняющихся
ляется стартовый адрес функции пото- Нужные значения приоритетов под- в разных потоках/процессах, на двух-
ка и создается дерево функций, вызы- бираются экспериментально, а зада- процессорной машине мы удвоим про-
ваемых этим потоком (для этого удоб- ются API-функцией SetThreadPriority(), изводительность! Это слишком значи-
но использовать скрипт func_tree.idc принимающей дескриптор потока. Вот тельный выигрыш, чтобы позволить
от mammon, который можно скачать тут-то и начинаются проблемы. Мы мо- себе пренебрегать им, поэтому осва-
с www.idapro.com). Перечисляем гло- жем легко узнать идентификатор по- ивать азы распределенного програм-
бальные переменные, упомянутые тока через функции TOOLHELP32: мирования нужно уже сейчас.
в этих функциях, и если одна и та C r e a t e T o o l h e l p 3 2 S n a p s h o t ( ) ,
же переменная встречается в дере- Thread32First()/Thread32Next(), оста- 1. Scheduling, Thread Context, and IRQL –
вьях двух разных потоков – смотрим ется «всего лишь» преобразовать его статья, сжато, но доходчиво описы-
на нее пристальным взглядом, пыта- в дескриптор. Долгое время это при- вающая механизмы диспетчериза-
ясь ответить на вопрос: может ли она ходилось делать весьма извращен- ции потоков, IRQL-уровни и обработ-
быть источником проблем или нет? ным путем через недокументиро- ку прерываний на однопроцессорных
Если переменная не используется ванные функции типа NtOpenThread и многопроцессорных машинах под
для обмена данными между потока- (см. http://hi-tech.nsys.by/11), но в Windows NT (на английском языке):
ми, замещаем все обращения к ней Windows 2000 наконец-то появилась http://www.microsoft.com/whdc/driver/
на переходник к нашему обработчи- легальная API-функция OpenThread(), kernel/IRQL.mspx.
ку, размещенному в свободном мес- принимающая идентификатор пото- 2. Locks, Deadlocks, and Synchronization –
те файла, который, используя вызовы ка и возвращающая его дескриптор статья, описывающая механизмы син-
TslSetValue()/TslGetValue(), записыва- (разумеется, при условии, что все не- хронизации Windows NT и проблемы,
ет/считывает ее содержимое. Если же обходимые права у нас есть). Виват, возникающие при их некорректном ис-
переменная используется для обмена Microsoft! пользовании (на английском языке):
данными между потоками, – окружаем Разобравшись с прикладными при- http://www.microsoft.com/whdc/driver/
ее критическими секциями или други- ложениями, перейдем к драйверам. kernel/locks.mspx.
ми механизмами синхронизации. При наличии исходных текстов доста- 3. Principles of Concurrent and Distributed
Естественно, все это требует прав- точно использовать спин-блокировку Programming – книга, посвященная
ки исполняемого файла (и притом до- во всех отложенных процедурах, од- основам распределенного програм-
вольно значительной). Без соответс- нако в большинстве случаев исход- мирования (на английском языке):
твующих знаний и навыков за такую ных текстов у нас нет, а править драй- http://www.amazon.com /gp /product /
задачу не стоит и браться! Правда, есть вер в hiew удовольствие не из прият- 013711821X/002-0912814-0689662?v=
шанс, что проблему удастся разре- ных. К счастью, существует и другой glance&n=283155.
84
конкурс
Суровая правда,
скрытая за «розовыми очками»:
история компании Transmeta
Часть 2
Дмитрий Мороз
В 2001 году Transmeta находилась в плачевном положении. Являвшаяся одной из самых
перспективных компаний ХХI века, она вмиг оказалась среди аутсайдеров процессорного
рынка.
Жизнь цвета зебры впрочем, особых надежд по этому по- енты – производители ноутбуков. Для
2001 год выдался для Transmeta не са- воду не питала. Остальные же произ- примера можно вспомнить ситуацию
мым радостным: отсутствие прибыли, водители Страны восходящего солнца конца 2000 года, когда компания NEC
клиентов, постоянные проблемы с про- продолжали выпускать модели, ориен- отозвала из магазинов 300 портатив-
изводством. Большая часть процессо- тируясь лишь на собственный рынок. ных компьютеров, содержавших неста-
ров Crusoe уходила в Японию, где на их Качество процессоров Transmeta бильно работавшие чипы Crusoe. Sony
основе японские гиганты Sony, Toshiba, было второй по популярности темой постигла та же участь: корпорация бы-
Casio, Hitachi и другие изготовляли уль- для обсуждения после низкой произ- ла вынуждена предупредить своих
тратонкие ноутбуки. Проблема состо- водительности Crusoe. Даже тогда, ког- клиентов о возможном возникновении
яла в том, что за пределы страны эти да производством чипов Transmeta за- проблем с её ноутбуками серии Vaio из-
портативные системы не вывозились, ведовала IBM, вкладывающая в свои за центрального процессора Transmeta.
во всяком случае, официально. заводы не меньше денежных средств, Если быть более конкретным, это поло-
К 2001 году наладить постоянные чем та же Intel, процент изготовленных вина всей партии, состоящей из 28 ты-
поставки ноутбуков на базе Crusoe чипов, содержавших брак, был доволь- сяч систем.
в страны Америки и Европы осмели- но высок. Из-за проблем Transmeta Переход производства
лась лишь японская Casio, которая, страдали в первую очередь её кли- C r u s o e к Ta i w a n S e m i c o n d u c t o r
86
ретроспектива
Manufacturing Co. (TSMC) ситуацию Дитцелу (David Ditzel) вместе со сво-
не улучшил. Да, цена снизилась не- ими извинениями пришлось объявить,
много, однако для такого важного ком- что планку в 1 ГГц ТМ5800 сможет
понента любой вычислительной сис- преодолеть лишь в январе 2002 года,
темы, как процессор, качество пре- а в продаже он появится никак не рань-
выше всего. Как раз с этим у TSMC ше лета того же года.
были большие проблемы. Её новый К счастью для Transmeta, не весь Crusoe TM5400 рядом с монетой
в 25 американских центов
0,13 мкм технический процесс под ко- 2001 год был для неё чередой сплош-
довым названием «Чёрный алмаз» ных неудач. Попытки компании про-
(Black Diamond), разработанный сов- биться на новые рынки возымели не-
местно с компанией Applied Materials который успех, и сразу несколько про-
и расхваленный на всякий лад, сра- изводителей серверных систем объ-
зу же показал свои недостатки. Nvidia, явили об использовании процессо-
разработчик графических процессо- ров Crusoe для постройки тонких ин-
ров, не удовлетворённая низким ка- тернет-серверов и многопроцессор-
чеством продукции, производимой ных кластеров с пониженным энерго- Efficeon TM8620 рядом с монетой
в 25 американских центов
TSMC, «ушла» к её конкуренту – UMC. потреблением.
Ещё два основных клиента тайвань- Стоит отметить, что серверы на ба- Goldman), входивший в состав совета
ской компании, VIA и Broadcom, также зе Crusoe не являются многопроцес- директоров Transmeta.
обвинили своего партнёра в большом сорными системами, построенными по Сам отчёт, предоставленный на
количестве производимых им брако- типу SMP (Symmetric Multy Processing – всеобщее обозрение спустя двое су-
ванных кремниевых чипов. симметричная многопроцессорная об- ток, был удручающим: потери компа-
Transmeta не стала для TSMC «при- работка), на основе которого работают нии составили 29,6 млн. долларов, при-
ятным исключением»: процент процес- серверы на базе чипов Intel и AMD. Дит- быль – 5 млн. долларов. Аналогичные
соров ТМ5800 «с ошибками», только цел, будучи ещё на посту генерального цифры за второй финансовый квартал
что сошедших с конвейера, был чрез- директора, публично заявил: «Я боль- составили 27,7 млн. долларов убытка
вычайно велик. Проблемы с произ- ше не верю в SMP. Просто не вижу при- и 10,5 млн. долларов дохода. К ноябрю
водством Crusoe вылились в задержки чин, которые бы подталкивали людей цена за одну акцию Transmeta опусти-
с поставкой чипов клиентам Transmeta. к её использованию». По его словам, лась до смехотворной отметки в 2 дол-
Компания Toshiba, после долгих меся- потери производительности, прису- лара. В день выхода компании на фон-
цев неопределённости решившаяся- щие SMP, например, неэффективное довую биржу этот показатель соста-
таки выпустить свой первый ноутбук управление приоритетами кэшей про- вил 21 доллар.
на базе Crusoe в США, была вынуж- цессоров и пр., не подходят для сис- Цифры говорят сами за себя –
дена отказаться от своих планов из- тем, ориентированных на рынок ин- Transmeta продолжала терять своих
за банального отсутствия процессоров тернет-вычислений. Вместо этого сер- клиентов, а также их деньги, причём
к своим портативным системам. По- веры на базе Crusoe строятся на ба- с невероятной скоростью.
добная судьба постигла и пять новых зе массовой параллельной обработки
субноутбуков от Sony и Fujitsu. В нояб- (Massively Parallel Processing – MPP), Больше товаров –
ре 2001 года представители обеих ком- на основе которой работают Beowulf- хороших и разных!
паний публично обвинили Transmeta кластеры. 2002 год стал годом прихода Crusoe
в невыполнении своих обещаний, со- Готовые решения Fibrecycle, Rebel «в массы». Наконец-то количество сис-
гласно которым последняя обязалась и RLX Technologies пообещали пред- тем, использующих в своей основе
предоставить им чип ТМ5800, работа- ставить миру уже в конце 2001 – нача- процессор компании Transmeta, пере-
ющий на частоте 800 МГц, ещё в сере- ле 2002 года. стало исчисляться единицами.
дине года. Однако пока компании «пели дифи- Однако прежде чем новинки за-
Что же касается давно ожидаемого рамбы» высокой экономичности и ма- полнили собой прилавки магазинов,
Crusoe, работающего на частоте 1 ГГц, лому энергопотреблению процессоров Transmeta наконец-то «обрела» ново-
первоначальное обещание Transmeta Crusoe, показателям, столь важным го генерального директора в лице Мэ-
выпустить его в январе 2001 года «рас- для тонких серверов, Transmeta про- тью Перри (Matthew R. Perry), до этого
сыпалось в пух и прах». Для того что- должала с катастрофической скоро- успевшего поработать в компаниях:
бы процессор ТМ5800 и его более де- стью терять деньги. 17 октября 2001 го- Cirrus Logic, AMD и Motorola.
шёвый вариант, ТМ5500, выпуска- да, за два дня до оглашения отчёта за Ну а теперь кратко пройдёмся по
лись по 0,13 мкм технологии, инжене- третий финансовый квартал, с поста ассортименту устройств, использую-
рам пришлось значительно доработать генерального директора был уволен щих процессоры Crusoe, благо в 2002
внутреннюю компоновку элементов Марк Аллен (Mark Allen), пребывав- году их было выпущено достаточно.
на кристалле чипа, негативным обра- ший в «кресле» всего шесть с полови- Основными «потребителями» про-
зом сказавшуюся на дальнейшем по- ной месяцев после своего восхожде- цессоров Transmeta оставались, ко-
вышении его тактовой частоты. Техни- ния на эту должность. Его место вре- нечно же, ноутбуки. В Японии компа-
ческому директору компании Дэвиду менно занял Мюррей Голдмен (Murray ния сумела отхватить солидный кусок
88
ретроспектива
а также шину HyperTransport, которая же (ТМ8600 с уменьшенными на 46%
будет использоваться для соединения размерами корпуса). Частоты всех
с южным мостом. трёх моделей колебались в пределах
Буквально через пару месяцев 1-1,3 ГГц.
стало известно нечто интересное: На фоне громкого анонса Efficeon
Transmeta заручилась поддержкой остался практически незамеченным
графического гиганта, компании уход из Transmeta создателя Linux Ли-
nVidia, которая согласилась разрабо- нуса Торвальдса, который решил пос-
тать для Astro мобильную версию юж- вятить своё время исключительно раз-
ного моста nForce 3. В свою очередь работке собственного программно-
Transmeta пообещала сделать мост, го «чада». OQO Ultra Personal Computer
а также графический чип от nVidia не- Возможно, уход Торвальдса был
отъемлемой частью своей референс- продиктован очередным финансовым Workstation производства компании
ной платформы на базе нового про- кварталом, который напрочь «разве- Orion Multisystems. 96 процессоров
цессора. ял мечты» Transmeta по поводу до- Efficeon, 192 Гб оперативной памяти,
В августе 2003 года у ТМ8000 по- стижения доходного уровня в 2003 го- а также 9,6 Тб дискового пространства
явилось официальное имя – Efficeon ду. Судите сами: по сравнению с пре- свободно уместились в корпусе прак-
(Efficient Computing – эффективная дыдущим кварталом прибыль компа- тически стандартных для настольных
обработка). Все основные детали от- нии в связи с нежеланием покупать ПК размеров. При этом вес системы
носительно нового чипа были извест- её морально устаревшие процессо- составляет всего 86 кг. Стоимость –
ны, и Transmeta оставалось всего ниче- ры Crusoe упала почти на 50%, соста- от 100 тыс. долларов.
го – представить Efficeon на суд публи- вив всего 2,7 млн. долларов. Потери
ки. Данное событие состоялось 14 ок- увеличились ещё на несколько мил- Потерянная процессорная
тября на Микропроцессорном форуме лионов, составив 23,7 млн. долларов. гонка
(Microprocessor Forum). Теперь судьба компании напрямую за- В январе 2004 года Transmeta выпусти-
Итак, что новенького пригото- висела от того, примет ли рынок её но- ла Crusoe ТМ5900, который представ-
вили инженеры на этот раз? Новое вый Efficeon. лял собой обычный ТМ5800 с умень-
256-разрядное ядро способно выпол- Результаты производительнос- шенным корпусом, однако одногига-
нять до восьми инструкций за такт. ти нового чипа Transmeta показыва- герцовый чип ещё до своего выхода
Для увеличения производительности ли двукратное преимущество Efficeon в свет был отправлен общественнос-
в Efficeon к уже имевшимся в Crusoe относительно Crusoe, что само по себе тью «на свалку».
модулям добавили по одному блоку уже было достижением. Казалось бы, В это время рынок начал переход
для операций с числами с плавающей новый процессор Transmeta получил- на 0,9 мкм производственный процесс.
запятой, операций с памятью и управ- ся удачнее своего предшественника… Порядком «уставшая» от постоянных
ления переходами. Ядро нового чипа К сожалению, компания опоздала проблем с TSMC, для второго поко-
«подружилось» с наборами инструк- с его появлением. В 2003 году рынок ления процессоров Efficeon Transmeta
ций SSE и SSE2. Размер кэша второ- был полностью оккупирован Intel и её выбрала нового производителя микро-
го уровня был увеличен в два раза – новой платформой Centrino. Анонсиро- схем – Fujitsu. ТМ8800, выполненный
до 1 Мб. Упоминавшиеся ранее конт- ванная в марте 2003 года, Centrino ус- по нормам 0,9 мкм, должен был поя-
роллер ОЗУ стандарта DDR 400 и гра- пела в короткие сроки стать стандар- виться к осени 2004 года. А пока не-
фический интерфейс AGP 4х позволи- том де-факто в качестве основы для многие компании, главным образом
ли отказаться от микросхемы север- построения высокопроизводитель- Sharp и Orion Multisystems, выбравшие
ного моста. С южным же мостом но- ных и вместе с тем экономичных но- Efficeon первого поколения в качестве
вый чип общается посредством шины утбуков. Что же касается её процес- основы для своих систем, получали
HyperTransport, работающей на час- сора, Pentium M, он оказался настоль- процессоры в небольших партиях.
тоте 400 МГц. Полностью переписан- ко удачно спроектированным чипом, Именно благодаря им Transmeta
ное программное обеспечение Code что по производительности без труда удавалось держаться на плаву. Опуб-
Morphing Software, по заверениям ин- справлялся не только со своими кон- ликованный в середине года финан-
женеров Transmeta, эффективнее ста- курентами из мобильного рынка, но и совый отчёт продемонстрировал да-
рого на 40-50%. Стоит, правда, отме- с процессорами, предназначенными же небольшое увеличение прибыли –
тить и недостатки – заметно увели- для настольных систем. «Хиленький» с 3,6 до 5,2 млн. долларов, да и потери
чившееся количество транзисторов Efficeon конкуренцию Pentium M со- компании замерли на отметке 23,4 млн.
(с 36,8 до 85 млн.), и, следовательно, ставить не мог. долларов.
размер кристалла чипа (с 55 кв. мм. В результате лишь немногие ком- Публичная демонстрация ТМ8800,
(ТМ5800) до 119 кв. мм.). пании выпустили устройства на ба- работающего на частоте 1,6 ГГц, состо-
Миру были представлены сразу не- зе нового процессора Transmeta. Кро- ялась в мае 2004 года. Кроме более со-
сколько версий Efficeon: ТМ8600 (1 Мб ме небольшого количества ноутбу- вершенного техпроцесса, а также бо-
кэш-памяти второго уровня), TM8300 ков, упоминания заслуживает лишь лее высокой тактовой частоты, новый
(L2-кэш размером 512 Кбайт), а так- «серверная станция» Orion Cluster Efficeon «предлагал» два новшества.
90
bugtraq
92
книжная полка
Криминалистический анализ
файловых систем
Брайан Кэрриэ
инструментарий эксперта), основные тура данных, файловые системы ext2
принципы работы компьютера (орга- и 1ext3, а также UFS1 и UFS2). На про-
низация данных, процесс загрузки, тех- тяжении всей книги в качестве основ-
нологии жестких дисков), снятие дан- ного инструмента используется пакет
ных с жеского диска (чтение исходных TSK (The Sleuth Kit), который вы можете
данных, запись снятых данных, прак- загрузить с www.sleuthkit.org. Весь ма-
тические примеры). Во второй части териал книги отлично структурирован.
книги автор проводит анализ томов. Несмотря на достаточно сложную те-
Рассмотрены вопросы, касающиеся му, книга легко читается и усваивается.
основ анализа, основные концепции Отличный материал, написанный спе-
MBR, расширенный раздел. Особый циалистом для специалистов, он зай-
интерес предствляет глава «Разделы в мет достойное место на книжной полке
серверных системах», из которой вы уз- у любого системного администратора
Уникальная в своем роде книга, анало- наете о разделах BSD и структуре дан- или инженера по безопасности.
гов которой нет не только на русском, ных, сегментах Sun Solaris, разделах
но и на других языках. Автору удалось GPT. Многодисковые тома (рассмот- Издательство: «Питер»
удачно совместить теорию с практикой рены технологии RAID и объединения Год издания: 2007
и в максимально доступной форме из- дисков – Linux MD, LVM, Windows LDM). Количество страниц: 480
ложить весь материал. Первая часть Черезвычайно подробно рассказано ISBN: 5-469-01311-1
книги носит теоретический характер, об анализе файловых систем: (fat и ntfs: Цена: ≈ 523 руб.
из нее вы узнаете основы цифровых основные концепции, анализ и струк- Книга предоставлена издательством «Питер».
расследований (цифровые расследо-
вания повтор и улики, анализ данных, Обзор книжных новинок подготовил Александр Байрак
94
подписка на 2007 год
Российская Федерация печати «Гасид» (370102, г. Баку, ул. Джавадхана, 21)
Подписной индекс: годовой – 20780, полугодовой – 81655 Казахстан – по каталогу «Российская Пресса» через
Каталог агентства «Роспечать» ОАО «Казпочта» и ЗАО «Евразия пресс»
Подписной индекс: 87836 Беларусь – по каталогу изданий стран СНГ через РГО
Объединенный каталог «Пресса России» «Белпочта» (220050, г. Минск, пр-т Ф. Скорины, 10)
Адресный каталог «Подписка за рабочим столом» Узбекистан – по каталогу «Davriy nashrlar» российс-
Адресный каталог «Библиотечный каталог» кие издания через агентство по распространению пе-
Альтернативные подписные агентства: чати «Davriy nashrlar» (7000029, г. Ташкент, пл. Муста-
Агентство «Интер-Почта» (495) 500-00-60, курьерская киллик, 5/3, офис 33)
доставка по Москве Армения – по списку номенклатуры «АРЗИ» через
Агентство «Вся Пресса» (495) 787-34-47 ГЗАО «Армпечать» (375005, г. Ереван, пл. Сасунци Да-
Агентство «Курьер-Прессервис» вида, д. 2) и ЗАО «Контакт-Мамул» (375002, г. Ереван,
Агентство «ООО Урал-Пресс» (343) 375-62-74 ул. Сарьяна, 22)
ЛинуксЦентр www.linuxcenter.ru Грузия – по списку номенклатуры «АРЗИ» через АО
Подписка On-line «Сакпресса» ( 380019, г. Тбилиси, ул. Хошараульская, 29)
http://www.arzi.ru и АО «Мацне» (380060, г. Тбилиси, пр-т Гамсахурдия, 42)
http://www.gazety.ru Молдавия – по каталогу через ГП «Пошта Молдавей»
http://www.presscafe.ru (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
по списку через ГУП «Почта Приднестровья» (МD-3300,
СНГ г. Тирасполь, ул. Ленина, 17)
В странах СНГ подписка принимается в почтовых отделе- по прайс-листу через ООО Агентство «Editil Periodice»
ниях по национальным каталогам или по списку номенк- (МД-2012, г. Кишинев, бул. Штефан чел Маре, 134)
латуры «АРЗИ»: Подписка для Украины:
Азербайджан – по объединенному каталогу россий- Киевский главпочтамт
ских изданий через предприятие по распространению Подписное агентство «KSS», тел./факс (044)464-0220
Подписные
индексы:
20780*
81655**
по каталогу
агентства
«Роспечать»
87836
по каталогу
агентства
«Пресса
России»
*
годовой
**
полугодовой
УЧРЕДИТЕЛИ
ЧИТАЙТЕ
Владимир Положевец
Александр Михалев В СЛЕДУЮЩЕМ
РУКОВОДИТЕЛЬ ПРОЕКТА
Петр Положевец
НОМЕРЕ:
РЕДАКЦИЯ
Исполнительный директор
Владимир Положевец FreeBSD jail: зона еще не сталкивались, и который может
Ответственный секретарь строгого режима стать доминирующим в обозримом бу-
Наталья Хвостова Безопасность FreeBSD всегда была дущем, поэтому представляет интерес
sekretar@samag.ru на должном уровне. Но когда в Интер- проанализировать проблему и описать
Технический редактор нет нужно «выставить» один или не- источник угрозы и возможные спосо-
Владимир Лукин сколько сервисов, надеяться прихо- бы борьбы.
Редактор дится уже не только на разработчи-
Алексей Коршунов
Внештатные редакторы
ков системы. Традиционно для сни- Обзор дистрибутива
Алексей Барабанов
жения опасности используют chroot- SystemRescueCd Linux
Сергей Супрунов окружение, но этот вызов разрабаты- Вам часто приходится восстанавли-
Валентин Синицын вался для иных целей. А вот вызову jail, вать систему после сбоя, копировать
Крис Касперски специально созданному для решения данные с поврежденных жестких дис-
вопросов безопасности, зачастую от- ков, тестировать аппаратную часть
РЕКЛАМНАЯ СЛУЖБА дают лишь роль средства виртуализа- ЭВМ, сбрасывать забытые пароли в се-
тел./факс: (495) 628-8253 ции. Но область его применения зна- мействе ОС windows NT, готовить дис-
Евгения Тарабрина чительно шире. ки для установки новой ОС и решать
reсlama@samag.ru другие административные задачи?
Верстка и оформление
Атаки на ошибки Обычно для этого используются набо-
maker_up@samag.ru
синхронизации потоков ры дистрибутивов и Live-CD различно-
3 сентября 2006 года хакер johnny го назначения, но есть ли единое и ком-
Дизайн обложки
Николай Петрочук cache реализовал принципиально но- пактное решение «все в одном»?
вый тип атаки на драйверы устройств
По вопросам распространения беспроводной связи Intel Centrino PRO, Kerberos
обращайтесь по телефону: воздейстовав на регистр EIP через и электронная почта
(495) 628-8253 (доб. 120) ошибку синхронизации потоков (впол- В статье будет рассмотрен способ ин-
не типичную для DSL-модемов, ИК-пор- теграции smtp-сервера Postfix и imap/
107045, г. Москва, тов и других устройств, обрабатыва- pop3-сервера Сyrus-IMAP в систему
Ананьевский переулок, дом 4/2, стр. 1 ющих асинхронные запросы). Но на- единой регистрации пользователей
тел./факс: (495) 628-8253 вряд ли он осознал, что эта атака от- Heimdal-Kerberos. Также будет показан
Сайт журнала: www.samag.ru
крывает новую страницу в истории пе- пример использования этой системы
реполняющихся буферов. Это действи- в гетерогенном окружении при помо-
ИЗДАТЕЛЬ
ЗАО «Издательский дом тельно новый тип атаки, с которым мы щи почтового клиента Thunderbird.
«Учительская газета»
96