Skip to content

Owen-Cummings/Firewall-GUI-Prototype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

A simple GUI firewall management prototype.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages