SDSC Secure Syslog 100
Wee writes "I saw this morning that the San Diego Supercomputer Center has released Secure Syslog, a replacement for the standard Linux/UNIX syslog daemon they've been working on for some time. It adds security and performance features (modular design, highly scalable), while retaining backwards compatibility. According to their announcement, it is the first syslog implementation to target "syslog-reliable" (RFC 3195) functionality and it is the first syslog targeted at very high performance and forensically-sound auditing. It's currently under the UC's "free for non-commercial use" license, but they are looking at moving to a completely open license (BSD-style licensing was mentioned). If you have high-traffic systems and you need reliable syslogging, this might be a worth a look. Those needing syslogging over TCP/BEEP, sockets, etc as well as UDP might also want to check it out."
Non-commercial use? (Score:1, Flamebait)
I smile whenever ancient Unix utils are updated (Score:5, Funny)
Except security. Welcome to the 21st Century, syslog.
Re:I smile whenever ancient Unix utils are updated (Score:2)
Re:I smile whenever ancient Unix utils are updated (Score:1)
Re:I smile whenever ancient Unix utils are updated (Score:3, Funny)
Where have we heard this before? [microsoft.com]
TCP/BEEP??? (Score:1)
Re:TCP/BEEP??? (Score:2, Informative)
Re:TCP/BEEP??? (Score:3, Funny)
Re:TCP/BEEP??? (Score:2)
Nah, beep's an actual protocol. You're thinking of 'bleep'.
TCP/BEEP (Score:5, Informative)
No, it's not Captain Pike's YES/NO beeps
free for non commerical use, aka... (Score:4, Insightful)
the sooner more people can use it, the sooner corporate products will have to support it, and the more secure we all can hopefully be.
after all, we haven't had much luck getting the newer snmp versions deployed.
ostiguy
Re:free for non commerical use, aka... (Score:3, Informative)
ostiguy
Re:free for non commerical use, aka... (Score:4, Insightful)
They're trying to open source. But recall that this whole thing is under the auspices of the University of California system. That means lawyers. Government lawyers. And red tape creating, rubber stamp-wielding pensioners... don't forget about them. The whole system moves about as fast as the glaciers (and with about as much unstaoppable force, too).
Never underestimate the power of a bureaucracy.
-B
Re:free for non commerical use, aka... (Score:2)
Re:free for non commerical use, aka... (Score:1)
Hmm...forensically-sound auditing (Score:4, Funny)
I see a great future in this and the products that come after it. Kudos to the developers!
Re:Hmm...forensically-sound auditing (Score:2, Interesting)
Finally! (Score:1)
Re: HP-sUX (Score:5, Funny)
And as long as you remember root can't have any shell other than
And of course you understand the next maintenance pack from HP will contain a depot that will overwrite key libraries without warning and break the thing completely.
In short, it works just as well on HP-UX as anything else does.
Feel my pain. I admin many large HP-UX machines.
Re: HP-sUX (Score:1)
I can feel your pain soooo good...
Re: HP-sUX (Score:2)
Feel my pain. I admin many large HP-UX machines.
To quote Bill (the Cat) "BLLLLFFFTTT"
If you want Pain then try using AIX...
I do remember seeing a piece of advice for those wishing to become System Administrators...
Find an OS that you hate... Congratulations, you will be working with it for the rest of your life.
After Solaris, I thought HP-UX was bad... Not awful, but bad... Now I deal with AIX...
Z... Admin of AIX, HP-UX, Solaris and Linux boxes... I try to forget the SCO machines.
TCP syslogging already available (Score:5, Interesting)
Re:TCP syslogging already available (Score:4, Informative)
I've been anxiously waiting for this announcement since then. Too bad about the license; hopefully they get it fixed soon.
works great for you, but that's all (Score:3, Interesting)
For example, a syslog version that does everything syslog-ng does, and more, and has decent SQL logging, and a sound security mechanism (PEO) is msyslog [sourceforge.net]
However, even msyslog is quite simplistic when compared to sdscsyslog. IMO, sdscsyslog has an extremely intelligent architecture, that allows for easy expansion, and easy implementation of features that neither syslog-ng nor msyslog can dream of.
Re:works great for you, but that's all (Score:2)
msyslog:
Docs? Example of how to set it up, pretty please? To clearify, setting msyslog up as a straight 415/udp syslog replacement is decently easy, but setting PEO or mysql support up is near impossible, couple that with the fact the developer (phreed) seems to have almost no time to do anything with the project kills this for serious sites.
syslog-ng:
MUCH better docs that msyslog, but adding mysql support is mostly a hack, and the config setup is about as cryptic as the old sendmail config. That coupled with the fact that I've YET to get it syslog-ng to send messages to a remote host correctly over TCP(recieve yes, but send no), knocks this off my list.
I for one will be grabbing a copy of SDSC Secure Syslog pretty quick. We use a centralized logging setup, and neither syslog-ng, nor msyslog fulfills our needs. (nor does nsyslog, or mbsyslog, nor Metalog, we didn't bother looking at DJB'd tools since his restrictive license could be a problem with sending out updates to logging sites).
Re:works great for you, but that's all (Score:3, Informative)
- create the appropriate table structure
- configure msyslog to use the tables you created
- configure SQL to let msyslog have enough permissions to write to the tables
The first two are in the man pages (om_mysql and the conf file format), the latter in the SQL server documentation.
Works like a charm.
Re: replacement (Score:3, Insightful)
Sorry to sound like a weenie, but if its not GPL'd I'm not interested. This is one of those "core parts" I'm usually talking about that needs to be gpl if its going to get included in every distro. I know there are important parts of every linux distro that aren't GPL, but the more software we add that isn't GPL the worse off we are. Don't get me wrong, I'm all for proprietary add-on software(desktop/server apps, games etc) for linux, but the core software, ie base OS, system utilities, desktop WM, internet browser/connection software and basic office capabilities need to be GPL.
Re: replacement (Score:1, Interesting)
Apache is not GPL (Score:2)
What about database service? MySQL has poor functionality in the fully-GPL version, and PostgreSQL is BSD-licensed.
Either you're an idiot or you're trolling. There is no in between. Personally, I think you're an idiot.
Re:Apache is not GPL (Score:5, Insightful)
He probably uses apache, although he could be using any one of several free webservers, some of which are in fact GPLed.
Either you're an idiot or you're trolling. There is no in between. Personally, I think you're an idiot.
It is a pity you make such a good point about the diversity of free software licenses available, then ruin it with that sort of inane flamage.
First, he may or may not be trolling. I suspect probably not (but I could be wrong)
Second, to say there is no in between is foolish. Almost as foolish as Dubya's "your with us or you're with the terrorists," which the Iranians quite correctly rebutted with "we are neither with you, nor are we with the terrorists, and you sir are a pathetic simpleton" (a nuance obviuosly lost on our current regime). There is a huge middle ground
Finally, he is hardly an idiot. Naive in equating the GPL with free software, but had his comment replaced the term GPL with "free software" it would have been very valid and on point. The core UNIX utilities and operating system need to be free software, unencumbered by constraints such as "no commercial use" (or the asinine "no use to violate human rights", where the definition of human rights varies from county to county, state to state, and very obviuosly nation to nation). On that point he is correct
Re: replacement (Score:1, Offtopic)
Re: replacement (Score:1)
Don't get me wrong, I'm all for proprietary add-on software(desktop/server apps, games etc) for linux
Yeah, the BSD license is so very proprietary. So proprietary, in fact, that you can take BSD-licensed code, modify it, and release the result under GPL. Doesn't get much more non-free than that.
Sheesh, the GPL zealots never fail to astound me...
Remote logging exists right now (Score:3, Informative)
Set up a locked down host on your network (no services running) except for syslogd. Then other hosts can use remote logging to log to this host. In case of even a widespread system compromise, your locked down logging host is completely safe and your logs can be obtained through console login.
See section "SUPPORT FOR REMOTE LOGGING" in man syslogd.
Re:Remote logging exists right now (Score:5, Insightful)
If the UDP packet happens to be dropped along the way (perhaps flooding a router or network with traffic to hope for packet loss), it won't make it into the logs.
Also, since there is no authentication and it's easy to forge a UDP packet, it would be possible for an attacker to carry out a DoS attack against your log server by filling it with useless data and filling up the disk.
What James Willard said, and more (Score:2)
s/DNS/UDP/ (Score:2)
Silly braintypo...
Re:Remote logging exists right now (Score:1)
It's not a reason not to have one of course.
Brazil (Score:4, Interesting)
Wow did anyone else notice the Brazil [imdb.com] references in RFC 3195?
It's good to know that geek culture still persists and can perimate into even the most serious subjects.
- Serge Wroclawski
Re:Brazil (Score:2)
Re:Brazil (Score:1)
If you didn't see the film or read the RFC, I'm afraid I can't help you...
Unless you fill out the correct form and get it stamped.
- Serge Wroclawski
Re:Brazil (Score:4, Funny)
We've named one of the forms we use in our department a 27B/6 in honour of the film. We refuse to buy any equipment until someone has filled one in.
Baz
[*] part of the plot of the film is that Mr Buttle gets mistakenly arrested instead of Mr Tuttle because a swatted fly falls into the machines that are typing out names of people to be arrested.
Re:Brazil (Score:2)
L: MSG 1 0 . 0 50
L:
L: Central Services. This has not been a recording.
L: END
I: ANS 1 0 . 0 61 0
I:
I: Oct 27 13:21:08 ductwork imxpd[141]: Heating emergency.END
I: ANS 1 0 . 61 58 1
I:
I: Oct 27 13:22:15 ductwork imxpd[141]: Contact Tuttle.END
I: NUL 1 0 . 119 0
I: END
Exactly what is needed ... (Score:2, Troll)
Thanks!
Re:Exactly what is needed ... (Score:2)
<sarcasm>
That makes me feel more secure... I mean, now, I don't have to worry about whether I should clean up the logs or not. It's not an option. One less thing to worry about.
</sarcasm>
Then again, the hardest thing about finding a needle in a haystack isn't sorting out the hay. You really have a tough time finding a needle in a bunch of other needles.. --er, log entries.
Buzzwords galore! (Score:5, Funny)
Scalable!
Backwards compatible!
Linux!
RFC 3195 functionality!
high performance!
forensically-sound auditing!
If only it was vertically integrated. Oh well, better luck next time!
till then,
Re:Buzzwords galore! (Score:2)
Several problems with syslogd. (Score:5, Interesting)
Standard syslog has several problems which I think are quite serious.
Remote logging is a joke. There is no authentication, and no notification whatsoever that the event was received by the remote syslog daemon. An attacker can fill the remote syslog with garbage data if they so choose.
The records are entirely unstructured and not validated. The timestamp, hostname, and process id are all volunteered by the application, not something that's noted by syslogd.
There is no guarantee whatsoever that an application that has called syslog() will have its messages safely recorded when the function returns. I'm not talking safely tucked away on disk if the system crashes, but even written into the buffer cache by syslogd when syslog(3) returns. See end of post for details.
If syslog's receive buffer is full, syslog(3) will block. This means that if syslogd cannot keep up with the rate of messages, which is a really easy condition to find yourself in given that by default syslogd calls fsync() after every log file update, your system will slow to a crawl. You cannot even login(1) since most systems record this activity to security logs.
P.S. syslog() returns as quickly as possible. Try an experiment. Generate a random number, call syslog() with this number as a string, and then open() /var/log/messages, seek to the end minus 4096 bytes. Try to find the random number. I have tried it 20 times and never has the number been there by the time read() was called. It takes longer than an application doing syslog()/open()/lseek()/read() for syslogd to record it into to the buffer-cache, let alone fsync() it to disk.
Re:Several problems with syslogd. (Score:2, Interesting)
Also, the function of syslog is not only to log routine diagnostic messages but also "distress calls", where the ailing system may only be able to squirt a few bytes onto the network before dying. Formatting, handshakes and authentication are all potential obstacles.
I think that a reliable syslogd is very important, for the reasons you mentioned and more. Sometimes the data recorded by standard syslogd is useless, making its design a liability. But its simple design helped ensure its acceptance. See RFC 3164 [ietf.org] for historical notes and a review of the syslog protocol--section 1 is of great relevance.
Re:Several problems with syslogd. (Score:2)
This behavior should be disabled, when possible, because the security gain is mostly imaginary -- it's rare for a system to fail such that buffers aren't flushed, yet you still have time to explicitly sync -- while the performance hit is not.
Here's the UC license that comes with it (Score:5, Informative)
Copyright 2002 The Regents of the University of California All Rights Reserved
Permission to use, copy, modify and distribute any part of this SDSC-syslog program for educational, research and non-profit purposes, without fee, and without a written agreement is hereby granted, provided that the above copyright notice, this paragraph and the following paragraphs appear in all copies.
Those desiring to incorporate this SDSC-syslog program into commercial products or use for commercial purposes should contact the Technology Transfer Office, University of California, San Diego, 9500 Gilman Drive, La Jolla, CA 92093-0910, Ph: (619) 534-5815, FAX: (619) 534-7345.
IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SDSC-syslog PROGRAM, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
THE SDSC-syslog SOFTWARE PROVIDED HEREIN IS ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. THE UNIVERSITY OF CALIFORNIA MAKES NO REPRESENTATIONS AND EXTENDS NO WARRANTIES OF ANY KIND, EITHER IMPLIED OR EXPRESS, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, OR THAT THE USE OF THE SDSC-syslog SOFTWARE WILL NOT INFRINGE ANY PATENT, TRADEMARK OR OTHER RIGHTS.
SDSC-syslog is developed by Tom Perrine at San Diego Supercomputer Center at the University of California, San Diego. Support for this effort is provided by Commerce Net (CN-NGI01-009).
After some not-so-trivial digging, I found the UC guidelines for releasing software [ucop.edu]. Essentially, any software written by a UC employee can be made "public" as long as procedures are followed and it's released for non-commercial use (with a license statement accompanying the software stating such).
Bash away at the software's non-GPLness, but I for one think it's pretty spiffy that anything a UC faculty, student of staff member writes can be given away, in source form, to the public. Anyone who works in the private sector who is allowed give away software written on the corporate dime can either speak up or hush up.
Anyway, cut 'em a little slack, would ya? They're trying.
-B
Re:Define "commercial use" please. (Score:2)
No clue. IANAL. You might try looking through ucop.edu for a liason or contact that can answer your question.
-B
Re:Define "commercial use" please. (Score:2)
Hope this helps!
Cheers.
Re:Define "commercial use" please. (Score:2)
That's so lame. How many commerical site are:
Re:Define "commercial use" please. (Score:2)
4. have both
I once worked for an organisation that had something like 30 seperate domains all pointing at the same server. We had about half a dozen virtual servers that pointed to subsets of the site, but most just pointed an the main website.
Re:Define "commercial use" please. (Score:2, Interesting)
Re:Here's the UC license that comes with it (Score:2)
http://cheshire.berkeley.edu/ [berkeley.edu]
-- Azaroth
License info (Score:1)
try out metalog (Score:2, Interesting)
An interesting extension of a lousy idea. (Score:4, Interesting)
Dan Bernstein's multilog, from his daemontools [cr.yp.to] package, is, in my opinion, a good example of the correct way to do logging: a single process logs the stdout and stderr of each daemon, goes to great lengths to ensure that no data is lost, and handles logfile rollover automatically. With this tcpserver/tcpclient utilities from his ucspi-tcp [cr.yp.to] package, it can be simply done over a network as well.
Of course, DJB's code, while source-available, is not in any way Free Software, and daemontools in particular currently is inextricably linked into his extraordinarily dubious "slashpackage" system, making it a potentially annoying choice for anyone reselling or distributing systems based on it. Cronolog [cronolog.org], which was originally created to manage apache logs, looks like a promising GPLed replacement for multilog, but despite lots of grumbling along those lines, nobody has written a gpl/bsd replacement for daemontools...yet.
It's the obligatory DJB software thread (Score:2)
Even more amusing is the obligatory disclaimer about how annoying DJB and his licenses are, the absence of development on some of the packages (djbdns comes to mind), or some other quirk that makes them difficult to replace what's already there.
Re:It's the obligatory DJB software thread (Score:2, Interesting)
If you're going to troll, it would help to even pretend to know what you're talking about. Go away.
Re:An interesting extension of a lousy idea. (Score:1)
a small high-performance text logger [platypus.adsl.dk]
</shameless plug>
Just the other day I checked a production server - it writes 1800 log lines per second without any problems.
Syslog architecture document (Score:2)
Syslog Daemon Architecture [myip.org]
I wrote this document for the msyslog [sourceforge.net] project.
And then, today, i noticed the sdscsyslog announcement on Slashdot!
There are many similarities between their architecture and my proposal:
- modularity
- extensibility
- scalability, etc.
Re:How Many Syslogs? (Score:1)
We have syslog, syslog-ng, a proposal for msyslog, this new version from the university system.
All this does is prove to the M$ marketing machines that opensource has no teeth, let alone coordinated ability to ensure redundant work does not happen.
So where's the compare/contrast to all that came before that convinces people any one of the proposed solutoin is the superior to the previous and its time to move up the IT evolutionary chain.
If we used the same efforts used in open source to supply gas stations there would exist 100+ recipies for grades of fuel and a creeky still & cracking tower would have to be setup next to the gas pump. Until someone took upon the entrepreneurial challenge it wouldn't come out of the spout for consumers. -- until then it would remain something you would have to assemble yourself.
Yet another example of cowboy IT development shooting its own industry in the foot.
Re:How Many Syslogs? (Score:2)
The traditional syslog is old, broken and dying. It doesn't count.
syslog-ng is cute and has TCP and clever message filtering. But that's all.
msyslog goes beyond that and adds true and reliable SQL logging (SQL in syslog-ng is a joke), PEO message protection (tamper-evident) and a somewhat more extensible implementation. But it stops there.
sdscsyslog is the first attempt to solve all the problems with all the other implementations, and also adds long-awaited features. However, it does not overlap with my proposal, because mine is just... heh, just a proposal, while they already have a running application.
But i agree with you. There is some fragmentation in the Open Source / Free Software world.
Won't compile on Unix? (Score:2)
The 'configure' script does not report any problems, and correctly detects the operating system. FreeBSD has some problems with the 'sed' substitutions for "include/const.h".
Using GCC on either platform, the compile pukes in "src/util/netaddr.h". It appears that SDSC syslogd can only successfully compile on Linux, due to use of Linux-specific socket structure declarations in this file?
gcc -DHAVE_CONFIG_H -I. -I. -I../../src/include -I../../src -g -Wall -Wno-inl
ine -Wstrict-prototypes -O2 -pedantic -c `test -f config.c || echo './'`config.
c
In file included from
from
from
from config.c:19:
../../src/util/netaddr.h:98: field `sa' has incomplete type
../../src/util/netaddr.h:99: warning: ISO C doesn't support unnamed structs/unio
ns
../../src/util/netaddr.h:99: warning: no semicolon at end of struct or union
../../src/util/netaddr.h:99: parse error before numeric constant
../../src/util/netaddr.h:100: warning: built-in function `sin' declared as non-f
unction
../../src/util/netaddr.h:102: parse error before '}' token
../../src/util/netaddr.h:102: warning: ISO C does not allow extra `;' outside of
a function
In file included from
from config.c:19:
../../src/outputmod/outputmod.h:75: field `sendTo' has incomplete type
../../src/outputmod/outputmod.h:82: confused by earlier errors, bailing out
Secure? Not. (Score:1)
Just look at the code. It's all "check that we have enough size", "copy that much data there", etc. It's all too easy to make mistakes with that. I found two missing checks, non-exploitable though. Also I found another almost-exploitable overflow with it's IPC, it used malloc(len) instead malloc(len*4). Only reason it's not exploitable is that the length was always either 0 or 1.
vsftpd handles buffers the right way - quoting security/implementation doc:
very good point! (Score:4, Informative)
I think many people could do themselves a great service by simply studying the vsftpd security libraries. Those are generic enough to be used by almost any other application, and provide a solid foundation to write applications that do not fall apart under classic C exploits: buffer overflows, etc.
Check here the vsftpd website [beasts.org].
A time for ipsec? (Score:2, Interesting)
ssh tunnel the damned... (Score:1)
Great.. except (Score:2)
If this product were to be released under a Free-software license I'd definately consider it on our network. As it is I (and probably many others) will use something else like syslong-ng or metalog, despite the fact that SDSC-syslog seems to be far more technically competent.
Last Post! (Score:1)
kernel yet. So if it works, you should be doubly impressed.
-- Linus Torvalds, announcing kernel 1.3.3
- this post brought to you by the Automated Last Post Generator...