cscli parsers install crowdsecurity/asterisk-logs
Parser for asterisk logs (parse only failed authentication logs for the moment).
1name: crowdsecurity/asterisk-logs2description: "Parse Asterisk logs"3filter: "evt.Parsed.program == 'asterisk'"4onsuccess: next_stage5nodes:6 - grok:7 pattern: '(\[%{DATA:timestamp}\] )?SECURITY\[%{NUMBER}\].* SecurityEvent="InvalidAccountID",EventTV="%{DATA:event_timestamp}",Severity="Error",Service="%{NOTDQUOTE:asterisk_service}",EventVersion="%{NUMBER}",AccountID="%{NOTDQUOTE:username}",SessionID="%{NOTDQUOTE:asterisk_session_id}",LocalAddress="IPV%{NUMBER}/(UDP|TCP|TLS)/%{IPORHOST:target_ip}/%{NUMBER:target_port}",RemoteAddress="IPV%{NUMBER}/(UDP|TCP|TLS)/%{IPORHOST:source_ip}/%{NUMBER:source_port}"'8 apply_on: message9 statics:10 - meta: log_type11 value: asterisk_failed_auth12 - target: evt.StrTime13 expression: evt.Parsed.timestamp14 - meta: target_user15 expression: evt.Parsed.username16 - meta: session_id17 expression: evt.Parsed.asterisk_session_id18 - meta: asterisk_service19 expression: evt.Parsed.asterisk_service20 - grok:21 pattern: '(\[%{DATA:timestamp}\] )?SECURITY\[%{NUMBER}\].* SecurityEvent="ChallengeResponseFailed",EventTV="%{DATA:event_timestamp}",Severity="Error",Service="%{NOTDQUOTE:asterisk_service}",EventVersion="%{NUMBER}",AccountID="%{NOTDQUOTE:username}",SessionID="%{NOTDQUOTE:asterisk_session_id}",LocalAddress="IPV%{NUMBER}/(UDP|TCP|TLS)/%{IPORHOST:target_ip}/%{NUMBER:target_port}",RemoteAddress="IPV%{NUMBER}/(UDP|TCP|TLS)/%{IPORHOST:source_ip}/%{NUMBER:source_port}"'22 apply_on: message23 statics:24 - meta: log_type25 value: asterisk_failed_auth26 - target: evt.StrTime27 expression: evt.Parsed.timestamp28 - meta: target_user29 expression: evt.Parsed.username30 - meta: session_id31 expression: evt.Parsed.asterisk_session_id32 - meta: asterisk_service33 expression: evt.Parsed.asterisk_service34 - grok:35 pattern: '(\[%{DATA:timestamp}\] )?SECURITY\[%{NUMBER}\].* SecurityEvent="InvalidPassword",EventTV="%{DATA:event_timestamp}",Severity="Error",Service="%{NOTDQUOTE:asterisk_service}",EventVersion="%{NUMBER}",AccountID="%{NOTDQUOTE:username}",SessionID="%{NOTDQUOTE:asterisk_session_id}",LocalAddress="IPV%{NUMBER}/(UDP|TCP|TLS)/%{IPORHOST:target_ip}/%{NUMBER:target_port}",RemoteAddress="IPV%{NUMBER}/(UDP|TCP|TLS)/%{IPORHOST:source_ip}/%{NUMBER:source_port}"'36 apply_on: message37 statics:38 - meta: log_type39 value: asterisk_failed_auth40 - target: evt.StrTime41 expression: evt.Parsed.timestamp42 - meta: target_user43 expression: evt.Parsed.username44 - meta: session_id45 expression: evt.Parsed.asterisk_session_id46 - meta: asterisk_service47 expression: evt.Parsed.asterisk_service48statics:49 - meta: service50 value: asterisk51 - meta: source_ip52 expression: evt.Parsed.source_ip53