On Mon, 7 Jun 2010, Dirk H. Schulz wrote:

> Hi David,
>
> Am 07.06.10 16:19, schrieb [email protected]:
>> On Mon, 7 Jun 2010, Dirk H. Schulz wrote:
>>
>>
>>> Hi folks,
>>>
>>> I have stumbled over a difficult question.
>>>
>>> In a developed security environment where you run several network zones
>>> with the most important data/servers in the inner zones and "outside
>>> contact servers" like web proxies in the outer zone - in such an
>>> environment a central syslog server should be positioned somewhere in
>>> the inner zones, but the servers in the outer zones must not be allowed
>>> to push messages into the inner zones - these messages have to be
>>> fetched by the central servers from the outside zones' servers.
>>>
>> Yes and No.
>>
>> The reason for not wanting to push data in is that the data originating
>> from the less secure zones may be corrupt and/or an attack.
>>
>> Pulling the same data in doesn't help protect against this.
>>
>> On the other hand, one of the big reasons for getting the logs from the
>> less secure zone is for forensic purposes. In this case you want the logs
>> to not sit on the outside (where they can be tampered with) if you can
>> avoid it. Pushing the data into the central server as each log is
>> generated is far better than polling to get the accumulated messages would
>> be.
>>
> Thanks for your elaborated answer. There is a phenomenon you did not
> address: enterprise management. :-)
> We have to implement policies defining the rules I described, be they
> technically sensible or not.

as one of the paranoid security people setting such policies, I understand 
this. but it's something that can be addressed.

>> The syslog protocol is a fairly nice combination of some strictly defined
>> elements and loosely defined content. As a result, things accepting and
>> processing the messages have to accpet a lot of strange stuff and deal
>> with it sanely, but at the same time you can setup fairly simple systems
>> to detect strange things being sent to you.
>>
>> What I do is to have dedicated relay boxes that are hardened and monitored
>> to receive the messages from the untrusted zones, they then perform any
>> fixups needed to the logs (including escaping binary characters in log
>> messages), and then sending the santitized messages on to the central log
>> server.
>>
> That sounds like a promising compromise I could offer the policy guys.
> Could you please post an example of how you escape binary characters?

rsyslog does this by default, replacing any non-printable ascii characters 
with #nnn where nnn is the octal value of the byte

this confuses some parsers (when there is a tab for example), but it means 
that the output is pretty safe to deal with.

On these hardened servers I also have extra stuff to deal with 'problem' 
sources (things that don't send properly formatted messages, like things 
that put a message sequence nubmer in the server position)

David Lang

>> There are many schemes out there to have systems write logs locally and
>> then poll to retrieve the files. rsyslog supports reading log messages
>> from files to you could easily insert the logs back into a normal syslog
>> stream, but I always try to avoid such schemes. They tend to be fragile,
>> and they leave the logs on untrusted systems where they can be tampered
>> with for a window of time.
>>
> That is why I instinctively did not want to explore that kind of solution.
>
> Thanks a lot, David!
>
> Dirk
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com
>
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to