Syslog-ng Leerzeilen mit loggen

Status
Für weitere Antworten geschlossen.

tricer

Benutzer
Mitglied seit
26. Mrz 2012
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo alle zusammen,

und zwar komme ich gleich zu meinem Problem... Wisst ihr wie man bei Syslog-ng die Leerzeilen mit loggt?

Ob über eine Template-; oder Filterfunktion oder über die globale Einstellung... Finde einfach keine Lösung!

Ich weis das man Leerzeilen in Logs selten braucht aber für meine Zwecke sind die Leerzeilen von Nöten...

Ich hoffe ihr habt eine Antwort :)

Viel Grüße
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
beschreib doch mal was du machen willst, vielleicht kann man dir dann besser helfen. Mir wäre nicht bekannt, dass man Leerzeilen in die Logs einschieben könnte. Aber vielleicht kann man dein Vorhaben ja anders lösen
 

tricer

Benutzer
Mitglied seit
26. Mrz 2012
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Also habe Mod_sec und der erstellt auch ordentlich Logs. Jetzt möchte ich diese "modsec_audit.log" auf einen anderen Server übertragen und zwar in Realtime zum auswerten der Logs.

Jetzt dachte ich mir... Nimmste Syslog-ng zum zentralen verwalten der Mod_sec logs. Ja allerdings brauche ich zum auswerden der Logs auch die Lerzeilen in "modsec_audit.log"... Deswegen meine Frage ob ich die Bereits vorhanden Leerzeilen in der log-Datei mit übertragen kann?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
dann würde ich den Server 1 (denjenigen der dein Log schreibt) so anpassen, dass er eine Kopie jedes Logeintrags an Server 2 schickt. Das geht z.B. mit syslog-ng recht einfach. Ich würde in diesem Fall die Leerzeilen bei der ausgabe des Logs einbauen. Also Log einlesen, Zeile für Zeile ausgeben und zwischen zwei Zeilen jeweils eine Leerzeile. Diesen Output könntest du dann an dein modsec verfüttern
 

tricer

Benutzer
Mitglied seit
26. Mrz 2012
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Die Sache ist nur das die Leerzeilen nicht in jeder Zeile sind sondern nur in bestimmten Zeilen...

Die Sache ist ich lese die Logs mit Jwall ein und der Braucht diese ganz bestimmte Formatierung...

Beispiel: Orginal
==============
--2678b90e-H--
Message: Access denied with code 400 (phase 2). Pattern match "^[\d\.]+$" at REQUEST_HEADERS:Host. [file "/etc/apache2/modsecurity2/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"]
Action: Intercepted (phase 2)
Apache-Handler: application/x-httpd-php
Stopwatch: 1332774984743781 3483 (456 876 -)
Producer: ModSecurity for Apache/2.5.13 (http://www.modsecurity.org/); core ruleset/1.6.1.
Server: Apache/2.2.22 (Debian)

--2678b90e-K--
SecRule "REQUEST_METHOD" "@rx ^(?:GET|HEAD)$" "phase:2,chain,t:none,deny,log,auditlog,status:400,msg:'GET or HEAD requests with bodies',severity:2,id:960011,tag:pROTOCOL_VIOLATION/EVASION"
SecRule "&REQUEST_HEADERS:Content-Type" "@eq 0" "phase:2,pass,chain,t:none,log,auditlog,msg:'Request Containing Content, but Missing Content-Type header',id:960904,severity:4"
SecRule "REQUEST_HEADERS:Host" "@rx ^[\\d\\.]+$" "phase:2,t:none,deny,log,auditlog,status:400,msg:'Host header is a numeric IP address',severity:2,id:960017,tag:pROTOCOL_VIOLATION/IP_HOST"
SecRule "RESPONSE_STATUS" "@rx ^400$" "phase:5,t:none,chain,log,auditlog,pass,msg:'Invalid request',id:960913,severity:2"

--2678b90e-Z--

==============


Beispiel Log auf Logserver:
==============
--2678b90e-H--
Message Access denied with code 400 (phase 2). Pattern match "^[\d\.]+$" at REQUEST_HEADERS:Host. [file "/etc/apache2/modsecurity2/modsecurity_crs_21_protocol_anomalies.conf"] [line "60"] [id "960017"] [msg "Host header is a numeric IP address"] [severity "CRITICAL"] [tag "PROTOCOL_VIOLATION/IP_HOST"]
Action Intercepted (phase 2)
Apache-Handler application/x-httpd-php
Stopwatch 1332774984743781 3483 (456 876 -)
Producer ModSecurity for Apache/2.5.13 (http://www.modsecurity.org/); core ruleset/1.6.1.
Server Apache/2.2.22 (Debian)
--2678b90e-K--
SecRule "REQUEST_METHOD" "@rx ^(?:GET|HEAD)$" "phase:2,chain,t:none,deny,log,auditlog,status:400,msg:'GET or HEAD requests with bodies',severity:2,id:960011,tag:pROTOCOL_VIOLATION/EVASION"
SecRule "&REQUEST_HEADERS:Content-Type" "@eq 0" "phase:2,pass,chain,t:none,log,auditlog,msg:'Request Containing Content, but Missing Content-Type header',id:960904,severity:4"
SecRule "REQUEST_HEADERS:Host" "@rx ^[\\d\\.]+$" "phase:2,t:none,deny,log,auditlog,status:400,msg:'Host header is a numeric IP address',severity:2,id:960017,tag:pROTOCOL_VIOLATION/IP_HOST"
SecRule "RESPONSE_STATUS" "@rx ^400$" "phase:5,t:none,chain,log,auditlog,pass,msg:'Invalid request',id:960913,severity:2"
--2678b90e-Z--
==============
 
Zuletzt bearbeitet:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
hm, aber da hast du doch scheinbar relativ fixe Anfangsmarkierungen für die Einträge. Sowas sollte sich eigentlich mittels eines entsprechenden RegExp gut matchen und aufteilen lassen. Oder du liest das Log mit der PHP Fkt file() ein. Dann entspricht jedes Element des resultierenden Array einer Zeile des Logs. Dann dieses Array durchlaufen und auf -- als erste Zeichen einer Zeile suchen. Dann weisst du dass du bis zum nächsten -- ein Element vor dir hast
 

tricer

Benutzer
Mitglied seit
26. Mrz 2012
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Ja das wäre jetzt die Notlösung gewesen, das ich mir ein Script bastel :)

Aber das kann doch nicht seit das syslog-ng die Logs nicht 1:1 übertragen kann...

Das hätte ich nicht gedacht :S
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

tricer

Benutzer
Mitglied seit
26. Mrz 2012
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
YEAH genau das habe ich gesucht vielen dank ;)

Habe zwar auch bei google nach "empty lines" gesucht aber nichts sinvolles gefunden. Also von daher danke :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat