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.
Only the following features have been implemented. More to come!
- Create rule [GET] => go to create rule page.
- Delete rule [POST] => remove rule from database and reload page.
- Logout => go to login page
- Register [POST] => go back to login
- Login [POST] => go to dashboard
- cancel [GET]
- create rule [POST] => create the rule, add to DB, add to UFW, redirect back to dashboard
- Ensure you have docker installed
- Run startup.sh
- Once complete, navigate to localhost:8000 to test the application
- When complete, ^C to kill the server Note: a default test account is available with the login admin:admin
- 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?
- 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