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
.envvariables:CAPTCHA_SECRET. This would preferably be a long random hash value.CAPTCHA_WINDOWspecifies the time where the false login attempt count is valid.CAPTCHA_TRIESis the number of unsuccessful login attempts that are needed to trigger the CAPTCHA generation.
- new env var
ARTEMIS_WEB_BASE_DIRspecifies 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.shutility 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.pyto 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
loginandJWTauth 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