Linux/BSD как бастион на пути вирусов::Журнал СА 10.2005
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

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

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

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

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

Разбор полетов  

Ошибок опыт трудный

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

 Читать далее...

Принципы проектирования  

Dependency Inversion Principle. Принцип инверсии зависимостей в разработке

Мы подошли к последнему принципу проектирования приложений из серии SOLID – Dependency

 Читать далее...

Рынок труда  

Вакансия: Администратор 1С

Администратор 1С – это специалист, который необходим любой организации, где установлены программы

 Читать далее...

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

Книги для профессионалов, студентов и пользователей

Книги издательства «БХВ» вышли книги для тех, кто хочет овладеть самыми востребованными

 Читать далее...

Принципы проектирования  

Interface Segregation Principle. Принцип разделения интерфейсов в проектировании приложений

Эта статья из серии «SOLID» посвящена четвертому принципу проектирования приложений – Interface

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 10797
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 9043
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 9092
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5736
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6431
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 3736
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 2732
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3531
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3521
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6017
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

Друзья сайта  

 Linux/BSD как бастион на пути вирусов

Архив номеров / 2005 / Выпуск №10 (35) / Linux/BSD как бастион на пути вирусов

Рубрика: Безопасность /  Механизмы защиты

КРИС КАСПЕРСКИ

Linux/BSD как бастион на пути вирусов

Количество дыр, обнаруженных в Windows, уже давно перешагнуло через все мыслимые границы и неуклонно продолжает расти. Выходить в Интернет стало небезопасно. Дальше так жить нельзя – надо защищаться. Для этого организуем защитный бастион, основанный на Linux/BSD, и пригодный как для офиса, так и для домашнего использования.

Почему Windows NT небезопасна? Почему в ней обнаруживаются все новые и новые дыры? Вопрос абстрактный, но мы все-таки постараемся дать на него ответ. Начнем с того, что умных людей в Microsoft осталась не так уж и много, налицо явная текучка кадров. Опытные специалисты покидают «империю зла» и уходят в другие компании. Достаточно вспомнить памятный скандал с менеджером, в которого Стив Балмер зашвырнул креслом (от такого руководителя я бы и сам ушел) – http://www.cnews.ru/news/line/index.shtml?2005/09/06/186136 и http://russian.joelonsoftware.com/Articles/HowMicrosoftLosttheWaronA.html – последний источник рассказывает о переменах, происходящих внутри Microsoft, и деградации операционной системы.

Падение культуры программирования легко проследить с помощью дизассемблера. Если MS-DOS 6.x еще содержала огромное количество ассемблерного кода, а Windows 95 представляет собой настоящий шедевр оптимизации (без всякой иронии!), запрограммированный на смеси ассемблера с чистым Си, то в Windows 98 уже доминирует Си++, «мастера» и прочие автоматические кодогенераторы, заменившие живой ум. Windows NT 4.x (которая, как известно, создавалась приблизительно в то же самое время, что и Windows 95, только другим коллективом программистов) – это блестяще оптимизированная, хотя и слишком навороченная система, запрограммированная руками и головой, но в Windows 2000 и тем более XP уже доминирует Си++ и «мастера». Программисты старого поколения так не поступают! Вывод – все это писали новички, со всеми вытекающими отсюда последствиями. В дизассемблере код выглядит просто ужасно. Поражает даже не тяжеловесность, а… «рассосредоточенность» кода, тонким слоем размазанного по куче функций. В частности, никакой единой функции переключения контекста в Windows NT нет! SwitchContext – это только малая часть, весь остальной код размазан по всему ядру, регистры многократно сохраняются/восстанавливаются в разных местах, делается куча проверок на допустимость их значений и т. д. Сетевые компоненты выглядят еще хуже.

К тому же Windows очень стремительно развивается и содержит массу избыточного, никому не нужного кода, который не так-то просто удалить из системы или хотя бы просто отключить. Причем развитие идет по принципу «не трогаем того, что написали, а набрасываем сверху еще и еще». Как следствие, количество связей между отдельными компонентами системы лавинообразно нарастает, а времени на тестирование нет, и продукт выбрасывается на рынок таким как есть. Кража исходных текстов Windows 2000 только подлила масла в огонь. Они есть практически у каждого хакера, но отсутствуют у легальных специалистов по безопасности, а это, значит, что игра идет в одни ворота. Хакеры ищут дыры, а специалисты вынуждены лишь признавать их постфактум.

Вместо того чтобы вылизывать систему и работать над ее улучшением, Microsoft несется вперед, предлагая новые революционные решения, которые даже она при своих миллиардных доходах просто физически не в состоянии отладить. Так что количество дыр в последующих версиях Windows сокращаться не собирается, и хакерство будет только процветать. Как в этих условиях хранить и обрабатывать конфиденциальные данные, не говоря уже про «электронные кошельки», кража которых в последнее время принимает массовый характер?

Служба поддержки Microsoft отвечает – регулярно устанавливайте на компьютер свежие заплатки, которые и так устанавливаются службой Windows Update. Предложение, конечно, заманчивое, но… заплатки выпускаются не мгновенно и только для уже известных дыр. Для домашнего компьютера такая степень защищенности вполне подходит, да и то… Только представьте, сколько электронных денег сможет утащить хакер, если он напишет вирус прежде чем будет выпущен «патч»? А для фирмы захват сервера вообще может стать фатальным. Причем заплатки выпускаются не бесконечно, а только в течение так называемого «жизненного цикла продукта», определяемого самой Microsoft. В практическом плане это означает, что даже если старая операционная система полностью удовлетворяет нашим скромным потребностям, ее все равно придется менять, попутно обновляя «железо», что выливается в солидные расходы и вызывает множество проблем от необходимости обучения персонала до «старые программы не запускаются».

Про то, что заплатки занимают огромный объем и для их перекачки необходимо иметь по меньшей мере DSL-модем, мы промолчим. К тому же реально воспользоваться Windows Update все равно не удастся. Задумайтесь, что произойдет, если операционная система упадет? Ведь после установки с дистрибутивного диска выходить в Интернет и качать заплатки ни в коем случае нельзя, ведь в эти минуты наш узел совершенно беззащитен перед хакерами, а вероятность атаки не так уж и мала, особенно если вспомнить про червей, которые стучатся во все компьютеры подряд. Теоретически можно скачать заплатки в виде отдельных файлов, сохранив их на любом носителе, но… тогда придется разбираться в них самостоятельно, а это не так-то просто, поскольку заплатки содержат зависимости и абы как не встают или встают, но не работают.

Исчезает самое главное преимущество Windows – простота управления. Воздвигнуть NT-сервер и оставить его без присмотра сегодня уже не получится. Если только не нанять администратора, разбирающегося в безопасности, с высокой степенью вероятности сервер будет взломан. Тоже самое относится и к домашним машинам. Вирусы так и прут! Они создают излишний трафик, воруют пароли и другую секретную информацию или просто нарушают нормальную работу операционной системы, вызывая сбои и зависания, убытки от которых зачастую весьма значительны. Давайте посмотрим, что в этой ситуации можно предпринять…

По ту сторону барьера

Анализ ситуации позволяет выявить три основных объекта атаки. Первый и наиболее коварный – это атака на саму операционную систему или ее базовые службы, которые в большинстве случаев реализуются через переполнение буферов. Ошибки были обнаружены как в фундаментальных драйверах (например, TCPIP.SYS), так и в прикладных службах (например, DCOM), без которых в принципе можно и обойтись, но не всегда легко отключить через пользовательский интерфейс. Причем, если дыры в прикладных службах элементарно закрываются брандмауэром (конечно, при условии, что без этой службы действительно можно обойтись), то атакам на драйвера брандмауэры противостоять практически не в силах (ну разве что это будет специальным образом спроектированный брандмауэр, которых нет и навряд ли когда будут). Антивирусы и прочие защитные системы подобного типа здесь также бессильны. Да, они ловят вирусы, но только если знают о них. Нашумевших вирусов не так уж и много, и все чаще и чаще приходится сталкиваться с локальной заразой, обитающей в ограниченном ареале и исчезающей, прежде чем разработчики антивирусов узнают о ней. Единственным способом обороны остаются заплатки, но они недостаточно эффективны в силу уже упомянутых причин.

Другая популярная мишень – браузер. Слово «Интернет» уже давно стало синонимом «IE», и атакуют преимущественно его. Несмотря на то что IE поддерживает целый комплекс мер безопасности, он ломается без особых проблем. В лучшем случае атакующий берет под контроль только сам IE, в худшем же – захватывает всю операционную систему. Достаточно зайти на страницу, содержащую зловредный код и… Самое неприятное, что такой код может содержаться даже на «престижных» сайтах, например, в гостевой книге, в которую могут писать все желающие и которые далеко не всегда выполняют качественную фильтрацию HTML-содержимого. Жесткая настойка политик безопасности до некоторой степени уменьшает вероятность успешной атаки, но не исключает ее полностью. Большинство дыр (таких, например, как переполнение буфера при обработке bmp-файлов) остаются открытыми и устраняются только заплатками, про проблемы которых мы уже говорили. Установив альтернативный браузер (например, FireFox), мы будем практически полностью застрахованы от подобных атак, однако вместе с браузером еще потребуется другой почтовый клиент (например, Thunderbird), поскольку стандартный Outlook Express негласно использует IE для отображения HTML-писем, которые являются идеальным средством атаки, и множество червей распространяются именно так.

Третья и последняя мишень – сам человек, клюнувший на предложение, «от которого нельзя отказаться», и запустивший исполняемый файл (зачастую замаскированный под графическую картинку или что-то другое). Ну что тут можно сказать? Теоретически достаточно строго-настрого запретить всем пользователям запускать что бы то ни было, скачанное из сети или полученное по электронной почте, только ведь все равно они будут качать и запускать. За всеми не уследишь и не остановишь! Организационные меры уже доказали свою неэффективность, и проблему можно решить только техническим путем. Самое простое – запускать FireFox и Thunderbird из-под специального пользователя, с минимальными правами, не имеющего доступа ни к каким файлам, кроме файлов самой программы. И хотя в Windows уровень привилегий легко может быть повышен в обход всех защит, подавляющее большинство атакующих программ до этого еще не доросли, и такая мера достаточно эффективна. А вот пример неверного, но весьма популярного решения – ставим виртуальную машину с Windows, устанавливаем на ней Лиса с Птицей и связываем виртуальной сетью с основной машиной. На первый взгляд – все прекрасно. Атакующий может воздействовать на браузер, но из застенков виртуальной машины он никуда не выберется, а там все равно нет ничего интересного, кроме кэша браузера, и еще, быть может, почтовой базы, которую в принципе можно расположить и на отдельной виртуальной машине, благо в VMWare между ними легко переключаться. Проблема в том, что если основная машина доступна по виртуальной сети (а если она не будет доступна, то как прикажете выходить в Интернет?), атакующая программа сможет воздействовать на основную операционную систему, через имеющиеся в ней дыры, так что такая схема все равно не очень надежна, хотя большинство распространенных вирусов она отсекает сразу, только необходимо следить, чтобы на виртуальной машине не образовался «зоопарк», ведь вирусы имеют тенденцию заражать все, к чему прикасаются…

Хорошо, цели атаки определены. Будем строить оборонительные сооружения!

Среди пингвинов

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

В Linux/BSD все не так, как в Windows, и пользователей приходится переучивать, но кто их будет переучивать? И кто будет нести расходы? А если приходит новый сотрудник? К тому же Star Office – это все же совсем не Microsoft Office, и хотя он может открывать некоторые Office-документы, реально с ним работать невозможно (разве что из горячей любви к Linux или отсутствию альтернативы).

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

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

Схемы построения защитного бастиона

Рассмотрим для начала сеть небольшой организации с десятком клиентских машин и одним выделенным компьютером – сервером. На клиентские машины лучше всего поставить Windows 2000/XP с FireFox и Thunderbird, запущенными из-под наименее привилегированного пользователя без прав доступа ко всем файлам, кроме файлов программы (хотя лично я из браузеров предпочитаю консольный links, который очень надежен в плане безопасности, но устанавливать его на компьютер секретарши может только администратор-садист). На сервере устанавливается любая UNIX-подобная операционная система (Linux или BSD), поднимается HTTP-proxy и либо собственный почтовый сервер, либо транслятор портов, либо брандмауэр уровня приложений, играющий роль POP3/SMTP-proxy. Впрочем, простейший proxy для почты можно написать и самостоятельно – он не займет и сотни строк на C/Perl.

Полноценный выход в Интернет клиентским машинам лучше всего не давать, поскольку в этом случае они могут быть легко атакованы извне. А вот работа через Linux/BSD-бастион на основе proxy-сервера позволяет отказаться от установки заплаток на Windows-машины, поскольку теперь их можно атаковать только изнутри сети, а против внутрисегментных атак даже залатанные системы все равно незащищены.

Как вариант можно установить SOCKS-proxy сервер (подобнее об этом можно прочитать в статье «Универсальный прокси-сервер» Валентина Синицына, опубликованной в февральском номере «Системного Администратора» за 2005 год) и предоставить клиентам практически полноценный доступ в Интернет. Взаимодействие через SOCKS-proxy снимает многие проблемы. Так, например, не требуется специальная настройка клиентского программного обеспечения (достаточно просто установить proxy-клиента), и программы, не умеющие работать через HTTP-proxy, скорее всего заработают через SOCKS, однако не все. Ведь proxy – это все-таки proxy, со всеми вытекающими достоинствами и ограничениями. Внешние подключения запрещены (точнее – невозможны), и если только не устроить трансляцию портов специально, атакующий не сможет увидеть ни одного клиентского узла! (Однако необходимо помнить, что от атак на приложения, например, на браузер, proxy не защищает.)

Предложенная схема (см. рис. 1) отличается высокой надежностью и простотой управления. Современные дистрибутивы Linux/BSD ставятся из «коробки» не хуже, чем Windows, и с настройками по умолчанию работают вполне достойно. Времена колдовства и плясок с бубном уже прошли. Конечно, гуру тут же скажут, что все это ерунда и настройки по умолчанию неправильны/небезопасны/непроизводительны. На то они и гуру. Их хлеб – темные магические ритуалы, после которых система буквально преображается, только вот… жизненно важной необходимости в этом нет. Дыры в Linux/BSD практически отсутствуют (во всяком случае в новых сборках, скачанных с официального сервера, а не купленных в ближайшем ларьке) и настройки по умолчанию в последнее время стали вполне продуманными. Во всяком случае BSD-сервер даже в штатной конфигурации защищен намного лучше, чем Windows. Многие организации именно так и поступают. На внешний сервер ставят BSD (или Linux), а на внутренние машины – Windows 98, Windows XP и т. д., так что в этом решении нет ничего нового или экзотического.

Рисунок 1. Локальная сеть небольшой организации с одним выделенным компьютером-бастионом

Рисунок 1. Локальная сеть небольшой организации с одним выделенным компьютером-бастионом

Кстати говоря, львиная доля дыр Linux/BSD-серверов приходится отнюдь не на саму операционную систему, а на установленное поверх нее программное обеспечение – Sendmail, Apache и т. д. Это сложные программные комплексы, содержащие огромное количество строк исходного кода, в которых запутались даже сами разработчики. Их очень сложно настраивать и еще сложнее отлаживать. Чем «легче» будет proxy-сервер, тем меньше вероятность, что в нем будут дыры.

В принципе можно установить и несколько серверов, соединив их последовательно друг с другом. Внешний сервер «видит» только своего внутреннего собрата, и локальная сеть ему недоступна (см. рис. 2). Если на одном из серверов будет стоять Linux, а на другом BSD, то хакеру, чтобы проникнуть в локальную сеть, придется взломать сразу обе системы, что довольно затруднительно, если не сказать маловероятно. Proxy-сервер можно ставить как на внешнем сервере (а на внутреннем поднимать NAT), либо, наоборот, прятать proxy за внешним сервером, на котором стоят NAT плюс брандмауэр.

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

Рисунок 2. Локальная сеть небольшой организации с двумя выделенным компьютерами-бастионами

Рисунок 2. Локальная сеть небольшой организации с двумя выделенным компьютерами-бастионами

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

Домашние сети – проблемы и решения

Для дома или мелкого офиса выделять одну из машин в отдельное «делопроизводство» чаще всего неприемлемо, хотя собрать сервер на основе устаревшего оборудования, оставшегося от апгрейда, может практически каждый. Linux/BSD-серверам не нужен монитор, а при желании можно обойтись и без жесткого диска, в результате чего расходы на безопасность окажутся не так уж и велики, тем более что домашняя сеть из 23 машин уже не редкость, а норма, так почему бы не поставить еще одну машину, не установить на нее LINIX/BSD и не попробовать себя в роли администратора?

Но давайте все-таки исходить из того, что компьютер у нас один, причем это далеко не самый мощный компьютер (например, P-III), и покупать еще один мы не можем/не хотим, предпочитая использовать виртуальные машины.

Возможных вариантов построения сети всего два – установить на основную машину Linux/BSD, запуская Windows под эмулятором или, наоборот, запихать Linux/BSD в эмулятор и предоставить ей прямой доступ в Интернет в обход Windows. Тогда выход в сеть будет осуществляться по следующей схеме: компьютер (железо)  Windows (несетевые компоненты)  эмулятор (Linux/BSD)  Windows (сетевые компоненты).

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

Второй способ всех этих недостатков лишен. Ему не нужен высокопроизводительный (а, значит, весьма дорогостоящий) процессор и требуется совсем немного памяти, Windows работает на «живом» оборудовании с полной скоростью, самоотверженностью и отдачей, а защищенность ничуть не хуже, чем в случае выделенного компьютера. Захватывающие перспективы, не правда ли? Но обо всем по порядку!

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

Классический выбор – это, конечно же, VMWare, достойных конкурентов которому пока не наблюдается. Единственный недостаток – виртуальная сеть достаточно сложно настраивается, и неспециалистам приходится попотеть, прежде чем она заработает. Остальное никаких проблем не вызывает. Устанавливаем эмулятор, создаем новую виртуальную машину с настойками по умолчанию, водружаем на нее Linux или BSD, а затем даем ей доступ к физическому оборудованию.

Если выход в Интернет осуществляется через Dial-Up по COM-модему, заходим в настройки виртуальной машины («VM  Setting») и открываем доступ к физическому порту, на котором «висит» модем («Hardware  Add  Serial Port  Use physical serial port on the host  COMx»). Причем VMWare видит не только настоящие физические порты, но и порты, созданные драйверами различных устройств, например, GPRS-драйвером сотового телефона или софт-модемом, что снимает проблему поиска драйверов под Linux/BSD. Ну а найти драйвер стандартного модема – не проблема, тем более что для распространенных моделей существуют и «родные» драйвера. Остается только настроить выход из Linux в Интернет. Проще всего воспользоваться популярной программой KPPP, которая по легкости управления ничуть не отличается от своего Windows-аналога, если даже не превосходит его (см. рис. 3). Теперь инсталлируем HTTP/POP3/SMTP-proxy и все! Выбор конкретных программ может быть любым. Тут все зависит от конкретных вкусов и предпочтений. В офисной сети, наверное, лучше будет использовать знаменитый squid, но для дома это слишком уж тяжеловесное решение. Лично у меня прижились small http-proxy (http://home.lanck.net/mf/srv), pop3proxy (http://www.quietsche-entchen.de/download/pop3proxy-1.2.0.tar.gz) и smtpproxy (http://www.quietsche-entchen.de/download/smtpproxy-1.1.3.tar.gz), хотя это далеко не самое лучшее решение, и гурманы программного обеспечения наверняка подберут что-то свое. Из SOCKS-proxy я предпочитаю Dante (http://www.inet.no/dante). Не столько из-за его качеств, сколько из-за того, что он написан и распространяется на бесплатной основе горячими парнями из Норвегии – родины моей любимое группы Sirenia (такое мрачное оркестровое хоральное готическое пение).

Рисунок 3. Настройка PPP-соединения с помощью программы KPPP

Рисунок 3. Настройка PPP-соединения с помощью программы KPPP

С DSL-модемами в этом плане чуть-чуть труднее. В принципе VMWare позволяет эмулируемому приложению видеть физические USB-порты («VM  Setting  USB Controller  Automatically connect new USB devices to this virtual machine when it has focus») (см. рис. 4), но поиск подходящего драйвера для USB DLS-модема под Linux может стать непреодолимой проблемой, поскольку не для всех моделей такие драйверы есть. Правда, тут можно схитрить. Установить «родной» Windows драйвер – как правило, он создает виртуальную сетевую карту и встраивает ее в TCP/IP-стек, благодаря чему мы можем выходить в Интернет. Если удалить TCP/IP протоколы, оставив виртуальную карту одну-одинешеньку, никакого Интернета у нас, разумеется, не будет, но тем не менее на физическом уровне пакеты могут беспрепятственно приходить/уходить с нашего узла. Идея состоит в том, чтобы дать Linux-машине «физический» доступ к виртуальной сетевой карте, связав их в сеть, и тогда Linux сможет выходить в Интернет через Windows, но сама Windows при этом будет «засвечена» в Интернете лишь частично, что защитит ее от подавляющего большинства атак. Тем не менее поскольку сетевые пакеты проходят через многие Windows-компоненты, потенциально не свободные от дыр, в принципе атака все-таки возможна, но это уже из области паранойи и теоретических абстракций.

Рисунок 4. Настройка доступа к USB-устройствам из-под виртуальной машины в среде VMWare

Рисунок 4. Настройка доступа к USB-устройствам из-под виртуальной машины в среде VMWare

Основная проблема состоит в том, что VMWare не позволяет выбирать к какой именно «физической» карте она подключается и по умолчанию выбирает первую обнаруженную карту. Если компьютер не имеет никаких других сетевых карт, кроме той, что установлена DSL-модемом, все хорошо и мы можем не переживать, но стоит воткнуть одну или несколько «настоящих» Ethernet-карт (или задействовать Ethernet-карту, интегрированную в материнскую плату), как виртуальная карта сойдет с пьедестала, и все пойдет наперекосяк. Если так, говорим: «Edit  Virtual Network Setting  Automatic Bridging  Excluded Adapters  Add» и перечисляем сетевые адаптеры, которые мы не хотим использовать в виртуальной сети.

Другая проблема состоит в том, что VMWare может не «увидеть» виртуальную сетевую карту, и тогда связать ее с Linux не получится. Надежнее всего использовать DSL-модемы с Ethernet-портом, подключаемые к физической сетевой карте, которую VMWare увидеть просто обязана. Ну а настроить DSL-модем из-под Linux сейчас уже не проблема. Во всех или практически всех дистрибутивах на этот случай имеются удобные мастера. В частности в KNOPPIX достаточно нажать «К  Интернет  ADSLPPPOE Configuration» и ответить на несколько несложных вопросов.

Заключение

Отразить большинство атак вполне реально, хотя за это приходится расплачиваться множеством труднопреодолимых неудобств (покупка дополнительного оборудования или снижение производительности при работе через эмулятор, неполноценный выход через proxy и т. д.). А может… ничего и не надо отражать? Стоит же XP, автоматически забирает свежие обновления из Интернета, на электронном кошельке спокойно лежат деньги, все жужжит и не падает… Так ведь на жителей Помпеи долгое время тоже ничего не падало, а потом в один миг небо почернело, и на город обрушились камни и пепел. Беда никогда не предупреждает о своем приходе, и восклицание «еще вчера все работало» служит очень слабым утешением. Можно тысячу раз «смело» выходить в Интернет, не боясь ни вирусов, ни хакеров, но только хакерам все равно, боитесь вы их или нет. И если атака окажется успешной… впрочем, о последствиях успешной атаки лучше не говорить. Зачастую они весьма плачевны.

Мы ни к чему не призываем, ни за что не агитируем и ни от чего не отговариваем. Некоторые считают, что Windows XP – это достаточно защищенная система, и им ничего не грозит. Другие же не чувствуют себя в безопасности даже за каменной стенной proxy-сервера, окруженного по периметру брандмауэром.

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

Приложение

QEMU как альтернатива VMWare

VMWare – это замечательный эмулятор, главные и, пожалуй, единственные недостатки которого – высокая стоимость ($200 по текущему прайсу) и отсутствие исходных текстов. За эти деньги можно свободно купить подержанный компьютер без монитора, создать выделенный Linux-сервер и не мучиться. Исходные тексты нужны не только для удовлетворения любопытства. Вот, например, если VMWare не видит виртуальную карту DSL-модема, то нам остается только развести руками, а при их наличии можно было бы разобраться почему так и устранить проблему. Даже если это не можем сделать мы, наверняка сможет кто-нибудь другой.

Поэтому имеет смысл рассмотреть и бесплатные эмуляторы, из которых нам больше всего подходит QEMU (http://fabrice.bellard.free.fr/qemu). Это динамический эмулятор, основанный на BOCHS (http://bochs.sourceforge.net), но работающий в десятки раз быстрее его и ничуть не уступающий VMWare по производительности (а на некоторых задачах даже обгоняющий ее), совершенно бесплатный, портированный под множество платформ (и Linux/BSD/Windows в том числе), имеющий кучу разных расширений на все случаи жизни от независимых разработчиков и т. д.

Виртуальная сеть, в отличие от VMWare, встает сама, не требуя никакой настройки, что и плохо, и хорошо одновременно. С одной стороны, мы можем организовать выход в Интернет через модем без плясок с бубном, с другой стороны, обеспечить «физический» доступ к сетевой карте уже не получится и придется либо ковырять исходные тексты, либо искать дополнительные расширения, которые не всегда работают стабильно и к тому же требуют обязательной перекомпиляции QEMU, поэтому выбор конкретного эмулятора остается за вами.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru