Брандмауэры и специальное программное обеспечение 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.
Внедрение политик
Теперь все, что вам осталось, это внедрить сформулированные ранее политики. Для начала определим несколько переменных, так как благодаря этому снизится вероятность ошибки. Выполним следующие действия.
1. Будем использовать следующие имена:
foolint=209.191.169.1/25 # это интерфейс eth0
foolint=209.191.169.129/25 # это интерфейс eth1
Блокируем входящие ping-запросы:
ipchains -A input -s echo-request -i ethl -j DENY
Теперь разрешаем пропуск трафика из внутренней сети наружу (за исключе
нием NNTP)
ipchains -A input -s foolint ! 119 -d 0/0 -i ethO -j ACCEPT
4. Блокируем службы, которые являются общей проблемой безопасности или не
используются вами (такие как telnet, ftp, http и imap):
ipchains -A input -p tcp -i ethl -s 0/0 -d foolint 23 -j DENY
ipchains -A input -p tcp -i ethl -s 0/0 -d foolint telnet -j DENY
ipchains -A input -p tcp -i ethl -s 0/0 -d foolint 80 -j DENY
ipchains -A input -p tcp -i ethl -s 0/0 -d foolint imap -j DENY
На этом шаге (шаг 4) интерфейс eth1 можно не указывать, так как если соответствующие данные проникают в систему через интерфейс ethO, такие пакеты удовлетворяют правилу, определенному на шаге 3, и прохождение цепочки input для них на этом завершается.
5. Принимаем данные DNS (только через foolint), ssh и большинство портов с но
мерами выше 1024 (для обеих сетей), а также SMTP и РОР-3:
ipchains -A input -p all -s О/О -d foolint domain -j ACCEPT
ipchains -A input -p tcp -s 0/0 -d fooall 22 -j ACCEPT
ipchains -A input -p tcp -s 0/0 -d fooall 1024:5999 -j ACCEPT
ipchains -A input -p tcp -s 0/0 -d fooall 6010 -j ACCEPT
ipchains -A input -p tcp -s 0/0 -d fooall 25 -j ACCEPT
ipchains -A input -p tcp -s 0/0 -d fooall pop-3 -j ACCEPT
Принимаем пакеты узла localhost:
ipchains -A input -i lo -j ACCEPT
Блокируем все остальное:
ipchains -P input DENY
8. Обеспечиваем передачу пакетов в обоих направлениях — правила цепочки
input осуществляют остальную фильтрацию:
ipchains -P forward ACCEPT
9. Оптимизируем прохождение трафика:
1) минимальная задержка для трафика Web, telnet и ssh:
ipchains -A output -p tcp -d 0/0 80 -t 0x01 0x10 ipchains -A output -p tcp -d 0/0 telnet -t 0x01 0x10 ipchains -A output -p tcp -d 0/0 22 -t 0x01 0x10
максимальный объем передаваемых данных для ftp-data:
ipchains -A output -p tcp -d 0/0 ftp-data -t 0x01 0x08
максимальная надежность для smtp:
ipchains -A output -p tcp -d 0/0 smtp -t 0x01 0x04
минимальные затраты рор-3:
ipchains -A output -p tcp -d 0/0 pop-3 -t 0x01 0x10
В завершение следует добавить правило (если пакет прошел все тесты, его следует принять):
ipchains -P output ACCEPT
Следует, однако, позаботиться еще об одном. Необходимо предотвратить подделку IP-адресов (IP-spoofing), когда кто-то из внешних пользователей делает вид, что он находится во внутренней сети. Никто не должен подключаться к внешнему интерфейсу и при этом заявлять, что он находится внутри сети (или является узлом localhost). Следующие правила позволяют документировать сведения о подобных попытках в журнале и отклонять (REJECT) их:
ipchains -I input 1 -i eth1 -s foolint -l -j REJECT
ipchains -I input 1 -i eth1 -s 127.0.0.1 -l -j REJECT
ПРИМЕЧАНИЕ
Чтобы предотвратить подделку IP-адресов, можно воспользоваться файлом /proc/sys/net/ipv4/conf/ */rp_filter. Достаточно добавить в этот файл единицу («1»). Однако при этом нарушится корректное функционирование модуля FreeS/WAN. Таким образом, для этой цели лучше использовать правила ipchains.
Тестирование политик
Чтобы протестировать сформированный набор правил, проще всего придумать несколько тестовых случаев и использовать параметр -С программы ipchains. Среди тестовых данных нужно поместить как данные, которые не должны проникать во внутреннюю сеть, так и данные, которые должны туда попасть. Для получения дополнительной диагностической информации во время тестирования следует использовать ключ -v. Так вы сможете узнать, прошел ли пакет через брандмауэр или нет. Помните, что совместно с параметром -С помимо имени цепочки следует использовать ключ -s с указанием адреса и порта, ключ -d с указанием адреса и порта, ключ -р и ключ -i.
Иногда для некоторых правил полезно бывает включить документирование в журнале сведений о тестировании пакетов. Эту возможность следует использовать осторожно, в противном случае за короткое время будут созданы чрезвычайно длинные журналы. Как правило, удобно включать документирование только для одного правила за один раз.
Наблюдение
Не забывайте время от времени проглядывать содержимое журналов, в особенности если вы добавили в брандмауэр правила, специально предназначенные для обнаружения атак. На случай, если кому-то все-таки удалось несанкционированно преодолеть вашу защиту, вы должны использовать для документирования доверенный внутренний сетевой узел.
Применение таких механизмов защиты, как tcpd, tripwire и courtney, впрочем, как и многих других, не даст никаких результатов, если вы не будете присматривать за ними. В первую очередь атакующий будет пытаться нейтрализовать именно эти механизмы. В случае атаки брандмауэр позволяет вам выиграть дополнительное время. Однако время работает на атакующего, то есть против вас. Атаку лучше всего блокировать тогда, когда проникновение за барьер защиты еще не произошло, то есть тогда, когда атакующий еще только пытается обнаружить в вашей системе защиты слабые места. Не выполнив поиска слабых мест, атакующий не сможет проникнуть в систему, поэтому прежде чем произойдет взлом системы, вы получите предупреждение об этом. Заметите ли вы его? Это зависит от вашей бдительности.