Why would I need to update my ES template? I should see the field
(possibly with the wrong type) anyways in the event after I refreshed
the fields in Kibana right? 

On 2017-09-26 09:16, Simon Elliston Ball wrote:

> There should be, though you may need to update your templates in ES if you've 
> got any custom templates there, and make sure you refresh the fields in 
> kibana's index config.  
> 
> Simon 
> 
> On 26 Sep 2017, at 17:13, Laurens Vets <laur...@daemon.be> wrote: 
> 
> After setting is_alert to true, this field is now shown in my event in 
> Kibana. I would expect there also to be a field "threat:triage:level" in 
> those same events (if my rules work?) 
> 
> On 2017-09-25 16:46, zeo...@gmail.com wrote: 
> 
> I was quickly reading through this on my mobile device so sorry if I'm off 
> base here, but it may be because threat.triage.level is changed to 
> threat:triage:level just before indexing due to the inability to use a period 
> in keys on older versions of ES.  Not sure exactly what you mean by you don't 
> get a threat.triage.level field. 
> 
> Jon 
> 
> On Mon, Sep 25, 2017, 19:34 Laurens Vets <laur...@daemon.be> wrote: Next 
> problem:
> 
> I'm setting the "is_alert" field to true. It shows up in Kibana, but I
> don't get a threat.triage.level field which means that either my
> riskLevelRules rules don't trigger or something else goes wrong.
> 
> How and where can I look for additional information on why my rules
> might not be working? (Metron UI accepts my JSON without issues)
> 
> On 2017-09-25 13:39, Laurens Vets wrote:
>> Thanks!
>> 
>> On 2017-09-25 13:16, Simon Elliston Ball wrote:
>>> The second statement overwrites the first, but also uses the previous
>>> value.
>>> 
>>> Technically that is an or. Note this construct is designed to allow
>>> multiple different trigger conditions to make is_alert true, hence the
>>> second one being is_alert := is_alert || something_else.
>>> 
>>> && is bitwise and
>>> || is bitwise or
>>> 
>>> Simon
>>> 
>>>> On 25 Sep 2017, at 21:12, Laurens Vets <laur...@daemon.be> wrote:
>>>> 
>>>> Thanks! Followup question, the below is_alert 'rules' in the snippet
>>>> from
>>>> http://apache.website-solution.net/metron/0.4.1/site-book/use-cases/geographic_login_outliers/index.html,
>>>> are those an AND or OR?
>>>> 
>>>> "threatIntel": {
>>>> "fieldMap": {
>>>> "stellar" : {
>>>> "config" : [
>>>> "geo_distance_distr:= STATS_MERGE( PROFILE_GET(
>>>> 'geo_distribution_from_centroid', 'global', PROFILE_FIXED( 2,
>>>> 'MINUTES')))",
>>>> "dist_median := STATS_PERCENTILE(geo_distance_distr, 50.0)",
>>>> "dist_sd := STATS_SD(geo_distance_distr)",
>>>> "geo_outlier := ABS(dist_median - geo_distance) >=
>>>> 5*dist_sd",
>>>> "is_alert := exists(is_alert) && is_alert",
>>>> "is_alert := is_alert || (geo_outlier != null && geo_outlier
>>>> == true)",
>>>> "geo_distance_distr := null"
>>>> ]
>>>> }
>>>> },
>>>> 
>>>> For instance, can the 2nd is_alert line overwrite the value assigned
>>>> in the first is_alert rule?
>>>> 
>>>> On 2017-09-25 11:13, Simon Elliston Ball wrote:
>>>>> Usually you would have the is_alert set based on more complex rules,
>>>>> and then potentially have different rules to determine the
>>>>> importance
>>>>> of the alert, so they do tend to serve different purposes.
>>>>> For example a triage rule might be set on levels of an indicator
>>>>> after
>>>>> is_alert has been triggered by a simple presence of a non-zero
>>>>> result
>>>>> for that indicator, e.g. is it 2x std_devs, or 4x std_devs as
>>>>> different rule levels. We're adding the ability to make score a
>>>>> stellar statement which simplifies this further by allowing score to
>>>>> be a function, but thresholds are still useful to determine the text
>>>>> content of the alert for example.
>>>>> Simon
>>>>>> On 25 Sep 2017, at 19:09, Laurens Vets <laur...@daemon.be> wrote:
>>>>>> Oh, I didn't know I had to set is_alert to True.
>>>>>> Doesn't that mean that we have to add all rules twice? First to
>>>>>> check whether is_alert needs to be set to True. Next to apply the
>>>>>> actual scores?
>>>>>> On 2017-09-25 11:00, Simon Elliston Ball wrote:
>>>>>>> the _score field is actually an elastic search matching score
>>>>>>> field,
>>>>>>> and is not relevant to metron. You should see the scores in the
>>>>>>> threat:triage:score field. However, your rules will only be run if
>>>>>>> the
>>>>>>> telemetry has is_alert set true, so you should ensure that the
>>>>>>> enrichment phase sets is_alert: true somewhere for alerts you want
>>>>>>> to
>>>>>>> go to triage?
>>>>>>> Simon
>>>>>>>> On 25 Sep 2017, at 18:46, Laurens Vets <laur...@daemon.be> wrote:
>>>>>>>> I have the following configuration:
>>>>>>>> "threatIntel": {
>>>>>>>> "fieldMap": {},
>>>>>>>> "fieldToTypeMap": {},
>>>>>>>> "config": {},
>>>>>>>> "triageConfig": {
>>>>>>>> "riskLevelRules": [
>>>>>>>> {
>>>>>>>> "name": "Rule1",
>>>>>>>> "comment": "Checks whatever 1.",
>>>>>>>> "rule": "test == \"false\"",
>>>>>>>> "score": 20,
>>>>>>>> "reason": null
>>>>>>>> },
>>>>>>>> {
>>>>>>>> "name": "Rule1",
>>>>>>>> "comment": "Checks whatever 2.",
>>>>>>>> "rule": "test2 == \"False\"",
>>>>>>>> "score": 20,
>>>>>>>> "reason": null
>>>>>>>> },
>>>>>>>> {
>>>>>>>> "name": "Rule3",
>>>>>>>> "comment": "Checks whatever 2.",
>>>>>>>> "rule": "test3 == \"No\"",
>>>>>>>> "score": 20,
>>>>>>>> "reason": null
>>>>>>>> }
>>>>>>>> ],
>>>>>>>> "aggregator": "SUM",
>>>>>>>> "aggregationConfig": {}
>>>>>>>> }
>>>>>>>> },
>>>>>>>> I have no additional configuration in enrichment besides filling
>>>>>>>> a specific with true or false based on a Stellar expression.
>>>>>>>> I expected that when events would match my above rules, the
>>>>>>>> _score field would be filled in. That does not seem to be the
>>>>>>>> case.
>>>>>>>> Does anyone know what I might be missing? 
> -- 
> 
> Jon

Reply via email to