| from .positive_alert_test_case import PositiveAlertTestCase |
| from .negative_alert_test_case import NegativeAlertTestCase |
|
|
| from .alert_test_suite import AlertTestSuite |
|
|
|
|
| class TestPromiscKernel(AlertTestSuite): |
| alert_filename = "promisc_kernel" |
|
|
| |
| |
| default_event = { |
| "_source": { |
| "category": "syslog", |
| "summary": "device eth0 entered promiscuous mode", |
| "hostname": "logging.server.com", |
| "details": { |
| "program": "kernel", |
| } |
| } |
| } |
|
|
| |
| default_alert = { |
| "category": "promisc", |
| "severity": "WARNING", |
| "summary": "Promiscuous mode enabled on logging.server.com [10]", |
| "tags": ['promisc', 'kernel'], |
| } |
|
|
| test_cases = [] |
|
|
| test_cases.append( |
| PositiveAlertTestCase( |
| description="Positive test case with good event", |
| events=AlertTestSuite.create_events(default_event, 10), |
| expected_alert=default_alert |
| ) |
| ) |
|
|
| events = AlertTestSuite.create_events(default_event, 10) |
| for event in events: |
| event['_source']['utctimestamp'] = AlertTestSuite.subtract_from_timestamp_lambda(date_timedelta={'minutes': 1}) |
| event['_source']['receivedtimestamp'] = AlertTestSuite.subtract_from_timestamp_lambda(date_timedelta={'minutes': 1}) |
| test_cases.append( |
| PositiveAlertTestCase( |
| description="Positive test case with an event with somewhat old timestamp", |
| events=events, |
| expected_alert=default_alert |
| ) |
| ) |
|
|
| events = AlertTestSuite.create_events(default_event, 10) |
| for event in events: |
| event['_source']['category'] = "badcategory" |
| test_cases.append( |
| NegativeAlertTestCase( |
| description="Negative test case with bad eventName", |
| events=events, |
| ) |
| ) |
|
|
| events = AlertTestSuite.create_events(default_event, 10) |
| for event in events: |
| event['_source']['summary'] = "Promisc: Interface eth0 set promiscuous off" |
| test_cases.append( |
| NegativeAlertTestCase( |
| description="Negative test case with bad summary", |
| events=events, |
| ) |
| ) |
|
|
| events = AlertTestSuite.create_events(default_event, 10) |
| for event in events: |
| event['_source']['summary'] = "device vethc0c001e entered promiscuous mode" |
| test_cases.append( |
| NegativeAlertTestCase( |
| description="Negative test case with a bad interface", |
| events=events, |
| ) |
| ) |
|
|
| events = AlertTestSuite.create_events(default_event, 10) |
| for event in events: |
| event['_source']['utctimestamp'] = AlertTestSuite.subtract_from_timestamp_lambda({'minutes': 3}) |
| event['_source']['receivedtimestamp'] = AlertTestSuite.subtract_from_timestamp_lambda({'minutes': 3}) |
| test_cases.append( |
| NegativeAlertTestCase( |
| description="Negative test case with old timestamp", |
| events=events, |
| ) |
| ) |
|
|