Skip to content

Commit 0a41103

Browse files
authored
Merge branch 'main' into fix-527
2 parents 1fc94ea + f5f460f commit 0a41103

File tree

194 files changed

+26217
-2491
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

194 files changed

+26217
-2491
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -295,6 +295,7 @@
295295
/packages/juniper_srx @elastic/integration-experience
296296
/packages/kafka @elastic/obs-infraobs-integrations
297297
/packages/kafka_log @elastic/obs-infraobs-integrations
298+
/packages/keeper_security_siem_integration @elastic/security-service-integrations
298299
/packages/keycloak @elastic/security-service-integrations
299300
/packages/kibana @elastic/stack-monitoring
300301
/packages/kubernetes @elastic/obs-ds-hosted-services

packages/airlock_digital/_dev/build/docs/README.md

100644100755
Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,17 @@ The Airlock Digital integration is compatible with `v6.1.x` and `v1` version of
1212

1313
### How it works
1414

15-
This integration periodically queries the Airlock Digital REST API to retrieve Agent logs.
15+
This integration periodically queries the Airlock Digital REST API to retrieve Agent and Execution Histories logs.
1616

1717
## What data does this integration collect?
1818

1919
This integration collects log messages of the following types:
2020

2121
- `Agent`: Collects agent logs via [Airlock Digital REST API](https://api.airlockdigital.com/#35ef50c6-1df4-4330-a433-1915ccf380cf).
22+
- `Execution Histories`: Collects executions history logs via [Airlock Digital REST API](https://api.airlockdigital.com/#3634a82d-eb6b-44b7-b662-dddc37d4d9d6).
2223

2324
### Supported use cases
24-
Integrating Airlock Digital agent logs with Elastic SIEM provides SOC teams with comprehensive visibility into endpoint policy enforcement and system activity. Dashboards highlight agent health, host and user patterns, OS distribution, group and policy metrics, storage availability, and trusted configurations, empowering efficient monitoring, proactive resource management, and improved operational readiness.
25+
Integrating Airlock Digital agent and execution history logs with Elastic SIEM provides SOC teams with deep visibility into endpoint activity and policy enforcement. Dashboards surface insights into agent health, host and user patterns, OS distribution, group and policy metrics, storage availability, trusted configurations, and execution behaviors such as blocked or untrusted runs and policy violations. This enables faster investigations, stronger compliance, proactive resource management, and improved overall endpoint security.
2526

2627
## What do I need to use this integration?
2728

@@ -31,7 +32,7 @@ Integrating Airlock Digital agent logs with Elastic SIEM provides SOC teams with
3132

3233
1. In order to make the API calls, the User Group to which a user belongs should contain required permissions. You can follow the below steps for that:
3334
2. Go to the **Settings** and navigate to **Users** tab.
34-
3. Under **User Group Management** for the respective user group provide **agent/find** and **group/policies** roles in the REST API Roles section and click on save.
35+
3. Under **User Group Management** for the respective user group provide **agent/find**, **group/policies** and **logging/exechistories** roles in the REST API Roles section and click on save.
3536

3637
#### Generate Client API key for Authentication:
3738

@@ -92,12 +93,20 @@ For more information on architectures that can be used for scaling this integrat
9293

9394
{{fields "agent"}}
9495

96+
#### Execution Histories
97+
98+
{{fields "execution_histories"}}
99+
95100
### Example event
96101

97102
#### Agent
98103

99104
{{event "agent"}}
100105

106+
#### Execution Histories
107+
108+
{{event "execution_histories"}}
109+
101110
### Inputs used
102111

103112
These inputs can be used in this integration:
@@ -106,6 +115,26 @@ These inputs can be used in this integration:
106115

107116
### API usage
108117

109-
These integration datasets use the following API:
118+
These integration datasets use the following APIs:
110119

111120
- `Agent`: [Airlock Digital REST API](https://api.airlockdigital.com/#35ef50c6-1df4-4330-a433-1915ccf380cf).
121+
- `Execution Histories`: [Airlock Digital REST API](https://api.airlockdigital.com/#3634a82d-eb6b-44b7-b662-dddc37d4d9d6). Supported execution types are:
122+
- Trusted Execution
123+
- Blocked Execution
124+
- Untrusted Execution [Audit]
125+
- Untrusted Execution [OTP]
126+
- Trusted Path Execution
127+
- Trusted Publisher Execution
128+
- Blocklist Execution
129+
- Blocklist Execution [Audit]
130+
- Trusted Process Execution
131+
- Constrained Execution
132+
- Trusted Metadata Execution
133+
- Trusted Browser Execution
134+
- Blocked Browser Execution
135+
- Untrusted Browser Execution [Audit]
136+
- Untrusted Browser Execution [OTP]
137+
- Blocklist Browser Execution [Audit]
138+
- Blocklist Browser Execution
139+
- Trusted Installer Execution
140+
- Trusted Browser Metadata Execution

packages/airlock_digital/_dev/deploy/docker/files/config.yml

Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,3 +321,223 @@ rules:
321321
}
322322
}
323323
` }}
324+
- path: /v1/logging/exechistories
325+
methods: ['POST']
326+
request_body: '{"type":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]}'
327+
responses:
328+
- status_code: 200
329+
headers:
330+
Content-Type:
331+
- application/json
332+
X-ApiKey:
333+
- my-secret-api-key
334+
body: |
335+
{{ minify_json `
336+
{
337+
"error": "Success",
338+
"response": {
339+
"exechistories": [
340+
{
341+
"checkpoint": "firstcheckpoint",
342+
"type": 1,
343+
"username": "root",
344+
"hostname": ".local",
345+
"netdomain": ".local",
346+
"filename": "/tmp/PKInstallSandbox.mqvKk4/preinstall",
347+
"ppolicy": "Airlock Groups",
348+
"policyname": "Apple Mac",
349+
"policyver": "v485",
350+
"commandline": "/bin/sh /tmp/PKInstallSandbox.mqvKk4/Scripts/ /Library/Airlock Digital / /",
351+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
352+
"pprocess": "sh",
353+
"sha256": "a3f791dec1f2a40bd623a9b37604e7f2dee84eab3f6a513c6882231d89037c40",
354+
"datetime": "2024-04-26T14:50:56Z",
355+
"md5": "",
356+
"sha128": "",
357+
"sha384": "",
358+
"sha512": ""
359+
},
360+
{
361+
"checkpoint": "secondcheckpoint",
362+
"type": 2,
363+
"username": "antos",
364+
"hostname": ".local",
365+
"netdomain": ".local",
366+
"filename": "/Users/libswift_Concurrency.dylib",
367+
"ppolicy": "Airlock Groups",
368+
"policyname": "Apple Mac",
369+
"policyver": "v485",
370+
"commandline": "",
371+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
372+
"pprocess": "Code Helper (Renderer)",
373+
"sha256": "00138fe01658ee525ea0cdce387033dfff880985605affbf59d3843ad8a65e56",
374+
"datetime": "2024-04-26T15:04:39Z",
375+
"md5": "",
376+
"sha128": "",
377+
"sha384": "",
378+
"sha512": ""
379+
},
380+
{
381+
"checkpoint": "thirdcheckpoint",
382+
"type": 3,
383+
"username": "devuser",
384+
"hostname": ".local",
385+
"netdomain": ".local",
386+
"filename": "/tmp/PKInstallSandbox.fINk77/Scripts/com.airlock.enforcementagent.core.t6o72s/preinstall",
387+
"ppolicy": "Airlock Groups",
388+
"policyname": "Apple Mac",
389+
"policyver": "v485",
390+
"commandline": "/bin/sh /tmp/Library/Airlock Digital / /",
391+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
392+
"pprocess": "sh",
393+
"sha256": "a3f791dec1f2a40bd623a9b37604e7f2dee84eab3f6a513c6882231d89037c40",
394+
"datetime": "2024-04-26T15:04:45Z",
395+
"md5": "",
396+
"sha128": "",
397+
"sha384": "",
398+
"sha512": ""
399+
}
400+
]
401+
}
402+
}
403+
` }}
404+
- path: /v1/logging/exechistories
405+
methods: ['POST']
406+
request_body: '{"type":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],"checkpoint":"thirdcheckpoint"}'
407+
responses:
408+
- status_code: 200
409+
headers:
410+
Content-Type:
411+
- application/json
412+
X-ApiKey:
413+
- my-secret-api-key
414+
body: |
415+
{{ minify_json `
416+
{
417+
"error": "Success",
418+
"response": {
419+
"exechistories": [
420+
{
421+
"checkpoint": "fourthcheckpoint",
422+
"type": 4,
423+
"username": "tos",
424+
"hostname": ".local",
425+
"netdomain": ".local",
426+
"filename": "/Users/libswift_Concurrency.dylib",
427+
"ppolicy": "Airlock Groups",
428+
"policyname": "Apple Mac",
429+
"policyver": "v485",
430+
"commandline": "",
431+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
432+
"pprocess": "Code Helper (Renderer)",
433+
"sha256": "00138fe01658ee525ea0cdce387033dfff880985605affbf59d3843ad8a65e56",
434+
"datetime": "2024-04-26T15:06:20Z",
435+
"md5": "",
436+
"sha128": "",
437+
"sha384": "",
438+
"sha512": ""
439+
},
440+
{
441+
"checkpoint": "fifthcheckpoint",
442+
"type": 5,
443+
"username": "admin",
444+
"hostname": "macbook.local",
445+
"netdomain": "corp.local",
446+
"filename": "/tmp/PKInstallSandbox.mock0/preinstall",
447+
"ppolicy": "Security Policy",
448+
"policyname": "Linux Base",
449+
"policyver": "v731",
450+
"commandline": "/bin/sh /tmp/PKInstallSandbox.mock0/Scripts/ /Library/Airlock Digital / /",
451+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
452+
"pprocess": "sh",
453+
"sha256": "f08d03c46e1a4b55b095c918dcd520f719f1de992a73b174b6c0a1859dbaf263",
454+
"datetime": "2024-04-26T14:51:56Z",
455+
"md5": "",
456+
"sha128": "",
457+
"sha384": "",
458+
"sha512": ""
459+
},
460+
{
461+
"checkpoint": "sixthcheckpoint",
462+
"type": 6,
463+
"username": "user1",
464+
"hostname": "linuxhost.local",
465+
"netdomain": ".local",
466+
"filename": "/tmp/PKInstallSandbox.mock1/preinstall",
467+
"ppolicy": "Airlock Groups",
468+
"policyname": "Apple Mac",
469+
"policyver": "v234",
470+
"commandline": "/bin/sh /tmp/PKInstallSandbox.mock1/Scripts/ /Library/Airlock Digital / /",
471+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
472+
"pprocess": "sh",
473+
"sha256": "a7a1985d2c65915b964dc6a6e78eb26c776172764b36c183f0ea69a5a621d246",
474+
"datetime": "2024-04-26T14:52:56Z",
475+
"md5": "",
476+
"sha128": "",
477+
"sha384": "",
478+
"sha512": ""
479+
}
480+
]
481+
}
482+
}
483+
` }}
484+
- path: /v1/logging/exechistories
485+
methods: ['POST']
486+
request_body: '{"type":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],"checkpoint":"sixthcheckpoint"}'
487+
responses:
488+
- status_code: 200
489+
headers:
490+
Content-Type:
491+
- application/json
492+
X-ApiKey:
493+
- my-secret-api-key
494+
body: |
495+
{{ minify_json `
496+
{
497+
"error": "Success",
498+
"response": {
499+
"exechistories": [
500+
{
501+
"checkpoint": "seventhcheckpoint",
502+
"type": 7,
503+
"username": "root",
504+
"hostname": ".local",
505+
"netdomain": "corp.local",
506+
"filename": "/tmp/PKInstallSandbox.mock2/preinstall",
507+
"ppolicy": "Default Policy",
508+
"policyname": "Windows Core",
509+
"policyver": "v678",
510+
"commandline": "/bin/sh /tmp/PKInstallSandbox.mock2/Scripts/ /Library/Airlock Digital / /",
511+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
512+
"pprocess": "sh",
513+
"sha256": "8f561d9c96427bb89986b75aa0e2314d7ee73eb4201de1ab35fc4c79f2e93b95",
514+
"datetime": "2024-04-26T14:53:56Z",
515+
"md5": "",
516+
"sha128": "",
517+
"sha384": "",
518+
"sha512": ""
519+
},
520+
{
521+
"checkpoint": "eightcheckpoint",
522+
"type": 8,
523+
"username": "service",
524+
"hostname": "macbook.local",
525+
"netdomain": ".local",
526+
"filename": "/tmp/PKInstallSandbox.mock3/preinstall",
527+
"ppolicy": "Security Policy",
528+
"policyname": "Linux Base",
529+
"policyver": "v532",
530+
"commandline": "/bin/sh /tmp/PKInstallSandbox.mock3/Scripts/ /Library/Airlock Digital / /",
531+
"publisher": "Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)",
532+
"pprocess": "sh",
533+
"sha256": "d135d274e0618e41730280b6b49f6400c55c9abf9e51929a7d67141ea369edfd",
534+
"datetime": "2024-04-26T14:54:56Z",
535+
"md5": "",
536+
"sha128": "",
537+
"sha384": "",
538+
"sha512": ""
539+
}
540+
]
541+
}
542+
}
543+
` }}

packages/airlock_digital/changelog.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
11
# newer versions go on top
2+
- version: '0.2.0'
3+
changes:
4+
- description: Add execution histories data stream.
5+
type: enhancement
6+
link: https://github.com/elastic/integrations/pull/15079
27
- version: '0.1.0'
38
changes:
49
- description: Initial release.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
fields:
2+
tags:
3+
- preserve_duplicate_custom_fields
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
{"checkpoint":"662bbf75fe5fd7b1c13d8172","type":5,"username":"root","hostname":".local","netdomain":".local","filename":"/tmp/PKInstallSandbox.mqvKk4/preinstall","ppolicy":"Airlock Groups","policyname":"Apple Mac","policyver":"v485","commandline":"/bin/sh /tmp/PKInstallSandbox.mqvKk4/Scripts/ /Library/Airlock Digital / /","publisher":"Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)","pprocess":"sh","sha256":"a3f791dec1f2a40bd623a9b37604e7f2dee84eab3f6a513c6882231d89037c40","datetime":"2024-04-26T14:50:56Z","md5":"","sha128":"","sha384":"","sha512":""}
2+
{"checkpoint":"662bc29144bb7f0003cd2e2e","type":5,"username":"antos","hostname":".local","netdomain":".local","filename":"C:\\Users\\Pranay\\Documents\\report.txt","ppolicy":"Airlock Groups","policyname":"Apple Mac","policyver":"v485","commandline":"","publisher":"Airlock Digital Pty Ltd (MXRN6N7XFL) (Mac)","pprocess":"Code Helper (Renderer)","sha256":"00138fe01658ee525ea0cdce387033dfff880985605affbf59d3843ad8a65e56","datetime":"2024-04-26T15:04:39Z","md5":"","sha128":"","sha384":"","sha512":""}

0 commit comments

Comments
 (0)