Commit Graph

5326 Commits

Author SHA1 Message Date
Mike Salvatore 4f97be59c3 island: Rename _initialize_global_resources -> _initialize_globals 2021-06-03 11:06:04 -04:00
Mike Salvatore 92293e601c island: Add unit test for MONKEY_ISLAND_ABS_PATH
If the consts.py is moved, MONKEY_ISLAND_ABS_PATH may be incorrect. This
unit test guards against the introduction of a bug if consts.py is
moved.
2021-06-03 11:04:16 -04:00
Mike Salvatore c40af5073b island: Rename start_island() -> main() 2021-06-03 11:01:03 -04:00
Mike Salvatore 3917663c5c island: Rename startup.py -> main.py 2021-06-03 11:00:12 -04:00
Mike Salvatore 44a3456c62 island: Remove the responsibility of choosing a log file from MongoDbProcess 2021-06-03 10:57:23 -04:00
Mike Salvatore 5f25debfd2 island: Decouple mongo_setup from IslandConfigOptions 2021-06-03 10:57:23 -04:00
Mike Salvatore edbb2c39f3 island: Trap OSError and JSONDecodeError when reading config 2021-06-03 10:57:23 -04:00
Mike Salvatore 4a1653ed5f island: Do not start bootloader server if --setup-only is passed 2021-06-03 10:57:23 -04:00
Mike Salvatore 1c73a154bc appimage: Remove `run_appimage.sh` as it is no longer needed
The functionality of setting up the data directory and starting mongodb
is now handled in python code.
2021-06-03 10:57:23 -04:00
Mike Salvatore 19e8042ee4 island: Construct mongo run command in MongoDbProcess constructor 2021-06-03 10:57:23 -04:00
Mike Salvatore cc1865dc5b island: Log a warning if MongoDbProcess.stop() is erroniously called 2021-06-03 10:57:23 -04:00
Mike Salvatore e80ac4c943 island; Build log file path in MongoDbProcess constructor 2021-06-03 10:57:23 -04:00
Mike Salvatore 12b11ce260 island: Rename _build_mongo_launch_cmd -> _build_mongo_run_cmd 2021-06-03 10:57:23 -04:00
Mike Salvatore 3b958f5a61 island: Inline method _start_mongodb_process() in MongoDbProcess 2021-06-03 10:57:23 -04:00
Mike Salvatore 1e21446bb8 island: Rename logging_dir_path -> _logging_dir in MongoDbProcess 2021-06-03 10:57:23 -04:00
Mike Salvatore a3bd432538 island: Remove directory creation logic from MongoDbProcess 2021-06-03 10:57:23 -04:00
Mike Salvatore 7d85ce0611 island: Store MongoDB logs in mondogb.log instead of mongo_log.txt
".log" is the standard extension for log files.
2021-06-03 10:57:23 -04:00
Mike Salvatore 559af47928 island: Clean up MongoDB subprocess when Monkey Island shuts down 2021-06-03 10:57:23 -04:00
Mike Salvatore d1a2501a5b island: Add connect_to_mongo() function 2021-06-03 10:57:23 -04:00
Mike Salvatore dc40713683 island: Rename launch_mongodb() -> start() 2021-06-03 10:57:23 -04:00
Mike Salvatore d35099fa9b island: Rename MongoDbRunner -> MongoDbProcess 2021-06-03 10:57:23 -04:00
Mike Salvatore 28a34a4ec9 island: Use MONKEY_ISLAND_ABS_PATH to locate STIX attack data 2021-06-03 10:57:23 -04:00
Mike Salvatore a8570987a6 island: Find MONKEY_ISLAND_ABS_PATH by __file__ instead of os.getcwd()
We can't be sure what $PWD is when Monkey Island is started.
2021-06-03 10:57:23 -04:00
Mike Salvatore 184594f509 island: Refactor setup/start logic separate concerns
Most configuration/setup logic is removed from monkey_island.py. The
only responsibility of startup.py is now to setup a default
failsafe logger and call run_monkey_island().

setup_island() has been renamed to run_monkey_island(), since that's
what it does. Some of the logic used to setup/configure/initialize
monkey island has been wrapped in different functions with specific
responsibilities.

setup_mongodb() has been renamed to start_mongodb(), since that's what
it does.
2021-06-03 10:57:23 -04:00
Mike Salvatore 5e78666f91 island: Add function to setup default failsafe logger 2021-06-03 10:57:23 -04:00
Mike Salvatore 583115c419 island: Reset logger handlers after each test
The root logger does not get reset for each test that is run. Add an
autouse fixture that resets the logger handlers after each test run so
that handlers do not accumulate in the root logger.
2021-06-03 10:57:23 -04:00
Mike Salvatore 14b68580f8 island: Configure loggin in python code instead of JSON 2021-06-03 10:57:23 -04:00
VakarisZ cc00b85edc Refactored monkey island startup files to the old structure which was compatible with our build scripts. 2021-06-03 10:56:46 -04:00
VakarisZ 53bb6f7879 Added changes of configuration encryption/decryption to CHANGELOG.md 2021-06-03 17:07:10 +03:00
VakarisZ 2f9c6bf035 Improved readability in configuration_import.py by removing unused variables and extracting methods. 2021-06-03 17:02:14 +03:00
VakarisZ c25ea0edf8 Fixed bugs in config import backend (related to json parsing and stringifying) and front end (unsafe import warning overlay) 2021-06-03 17:02:14 +03:00
VakarisZ b407094a2f Reworded the text of UnsafeOptionsConfirmationModal to specify that it's about configuration and renamed it to UnsafeConfigOptionsConfirmationModal 2021-06-03 17:02:14 +03:00
VakarisZ fc1f12c24d Implemented safety check on import. 2021-06-03 17:02:12 +03:00
VakarisZ 500f270aa9 Fixed, improved and tested configuration import and export. 2021-06-03 17:01:59 +03:00
VakarisZ 8b86e40259 Improved configuration export and fixed the bug of modal not closing on export. 2021-06-03 17:01:59 +03:00
VakarisZ 624fda10cb Renamed configuration import resource endpoint(url) and resource itself. 2021-06-03 17:01:59 +03:00
VakarisZ 51273c4a9d Removed unused exception 2021-06-03 17:01:58 +03:00
VakarisZ 9fcfaac781 Improved exceptions thrown in configuration decryption and unit tests. 2021-06-03 17:01:56 +03:00
VakarisZ 321dd2c55e Improved configuration export related code by making it cleaner/more trivial 2021-06-03 17:01:27 +03:00
Shreya 295cacaffc Add unit tests for config_encryption.py 2021-06-03 17:01:27 +03:00
VakarisZ a94047d778 Fixed configuration encryption/decryption to use b64 encoding 2021-06-03 17:01:27 +03:00
Shreya 7153b91c10 Use buffer size directly from pyAesCrypt 2021-06-03 17:01:27 +03:00
Shreya b9fb4c6902 Add exception handling for config decryption 2021-06-03 17:01:27 +03:00
Shreya d67e84a6a7 Make sure (1) config is updated before exporting; (2) plaintext config is exported correctly 2021-06-03 17:01:27 +03:00
Shreya f4b5d341cf Finish up hooking frontend and backend for export config 2021-06-03 17:01:27 +03:00
VakarisZ 46408e6d32 Implemented export byte saving to file 2021-06-03 17:01:27 +03:00
Shreya 308ae3e169 Link config encryption backend logic with frontend (partially) 2021-06-03 17:01:27 +03:00
Shreya 495eb4c6a3 Modify config encryption logic: don't save the file in the backend, just encrypt it and send it back to the frontend 2021-06-03 17:01:26 +03:00
Shreya 338404799e Add initial implementation of encrypting config and saving it on export 2021-06-03 17:01:26 +03:00
VakarisZ 7954dbe1e7 Fixed and improved the wording in configuration export and import modals. 2021-06-03 17:01:26 +03:00