Graylog2 / Graylog2/graylog2-server
Support for Immutable Indexes in OpenSearch to Prevent Log Tampering
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
👋 Hello Graylog team,
First, thank you for your amazing work on Graylog.
We are using Graylog in a compliance-sensitive environment, and we’d like to suggest an important new feature related to log integrity.
To comply with ISO/IEC 27001 and other security standards, we need to guarantee log integrity and protect against log tampering or falsification.
Currently, Graylog does not provide a built-in way to create immutable indexes in OpenSearch. This is a critical requirement for audit compliance.
Graylog manages its indexes in OpenSearch, but these indexes are fully mutable. A malicious user or administrator with access to OpenSearch could theoretically update or overwrite existing log documents, which violates immutability requirements for audit trails.
OpenSearch introduced the setting index.append_only.enabled=true to make an index append-only (immutable). This prevents updates of existing documents and ensures that logs cannot be falsified after being written.
I tested this manually with a custom API call:
```
curl -X PUT -H 'Content-Type: application/json' "http://localhost:9200/graylog_1" -d '
{
"settings": {
"index.append_only.enabled": true
}
}'
```
This works as expected in OpenSearch, but when Graylog starts, I get the following error:
```
Operation [INDEX] is not allowed with a custom document id a13e3725-94a1-11f0-be20-96f7b845026d as setting `index.append_only.enabled` is enabled for this index
```
This error suggests that Graylog requires control over the document IDs, which is incompatible with the append_only mode in OpenSearch.
Graylog should be able to create and manage append-only indexes in OpenSearch.
Once enabled, log entries should only be inserted (never updated or overwritten).
Graylog should handle document IDs in a way that is compatible with index.append_only.enabled.
This would ensure log immutability, a critical requirement for compliance with ISO/IEC 27001 and similar security standards.
Please add support for immutable (append-only) indexes in Graylog when using OpenSearch as the backend.
If full support is not possible immediately, at least provide a configuration mechanism so administrators can enforce immutability at the index level.
🙏 Thank you for considering this feature request!
### Environment
* Graylog Version: 6.3.3
* OpenSearch Version: 2.19.3
* MongoDB Version: 8.0.10
Contributor guide
Assessment
This issue has not been assessed yet.