GithubHelp home page GithubHelp logo

owen-cummings / firewall-gui-prototype Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 489 KB

A simple GUI firewall management prototype.

License: The Unlicense

Dockerfile 0.56% Python 33.03% HTML 65.92% Shell 0.49%

firewall-gui-prototype's Introduction

Developed for a software engineering project, Firewalls-R-Us is a simple GUI for management of Linux firewalls written in python. FRU uses Uncomplicated Firewall (UFW) to implement rules, and renders several visualizations to aid in user understanding.

Current Functionality

Only the following features have been implemented. More to come!

View Rules / Rules Dashboard

  • Create rule [GET] => go to create rule page.
  • Delete rule [POST] => remove rule from database and reload page.
  • Logout => go to login page

FW Rule Diagram

image failed to load

Allowed Ports by IP

image failed to load

Login Page

  • Register [POST] => go back to login
  • Login [POST] => go to dashboard

Create Rule page [GET]

  • cancel [GET]
  • create rule [POST] => create the rule, add to DB, add to UFW, redirect back to dashboard

Usage Guide

  1. Ensure you have docker installed
  2. Run startup.sh
  3. Once complete, navigate to localhost:8000 to test the application
  4. When complete, ^C to kill the server Note: a default test account is available with the login admin:admin

To do:

  • Finish already defined use cases
  • Integrate Plotly locally using python rather than frontend JS
  • Permissions required for running program and modifying UFW
    • Should not be running whole server as sudo
  • Outbound firewall rule creation
    • update Plotly sunburst diagram to reflect in/out rules
  • Investigate how NAT may apply to rules
  • Redo parts of frontend with eloquent modern solution
    • Electron based desktop and web app?
    • Heavier JS use for pretty visuals?

Completed:

  • database stuff
  • home view (login / register)
  • authenticated user landing page - ie view all rules, search filter, navigate to create rule, delete rule button
  • create rule
  • Register user page
  • user interface
  • UFW API

firewall-gui-prototype's People

Contributors

owen-cummings avatar

Stargazers

Steffen Schumacher avatar

Watchers

James Cloos avatar  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.