propagate labels from acquis to appsec events
This commit is contained in:
parent
5503b2374a
commit
25635a306f
2 changed files with 5 additions and 4 deletions
|
@ -23,6 +23,7 @@ type AppsecRunner struct {
|
||||||
AppsecRuntime *appsec.AppsecRuntimeConfig //this holds the actual appsec runtime config, rules, remediations, hooks etc.
|
AppsecRuntime *appsec.AppsecRuntimeConfig //this holds the actual appsec runtime config, rules, remediations, hooks etc.
|
||||||
AppsecInbandEngine coraza.WAF
|
AppsecInbandEngine coraza.WAF
|
||||||
AppsecOutbandEngine coraza.WAF
|
AppsecOutbandEngine coraza.WAF
|
||||||
|
Labels map[string]string
|
||||||
logger *log.Entry
|
logger *log.Entry
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -205,7 +206,7 @@ func (r *AppsecRunner) ProcessOutOfBandRules(request *appsec.ParsedRequest) erro
|
||||||
|
|
||||||
func (r *AppsecRunner) handleInBandInterrupt(request *appsec.ParsedRequest) {
|
func (r *AppsecRunner) handleInBandInterrupt(request *appsec.ParsedRequest) {
|
||||||
//create the associated event for crowdsec itself
|
//create the associated event for crowdsec itself
|
||||||
evt, err := EventFromRequest(request)
|
evt, err := EventFromRequest(request, r.Labels)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
//let's not interrupt the pipeline for this
|
//let's not interrupt the pipeline for this
|
||||||
r.logger.Errorf("unable to create event from request : %s", err)
|
r.logger.Errorf("unable to create event from request : %s", err)
|
||||||
|
@ -253,7 +254,7 @@ func (r *AppsecRunner) handleInBandInterrupt(request *appsec.ParsedRequest) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *AppsecRunner) handleOutBandInterrupt(request *appsec.ParsedRequest) {
|
func (r *AppsecRunner) handleOutBandInterrupt(request *appsec.ParsedRequest) {
|
||||||
evt, err := EventFromRequest(request)
|
evt, err := EventFromRequest(request, r.Labels)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
//let's not interrupt the pipeline for this
|
//let's not interrupt the pipeline for this
|
||||||
r.logger.Errorf("unable to create event from request : %s", err)
|
r.logger.Errorf("unable to create event from request : %s", err)
|
||||||
|
|
|
@ -68,7 +68,7 @@ func AppsecEventGeneration(inEvt types.Event) (*types.Event, error) {
|
||||||
return &evt, nil
|
return &evt, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func EventFromRequest(r *appsec.ParsedRequest) (types.Event, error) {
|
func EventFromRequest(r *appsec.ParsedRequest, labels map[string]string) (types.Event, error) {
|
||||||
evt := types.Event{}
|
evt := types.Event{}
|
||||||
//we might want to change this based on in-band vs out-of-band ?
|
//we might want to change this based on in-band vs out-of-band ?
|
||||||
evt.Type = types.LOG
|
evt.Type = types.LOG
|
||||||
|
@ -91,7 +91,7 @@ func EventFromRequest(r *appsec.ParsedRequest) (types.Event, error) {
|
||||||
evt.Line = types.Line{
|
evt.Line = types.Line{
|
||||||
Time: time.Now(),
|
Time: time.Now(),
|
||||||
//should we add some info like listen addr/port/path ?
|
//should we add some info like listen addr/port/path ?
|
||||||
Labels: map[string]string{"type": "crowdsec-appsec"}, //FIXME: use the labels from the acquis
|
Labels: labels,
|
||||||
Process: true,
|
Process: true,
|
||||||
Module: "appsec",
|
Module: "appsec",
|
||||||
Src: "appsec",
|
Src: "appsec",
|
||||||
|
|
Loading…
Add table
Reference in a new issue