This is the repository for the automateD nETwork pERimeter thREat pRevention System (DETERRERS) project.
It started as the master's thesis of nwintering and is now maintained as an open source project.
To test the user interface of DETERRERS, perform the following steps below. This will start a DETERRERS instance without a real data backend, vulnerability scanner or perimeter firewall. All changes are mocked locally.
- Docker + Docker Compose
-
Fill out the
.env.dev
-configuration-file:1.1 Add the domain name to
DJANGO_ALLOWED_HOSTS
andDOMAIN_NAME
. -
Build and create the docker containers by running
docker compose -f docker-compose.dev.yml create --build
inside
deterrers/project/
. -
Start containers by running
docker compose -f docker-compose.dev.yml start
inside
deterrers/project/
. -
DETERRERS is now running on port 80. You should be able to log in with the credentials (
DJANGO_SUPERUSER_USERNAME
,DJANGO_SUPERUSER_PASSWORD
) from the configuration file. -
You can interact freely with DETERRERS by adding any valid IP address.
-
Stop containers by running
docker compose -f docker-compose.dev.yml down --remove-orphans
inside
deterrers/project/
.
A deployment is currently only possible in conjunction with the following components and API endpoints:
Data Backend: BlueCat IP Address Manager with the REST API version 1
Vulnerability Scanner: Greenbone GMP version 22.4
Perimeter Firewall: Palo Alto with REST and XML API version v10.1
User/Access Management: LDAP directory
- access credentials for external endpoints (IPAM, Vulnerability Scanner, perimeter FW, LDAP) are set in .env-files
- general settings/"contracts" are defined as Enums in
project/application/main/core/contracts.py
- interface-specific settings (e.g. Greenbone GMP configurations UUIDs or AddressGroup-names of the Palo Alto FW) are defined with the respective API-wrappers
- flake8