Hi Rainer,

On Tue, 16 Sep 2003, Rainer Gerhards wrote:

> Hi WG,
>
> I had some off-list discussion with Anton Okmianski on the proposed
> fragmentation issue in here. I think he raised some very good points and
> I am now posting some of his important thoughts (with his permission):
>
> > I don't have any beef with reboot id...  On the contrary, if it is
> > defined as a per process thing, I think it is not a bad idea.  But if
> > it is per-host, then sequence numbers have to per-host.  And this is
> > bad.  This means that processes have to coordinate with each other
> > (through another daemon process, shared memory, peer-to-peer or other
> > mechanism). This is a problem because this complexity affects
> > availability and reliability of the solutions.  When things are hosed
> > on the system, it helps when process does not have external
> > dependencies in order to report the problems.
> >
> > I understand that you have to deal with -sign though.  And I don't
> > know exactly what they spec'ed.  On the other hand -sign is not even
> > an RFC yet.   I think they should probably add process identifier and
> > make reboot id per process. It seems like a very obvious choice if we
> > are saying that we support architecture of multiple processes firing
> > remotely directly.
>
> I think this boils down to the issue of a single daemon (*nix like)
> design vs. a design with multiple independant senders running on the
> same system. I agree on that there is an issue if we borrow too much
> from the *nix approach (or kind of silently assume it).
>
> Some related reading can be found here:
>
> http://www.mail-archive.com/syslog-sec%40employees.org/msg01217.html (be
> sure to follow the thread)
>
> In some other mail, Anton proposed to drop the reboot session ID in
> favour of using the following fields as identifier for a single message:
>
> - TIMESTAMP (should be at least in millisecond resolution)
> - TAG (should include process id)
> - HOSTNAME
>
> These fields should be exactly the same in each fragment and identify
> the message (the whole, oversized one). Then fragementation is done
> close to what was proposed in -international-0:
>
> fragno.fragtotal
>
> with fragno being the current fragment (starting at 1) and fragtotal
> being the total number of fragments. fragtotal would be optional. No
> byte counting is done, it is just a plain advancing number. The bottom
> line of this is that we can NOT detect bytes added after the original
> message with this approach (but would we really like to preserve -sign
> signatures in this case...?).
>
> I have to say, I like Anton's approach. It's simple & efficient and
> removes the need for the reboot session id, which can be challenging in
> some environments.

The purpose of the reboot counter is to prevent replay.  I can see the
inclusion of the process id and/or name with the certificate block
messages to identify the sender.  (I'm still a little doubtful about the
concept of multiple syslog processes from a single device but I'll go
along for the discussion. :)  Can you explain how this will prevent a
replay?

In which environments is this challenging?  To utilize a timestamp,
devices will require a TOY (Time of Year chipset).  To utilize a reboot
counter, a device just needs some memory that will persist over a reboot.
I believe that the latter is more common and that this was discussed in
the SNMP mailing list prior to coming up with SNMPv3, which came to the
conclusion that a reboot couter was preferred.


>
> If there is no objection, I will move this approach into the next
> revision of -international.
>

I'm not objecting - just trying to make sure we've got our bases covered.

Thanks,
Chris

> So, is there any objection? ;)
>
> Anton: would you find this sufficent, as I do not make process id a
> MUST?
>
> Rainer
>
>
>


Reply via email to