netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Leblond <eric@regit.org>
To: Mr Dash Four <mr.dash.four@googlemail.com>
Cc: Netfilter Developer Mailing List <netfilter-devel@vger.kernel.org>
Subject: Re: pgsql-ulogd2
Date: Sun, 15 Jul 2012 22:52:08 +0200	[thread overview]
Message-ID: <1342385528.8476.2.camel@tiger.regit.org> (raw)
In-Reply-To: <5002B688.4070907@googlemail.com>

[-- Attachment #1: Type: text/plain, Size: 3953 bytes --]

Hello,

Le dimanche 15 juillet 2012 à 13:24 +0100, Mr Dash Four a écrit :
> > For NFCT, you simply need to have nfnetlink_conntrack loaded.
> >   
> I did, but I also made the mistake of including a few filters in that 
> stack, which were incompatible and that was the reason I did not get any 
> NFCT logs. Once that was corrected I started seeing connection tracking 
> logged.
> 
> I have another question with regards to this: Is it possible to limit 
> (by a separate filter or otherwise) the reporting and restrict it, to 
> say, a specific set of interfaces or specific source/destination IP 
> addresses/subnets?
> 
> Currently, NFCT reports absolutely everything, which is not what I 
> really want as I have to sift through thousands of logs, not to mention 
> that by reporting everything the system load is much higher.
> 
> So, is there a way for me to do that, somehow?

Not now but I'm working on it: Pablo has made a filter system in
libnetfilter_conntrack. I will used it to filter.
> 
> > Things are more complicated for NFACCT and I've just wrote a page
> > dedicated to this point:
> > https://home.regit.org/2012/07/flow-accounting-with-netfilter-and-ulogd2/
> >   
> Very helpful, thanks! I don't see it as complicated at all, certainly no 
> more complicated than the existing accounting techniques.

Yes, not that complicated, documentation was just lacking.

> 
> >> Is there a description on the purpose of these and their configuration 
> >> parameters, if any?
> >>     
> >
> > To now which keys are used and whch config var are available, you can
> > use the -i option of ulogd:
> >
> > ulogd -i libexec/ulogd/ulogd_filter_MARK.so 
> > Name: MARK
> > Config options:
> >         Var: mark (Integer, Default: 0)
> >         Var: mask (Integer, Default: -1)
> > Input keys:
> >         Key: ct.mark (unsigned int 32, optional)
> >         Key: oob.mark (unsigned int 32, optional)
> > Output keys:
> >         No statically defined keys
> >   
> Or look at the source code, which is what I did at the end.

:)

> 
> >> I will dig much more deeper into this once I know how ulogd works as my 
> >> knowledge of ulogd2 is not that great (yet!). My initial instinct is 
> >> that I may have to alter this script slightly, because from what I 
> >> gather ulogd2 is "sensing" the structure of the logging table by reading 
> >> the "description" of it in PostgreSQL. That particular operation usually 
> >> requires higher-than-needed privileges and in order to avoid that I 
> >> might need to find other ways to impose the "insert-only" restriction, 
> >> which, lets be clear, is what ulogd needs. Again, I might be wrong with 
> >> this, but that is what my initial observations with the script and ulogd 
> >> suggest.
> >>     
> >
> > Yes, there's a discovery system that may require some tuning. But it can
> > be made on a separate table use for the only purpose of describing the
> > variables.
> >   
> Yep, the pgsql plugin makes extensive use of pg_namespace, pg_class and 
> pg_attribute which are system tables. These contain definitions of every 
> single object registered on that database server and is a major security 
> risk (as I pointed out, if that ulogd connection to the database server 
> is hijacked, then the attacker could find out what is on that database 
> without any problems, which is not good).

You're right.

> I had in mind exactly what you've suggested above - use a separate, 
> manually-registered table containing the table columns and their mapping 
> to ulogd2 parameters - much less risk and everything is configurable, 
> though the downside is that the two tables need to be synchronised if 
> the structure of the main ulogd table changes (columns renamed or added).

It seems the safest way.

BR,
-- 
Eric Leblond 
Blog: http://home.regit.org/ - Portfolio: http://regit.500px.com/

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

  parent reply	other threads:[~2012-07-15 20:52 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-13 14:13 pgsql-ulogd2 Mr Dash Four
2012-07-13 15:55 ` pgsql-ulogd2 Eric Leblond
2012-07-14 13:00   ` pgsql-ulogd2 Mr Dash Four
2012-07-14 21:22     ` pgsql-ulogd2 Eric Leblond
2012-07-15 12:24       ` pgsql-ulogd2 Mr Dash Four
2012-07-15 12:33         ` pgsql-ulogd2 Mr Dash Four
2012-07-15 20:52         ` Eric Leblond [this message]
2012-07-15 22:36           ` pgsql-ulogd2 Mr Dash Four
2012-07-16  6:33             ` pgsql-ulogd2 Eric Leblond
2012-07-16 12:43               ` pgsql-ulogd2 Mr Dash Four
2012-07-17 23:29                 ` pgsql-ulogd2 Mr Dash Four
2012-07-16  8:00             ` pgsql-ulogd2 Florian Westphal
2012-07-16 10:51               ` pgsql-ulogd2 Pablo Neira Ayuso
2012-07-16 12:52               ` pgsql-ulogd2 Mr Dash Four
2012-07-16 13:27                 ` pgsql-ulogd2 Florian Westphal
2012-07-16 15:28                   ` pgsql-ulogd2 Pablo Neira Ayuso
2012-07-17 23:29                     ` pgsql-ulogd2 Mr Dash Four
2012-07-16 10:49           ` pgsql-ulogd2 Pablo Neira Ayuso

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1342385528.8476.2.camel@tiger.regit.org \
    --to=eric@regit.org \
    --cc=mr.dash.four@googlemail.com \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).