oitc/acs.logging-service

By oitc

Updated 3 months ago

OITC Access Control System: service that logs all access attempts to the OpenSearch database.

Image
Security
Message queues
0

400

oitc/acs.logging-service repository overview

OITC Access Control System: Logging service

Quick reference

Maintained by: Michael Oberdorf IT-Consulting

Source code: GitHub

Container image: DockerHub

Access Control System documentation: ACS Documentation

Description

This service is part of the Michael Oberdorf IT-Consulting (OITC) Access Control System (ACS).

On accessing entry points, this information is available in the internal bus system. This service listens on these events and writes them into an Opensearch (or Elasticsearch) database as searchable audit trail for compliance and security analysis.

This service is NO standalone service. It requires an OITC ACS system to be running.

Configuration

Container configuration

The container get's the configuration from environment variables.

Variable nameDescriptionRequiredDefault value
MQTT_SERVERThe MQTT server hostname or IP address.OPTIONALlocalhost
MQTT_PORTThe TCP port of the MQTT server.OPTIONAL1883
MQTT_PROTOCOL_VERSIONThe MQTT protocol version to use. Currently supported 3 (means 3.1.1) and 5.OPTIONAL3
MQTT_TLSShould SSL communication be enabled (true) or not (false).OPTIONALfalse
MQTT_CACERT_FILEIf TLS is enabled, the path to the CA certificate file to validate the MQTT server certificate.OPTIONAL/etc/ssl/certs/ca-certificates.crt
MQTT_TLS_INSECUREIf TLS is enabled, skip the hostname validation of the TLS certificate.OPTIONALfalse
MQTT_CLIENT_IDThe MQTT client id to use for the MQTT connection.OPTIONAL
MQTT_USERNAMEThe MQTT username for MQTT authentication.OPTIONAL
MQTT_PASSWORDThe MQTT password for MQTT authentication.OPTIONAL
MQTT_PASSWORD_FILEThe filepath where the MQTT password is stored for MQTT authentication.OPTIONAL
DB_TYPEThe database type is one of opensearch or elasticsearchOPTIONALopensearch
DB_CLUSTER_NODESComma separated list of cluster nodes (hostname:port)OPTIONALlocalhost:9200
DB_TLSShould SSL communication be enabled (true) or not (false).OPTIONALfalse
DB_TLS_INSECUREIf TLS is enabled, skip the hostname validation of the TLS certificate.OPTIONALfalse
DB_CACERT_FILEIf TLS is enabled, the path to the CA certificate file to validate the DB server certificate.OPTIONAL/etc/ssl/certs/ca-certificates.crt
DB_API_KEYWhen DB_TYPE is elasticsearch, the API_KEY to connect to the Elasticsearch DB.OPTIONAL
DB_API_KEY_FILEWhen DB_TYPE is elasticsearch, the filepath where the API_KEY is stored.OPTIONAL
DB_USERNAMEWhen DB_TYPE is opensearch, the username for authentication.OPTIONAL
DB_PASSWORDWhen DB_TYPE is opensearch, the password for authentication.OPTIONAL
DB_PASSWORD_FILEWhen DB_TYPE is opensearch, the filepath where the password is stored for authentication.OPTIONAL
MAPPING_FILEThe file that contains the MQTT topic and DB mapping configuration.OPTIONAL/app/etc/mappings.json
PROMETHEUS_LISTENER_ADDRThe listener address to expose the prometheus exporter.OPTIONAL0.0.0.0
PROMETHEUS_LISTENER_PORTThe TCP listener port to expose the prometheus exporter.OPTIONAL8080
TZTimezoneOPTIONALUTC

HINT:

  • MQTT_PASSWORD_FILE will be priorized before MQTT_PASSWORD
  • DB_API_KEY_FILE will be priorized before DB_API_KEY
  • DB_PASSWORD_FILE will be priorized before DB_PASSWORD

Docker compose configuration

services:
  logging-service:
    restart: always
    user: 2300:2300
    image: oitc/acs.logging-service:latest
    environment:
      MQTT_SERVER: test.mosquitto.org
      MQTT_PORT: 1883
      MQTT_PROTOCOL_VERSION: 3
      MQTT_TOPIC_ACS_STATUS: location/oitc-acs/general/status
      MQTT_TOPIC_DOOR_ACCESS: location/oitc-acs/entrypoints/+/access

A bigger example can be found here: docker-compose.yaml

MQTT message formats

Please have a look to the main documentation: MQTT message reference

Donate

I would appreciate a small donation to support the further development of my open source projects.

Donate with PayPal

Tag summary

Content type

Image

Digest

sha256:e3f64b66a

Size

41.6 MB

Last updated

3 months ago

docker pull oitc/acs.logging-service