let isAdmin = true;
GitLabAudit
| where AuthenticationType == "standard" and ((isAdmin and TargetDetails contains "Administrator") or (isAdmin==false));
version: 1.0.1
id: e0b45487-5c79-482d-8ac0-695de8c031af
name: GitLab - Local Auth - No MFA
queryPeriod: 1d
requiredDataConnectors:
- connectorId: SyslogAma
dataTypes:
- Syslog
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/GitLab/Analytic Rules/GitLab_LocalAuthNoMFA.yaml
query: |
let isAdmin = true;
GitLabAudit
| where AuthenticationType == "standard" and ((isAdmin and TargetDetails contains "Administrator") or (isAdmin==false));
relevantTechniques:
- T1110
entityMappings:
- entityType: IP
fieldMappings:
- identifier: Address
columnName: IPAddress
- entityType: Account
fieldMappings:
- identifier: FullName
columnName: AuthorUserName
severity: Medium
kind: Scheduled
triggerThreshold: 0
triggerOperator: gt
tactics:
- CredentialAccess
status: Available
queryFrequency: 1h
description: |
'This query checks GitLab Audit Logs to see if a user authenticated without MFA. Ot might mean that MFA was disabled for the GitLab server or that an external authentication provider was bypassed. This rule focuses on 'admin' privileges but the parameter can be adapted to also include all users.'