Автор работы: Пользователь скрыл имя, 01 Февраля 2011 в 22:33, курсовая работа
Популярность Linux постоянно растет. Эта система стала объектом пристального внимания не только администраторов сетей небольших организаций, но и пользователей, выбирающих программные средства для поддержки домашнего компьютера. В настоящее время у многих появилась возможность поддерживать постоянное Internet-соединение, что способствует дальнейшему распространению системы.
Введение
2. Межсетевой экран
3. Политика организации брандмауэра
3.1. Брандмауэр с фильтрацией пакетов.
3.1.1. Фильтрация входящих пакетов 9
3.1.2. Параметры фильтрации
3.2. Протоколы
3.3. Фильтрация портов
3.4. Фильтрация адресов
3.4.1. Фильтрация неверных адресов
3.5. Фильтрация в Linux
4. Ipchains
4.1. Перенаправление
4.2. Сохранение фильтра
5. Iptables
5.1. Переадресация
6. Установка, настройка Firewall
6.1. Настройка с помощью команды: aptitude install arno-iptables-firewall
6.2. Ручное конфигурирование iptables
Заключение
Список использованной литературы
-j действие – операция, которая должна быть выполнена над пакетом.
В качестве аргумента можно указать ACCEPT, REJECT или DENY;
-s адрес порт – характеристики отправителя пакета. Первый аргумент задает IP-адрес источника, а второй (не обязательный) – порт. У протокола ICMP нет портов;
-d адрес порт – атрибуты получателя пакета. Первый аргумент задает IP-адрес назначения, а второй (не обязательный) — порт.
Сетевой экран, который защищает целую сеть, состоит, как минимум, из компьютера с двумя интерфейсами. Один из них (сетевая карта или модем) направлен в Интернет, а другой— в локальную сеть. Сетевой экран будет заниматься перенаправлением трафика с одного интерфейса в другой, т. е. с сетевой карты на модем и обратно. Такой компьютер называют шлюзом. Пользователи не подключаются к самому шлюзу, а только используют его как средство переадресации пакетов.
Можно установить какие-либо сервисы прямо на сетевой экран, но это делать не рекомендуется. Лучше, если они будут за пределами этого компьютера. Публичные сервисы лучше ставить со стороны Интернета, а закрытые — должны быть на серверах внутри локальной сети.
Рис. 2. Расположение серверов с публичными и закрытыми сервисами
Подобная схема позволяет для публичных сервисов не прописывать разрешающие записи в сетевом экране, потому что он их и не защищает. Но на таком сервере можно применить локальную политику доступа. Вообще то не рекомендуется в сети использовать публичные сервисы. Существует множество хостинговых компаний, которые специализируются на предоставлении подобных услуг.
Если сервер с публичным сервисом расположить внутри сети, то в сетевом экране придется прописывать разрешения на доступ к нему для всех пользователей из Интернета.
Каждое лишнее разрешение в сетевом экране – это дополнительная дверь внутрь локальной сети. Например содержания Web-сервера.
Если
в нем или используемых на сервере
сценариях будет найдена
Можно организовать сеть, как показано на рисунке 3. Только в этом случае придется использовать дополнительный сервер для организации второго Firewall.
Рис. 3. Двойная защита сети
На данной схеме первый сетевой экран защищает Web-сервер. Его политика будет достаточно мягкой, потому что должна разрешить публичный доступ к некоторым портам сервера, например 80 для путешествий по Web-сайтам. Главное, чтобы фильтры открывали для всеобщего доступа исключительно адрес публичного сервера и только допустимые порты.
Второй сетевой экран защищает локальную сеть, поэтому должен иметь более жесткие правила, запрещающие любые соединения извне. Помимо этого, не должно быть никаких доверительных отношений между публичным сервером и локальной сетью. Если разрешить такому серверу свободное подключение к каким-либо портам внутренней сети, то смысл использования такой схемы теряется. Нужно не забывать, что благодаря ошибке в Web-сервере или сценарии злоумышленник сможет выполнять команды и устанавливать соединения от имени публичного сервера, и злоумышленнику даже не придется взламывать второй Firewall.
Есть еще один вариант – установить в компьютер три сетевые карты. Одна смотрит в Интернет, ко второй подключена приватная локальная сеть, а к третей – сеть с серверами, на которых работают открытые ресурсы (рис. 4). Получается защита в виде вилки. На один интерфейс можно перенаправлять любой трафик из Интернета, а другой интерфейс защищается всеми возможными способами.
Рис. 4. Защита двух сетей одним сетевым экраном
С точки зрения безопасности схема, показанная на рис. 3, намного надежнее, потому что локальную сеть защищают сразу два сетевых экрана, и их легче конфигурировать. Второй вариант (рис. 4) проще и дешевле, т. к. не требует дополнительного компьютера для Firewall, но менее безопасен. Проникнув на компьютер с сетевым экраном, злоумышленнику потребуется меньше усилий, чтобы взломать приватную сеть.
На рис. 2 изображена сеть на основе витой пары с центральной точкой в виде коммутатора. Чтобы попасть в Интернет, любой пакет от компьютера проходит через коммутатор, входит через сетевую карту 1 (eth0) на машину с установленным Firewall и выходит через сетевую карту 2 (ethl) в Интернет.
На самом компьютере с Firewall должно быть разрешено перенаправление, которое позволит пакетам проходить из одной сетевой карты в другую. Чтобы включить эту возможность, нужно записать в файл /proc/sys/net/ipv4/ip_forward число 1 (по умолчанию там может быть 0) или выполнить команду:
echo I > /proc/sys/net/ipv4/ip_forward
Для
обеспечения переадресации
Сетевой экран может не только проверять пакеты на соответствие определенным фильтрам, но и прятать IP-адреса компьютеров сети. Это происходит следующим образом:
1. Клиент направляет пакет в сеть, и до сетевого экрана он будет идти со своим IP-адресом.
2. Сетевой экран меняет IP-адрес отправителя на свой и направляет пакет дальше от своего имени.
Таким образом, в Интернете все пакеты будут видны, как будто их отправлял Firewall, а не компьютеры внутри сети. Это позволяет скрыть от злоумышленника внутреннюю организацию сети и экономить IP-адреса. Внутри сети пользователь сам может раздавать адреса из зарезервированного диапазона, и только сетевой экран будет иметь реальный IP-адрес. При такой адресации из Интернета нельзя будет напрямую подключиться к компьютерам сети. Это значит, что злоумышленнику придется взламывать сначала машину с сетевым экраном и только потом компьютеры сети. Тем самым значительно усложнили задачу взломщика. Неопытные злоумышленники никогда не связываются с сетевыми экранами, потому что для такого проникновения нужны не только широкие знания принципов безопасности, но и большой опыт.
Пример, который разрешает переадресацию на внешний интерфейс из локальной сети:
ipchains -A forward -i eth1 -s 192.168.1.0/24 -j MASQ
Это общее правило, поэтому добавляем его в конец цепочки forward с помощью ключа -а, чтобы оно не перекрыло фильтры, которые относятся к конкретным пользователям, но в то же время взаимосвязаны с этой записью.
Далее идет ссылка на интерфейс eth1 (сетевая карта, которая смотрит в Интернет). Диапазон адресов соответствует всей сети 192.168.1.x. В качестве разрешения используется значение MASQ, что соответствует маскированию адреса, т. е. адрес клиента будет заменен на адрес компьютера, на котором работает Firewall.
Данное разрешение позволяет только передавать пакеты с адресов 192.168.1.x на сетевой интерфейс eth1. Но это еще не значит, что трафик поступит и сможет выйти в Интернет. Чтобы пакеты пользователей были приняты сетевым экраном, должно быть разрешение ACCEPT примерно следующего вида:
ipchains -A input -i eth0 -s 192.168.1.0/24 -j ACCEPT
В этом фильтре открыт доступ на сетевой интерфейс eth0 любым пакетам с адресов 192.168.1.x. Разрешение дано на порты, поэтому адрес отправителя пакета может быть любым из сети 192.168.1.x.
Осталось только разрешить таким же образом пакетам выходить из eth1, и можно считать, что все компьютеры сети уже получили доступ в Интернет. Только на всех клиентских машинах необходимо указать в качестве шлюза по умолчанию IP-адрес компьютера с сетевым интерфейсом, и все пакеты найдут своего адресата.
Если структура сети напоминает рис 3, то переадресация должна быть включена на обоих сетевых экранах. А вот маскировку адреса лучше всего сделать на двух Firewall. В этом случае второй сетевой экран будет скрывать локальную сеть даже от публичного сервера.
Зачастую в качестве второго сетевого устройства выступает не карта, а модем. В этом случае правило для перенаправления будет выглядеть следующим образом:
ipchains -A forward -i ppp0 -s 192.168.1.0/24 -j MASQ
Здесь перенаправление идет на интерфейс одного из модемов, имена которых имеют вид рррх.
Чаще всего необходимо, чтобы клиенты имели доступ к ресурсам Интернета, а обратное подсоединение было невозможно. Когда по протоколу TCP запрашивается подключение к удаленному компьютеру, то посылается пакет с установленным битом syn. В простых пакетах такого бита не должно быть. Таким образом, достаточно запретить ТСР-пакеты с этим флагом, и удаленный компьютер не сможет подключиться ни к одному ресурсу компьютера или сети. Это можно реализовать следующим образом:
ipchains -I input 1 -i ppp0 -p tcp – syn -j DENY
В данной строке вставляется новое правило в цепочку проверки входящих пакетов. Контролируются пакеты TCP, у которых установлен флаг syn (об этом говорит ключ – syn). Если такой пакет получен, то он удаляется. Для использования маскировки IP-адреса ядро операционной системы должно быть скомпилировано с соответствующей поддержкой, потому что подмена адреса происходит на уровне ядра.
4.2. Сохранение фильтра
Если попробовать сейчас перезагрузить систему и просмотреть цепочки сетевого экрана, то все изменения исчезнут. Проблема в том, что операционная система автоматически их не запоминает, и пользователю самому нужно позаботиться о сохранении правил. Для этого существует утилита ipchain-save. Ее нужно выполнять следующим образом:
ipchain-save > файл
Сохранение
цепочек можно сделать
Восстановить цепочки тоже можно из файла. Для этого необходимо выполнить команду:
ipchain-restore < файл
Это
очень удобно. Допустим, что пользователь
хочет протестировать новые правила, но
боится испортить уже отлаженные цепочки.
Для этого нужно сохранить в каком-нибудь
файле текущее состояние и можно изменять
что угодно и как угодно. В любой момент
можно вернуться к исходной точке, выполнив
одну команду восстановления.
5. Iptables
Iptables – это логическое развитие ipchains. Взяли все лучшее модифицировали, развили в сторону гибкости, надежности и производительности. В современных дистрибутивах iptables является неотъемлемой частью системы и ядро скомпилировано с учетом требований iptables.
Программа iptables является новой разработкой по управлению фильтрами и обеспечению безопасности. С помощью iptables пользователь также может редактировать цепочки правил input, output и forward.
Сходство между ipchains и iptables прослеживается уже при взгляде на параметры:
-A цепочка правило – добавить правило в конец цепочки. В качестве параметра указывается имя цепочки INPUT, OUTPUT или FORVARD;
-D цепочка номер – удалить правило с указанным номером из заданной цепочки;
-R цепочка номер правило – заменить правило с указанным номером в цепочке;
-I цепочка номер правило – вставить правило в указанную первым аргументом цепочку под номером, заданным во втором параметре. Если номер равен 1, то правило станет первым в цепочке;
-L цепочка – просмотреть содержимое указанной цепочки;
-F цепочка – удалить все правила из цепочки;
-p протокол – определяет протокол, на который воздействует правило;
-i интерфейс – определяет сетевой интерфейс, с которого данные были получены. Здесь можно использовать INPUT, FORVARD или PREROUTING;