FirewallUI is a Web Interface to control FirewallD.
Thanks to this application, you can consult, modify, delete any element of your firewall using your preferred browser.
Unlike the native firewalld-cmd
commands, with FirewallUI you can define rights and fine permissions on the different elements of the firewall
FirewallUI integrates a two-factor authentication module. It allows you to activate the TOTP (time-based On-time Password)
FirewallUI is developed using the Flask Framework and Bootstrap 5 for the graphic elements
To check out the source repository, you can use:
git clone https://github.com/cyr-ius/firewall-ui.git
This will create a local copy of the repository.
Firewalld uses GNU gettext
for localization support.
You will find in the docker directory, a docker-compose
file which allows you to run FirewallUI with an Nginx reverse proxy.
SECRET_KEY=
DEBUG=
MAIL_SERVER=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_USE_TLS=
MAIL_USE_SSL=
MACHINE_ID=
USERNAME=
PASSWORD=
USER_MAIL=
- You can launch an instance of firewall-ui in a development environment:
SECRET_KEY=0000 /usr/bin/python3 -m flask --debug run
- In a Production environment, prefer used unicorn (or other WSGI) :
gunicorn --bind :8000 --workers 3 'app:create_app()'
Be careful in this case, you must expose the static content (css, png, etc ..) with a web server type Apache server, Nginx, etc ...
Flask 2.2.2 Flask-Assets 2.0 Flask-Login 0.6.2 Flask-Mail 0.9.1 Flask-SQLAlchemy 2.5.1 Flask-Migrate 3.1.0 Flask-Session 0.4.0 Flask-SeaSurf 1.1.1 Flask-WTF 1.0.1 Flask-Admin 1.6.0 Flask-Security-Too 5.0.1 Flask-Babel 2.0.0
all packages in requirements.txt
- Add a connector to use an LDAP authentication backend
- Add second factor authentication through a Yubikey key.