Giter Club home page Giter Club logo

rusbomber / 2021-cockpit-suricata Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ntnusecurity/2021-cockpit-suricata

0.0 0.0 0.0 152 KB

This is a bachelor project provided in the spring of 2021. The module enables Suricata administrators to easily start, stop and restart the Suricata service without having to use text-based commands. In addition, our module supports a user-friendly graphical interface for administrating IDS-signatures. Administrators are also able to use our mod- ule to easily check the current status of their Suricata services, view the corresponding service logs, and get update on all the alerts generated by Suricata. The project is currently not supported nor maintained, but is provided as a proof of concept.

License: GNU General Public License v2.0

Shell 0.36% JavaScript 89.41% Python 1.35% Makefile 3.74% HTML 0.71% SCSS 4.42%

2021-cockpit-suricata's Introduction

cockpit-suricata

This is a bachelor project started by four students from NTNU.

The objective of this project is to develop a module for Cockpit to further simplify the administration of Suricata IDS.

Project requirements

  • Start, restart and stop the suricata service
  • Administer IDS-signatures
  • Show health of the service
  • Show relevant service logs
  • Show alerts
  • Product has to be open-source (GPLv2)

Group

Group member LinkedIn GitHub
Anders Svarverud https://www.linkedin.com/in/anders-svarverud github.com/Anders-Svarverud
Said-Emin Evmurzajev
Sigve Sudland https://www.linkedin.com/in/sigve-sudland gitlab.com/Sudland
Sindre Morvik

Limitations

This module is working with the default suricata.yaml file, and does not (for now) work with features provided by suricata like redis, threading, etc...

Known issues

  • Config tab is known to crash when editing values
  • Signatures tab have no error reporting when applying changes
  • Alerts tab does not have any fancy features

Getting and building the source

Require components:

  • nodejs
  • npm
  • sassc
  • rpm/rpmbuild (optional)

On debian/ubuntu

apt-get update && apt-get install sassc rpm nodejs npm -y

On fedora

dnf install rpm-build rpmdevtools sassc nodejs

Make sure you have npm available (usually from your distribution package). These commands check out the source and build it into the dist/ directory:

git clone https://github.com/Sudland/cockpit-suricata
cd cockpit-suricata
make

Installing

make install compiles and installs the package in /usr/share/cockpit/. The convenience targets srpm and rpm build the source and binary rpms, respectively. Both of these make use of the dist-gzip target, which is used to generate the distribution tarball. In production mode, source files are automatically minified and compressed. Set NODE_ENV=production if you want to duplicate this behavior.

For development, you usually want to run your module straight out of the git tree. To do that, link that to the location where cockpit-bridge looks for packages:

mkdir -p ~/.local/share/cockpit
ln -s `pwd`/dist ~/.local/share/cockpit/suricata

After changing the code and running make again, reload the Cockpit page in your browser.

You can also use watch mode to automatically update the webpack on every code change with

npm run watch

or

make watch

Running eslint

Cockpit-suricata uses ESLint to automatically check JavaScript code style in .js and .jsx files.

The linter is executed within every build as a webpack preloader.

For developer convenience, the ESLint can be started explicitly by:

npm run eslint

Violations of some rules can be fixed automatically by:

npm run eslint:fix

Rules configuration can be found in the .eslintrc.json file.

Further reading

License

Copyright (c) 2021, NTNU, Seksjon for Digital sikkerhet. Released under the GPL-2.0-or-later license.

2021-cockpit-suricata's People

Contributors

sigvesu avatar sudland avatar

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.