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