sgabe/scirius

By sgabe

Updated about 5 years ago

Docker image for Scirius

Image
Networking
Security
0

10K+

sgabe/scirius repository overview

Scirius

Gitlab pipeline status Docker Cloud Build Status Docker Cloud Automated build Docker Image Size (tag) GitHub

Scirius Community Edition is a web interface dedicated to Suricata IDS ruleset management and was originally developed and dockerized by Stamus Networks. This Docker image has been created for a fork of the original project instead of using the official image provided by the authors.

Usage

docker run -p 127.0.0.1:8000:8000 \
    -e "SECRET_KEY=<YOUR SECRET KEY>" \
    -v /path/to/scirius/data:/data \
    -v /path/to/scirius/logs:/logs \
    -v /path/to/scirius/static:/static \
    -v /path/to/suricata/rules:/rules \
    -v /path/to/suricata/suricata.socket:/var/run/suricata.socket \
    sgabe/scirius

Environment variables

Most of the configuration options defined in the built-in settings.py shipped with the original project are exposed via environment variables in the local_settings.py file used in the container. This allows you to customize Scirius without creating or modifying configuration files. The below table summarizes the available environment variables and their default settings. For more information on how to configure Scirius, please refer to the original project documentation available here.

VariableDefault
Django
SECRET_KEYNone
DEBUGFalse
ALLOWED_HOSTSlocalhost 127.0.0.1 [::1]
Internationalization
LANGUAGE_CODEen-us
TIME_ZONEUTC
Static files
STATIC_URL/static/
STATIC_ROOT/static
STATIC_AUTHENTICATEDFalse
Suricata
SURICATA_UNIX_SOCKET/var/run/suricata.socket
SURICATA_NAME_IS_HOSTNAMEFalse
Elasticsearch
USE_ELASTICSEARCHFalse
ELASTICSEARCH_URLhttp://elasticsearch:9200
ELASTICSEARCH_LOGSTASH_INDEXlogstash-*
ELASTICSEARCH_LOGSTASH_ALERT_INDEXlogstash-alert-*
ELASTICSEARCH_LOGSTASH_TIMESTAMPINGdaily
ELASTICSEARCH_KEYWORDraw
ELASTICSEARCH_HOSTNAMEhost
ELASTICSEARCH_TIMESTAMP@timestamp
Kibana
USE_KIBANAFalse
KIBANA_PROXYFalse
KIBANA_URLhttp://kibana:9292
KIBANA_INDEX.kibana
KIBANA_DASHBOARDS_PATH/opt/kibana-dashboards/
KIBANA6_DASHBOARDS_PATH/opt/kibana6-dashboards/
KIBANA_ALLOW_GRAPHQLTrue
Evebox
USE_EVEBOXFalse
EVEBOX_URLhttp://evebox:5636
USE_SURICATA_STATSFalse
USE_LOGSTASH_STATSFalse
CyberChef
USE_CYBERCHEFFalse
CYBERCHEF_URL/static/cyberchef/
InfluxDB
USE_INFLUXDBFalse
INFLUXDB_HOSTinfluxdb
INFLUXDB_PORT8086
INFLUXDB_USERgrafana
INFLUXDB_PASSWORDgrafana
INFLUXDB_DATABASEscirius
Moloch
USE_MOLOCHFalse
MOLOCH_URLhttp://moloch:8005
Proxy settings
USE_PROXYFalse
HTTP_PROXYhttp://proxy:3128
HTTPS_PROXYhttp://proxy:3128
Content Security Policy settings
CSP_DEFAULT_SRC'self'
CSP_SCRIPT_SRC'self' 'unsafe-inline'
CSP_STYLE_SRC'self' 'unsafe-inline'
CSP_INCLUDE_NONCE_INscript-src
CSP_EXCLUDE_URL_PREFIXES/evebox

Volumes

The below table summarizes the volumes available to be shared with the host or other containers. Mainly the /rules folder should be available to Suricata while resources in the /static directory should be served through a reverse proxy.

VolumeFunction
/dataPersistent data stored in scirius.sqlite3
/logsLogs generated by ES interaction and rule updates
/rulesGenerated rules to be used by Suricata
/staticStatic files to be served by a reverse proxy

To interact with Suricata, you need to bind-mount Suricata's command socket into the Scirius container. By default, Scirius will expect the Unix socket file to be available at /var/run/suricata.socket, however, you can specify another path in the SURICATA_UNIX_SOCKET environment variable.

-v /path/to/suricata/suricata-command.socket:/var/run/suricata.socket

Tag summary

Content type

Image

Digest

Size

422.8 MB

Last updated

about 5 years ago

docker pull sgabe/scirius:upgrade