Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2019-08-14 11:34:34

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Multi kanałowe log proxy na rsyslog

Mam do zrobienia proxy, które będzie zbierało log z 2 inputów (tcp dla windows, udp dla linux) następnie odpowiednio formatowało log do formatu gelf i wypluwało szyfrowanym kanałem do grayloga (tcp over tls input).

Na razie działa to 'jakoś' ale formatowane pewnie i się rozjedzie bo logi są trochę w zależności od platformy.

W jaki sposób mogę zrobić osobne kanały/pary wej/wyj dla logów? Wystarczy, ze zrobię np 10-graylog-forward-tls-win.conf 10-graylog-forward-tls-lin.conf i umieszczę w nich odpowiednio inputy?
W dokumentacji dla action nie widziałem skąd dany strumień logów ma być brany

Moja obecna konfiguracja
/etc/rsyslog.d/10-graylog-forward-tls.conf

Kod:

# load and configure input
module(load="imudp" threads="16"
       timeRequery="8" batchSize="128")
input(type="imudp" port="44000"
      name="unix_inpt" RcvBufSize="256k")

module(load="imtcp" DisableLFDelimiter="on")
input(type="imtcp" port="55000" name="win_input")


# certificate files - just CA for a client
global(DefaultNetstreamDriverCAFile="/etc/ssl/graylog/rootCA.pem")

# set graylog log template
template(name="gelf" type="list") {
    constant(value="{\"version\":\"1.1\",")
    constant(value="\"host\":\"")
    property(name="hostname")
    constant(value="\",\"short_message\":\"")
    property(name="msg" format="json")
    constant(value="\",\"timestamp\":\"")
    property(name="timegenerated" dateformat="unixtimestamp")
    constant(value="\",\"level\":\"")
    property(name="syslogseverity")
    constant(value="\"}")
}

# template
$template GRAYLOGRFC5424,"<%PRI%>%PROTOCOL-VERSION% %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%"


# set up the action for all messages
action(type="omfwd"
       target="ec2-18-130-131-158.eu-west-2.compute.amazonaws.com"
       protocol="tcp"
       port="44003"
       StreamDriver="gtls"
       StreamDriverMode="1"
       StreamDriverAuthMode="anon"
       template="gelf")

EDITNie, nie zadziała. Mogę to jakoś? Może uruchomić dwie instancje sysloga?

Ostatnio edytowany przez urbinek (2019-08-14 11:53:47)


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#2  2019-08-14 13:26:41

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Multi kanałowe log proxy na rsyslog

Oddzielić logi Windy i Linuxa może po IP:

Kod:

if $fromhost-ip == "192.168.1.17" then {
$umask 0022 
*.* action(type="omfile" file="/var/log/pap2.log")
}

Prostsze to i skuteczniejsze, niż kombinacje alpejskie  z protokołami UDP i TCP.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2019-08-14 13:40:40

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Multi kanałowe log proxy na rsyslog

Gdybym znał adresy IP to bym mógł, to będzie używane jako proxy w wielu różnych środowiskach, dodawanie adresacji do konfiguracji mija się z celem.



Na teraz zrobiłem 2 nowe usługi systemd i odpalam w sysloga z odpowiednio spreparowaną konfiguracją

Kod:

# systemctl status rsyslog-tls-win
● rsyslog-tls-win.service - System Logging Service for remote Windows servers via tls
   Loaded: loaded (/etc/systemd/system/rsyslog-tls-win.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-14 11:06:44 UTC; 30min ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 2977 (rsyslogd)
    Tasks: 7 (limit: 1152)
   CGroup: /system.slice/rsyslog-tls-win.service
           └─2977 /usr/sbin/rsyslogd -n -f /etc/rsyslog.d/graylog/forward-win.conf -i /run/rsyslog-win.pid

Aug 14 11:06:44 ip-10-100-100-22 systemd[1]: Starting System Logging Service for remote Windows servers via tls...
Aug 14 11:06:44 ip-10-100-100-22 systemd[1]: Started System Logging Service for remote Windows servers via tls.
Aug 14 11:06:44 ip-10-100-100-22 rsyslogd[2977]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="2977" x-info="http://www.rsyslog.com"] start

Kod:

# systemctl status rsyslog-tls-lin
● rsyslog-tls-lin.service - System Logging Service for remote Linux servers via tls
   Loaded: loaded (/etc/systemd/system/rsyslog-tls-lin.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-08-14 11:06:18 UTC; 31min ago
 Main PID: 2946 (rsyslogd)
    Tasks: 18 (limit: 1152)
   CGroup: /system.slice/rsyslog-tls-lin.service
           └─2946 /usr/sbin/rsyslogd -n -f /etc/rsyslog.d/graylog/forward-lin.conf -i /run/rsyslog-lin.pid

Aug 14 11:06:18 ip-10-100-100-22 systemd[1]: Starting System Logging Service for remote Linux servers via tls...
Aug 14 11:06:18 ip-10-100-100-22 systemd[1]: Started System Logging Service for remote Linux servers via tls.
Aug 14 11:06:18 ip-10-100-100-22 rsyslogd[2946]: socket 4, actual os socket rcvbuf size 524288  [v8.32.0]
Aug 14 11:06:18 ip-10-100-100-22 rsyslogd[2946]: socket 5, actual os socket rcvbuf size 524288  [v8.32.0]
Aug 14 11:06:18 ip-10-100-100-22 rsyslogd[2946]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="2946" x-info="http://www.rsyslog.com"] start

Na teraz odpalają się jako root ale potem doda się jakiegoś użytkownika dla bezpieczeństwa


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#4  2019-08-14 18:47:08

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Multi kanałowe log proxy na rsyslog

Na teraz odpalają się jako root ale potem doda się jakiegoś użytkownika dla bezpieczeństwa

Hmm

Kod:

Apparmor: rsyslogd (enforce)

Do bezpieczeństwa mam coś takiego:

Kod:

# Last Modified: Mon Jan 14 13:30:48 2019
#include <tunables/global>

profile rsyslogd /usr/sbin/rsyslogd {
  #include <abstractions/base>
  #include <abstractions/nameservice>

  capability sys_admin,
  capability sys_nice,
  capability syslog,

  /dev/maillog rw,
  /dev/syslog rw,
  /etc/rsyslog.conf r,
  /etc/rsyslog.d/ r,
  /etc/rsyslog.d/21-cloudinit.conf r,
  /etc/rsyslog.d/postfix.conf r,
  /lib/x86_64-linux-gnu/ld-*.so mr,
  /proc/kmsg r,
  /usr/sbin/rsyslogd mr,
  /var/empty/dev/log rw,
  /var/log/ rw,
  /var/log/** rw,
  /var/named/dev/log rw,
  /var/spool/postfix/dev/log rw,
  /var/spool/rsyslog/ rw,
  /var/spool/rsyslog/** rw,
  /{,var/}run/rsyslogd.pid rwk,
  /{,var/}run/rsyslogd.pid.tmp rwk,
  /{usr/,}lib{,32,64}/** mr,

}

Ostatnio edytowany przez Jacekalex (2019-08-14 18:48:12)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)