Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: blacklistd is now available for current (comments?)
On Jan 21, 11:54am, jeanyves.migeon%free.fr@localhost (Jean-Yves Migeon) wrote:
-- Subject: Re: blacklistd is now available for current =?UTF-8?Q?=28comment
| I always preferred this way of tweaking fw rulesets instead of relying
| on "complex" (regex-based) parsers of logfiles written in
| <insert-a-la-mode-language here>. Tt requires a minor annoyance though:
| patching the listening daemon.
Yes, but this is done ones...
| I do think it is. TBH there are tons of services out there that fail at
| implementing proper blacklisting (with expiration) for sockets. And PAM
| does not really fit the bill.
I did not find any that does this directly (not via parsing logs), have you?
| I do have a few recommandations and remarks, and some depend on its use
| in base. I know, talk is cheap :)
| - blacklist_r(3) and blacklist_r() in code do not have the same
| prototype. WIP?
Yes, fixed.
| - ideally blacklistd would run under its own chrooted user; alas this
| requires some change to the code (open /dev/npf, chroot, and use libnpf
| onwards. Maybe for v2 :) );
Yes, I've been thinking amongst those lines, but its attack surface
is small. Yes, for v2 I am planning to use libnpf as an option.
| - why have blacklist() and blacklist_r()? Make blacklist() use the
| cookie and drop blacklist_r(). Makes the API simpler too;
| - in case we get /etc/rc.d/backlistd, perhaps it should be integrated
| with /etc/rc.d/npf so a restart from npf reloads blacklist configuration
| also?
I modelled it after syslog...
| - I would use CLOCK_MONOTONIC instead of REALTIME for calculation.
| syslog(3) will log the wallclock anyway;
Yes, that's a good idea. I like CLOCK_REALTIME for debug though :-)
Problem is that time is recorded in the db file, and you can't mix
debug and non-debug entries then (I don't want to add a flag to say
what it is).
| - open question: is there a chance that blacklistd can get confused when
| blacklist set is edited by hand through npfctl(8)? I am thinking along
| the lines of rem-id collision where someone removes/adds rules to
| blacklist through npfctl and forget to stop blacklistd, which will try
| to remove the old rules later...
I think that you always get new ids for the rules (ids are not reused).
If you remove a rule manually rule removal will fail. If you add rules
manually they won't be touched by blacklistd. As for syncing with npf,
I might add in the future a TTL for dynamic rules in NPF so there is no
state kept in blacklistd.
christos
Home |
Main Index |
Thread Index |
Old Index