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/.
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
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
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"] start
Na teraz odpalają się jako root ale potem doda się jakiegoś użytkownika dla bezpieczeństwa
Offline
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