All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Jones <admin@buddhalinux.com>
To: netfilter@lists.netfilter.org
Subject: Re: Request: Submission of Rulesets
Date: Thu, 25 Aug 2005 09:35:47 -0500	[thread overview]
Message-ID: <200508250935.54479.admin@buddhalinux.com> (raw)
In-Reply-To: <E656E2CC1C5AEB42ACB00EB83122C7741FCF13@farmer.vikus.com>

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Thursday 25 August 2005 06:56, Derick Anderson wrote:
> Out of curiosity (and the lack of fully understanding your intent), how
> would this DTD validate a ruleset? I imagine you'd be trying to go
> beyond syntax since netfilter will tell you when you do something silly
> like a --dport without a -p tcp|udp anyway. If that's so, what is your
> standard for failure of a ruleset? Or success of a ruleset?


The DTD is simply the document model by which the rule and/or rulesets can be 
applied against. 

This project can in no way perform logical evaluation of the rules. By this I 
mean the following: say you want to rate-limit incoming type 8 ping messages. 
To do so you would construct the following rules:

iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request \
              -m limit --limit 1/second -j ACCEPT

iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP

Using logical evaluation of these rules, we can determine the following with 
respect to the pair:

- - Utilization of one rule without the other results in a completely different 
behavior.
- - They must be introduced to netfilter in the order they are given -- 
otherwise the same is true again.
- - Both rules should be introduced adjacently. Otherwise there is chance for 
another rule to intervene.

None of this can be performed by a DTD or an XML markup language. These 
however can be evaluated as you say by use of an XSL stylesheet.

The DTD simply validates against a known and programmed structure. The 
advantages of using XML and this approach are such:

- - Easy to develop according to the structured document model.
- - Anybody can construct new rules with a minimal effort of syntactical 
correctness.
- - The netfiler rules can be processed with a custom stylesheet to produce 
equivalent rules and/or rulesets in other forms for perimeter devices not 
consistent with the netfilter syntax(other firewalls, routers, etc...).
- - The netfiler rules can be processed with a custom stylesheet to evaluate the 
logical structure/intent of a given ruleset.
- - The rules can be digitally signed and encrypted by the administrative entity 
to secure the content. This ensures that confidentiality and integrity of the 
resources are intact.
- - The XML Security function(s) are standards-based. So inclusion into 
regulatory requirements can be easily introduced without complications. i.e. 
SOX

> I can submit
> a working ruleset that isn't optimal (accepting RELATED,ESTABLISHED
> connections as the last rule, for example) or that checks src/dst IPs
> but not which interface...

I am not here to judge yourself or the logical purpose of your rules. I simply 
want to contribute to the community. None of my projects are for profit. 
However, I do think that it could be a good starting point for new users to 
the netfilter framework to be able to construct valid rules and/or rulesets.

> Admittedly I don't know that much about XML and DTDs. I don't know how
> powerful DTDs can be, but it seems to me like you'd need a high-level
> programming language in order to test for more than syntactical
> correctness. 

That is a totally different beast. This is where the XSL stylesheets come into 
play.

> A simulation environment for Netfilter rules is something
> I'd really like to see.

Agreed. Construction of pseudo datagrams and testing for resultant outcomes 
would be a very interesting project. 

Cheers,
Thomas
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)

iD8DBQFDDddIoR5cE1e/kEIRAqn0AKDc0iJETnOHYDBWOQlekweswOj3sQCeIo/6
LhSsuJbNwjqcG9fSmV5Hw2U=
=0+PB
-----END PGP SIGNATURE-----


  reply	other threads:[~2005-08-25 14:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-25 11:56 Request: Submission of Rulesets Derick Anderson
2005-08-25 14:35 ` Thomas Jones [this message]
  -- strict thread matches above, loose matches on Subject: below --
2005-08-26 11:57 Derick Anderson
2005-08-24 18:14 Thomas Jones
2005-08-24 21:07 ` /dev/rob0
2005-08-24 22:25   ` Thomas Jones
2005-08-24 22:36     ` /dev/rob0
2005-08-24 22:48       ` Thomas Jones

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=200508250935.54479.admin@buddhalinux.com \
    --to=admin@buddhalinux.com \
    --cc=netfilter@lists.netfilter.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.