The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Фильтрация траффика по диапазонам (freebsd, ipfw)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [Проследить за развитием треда]

"Фильтрация траффика по диапазонам (freebsd, ipfw)" 
Сообщение от kirill emailИскать по авторуВ закладки(??) on 18-Июл-05, 17:19  (MSK)
Здравствуйте! Я довольно давно пользуюсь linux, но вот, по ряду причин решил перейти на freebsd. Все меня устраивает во фре, но вот добрался до фаервола и возникли вопросы.

Можно ли осуществлять фильтрацию траффика с помощью ipfw по диапазона адресов (адреса берутся каждые пол часа из таблиц "российских" провайдера)?
В linux я осуществлял это так (кусочек шелл скрипта):

$IPT -F rus
$IPT -X rus
$IPT -N rus
$IPT -P rus REJECT
$IPT -A rus -s 195.7.160.0/19 -j ACCEPT
$IPT -A rus -s 62.118.0.0/16 -j ACCEPT
$IPT -A rus -s 213.219.240.0/20 -j ACCEPT
# и т.д. Все что выше, генерится с помощью перл скрипта, запускаемым кроном

$IPT -A allow_runet -p TCP --syn -j rus
$IPT -A allow_runet -p TCP -m state --state ESTABLISHED,RELATED -j rus

$IPT -A tcp_packets -p TCP --dport 20:21 -j allow_runet
$IPT -A tcp_packets -p TCP --dport 80 -j allow_runet

Далее, не вижу смысла приводить...
Приведите, пожалуйста пример подобного фильтра.
Спасибо

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Фильтрация траффика по диапазонам (freebsd, ipfw)" 
Сообщение от imax Искать по авторуВ закладки(ok) on 19-Июл-05, 06:41  (MSK)
У меня это организовано так, есть файл /etc/rusnet.ip
-------------
80.72.208.0/20
80.89.133.16/28
80.89.133.32/27
80.89.135.0/24
80.89.143.0/24
80.89.147.0/24
...
------------

в скрипте rc.firewall

сделал такую функцию
------------
pass_only_rus() {                                                
    FILE=/etc/rusnet.ip                                              
    i=1                                                                
    j=7000                                                            
    pass_rule=9000                                                    
    size=`more $FILE | wc -l`                                          
    while (test $i -le $size)                                          
    do                                                                
        i=$(($i+1))                                                    
        j=$(($j+1))                                                    
        str=`more $FILE | tail -n $i | head -n 1`                      
        ${fwcmd} add $j skipto ${pass_rule} all from ${inet} to ${str}
        j=$(($j+1))                                                    
        ${fwcmd} add $j skipto ${pass_rule} all from ${str} to  ${inet}
    done;                                                              
...
   pass_only_rus
...
   ${fwcmd} add 8999 deny log logamount 40000  all from any to any
...
---------------

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

PS Если кто может прокоментировать скрипт - мне будет интересно

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру