[syslog-ng] I want to forward Windows server 2008 R2 logs to Linux syslog-ng.

jrhendri at roadrunner.com jrhendri at roadrunner.com
Mon Aug 25 22:41:15 CEST 2014


Hi Jason -

All I am able to provide is this (which is the base that I use in most cases). Obviously the group needs to exist (i.e. "logadmin")

I find this is pretty solid, and the directory structure allows easy searching by date and/or server.

You will need to look up the options for yourself at the Balabit site (they have excellent documentation)

The one thing that I will say is that $HOST and $HOST_FROM differ in that $HOST is parsed from the data in the syslog messages themselves, where $HOST_FROM is the server that sent the packets over the network. I find it more reliable especially when parsing "non-standard" events.

Best of luck,
Jim

#

@version: 3.5
@include "scl.conf"

options {
  check_hostname(yes); # check if the hostname contains valid characters
  use_dns(no);   # do not resolve names for speed
  dns_cache(no); # no DNS cache since we do not resolve names
  keep_hostname(yes); # keep hostnames to enable related macros
  chain_hostnames(no); # do not track / forward syslog forwarder chain

  # options related to file and directories
  dir_owner("root");
  dir_group("logadmin");
  owner("root");
  group("logadmin");
  perm(0640);
  dir_perm(0750);
  create_dirs(yes);
};

source s_local {
  system();
  internal( );
};

source s_network {
  udp();
  tcp();
};

destination d_separatedbyhosts {
  file("/data/syslog-ng/$YEAR/$MONTH/$DAY/$HOST_FROM/$HOST_FROM.$FACILITY.$PRIORITY.$YEAR.$MONTH.$DAY");
};

log {
  source(s_local);
  source(s_network);
  destination(d_separatedbyhosts);
};



---- Jason Long <hack3rcon at yahoo.com> wrote: 
> Hi Jim.
Thank you so much for your reply.
Excuse me, Can you write a config file for me that collect Windows log?


On Monday, August 25, 2014 1:18 AM, Jim Hendrick <jrhendri at roadrunner.com> wrote:
 




One way to check would be to have syslog-ng use the host macro as
    part of the directory (or file) name and let it create directories
    (or files) for every host it hears from like this:

change create_dirs(yes) 

and create a destination that will use information it parses out of
    the received logs in the filenames:

destination d_separatedbyhosts {
  file( "/var/log/$HOST/$HOST.$FACILITY.$SEVERITY.$YEAR.$MONTH.$DAY"
    );
}

then don't filter at all - just let syslog-ng create at will.

While this may not be what you want eventually, it would let
    syslog-ng create files for any host it hears from, and that might
    show you how the $HOST macro is being parsed.

Jim




On 08/24/2014 01:33 PM, Jason Long wrote:

Hello all.
>I have a Windows Box that want to forward all Even logs to my Linux box. I install Snare on Windows(172.30.10.19) and configure it to forward logs to Linux  and my Linux box receive it properly. When I use " tcpdump udp "port 514" ", Tcpdump show me that Snare sending Logs to Linux but Syslog-ng can't write it to log files :(. I paste my syslog-ng configure :
>
>
>options {
>flush_lines (0);
>time_reopen (10);
>log_fifo_size (1000);
>long_hostnames (off);
>use_dns (no);
>use_fqdn (no);
>create_dirs (no);
>keep_hostname (yes);
>};
>
>
>source s_sys {
>file ("/proc/kmsg" program_override("kernel: "));
>unix-stream ("/dev/log");
>internal();
>#udp(ip(0.0.0.0) port(514));
>};
>
>
>
>
>#source s_net {
>#udp (ip(172.30.10.19) port(514));
>#};
>source s_net { udp(); };
>filter f_openwrt { host("172.30.10.19");};
>destination df_openwrt { file("/var/log/winlog/win.log"); };
>log { source ( s_net ); filter( f_openwrt ); destination ( df_openwrt ); };
>
>
>
>
>destination d_cons { file("/dev/console"); };
>destination d_mesg { file("/var/log/messages"); };
>destination d_auth { file("/var/log/secure"); };
>destination d_mail { file("/var/log/maillog" flush_lines(10)); };
>destination d_spol { file("/var/log/spooler"); };
>destination d_boot { file("/var/log/boot.log"); };
>destination d_cron { file("/var/log/cron"); };
>destination d_kern { file("/var/log/kern"); };
>destination d_mlal { usertty("*"); };
>
>
>filter f_kernel     { facility(kern); };
>filter f_default    { level(info..emerg) and
>                        not (facility(mail)
>                        or facility(authpriv) 
>                        or facility(cron)); };
>filter f_auth       { facility(authpriv); };
>filter f_mail       { facility(mail); };
>filter f_emergency  { level(emerg); };
>filter f_news       { facility(uucp) or
>                        (facility(news) 
>                        and level(crit..emerg)); };
>filter f_boot   { facility(local7); };
>filter f_cron   { facility(cron); };
>
>
>#log { source(s_sys); filter(f_kernel); destination(d_cons); };
>log { source(s_sys); filter(f_kernel); destination(d_kern); };
>log { source(s_sys); filter(f_default); destination(d_mesg); };
>log { source(s_sys); filter(f_auth); destination(d_auth); };
>log { source(s_sys); filter(f_mail); destination(d_mail); };
>log { source(s_sys); filter(f_emergency); destination(d_mlal); };
>log { source(s_sys); filter(f_news); destination(d_spol); };
>log { source(s_sys); filter(f_boot); destination(d_boot); };
>log { source(s_sys); filter(f_cron); destination(d_cron); };
>
>
># vim:ft=syslog-ng:ai:si:ts=4:sw=4:et:
>
>
>
>
>
>
>Can you tell me how can I solve this problem? 
>
>
>Cheers.
>
>
>______________________________________________________________________________
Member info: https://lists.balabit.hu/mailman/listinfo/syslog-ng Documentation: http://www.balabit.com/support/documentation/?product=syslog-ng FAQ: http://www.balabit.com/wiki/syslog-ng-faq



More information about the syslog-ng mailing list