Брандмауэры и специальное программное обеспечение 8 Часть 4
Вид материала | Реферат |
- Муниципальное общеобразовательное учреждение средняя общеобразовательная школа №12, 174.77kb.
- Управление экономикой и создание экономических информационных систем Изучив данную, 148.93kb.
- Программное обеспечение ЭВМ, 209.59kb.
- Программное обеспечение вычислительной системы, 824.71kb.
- Учебная программа (Syllabus) Дисциплина: Интерфейсы компьютерных систем (iks 3304), 321.31kb.
- Реферат по Информационной безопасности Тема: «Антивирусы», 711.1kb.
- Пк программный комплекс; по программное обеспечение; ппо прикладное программное обеспечение, 208.41kb.
- Лекция 4 Обеспечивающие подсистемы асу. Математическое, программное, лингвистическое,, 59.3kb.
- Математическое и программное обеспечение систем оперативной оценки характеристик сложных, 247.51kb.
- Учебная программа (Syllabus) Дисциплина «Инструментальные средства разработки программ», 374.12kb.
На стороне клиента
После того как вы настроили и запустили squid, вы должны настроить ваших клиентов на использование этой программы. Если ваш брандмауэр выполняет перенаправление обычных соединений (иными словами, если вы можете соединиться с узлами Интернета, не перенастраивая ваш браузер на использование squid), скорее всего, будет лучше, если вы заблокируете этот маршрут таким образом, чтобы клиенты не смогли обойти squid для всех протоколов, обрабатываемых этой программой (http, ftp, gopher, wais). Это относится также и к SSL.
После этого перенастройте клиентское программное обеспечение таким образом, чтобы оно указывало на порт proxy. В Netscape Communicator для этой цели следует воспользоваться ниспадающим меню Edit (правка), где следует выбрать пункт Preferences (параметры). В разделе Advanced (дополнительно) содержится группа элементов Proxies. Выберите Manual proxy configuration (настройка proxy вручную), затем выберите View. После этого вы можете ввести в графы FTP proxy, Gopher proxy, HTTP proxy и WAIS proxy адрес сетевого узла и номер порта squid. Вы также можете указать, для каких узлов proxy использовать не следует.
Расширение squid
Программное средство squid пользуется большой популярностью, и к настоящему времени различными людьми разработано множество программ, которые облегчают работу с squid. Перечень подобных программ постоянно расширяется — в него добавляются новые программы, а также в нем появляются обновления и новые версии уже существующих программ. Среди подобных программ — средства, которые позволят вам выполнять множество полезных функций и операций, например, чтение файлов журналов, а также перенаправление портов и многое другое. Текущий перечень добавлений к squid содержится на web-узле squid по адресу -cache.org/.
Заключение
В данной главе я кратко познакомил вас с программой squid, которая является наиболее популярным кэширующим proxy-сервером для операционной системы Linux. Вы получили базовый набор знаний о функционировании squid и управлении этим программным средством. Вы получили представление о структуре конфигурационного файла, формате списков управления доступом ACL, а также других конфигурационных параметрах squid. Вы также узнали о том, как выполняется настройка программ на стороне клиента, а также о том, какими преимуществами наделяет вас Squid.
18Маскировка IP и перенаправление портов
В данной главе рассматриваются следующие вопросы:
- базовые сведения о дизайне сети;
- маскировка IP: что это, зачем и почему;
- что такое перенаправление портов;
- что ожидается в ядрах Linux семейства 2.4.x.
В любой ситуации, в которой вам требуется подключить к Интернету более чем один компьютер (вне зависимости от того, одновременно или нет), вы обнаруживаете, что перед вами встает необходимость некоторым образом спроектировать вашу сеть. Многие из тех, кто не занимался этим ранее, не знают, с чего начать и какими возможностями они могут воспользоваться. Проектируя сеть, приходится иметь дело с множеством конфликтующих, подчас противоречащих друг другу обстоятельств, при этом вы должны найти компромиссное решение, которое было бы одновременно и гибким, и в достаточной степени безопасным.
Для домашнего пользователя, у которого не возникает необходимости поддерживать внутреннюю систему доменных имен и который не собирается предлагать свои службы другим пользователям Интернета, выбор весьма прост: использовать базовый сервер IP-маскировки, которого вполне достаточно для обеспечения обмена данными с Интернетом. В качестве сетевого узла, обеспечивающего маскировку, может использоваться любая устаревшая система. Если для подключения к Интернету вы используете телефонную линию, аналоговый модем или ISDN, для маскировки вполне сгодится компьютер 386-20 с памятью объемом 16 Мбайт, на котором можно установить урезанное ядро Linux (без Х-сервера). Если у вас в распоряжении более быстрая линия, например 10 Мбит/с, функции маскировки сможет выполнять компьютер 486-33 с памятью объемом от 16 до 32 Мбайт.
Если у вас под рукой нет ни одного старого компьютера или вы желаете использовать для подключения к Интернету более быстрый компьютер, вы можете использовать для этой цели вашу рабочую станцию. Однако в этом случае необходимо принимать во внимание, что на рабочей станции будут функционировать дополнительные программы и службы, поэтому вы должны быть очень внимательным, выбирая, какие из них будут доступны для внешних пользователей. Эта система будет защищать все остальные ваши системы от злоумышленников, поэтому для обеспечения максимального уровня защиты вы должны запустить в этой системе как можно меньшее количество программ (желательно вообще не запускать на ней служб).
ССЫЛКА
Помимо информации, излагаемой в данной главе, в рассматриваемой ситуации полезным для вас окажется материал главы 16, посвященной использованию пакетных фильтров.
Если вы являетесь пользователем, подключающимся к Интернету через телефонную линию, скорее всего, на время подключения вам выделяется единственный IP-адрес. Вы можете обладать статическим IP-адресом, который не меняется от подключения к подключению, однако, скорее всего, при подключении вам будет выделяться динамический IP-адрес, случайно выбираемый из некоторого набора IP-адресов. Динамический IP-адрес будет меняться от подключения к подключению. На самом деле принципиальной разницы нет, и принципы, в соответствии с которыми вы должны проектировать вашу сеть, не зависят от того, используете ли вы статический или динамический IP-адрес. Более подробно о маскировке IP будет рассказано позже в данной главе. А сейчас давайте сосредоточим внимание на проектировании вашей сети.
Начнем с самого простого и постепенно будем усложнять задачу. Если вы имеете дело с домашней сетью или сетью небольшого предприятия, которая не обладает собственным доменным именем, вам не потребуется формировать какой-либо сложный сетевой дизайн. Простая сетевая схема, которую можно использовать в подобном случае, показана на рис. 18.1. Между внутренней сетью и Интернетом располагается простой бастионный узел, который обеспечивает также маскировку IP. Сетевая карта eth0 соединенного с Интернетом узла HostA подключается к концентратору, к которому подключены также все остальные системы внутренней сети. Адрес интерфейса eth0 бастионного узла (192.168.0.1) для всех остальных систем является адресом шлюза по умолчанию. Если в Интернете узел HostA обладает статическим IP-адресом, он будет использовать в качестве шлюза шлюзовую систему интернет-провайдера. Если узлу HostA выделяется динамический IP-адрес, значит, в конфигурационных файлах этого узла будут содержаться параметры ipdefault и defaultroute, которые будут настроены таким образом, чтобы обеспечить динамическую маршрутизацию через интерфейс рррО в случае, если возникает соединение.
СОВЕТ
В Linux интерфейсы именуются в соответствии со следующим соглашением об именовании:
Ethernet: eth
Token Ring: tr
Point-to-Point (аналоговый модем): ррр
Point-to-Point (ISDN): ippp
Самый первый экземпляр интерфейса получает номер 0 (ноль), а все остальные интерфейсы нумеруются по порядку. Таким образом, если у в системе есть два интерфейса Ethernet, они будут обозначены eth0 и eth1. Если в системе есть один интерфейс Ethernet и один интерфейс ррр, они будут обозначены eth0 и ррр0. Это соглашение используется в данном тексте для обозначений. В качестве шлюза внутренние системы должны содержать в своей конфигурации только лишь адрес интерфейса etn0 бастионного узла.
Если вы имеете дело с более крупной сетью, соединенной с Интернетом, при этом обладаете собственным доменным именем и предлагаете внешним пользователям свои собственные службы, вы должны изменить некоторые аспекты взаимодействия с Интернетом. Как правило, для крупных предприятий используется несколько IP-адресов. Многие интернет-провайдеры предоставляют своим клиентам подсети, включающие в себя восемь IP-адресов. При этом вы получаете в свое распоряжение пять эффективных IP-адресов, которые вы можете использовать для идентификации систем, обеспечивающих доступ к предлагаемым вами службам. Почему пять? Вспомним базовые сведения об адресации в сетях IP. Предположим, что вы получили в свое распоряжение подсеть 123.45.67.80/29 (сетевая маска 255.255.255.248). Другими словами, у вас есть IP-адреса начиная от 123.45.67.80 и заканчивая 123.45.67.87. Самый первый из них, который заканчивается на 80, является адресом сети, его нельзя использовать для идентификации сетевых узлов. Последний адрес диапазона, который заканчивается на 87, является широковещательным адресом. Этот адрес также нельзя использовать для идентификации сетевых узлов. Остается шесть IP-адресов. Однако один из этих шести адресов должен использоваться для идентификации интерфейса маршрутизатора, который связывает вашу сеть с Интернетом и принадлежит вашему провайдеру. Таким образом, у вас остается только пять свободных IP-адресов.
Один IP-адрес необходимо присвоить вашему брандмауэру или узлу, выполняющему маскировку IP. Остается достаточное количество адресов, необходимых для обеспечения доступа к базовым службам: серверу Web (http), серверу анонимного доступа к FTP, почтовому серверу и серверу DNS. Вы можете снизить затраты и использовать только один сервер, сделав его многоцелевым, однако это означает, что если одна из служб окажется взломанной, под угрозой взлома окажутся также и все остальные службы. Вам приходится выбирать между дополнительными затратами и повышенным риском. Если вы можете позволить себе остановить работу всех ваших служб на несколько дней, пока вы не восстановите их корректное функционирование, значит, службы, которые вы предлагаете, не стоят тех денег, которые вы должны выложить за обеспечение непрерывного соединения с Интернетом. Обратите внимание на рис. 18.2. Сервер FTP (HostFTP) может выполнять функции вторичного сервера DNS. Однако принимая во внимание размеры вашей подсети, для вас, скорее всего, будет удобнее возложить функции вторичного сервера DNS на вашего интернет-провайдера. В этом случае даже если ваш маршрутизатор прекратит функционирование, весь остальной мир все равно сможет использовать принадлежащие вам доменные имена до тех пор, пока вы не восстановите функционирование (или не истечет время актуальности записей вторичного DNS). То же самое относится и к вашему узлу sendmail (HostMTA). Будет лучше, если функции резервной почтовой службы будет выполнять ваш провайдер, который будет принимать вашу почту до тех пор, пока ваша сеть или ваш сервер МТА (HostMTA) не восстановят свою работу.
Система HostWWW — это ваш web-сервер. Во многих случаях нагрузка на web-серверы является относительно небольшой, если только вы не используете каких-либо приложений баз данных и т. п. Однако, учитывая повышенную опасность таких технологий, как CGI, будет лучше, если вы будете эксплуатировать эту систему отдельно от других. Наконец, один из компьютеров выполняет функции первичного DNS-сервера (HostDNS). Приятной особенностью данной системы является то обстоятельство, что ее можно использовать для хранения копий конфигурационных файлов, файлов данных и бинарных файлов, благодаря чему в любой момент за короткое время вы сможете превратить этот компьютер в любую другую систему. Подобный резерв чрезвычайно полезен в случае, если одна из ваших систем выходит из строя. В случае выхода из строя узла HostMTA, если узел HostDNS указан в качестве резервного адреса MX, вам не потребуется делать вообще ничего, за исключением, конечно же, процедур, необходимых для восстановления функционирования вашего основного почтового сервера. Для всех остальных систем (за исключением брандмауэра) просто назначьте IP-псевдоним ethO как ethO:l с указанием адреса неисправного компьютера (HostFTP или HostWWW), запустите службу, и вы можете продолжать бизнес как обычно, до тех пор пока неисправная система снова вступит в строй.
Сети, о которых рассказывается в данной главе, можно разделить на три части. Первая часть — это собственно Интернет. Интернет начинается на дальнем от вас интерфейсе маршрутизатора вашего интернет-провайдера (на самом деле этот маршрутизатор может принадлежать и вам, однако в данной книге подразумевается, что он принадлежит вашему провайдеру). Вы не можете контролировать какие-либо аспекты Интернета. На ближней к вам стороне маршрутизатора начинается зона DMZ (Demilitarized Zone). Термин позаимствован из военного жаргона. Зона DMZ включает в себя подконтрольные вам ресурсы и является буфером, отделяющим вашу внутреннюю сеть от безжалостного Интернета. В зоне
DMZ вы обладаете лишь ограниченным контролем, однако, обнаружив злоумышленников, вы можете либо оборвать их соединения, либо отказать в доступе, исходя из их IP-адресов. Зона DMZ заканчивается у внешнего интерфейса вашего брандмауэра (по крайней мере вы на это надеетесь). За внутренним интерфейсом брандмауэра начинается внутренняя сеть, которую называют «доверенной» (trusted). Иногда термин «доверенная сеть» не является в полной мере точным, так как многие компании и организации обладают внутренними сетями, которым нельзя доверять. Это определяется не тем, насколько хорошо брандмауэр выполняет свои функции, а тем, насколько много пользователей работает во внутренней сети и каков характер взаимодействия этих пользователей с сетью. Вы полностью контролируете (по крайней мере теоретически, если, конечно, брандмауэр хорошо справляется со своими функциями), кто именно обладает доступом к этому разделу сети, куда разрешается обращаться тем или иным пользователям и что они могут делать.
Каждая подключенная к Интернету система, расположенная в DMZ, должна быть настолько самодостаточной, насколько это возможно. Ни одна из этих систем не должна использовать NFS. Подключение к этим системам обычных пользователей должно быть запрещено; благодаря этому вы получите стабильную контролируемую рабочую среду и в случае, если одна из систем окажется взломанной, вы можете не беспокоиться о важных пользовательских данных. Каждая система должна обладать своим собственным набором паролей. Благодаря этому в случае, если злоумышленник завладеет каким-либо из паролей, это не будет означать, что он автоматически получает доступ ко всем системам. По тем же самым причинам не следует использовать NFS или какие-либо другие ресурсы общего доступа. Наконец, сетевой узел, выполняющий функции брандмауэра, не должен использоваться для запуска каких-либо служб и не должен быть отмечен в базе данных DNS. Так этот узел сложнее будет использовать в качестве цели нападения. Если вы внесете сведения о брандмауэре в базу данных DNS, вы привлечете к нему лишнее внимание, взломщик сможет понять, что в сети есть такая система, он сможет попытаться обнаружить ее. В наши дни в Интернете, наверное, можно обнаружить пару-другую параноидальных FTP-серверов, которые отказываются обслуживать системы, в отношении которых невозможно выполнить обратное сопоставление доменного имени, однако сейчас это является скорее исключением, чем правилом.
Последняя сетевая конфигурация, которую мы с вами рассмотрим в данной главе, является несколько более сложной. В рамках этой конфигурации зона DMZ частично перемещается за брандмауэр. Схема такой сети показана на рис. 18.3. Когда брандмауэр получает запрос через любой из портов 21 (FTP), 25 (МТА), 53 (DNS) или 80 (HTTP), он производит перезапись заголовков пакетов и перенаправляет пакеты соответствующему серверу. Опасность такой схемы состоит в том, что вы разрешаете злоумышленникам проникновение за брандмауэр, благодаря чему они могут попробовать «прощупать» службы вашей внутренней сети на предмет наличия уязвимых мест. Однако подобная схема обладает и преимуществом: она позволяет избежать сетевых атак определенных типов. Например, если злоумышленник пытается использовать механизм CGI для того, чтобы запустить на web-сервере процесс login через другой порт, этот порт будет недоступен для него, попытка взлома окажется безуспешной. Однако не стоит забывать, что атакующий, который пытается осуществить нападение через перенаправленный порт, обладает доступом к вашей внутренней сети. Исходя из этого рекомендуется разместить все ваши рабочие станции, а также файловые серверы и серверы печати в одной подсети, а серверы, обслуживающие клиентов из Интернета, — в другой подсети. Не следует слишком упрощать задачу злоумышленникам. В результате такого деления сети на две подсети вы сможете обеспечить раздельное функционирование сетевых служб. Более подробно о подобной сетевой конфигурации будет рассказано далее. В отношении интернет-серверов, расположенных под защитой брандмауэра, следует предпринять такие же меры безопасности, как и в отношении интернет-серверов, расположенных вне зоны, защищаемой брандмауэром: вы должны изолировать эти серверы друг от Друга и от других систем, вы должны снабдить их индивидуальными учетными записями и паролями, вы должны запретить подключение к ним обычных пользователей и отказаться от любого совместного использования ресурсов (несмотря на то, что последний пункт в данной конфигурации менее проблематичен).