URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 76466
[ Назад ]

Исходное сообщение
"обход ограничений IPA"

Отправлено reekoff , 28-Сен-07 09:57 
Здравствуйте!
на  шлюзе (freebsd 6.2) работает ipa 1.3.6.
на один хост в сети стоит лимит 80 мб в сутки.
global {

       maxchunk = 100M
       update_db_time = 30s
       lock_db = no
       db_group = wheel
       db_dir = /usr/local/ipa
}

rule in {
       ipfw = 110.0
       info = Incoming traffic
}

rule out {
       ipfw = 110.1
       info = Outgoing traffic
}

rule 56 {
        ipfw = 306
        info = firewall_trafic_size
        limit 80m {
                byte_limit = 80m
                info = 80 Mbyte per day
                zero_time = +d
reach {
exec = /sbin/ipfw add 141 set 1 deny tcp from any 80,3128 to 192.168.0.56
}
expire {
        expire_time = +d
        exec = /sbin/ipfw delete 141

}
}
}
Это правило всегда работало - по достижении 80 мегов включалось запрещающее правило фаера.
Вчера в логах ипы по этому хосту наблюдаю что использованнй трафик составил более 200 мегов за вчерашний день и более 100 мегов за сегодняшний.
Причем с утра в ipfw show запрещающее правило на этот хост стоит и работает (тобишь в данный момент оно в инет не пускает с этого компа). Как случилось, что за ночь с этого компа накачали более 300 мегов трафика, но сейчас правило активированно и не дает выход в интернет?
Еще, в сарге по этому хосту показывает только 60 мегов хттп трафика за вчерашний день (за сегодняшний его вообще нету), фтп трафик с этого хоста запрешен, выход в инет разрешен только через сквид, по логам ipfw нарушения этих правил не было.
зы. Подходит ко мне сейщас чел, который на этом компе работает и просит включить инет. Типа, говорит, у меня лимит зкончился потому что всю ночь за компом сидел другой чувак и качал какие-то данные. Так вот как этот чел смог обойти правила ипы?
Спасибо за советы!


Содержание

Сообщения в этом обсуждении
"обход ограничений IPA"
Отправлено reekoff , 28-Сен-07 11:44 
В общем, такое ощущение, что эти 300 мегов скачали и система их "потеряла".


"обход ограничений IPA"
Отправлено reekoff , 13-Ноя-08 10:16 
Возникла немного другая проблема.
Считается общий трафик:
rule in {
       ipfw = 110.0
       info = Incoming traffic
}

считается и ограничивается трафик на хосте:

rule 25 {
        ipfw = 317
        info = firewall_trafic_size
        limit 50m {
                byte_limit = 50m
                info = 50 Mbyte per day
                zero_time = +d
reach {
exec = /sbin/ipfw add 139 set 1 deny log ip from any to 192.168.0.25
}
expire {
        expire_time = +d
        exec = /sbin/ipfw delete 139

}
}
}

По общему счетчику за день заметил, что качают больше чем обычно. По индивидуальным лимитам все в норме. На следующее утро посмотрел статистику sarg - она примерно совпадает с общим счетчиком:
sarg
Всего 888.216.646

#cat /usr/local/ipa/in/2008/11
12/10:27:16-24:00:00 00000000000883587064   (обычно не более 550 мегов)

в то время как статистика сарга по хосту 192.168.0.25 удивила:
192.168.0.25    147.678.357  (150 мегов)
а в ипе:
#cat /usr/local/ipa/25/2008/11
12/10:27:16-24:00:00 00000000000042566558 (43 метра - даже не дошло до лимита отключения).

Получается такая картина:
Общий счетчик считает все правильно, сквид отдает саргу правильную статистику, а вот правило ипы по хосту 192.168.0.25 не срабатывает. По сути, с хоста 25 скачати 150 мегов, хотя по достижении 50 мб должно было сработать блокирующее правило.Но оно не сработало так как ипа увидела трафика только на 43 метра. А сарг все определил верно.
Кстати,сарг сказал что трафик шел практически с одного узла интернета:
Пользователь: 192.168.0.25
militera.lib.ru    139.724.293

Насчет вирусов я проверю, конечно. Но как можно было обойти ipfw?

в конфиге фаера:
${ipfw} add 110 count ip from any to any in via ${inet}   # общий трафик
${ipfw} add 110 count ip from any to any out via ${inet}
${ipfw} add 317 count ip from any to 192.168.0.25 out via ${lan} # тот самый хост

${ipfw} add 427 allow tcp from me to any 80 uid squid out via ${inet} # только через сквид
${ipfw} add 428 reset log tcp from any to any 80 via ${lan} out