Overview
The Office 365 integration collects security and compliance events from your Microsoft 365 environment, including Exchange Online, SharePoint Online, OneDrive for Business, and Azure Active Directory activities. All events are tagged withwazuh.integration.name: o365 for filtering and analysis.
Reference: plugins/main/common/wazuh-modules.ts:85
Monitored Office 365 Services
The integration monitors activities from:- Exchange Online - Email activities, mailbox access, message tracking
- SharePoint Online - Document access, sharing, and modifications
- OneDrive for Business - File operations and sharing activities
- Azure Active Directory - User authentication and authorization
- Microsoft Teams - Meeting and channel activities
- Power BI - Dashboard and report access
- Dynamics 365 - CRM activities
- Yammer - Social network activities
- Sway - Presentation activities
- Microsoft Stream - Video portal activities
Key Features
- Real-time event collection from Office 365 Management API
- Multi-tenant support
- Comprehensive activity logging
- User behavior analytics
- Data loss prevention (DLP) event monitoring
- Compliance event tracking
- Pre-built dashboards and visualizations
Data Source Configuration
The Office 365 data source uses the following configuration:plugins/main/public/components/common/data-source/pattern/events/office-365/office-365-data-source.ts:5
Event Fields
Office 365 events include fields such as:data.office365.UserType- Type of user (Regular, Admin, System, etc.)data.office365.AuditLogScope- Online or OnPremiseevent.type- Event action typedata.office365.Operation- Specific operation performeddata.office365.Workload- Office 365 service (Exchange, SharePoint, etc.)data.office365.UserId- User who performed the actiondata.office365.ClientIP- Client IP addressdata.office365.ResultStatus- Success or failure status
plugins/main/public/components/overview/office/panel/config/helpers/helper-value-suggestion.ts:34plugins/main/public/components/overview/office/panel/config/visualizations.ts:69
User Type Values
Based on Microsoft documentation,UserType can be:
- Regular (0) - Regular user
- Reserved (1) - Reserved
- Admin (2) - Administrator
- DcAdmin (3) - Microsoft datacenter operator
- System (4) - System account
- Application (5) - Application
- ServicePrincipal (6) - Service principal
- CustomPolicy (7) - Custom policy
- SystemPolicy (8) - System policy
plugins/main/public/components/overview/office/panel/config/helpers/helper-value-suggestion.ts:14
Setup and Configuration
Prerequisites
- Office 365 subscription with appropriate license
- Global Administrator or Security Administrator role
- Azure AD application registration
- Wazuh manager with Office 365 module enabled
Configuration Steps
-
Register Azure AD Application
- Sign in to Azure Portal
- Navigate to Azure Active Directory > App registrations
- Click “New registration”
- Provide name (e.g., “Wazuh Office 365 Integration”)
- Select “Accounts in this organizational directory only”
- Register the application
-
Configure API Permissions
Add the following Office 365 Management API permissions:
ActivityFeed.Read- Read activity dataActivityFeed.ReadDlp- Read DLP policy eventsServiceHealth.Read- Read service health information
-
Create Client Secret
- In the app registration, go to Certificates & secrets
- Click “New client secret”
- Add description and set expiration
- Copy the secret value (save it securely)
-
Note Required Information
Collect the following:
- Application (client) ID
- Directory (tenant) ID
- Client secret value
-
Enable Office 365 Audit Logging
-
Configure Wazuh Manager
Edit
/var/ossec/etc/ossec.conf: -
Verify Configuration
- Restart Wazuh manager
- Check
/var/ossec/logs/ossec.logfor connection success - Verify events appear in the dashboard
Dashboard Visualizations
The Office 365 integration includes visualizations:Overview Dashboard
- Stats - Total events and event types
- Top Event Actions - Most frequent operations
- Events Over Time - Activity timeline
- Top Users - Most active users
- Top Operations - Most common operations
- Workload Distribution - Events by Office 365 service
plugins/main/public/components/overview/office/panel/config/visualizations.ts:1
Filtering Events
Filter Office 365 events using:- By user:
data.office365.UserId: "user@domain.com" - By operation:
data.office365.Operation: "FileAccessed" - By workload:
data.office365.Workload: "SharePoint" - By user type:
data.office365.UserType: "2"(Admin) - By status:
data.office365.ResultStatus: "Failed"
Use Cases
Security Monitoring
-
Unauthorized Access Detection
- Monitor failed login attempts
- Track access from unusual locations
- Identify compromised accounts
-
Privileged Activity Tracking
- Monitor administrator actions
- Track permission changes
- Audit role assignments
-
Data Access Monitoring
- Track sensitive file access
- Monitor external sharing activities
- Detect unusual download patterns
Compliance and Auditing
-
Regulatory Compliance
- GDPR data access logging
- HIPAA audit trail requirements
- SOX financial record access
- PCI DSS access control monitoring
-
Data Loss Prevention
- DLP policy violation tracking
- Sensitive information sharing detection
- External file sharing monitoring
-
Retention and eDiscovery
- Email retention compliance
- Legal hold monitoring
- Document retention tracking
Insider Threat Detection
- Mass file downloads
- Unusual access patterns
- After-hours activity
- Access to restricted resources
- Permission escalation attempts
Operational Monitoring
- User adoption tracking
- Service usage analytics
- Performance issue detection
- License utilization monitoring
Common Security Events
Authentication Events
- UserLoggedIn
- UserLoginFailed
- UserPasswordChanged
- UserPasswordReset
- UserAccountEnabled
- UserAccountDisabled
File and Document Events
- FileAccessed
- FileDownloaded
- FileModified
- FileDeleted
- FileMoved
- FileCopied
- FileShared
- FileSharedWithGuest
Email Events
- Send (email sent)
- SendAs (send as another user)
- SendOnBehalf (send on behalf of)
- MailboxLogin
- MessageDelivered
- MessageReceived
Administrative Events
- Add-RoleGroupMember
- Remove-RoleGroupMember
- Set-Mailbox
- New-InboundConnector
- Set-AdminAuditLogConfig
Troubleshooting
No Events Appearing
- Verify Azure AD app registration is complete
- Check API permissions are granted and consented
- Ensure Office 365 audit logging is enabled
- Verify client secret is valid and not expired
- Check tenant ID and client ID are correct
- Review Wazuh logs for authentication errors
Missing Events from Specific Services
- Verify subscription is configured for that service
- Check service audit logging is enabled
- Ensure appropriate license is assigned
- Verify API permissions include required scopes
Authentication Failures
- Check client secret hasn’t expired
- Verify tenant ID is correct
- Ensure admin consent was granted
- Check network connectivity to Office 365 API
Performance Issues
- Adjust polling interval to reduce API calls
- Limit subscriptions to required services only
- Increase
curl_max_sizeif events are large - Monitor API throttling limits
Security Best Practices
- Secure Credentials - Store client secrets securely
- Regular Key Rotation - Rotate client secrets periodically
- Principle of Least Privilege - Grant minimum API permissions
- Monitor the Monitor - Track integration access patterns
- Enable MFA - Require MFA for admin accounts
- Regular Audits - Review collected events regularly
- Alert Configuration - Set up alerts for critical events
- Retention Policies - Configure appropriate log retention