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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.



Dzban Naczelny
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
# 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)

Offline







Podobno człowiek...;)








Oddzielić logi Windy i Linuxa może po IP:
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.
Offline



Dzban Naczelny
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ą
# 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# 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"] startNa teraz odpalają się jako root ale potem doda się jakiegoś użytkownika dla bezpieczeństwa

Offline







Podobno człowiek...;)








Na teraz odpalają się jako root ale potem doda się jakiegoś użytkownika dla bezpieczeństwa
Hmm
Apparmor: rsyslogd (enforce)
Do bezpieczeństwa mam coś takiego:
# 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)
Offline