Coder Social home page Coder Social logo

ukhomeoffice / nmsw-clamav-http Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ukhomeoffice/clamav-http

0.0 2.0 1.0 118 KB

ClamAV instance for NMSW with HTTP API. Macro blocking enabled.

License: MIT License

Shell 34.32% Go 45.03% Dockerfile 11.33% Mustache 9.33%

nmsw-clamav-http's Introduction

clamav-http

Clamav instance with http api. To supersede https://github.com/UKHomeOffice/docker-clamav

Installation

Basic installation can be achieved by running:

helm install -n <namespace> clamav ./charts/clamav

Clamav will be installed in the namespace and available at https://clamav/

More detailed documentation on the helm chart can be found here

Components

clamav-http is made up of three components, clamav, clamav-http and clamav-mirror and is designed to be deployed as a service in kubernetes via its helm chart.

clamav

An extremely barebones clamav/freshclam image with no config. Expects configuration files to be provided at /etc/clamav/clamd.conf and /etc/clamav/freshclam.conf via kubernetes configmaps, docker volumes, or similar.

This container has ClamD which exposes a TCP port that is use to scan files from the clamav-http container golang server. It also fetches the database signatures from the configured private mirror (clamav-mirror)

Written in golang, provides an http-based api to the ClamD TCP port and is exposed to tenants.

clamav-mirror

Provides a private in-cluster mirror to clamav signatures improve startup times for clamav instances and consistency of signature versions.

The mirror utilises the recently released cvdupdate (python) tool with cron scheduling by superchronic. Definition updates are smoke tested prior to publishing. The status of cronjobs are published as prometheus metrics.

  • start.sh - container entrypoint, configures cvd (signature db downloader), sets up supercronic (cron scheduler) and lighthttpd.
  • test.sh - cron job that tests the most recently downloaded signature database from /home/clam/db runs freshclam on it and if successful it will copy the files over to /home/clam/mirror which is downloaded by the clamav instances. The only reason ClamAV is installed in this container at all is to test it in this script.

nmsw-clamav-http's People

Contributors

josh-samuel avatar nefischer avatar asmith030 avatar ukho-cfreeman avatar arunmodgil avatar teng1 avatar tasharnvb avatar oyelekci avatar amir-tayabali avatar giedriuspadimanskas avatar tom-haynes avatar james-royds-ho avatar lukmaan-a avatar

Watchers

James Cloos avatar  avatar

Forkers

ukhomeoffice

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.