This is a first implementation of a concept Iustin Pop proposed (message ID “[email protected]”) for fixing inherently insecure file storage operations. Before this series the file storage paths would be taken from the configuration on a node, but said configuration file is also updated via RPC. After this changelist a new file, “/etc/ganeti/file-storage-paths”, is used as a whitelist.
Michael Hanselmann (8): backend: Check for shared storage also LUClusterVerifyGroup: Localize virtual file paths bdev: Add functions to verify file storage paths Check fingerprint of file with allowed file storage paths Check allowed file storage paths during cluster-verify backend: Switch to new file storage directory verification cfgupgrade: Write file for file storage paths Update NEWS for file storage paths NEWS | 11 ++++ lib/backend.py | 30 ++++++----- lib/bdev.py | 62 ++++++++++++++++++++++ lib/cmdlib.py | 105 +++++++++++++++++++++++++++++++++++--- lib/constants.py | 4 ++ lib/errors.py | 6 ++ lib/opcodes.py | 1 + lib/pathutils.py | 1 + test/cfgupgrade_unittest.py | 52 ++++++++++++++++++- test/ganeti.bdev_unittest.py | 51 ++++++++++++++++++- test/ganeti.cmdlib_unittest.py | 20 +++++++ test/ganeti.utils.io_unittest.py | 6 ++ tools/cfgupgrade | 41 +++++++++++++++ 13 files changed, 365 insertions(+), 25 deletions(-) -- 1.7.7.3
