Создание правил фильтрации в простом пакетном фильтре
Перед тем как рассказать, как настраивать пакетный фильтр межсетевого экрана Aker, полезно пояснить, как описывать правила в обычном пакетном фильтре.
Существуют несколько возможных параметров при фильтрации пакетов. Наиболее простой является адресная фильтрация; она состоит в сравнении адресов в пакете с адресами, прописанными в правилах. Если адреса совпадают, пакет пропускается. Это сравнение производится следующим образом:
Рассмотрим следующее правило: все хосты сети 10.1.x.x могут взаимодействовать с хостами сети 10.2.x.x. Запишем это правило, используя нотацию, приведенную в главе 5 Регистрация объектов Мы имееем:
10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 ------- Источник ------ -----Назначение -----
Теперь применим правило к пакету, который отправлен от хоста 10.1.1.2 к хосту 10.3.7.7. Наложим маску к обоим адресам - адресу в правиле и адресу в пакете. Затем проверим, одинаковы ли адреса источника и назначения. В результате будем иметь:
Для адреса источника:
10.1.0.0 И 255.255.0.0 = 10.1.0.0 (для правила) 10.1.1.2 И 255.255.0.0 = 10.1.0.0 (для пакета)
После применения маски оба адреса совпадают. Проверим теперь адрес назначения:
10.2.0.0 И 255.255.0.0 = 10.2.0.0 (для правила) 10.3.7.7 И 255.255.0.0 = 10.3.0.0 (для пакета)
Так как адреса назначения пакета и правила после применения маски не совпадают, то это правило не должно применяться к данному пакету.
Эта операция выполняется по всему списку адресов и масок источника и назначения до достижения конца списка или до тех пор, пока пакет не будет удовлетворять одному из правил. Список правил имеет следующий формат:
10.1.1.2 & 255.255.255.255 - 10.2.0.0 & 255.255.0.0 10.3.3.2 & 255.255.255.255 - 10.1.2.1 & 255.255.255.255 10.1.1.0 & 255.0.0.0 - 10.2.3.0 & 255.255.255.0 10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0
Кроме адресов источника и назначения, каждый IP пакет заключает в себе информацию об используемых протоколе и сервисе.
Ее можно использовать как дополнительный параметр фильтрации.
Например, сервисы в протоколе TCP всегда связаны с портом (за дальнейшей информацией обращайтесь к главе 5 Регистрация объектов). В результате можно привести в соответствие список портов с адресами.
Воспользуемся для примера двумя хорошо знакомыми сервисами, POP3 и HTTP. POP3 использует порт 110, а HTTP - порт 80. Следовательно, мы можем добавить эти порты в описание правила. В результате получим:
10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 TCP 80 110 ------ Источник ------ ----- Назначение------ Протокол --Порты--
Это правило разрешает каждому пакету, следующему от сети 10.1.x.x к сети 10.2.x.x и использующему сервисы HTTP и POP3, проходить через межсетевой экран.
Сначала адреса из правила сравниваются с адресами пакета. Если после наложения маски оба адреса совпадают, протокол и порт назначения в пакете будут сравниваться с протоколом и списком портов, описанных в правиле. Если протокол совпадает, а порт в правиле одинаков с портом пакета, то такой пакет удовлетворяет правилу. В противном случае поиск будет продолжен в списке правил.
С учетом этой новой информации набор правил будет иметь следующий формат:
10.1.1.2 & 255.255.255.255 - 10.2.0.0 & 255.255.0.0 UDP 53 10.3.3.2 & 255.255.255.255 - 10.1.2.1 & 255.255.255.255 TCP 80 10.1.1.0 & 255.0.0.0 - 10.2.3.0 & 255.255.255.0 TCP 21 20 113 10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 ICMP 0 8
Кроме этих основных параметров фильтрации можно добавить еще несколько. Одним из них является сетевой интерфейсисточника; используя имя сетевого интерфейса в качестве параметра фильтрации можно разрешить прохождение пакетов с определенными адресами только от заданного интерфейса
Цель такой процедуры состоит в блокировании атаки, известной как IP спуфинг, суть которой состоит в том, что во внутреннюю сеть посылается пакет с фальшивым адресом источника ( из внутренней сети).При использовании в качестве параметра имени сетевого интерфейса можно легко блокировать этот вид атаки. Например, если внутренняя сеть взаимодействует с межсетевым экраном через интерфейс de0, то необходимо лишь установить в правилах, что пакеты с адресом источника из внутренней сети следует принимать, только если они пришли от данного интерфейса; во всех других случаях они будут отбрасываться.
С учетом нового параметра взятое для примера правило будет иметь следующий формат:
10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 <ep0 TCP 80 110 ------- Источник --------- Назначение ----- -Интерф- -Протокол- --Порты--
Это правило устанавливает, что будут приниматься TCP пакеты от хостов из сети 10.1.0.0 к хостам из сети 10.2.0.0, приходящие от интерфейса ep0 и относящиеся к HTTP сервису (порт 80) или POP3 (порт 110).