Added
- SSO support with Google SSO PoC (frontend)
- accessibility (frontend)
- firebase notifications (for mobile applications)
- every API call now has a rate limit. The limit is per API endpoint, so it is not a global counter. The default value is 20 requests per 15 minutes. The user has to define 2 extra environmental variables:
- LIMIT_WINDOW specifies the time window in ms.
- LIMIT_REQUESTS specifies the number of allowed requests in that secific time window.
- GRIP API integration. When there is 1 or more GRIP events related to the ARTEMIS event, a dropdown menu with the event ids is added to the hijack page. When clicked, a new tab to grip event page is opened.
- signup and Login forms now include a captcha field for bot protection. The user has to additionally define the following
.env
variables:CAPTCHA_SECRET
. This would preferably be a long random hash value.CAPTCHA_WINDOW
specifies the time where the false login attempt count is valid.CAPTCHA_TRIES
is the number of unsuccessful login attempts that are needed to trigger the CAPTCHA generation.
- new env var
ARTEMIS_WEB_BASE_DIR
specifies the ARTEMIS web base directory (default: empty). - condition to limit GRIP events association to 1 hour time window w.r.t. ARTEMIS alerts.
- a web command line search experience based on super-cmd. To trigger the search modal:
- Windows + Linux OS: ctrl + Windows key (super) + k
- MacOS : cmd + k
- logout alerts (frontend)
- live button in dashboard page (frontend)
- 401 notification for unauthorized users (frontend)
- visual testing on cypress (frontend)
install_pybgpstreamv2_for_ubuntu.sh
utility for pybgpstrem installation
Changed
- upgraded NGINX to 1.23
- upgraded RabbitMQ to 3.9.20
- (breaking) upgraded timescale DB to 2.8.1-pg14
- upgraded postgrest to v10
- upgraded hasura GraphQL engine v2.10.0
- changed
bgpstream_retrieve_prefix_records.py
to support BGPStream v2 (new version) - enforce ssl_protocols TLSv1.2 TLSv1.3 in default nginx.conf
- bumped caida/bgpstream to 2.2.0 and monitor containers to related 1.0.3
- migrated our web application to latest Nextjs, React and Webpack
- updated artemis-utils to 1.0.14 (service name fix for
docker-compose
) - password policy change
- increased size limit for POST /api/config to host larger configuration files
- removed process parallelism for internal reconfiguration tasks for thread-safety
- default frontend password for
admin
Fixed
- Split prefixtree recalculation indicator and fixed prefix trie bug with v4/v6
- LDAP behavior and correct vars (frontend)
- Admin login bug (frontend)
- Bug with logout warning popup
- GQL ports in frontend
login
andJWT
auth calls and documentation- LDAP button is hidden when no LDAP service is being used (frontend)
- tooltips bug (frontend)
- timezone and timestamps bug (frontend)
- pending users treatment
- hijack time started timestamp fix (frontend)
- broken hijack URL in logs
Backwards Incompatible Changes
🚨 Since we migrated to a new version of the backend database, you will need to do the following process to upgrade ARTEMIS:
- Deactivate current running instance:
docker-compose -f ... down
- Stash any local changes that should not conflict with upstream:
git stash
- Checkout the master branch
git checkout master
- Pull most recent code (including .env, versions, etc.)
git pull origin master
- (IMPORTANT) Delete old DB data
sudo rm -r postgres-data-current && sudo rm -r postgres-data-backup
- Pop local changes and resolve conflicts by preferring upstream:
git stash pop
- Pull latest containers
docker-compose -f ... pull
- Start ARTEMIS!
docker-compose -f ... up -d