|
| 1 | +# Keeper Security Integration |
| 2 | + |
| 3 | +The Keeper Security integration provides **truly agentless** data collection by allowing Keeper to push audit events directly to Elasticsearch via the Bulk API. This integration enables seamless monitoring and analysis of Keeper Security platform activities without requiring any Elastic Agent installation. |
| 4 | + |
| 5 | +## Overview |
| 6 | + |
| 7 | +### Compatibility |
| 8 | + |
| 9 | +This integration is compatible with: |
| 10 | +- Keeper Security Enterprise Platform (all versions that support audit event streaming) |
| 11 | +- Elasticsearch 8.0+ with Bulk API access |
| 12 | +- Kibana 9.0+ for dashboard visualization |
| 13 | +- Self-managed and Elastic Cloud deployments |
| 14 | + |
| 15 | +### How it works |
| 16 | + |
| 17 | +The Keeper Security integration uses a direct push architecture where: |
| 18 | + |
| 19 | +1. **Keeper Security Platform** generates audit events for user activities and administrative actions |
| 20 | +2. **Direct API Push**: Keeper pushes events directly to Elasticsearch using the Bulk API |
| 21 | +3. **Ingest Pipeline**: Events are processed through the `logs-keeper.audit-1.0.0` ingest pipeline |
| 22 | +4. **ECS Mapping**: Data is automatically mapped to Elastic Common Schema (ECS) fields |
| 23 | +5. **Index Storage**: Processed events are stored in `logs-keeper.audit-*` indices |
| 24 | +6. **Visualization**: Pre-built dashboards provide immediate insights into Keeper activities |
| 25 | + |
| 26 | +This architecture provides real-time event processing with minimal latency and eliminates the need for intermediate collection agents. |
| 27 | + |
| 28 | +## What data does this integration collect? |
| 29 | + |
| 30 | +The Keeper Security integration collects comprehensive audit events including: |
| 31 | + |
| 32 | +### Event Types |
| 33 | +- **Authentication Events**: Two-factor authentication changes, login activities |
| 34 | +- **Security Actions**: Master password changes, security policy modifications |
| 35 | +- **Administrative Operations**: User management, role assignments, policy updates |
| 36 | +- **Record Access**: Password retrievals, file access, sharing activities |
| 37 | +- **Enterprise Management**: Organization settings, compliance actions |
| 38 | + |
| 39 | +### Use Cases |
| 40 | +- **Security Monitoring**: Track unauthorized access attempts and security policy violations |
| 41 | +- **Compliance Reporting**: Generate audit trails for regulatory requirements (SOX, HIPAA, PCI-DSS) |
| 42 | +- **User Activity Analysis**: Monitor user behavior patterns and identify anomalies |
| 43 | +- **Incident Response**: Investigate security incidents with detailed audit trails |
| 44 | +- **Risk Assessment**: Analyze access patterns and identify potential security risks |
| 45 | + |
| 46 | +## What do I need to use this integration? |
| 47 | + |
| 48 | +### Elastic Prerequisites |
| 49 | +- **Elasticsearch Cluster**: Self-managed (8.0+) or Elastic Cloud deployment |
| 50 | +- **Kibana Access**: Version 9.0+ for dashboard and configuration management |
| 51 | +- **API Permissions**: Ability to create API keys with index write privileges |
| 52 | +- **GeoIP Database**: Recommended for IP geolocation enrichment |
| 53 | + |
| 54 | +### Keeper Security Prerequisites |
| 55 | +- **Keeper Enterprise Account**: Active enterprise subscription |
| 56 | +- **Administrative Access**: Enterprise admin privileges to configure audit streaming |
| 57 | +- **Network Connectivity**: Outbound HTTPS access from Keeper to your Elasticsearch cluster |
| 58 | +- **API Integration**: Keeper platform configured for external audit streaming |
| 59 | + |
| 60 | +## How do I deploy this integration? |
| 61 | + |
| 62 | +For complete deployment instructions, refer to the {{url "getting-started-observability" "Observability Getting Started guide"}} for foundational setup steps. |
| 63 | + |
| 64 | +### Onboard and configure |
| 65 | + |
| 66 | +**1. Install Integration Assets** |
| 67 | + |
| 68 | +In Kibana: |
| 69 | +1. Navigate to **Management > Integrations** |
| 70 | +2. Search for "Keeper Security" |
| 71 | +3. Click **Add Keeper Security** |
| 72 | +4. Click **Install assets only** (no agent policy needed) |
| 73 | +5. Confirm installation |
| 74 | + |
| 75 | +This installs: |
| 76 | +- Index templates for `logs-keeper.audit-*` |
| 77 | +- Ingest pipeline `logs-keeper.audit-1.0.0` |
| 78 | +- Pre-built dashboards and visualizations |
| 79 | +- Field mappings and ECS compliance |
| 80 | + |
| 81 | +**2. Create API Key** |
| 82 | + |
| 83 | +In Kibana Dev Tools, execute: |
| 84 | + |
| 85 | +```json |
| 86 | +POST /_security/api_key |
| 87 | +{ |
| 88 | + "name": "keeper-integration", |
| 89 | + "expiration": "365d", |
| 90 | + "role_descriptors": { |
| 91 | + "keeper-writer": { |
| 92 | + "cluster": ["monitor"], |
| 93 | + "indices": [ |
| 94 | + { |
| 95 | + "names": ["logs-keeper.audit-*"], |
| 96 | + "privileges": ["auto_configure", "create_doc"] |
| 97 | + } |
| 98 | + ] |
| 99 | + } |
| 100 | + } |
| 101 | +} |
| 102 | +``` |
| 103 | + |
| 104 | +Copy the Base64 encoded API key for Keeper configuration. |
| 105 | + |
| 106 | +**3. Enable GeoIP Enrichment (Recommended)** |
| 107 | + |
| 108 | +Enable GeoIP database for IP geolocation: |
| 109 | + |
| 110 | +```json |
| 111 | +PUT /_cluster/settings |
| 112 | +{ |
| 113 | + "persistent": { |
| 114 | + "ingest.geoip.downloader.enabled": true, |
| 115 | + "ingest.geoip.downloader.poll.interval": "3d" |
| 116 | + } |
| 117 | +} |
| 118 | +``` |
| 119 | + |
| 120 | +**4. Configure Keeper Security Platform** |
| 121 | + |
| 122 | +Contact your Keeper Security administrator to: |
| 123 | +- Configure audit event streaming to your Elasticsearch endpoint |
| 124 | +- Provide the API key and endpoint URL (`https://YOUR_HOST/logs-keeper.audit-1.0.0/_bulk`) |
| 125 | +- Verify network connectivity between Keeper and Elasticsearch |
| 126 | + |
| 127 | +### Validation |
| 128 | + |
| 129 | +**Test API Endpoint**: |
| 130 | +```bash |
| 131 | +curl --location 'https://YOUR_HOST/logs-keeper.audit-1.0.0/_bulk' \ |
| 132 | +--header 'Authorization: ApiKey YOUR_API_KEY' \ |
| 133 | +--header 'Content-Type: application/x-ndjson' \ |
| 134 | +--data-raw '{"create":{}} |
| 135 | +{"test_event":"validation_test"} |
| 136 | +' |
| 137 | +``` |
| 138 | + |
| 139 | +**Verify Data Ingestion**: |
| 140 | +1. Go to **Discover** in Kibana |
| 141 | +2. Select index pattern: `logs-keeper.audit-*` |
| 142 | +3. Verify events appear with proper ECS field mapping |
| 143 | + |
| 144 | +**Check Dashboard**: |
| 145 | +1. Navigate to **Analytics > Dashboard** |
| 146 | +2. Open "Keeper SIEM Integration - Dashboard" |
| 147 | +3. Confirm visualizations populate with incoming data |
| 148 | + |
| 149 | +## Troubleshooting |
| 150 | + |
| 151 | +### Common Issues |
| 152 | + |
| 153 | +**No Data Appearing** |
| 154 | +- Verify API key permissions using the test curl command |
| 155 | +- Check Keeper Security platform audit streaming configuration |
| 156 | +- Confirm network connectivity between Keeper and Elasticsearch |
| 157 | +- Review Elasticsearch logs for ingestion errors |
| 158 | + |
| 159 | +**Missing GeoIP Data** |
| 160 | +- Verify GeoIP downloader is enabled: `GET /_ingest/geoip/stats` |
| 161 | +- Check that public IP addresses are being processed (private IPs won't have geo data) |
| 162 | +- Allow time for GeoIP database download (initial setup can take several minutes) |
| 163 | + |
| 164 | +**Field Mapping Issues** |
| 165 | +- Ensure integration assets were installed properly |
| 166 | +- Verify ingest pipeline `logs-keeper.audit-1.0.0` exists: `GET /_ingest/pipeline/logs-keeper.audit-1.0.0` |
| 167 | +- Check index template mapping: `GET /_index_template/logs-keeper.audit` |
| 168 | + |
| 169 | +**Dashboard Not Loading** |
| 170 | +- Confirm Kibana version compatibility (9.0+) |
| 171 | +- Verify integration installation completed successfully |
| 172 | +- Check that data is present in the `logs-keeper.audit-*` indices |
| 173 | + |
| 174 | +For additional troubleshooting, consult the {{url "security" "Elastic Security documentation"}} and Keeper Security platform documentation. |
| 175 | + |
| 176 | +## Performance and scaling |
| 177 | + |
| 178 | +### Architecture Recommendations |
| 179 | + |
| 180 | +**Single Instance Deployment**: |
| 181 | +- Suitable for small to medium enterprises (<1000 events/hour) |
| 182 | +- Single Elasticsearch node with adequate storage |
| 183 | +- Basic monitoring and alerting |
| 184 | + |
| 185 | +**High-Volume Deployment**: |
| 186 | +- Recommended for large enterprises (>1000 events/hour) |
| 187 | +- Multi-node Elasticsearch cluster with dedicated data nodes |
| 188 | +- Index lifecycle management (ILM) for automated data retention |
| 189 | +- Monitoring with dedicated monitoring cluster |
| 190 | + |
| 191 | +### Scaling Considerations |
| 192 | + |
| 193 | +**Event Volume**: Keeper audit events are typically low-volume but burst during peak activity periods. Plan for 10x normal volume during security incidents or mass administrative actions. |
| 194 | + |
| 195 | +**Storage Planning**: Each audit event averages 1-2KB after processing. Estimate storage needs based on retention requirements and event frequency. |
| 196 | + |
| 197 | +**Index Management**: Implement ILM policies to automatically manage index size and retention: |
| 198 | + |
| 199 | +```json |
| 200 | +PUT /_ilm/policy/keeper-audit-policy |
| 201 | +{ |
| 202 | + "policy": { |
| 203 | + "phases": { |
| 204 | + "hot": { |
| 205 | + "actions": { |
| 206 | + "rollover": { |
| 207 | + "max_size": "10GB", |
| 208 | + "max_age": "30d" |
| 209 | + } |
| 210 | + } |
| 211 | + }, |
| 212 | + "warm": { |
| 213 | + "min_age": "30d", |
| 214 | + "actions": { |
| 215 | + "allocate": { |
| 216 | + "number_of_replicas": 0 |
| 217 | + } |
| 218 | + } |
| 219 | + }, |
| 220 | + "delete": { |
| 221 | + "min_age": "365d" |
| 222 | + } |
| 223 | + } |
| 224 | + } |
| 225 | +} |
| 226 | +``` |
| 227 | + |
| 228 | +## Reference |
| 229 | + |
| 230 | +### Audit Events Reference |
| 231 | + |
| 232 | +The Keeper Security integration processes audit events from the Keeper Security platform and maps them to ECS-compliant fields for analysis and visualization. |
| 233 | + |
| 234 | +#### Sample Event |
| 235 | + |
| 236 | +{{event "audit"}} |
| 237 | + |
| 238 | +#### Exported Fields |
| 239 | + |
| 240 | +{{fields "audit"}} |
| 241 | + |
| 242 | +### APIs Used |
| 243 | + |
| 244 | +This integration uses the following APIs: |
| 245 | +- **Elasticsearch Bulk API**: For direct event ingestion |
| 246 | +- **Elasticsearch Index Templates API**: For field mapping configuration |
| 247 | +- **Elasticsearch Ingest Pipeline API**: For event processing and enrichment |
| 248 | +- **Keeper Security Audit Streaming API**: For event delivery (configured on Keeper side) |
| 249 | + |
| 250 | +### Ingest Pipeline |
| 251 | + |
| 252 | +The integration uses the `logs-keeper.audit-1.0.0` ingest pipeline which: |
| 253 | +- Maps Keeper-specific fields to ECS schema |
| 254 | +- Enriches IP addresses with geographic information (when GeoIP is enabled) |
| 255 | +- Processes timestamps and ensures proper field types |
| 256 | +- Adds correlation fields for security analysis |
| 257 | + |
| 258 | +### ML Modules |
| 259 | + |
| 260 | +Currently, no machine learning modules are included with this integration. Custom ML jobs can be created to detect: |
| 261 | +- Anomalous authentication patterns |
| 262 | +- Unusual access times or locations |
| 263 | +- Bulk administrative actions |
| 264 | +- Suspicious user behavior patterns |
| 265 | + |
| 266 | +### Change Log |
| 267 | + |
| 268 | +Refer to the [CHANGELOG.md](../../../changelog.yml) for version history and updates. |
0 commit comments