On Wed, Jun 15, 2016 at 11:11 AM, atar <atar.yo...@gmail.com> wrote:
>> atar wrote on 06/14/2016 20:29:
>>>> atar wrote on 06/14/2016 16:05:
>>>>>> atar wrote on 06/14/2016 14:52:
>>>>
>>>> [...]
>>>>
>>>>>>> The hostname "google.com" isn't blocked since its current ip differs 
>>>>>>> from its previous ip when pf has loaded the rule, what can I do in 
>>>>>>> order to be able to block such sites (with many ip addresses)?
>>>>>>
>>>>>> I would use tables and populate them periodically from shell script 
>>>>>> which can do FQDN to many IPs resolution.
>>>>>>
>>>>>> It can be simple as this
>>>>>>
>>>>>> host yahoo.com | awk '$0 ~ /has address/ { print $4 }' > 
>>>>>> /var/run/pf.yahoo_table
>>>>>> pfctl -t yahoo_table -T replace -f /var/run/pf.yahoo.table
>>>>>>
>>>>>> I am sure you will find better solution :)
>>>>>>
>>>>>> Miroslav Lachman
>>>>> Thanks for your answer, it is an interested idea.
>>>>>
>>>>> However, is this method of update periodically the pf tables not disturb 
>>>>> or burden the performance of the pf filter engine especially if the 
>>>>> script that update the tables runs too often?
>>>>
>>>>
>>>> How often is "too often"?
>>>> I think that updating the tables every 5 minutes is enough (no one uses 
>>>> shorter TTL for DNS entries)
>>>> The nicest thing on PF tables is you don't need to reload PF and tables 
>>>> can live in memory (not need for persistent file on filesystem) so all 
>>>> operations are really quick.
>>>> Our PF firewalls are using tables with thousands of entries without any 
>>>> issues.
>>>> I don't see any trouble even if you will update tables each minute.
>>>>
>>>> Miroslav Lachman
>>>
>>> Thanks again for replying.
>>>
>>> I don't know why, but even refresh rate of one minute isn't enough for the 
>>> domains google.com or gmail.com.
>>>
>>> Even immediately after I load the table which has the rule to block the 
>>> above mentioned domains I am still able to access those domains. Sometimes 
>>> it is indeed blocked for a half of a minute but finally the chromium 
>>> browser succeed to load them.
>>>
>>> Do you have any idea?
>>
>> I am not sure but it can have something with keep-state.
>>
>> If you have PF disabled, then start it, populate table and then make first 
>> connection attempt (there should be no states), are you still able to 
>> connect for a half minute?
>>
>> You can check tables by: pfctl -vv -s Tables
>>
>> and check states by: pfctl -vv -s state
>>
>> Miroslav Lachman
>
> Hi there,
>
> I've tried your advice but pf report on error which says that keep state is 
> not make sense on block rules.

Keep state makes no sense on block rules as the error says, the block
rules reject the packet without creating a state. States are created
only by pass rules.

-Kimmo
_______________________________________________
freebsd-pf@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-pf
To unsubscribe, send any mail to "freebsd-pf-unsubscr...@freebsd.org"

Reply via email to