google / grr

GRR Rapid Response: remote live forensics for incident response

Home Page:https://grr-doc.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

FileNotFoundError while setting up GRR server from the repository

danielberbece opened this issue · comments

I was trying to install GRR server, following the steps outlined in the docs: https://grr-doc.readthedocs.io/en/latest/developing-grr/setting-up-dev-env.html

At step 9, running grr_config_updater initialize in terminal raises an error while generating key.

The output is the following:

All keys will have a bit length of 2048.
Generating executable signing key
Generating CA keys
Generating Server keys
Generating secret key for csrf protection.
Traceback (most recent call last):
  File "/usr/local/google/home/danielberbece/.virtualenv/GRR2/bin/grr_config_updater", line 33, in <module>
    sys.exit(load_entry_point('grr-response-server', 'console_scripts', 'grr_config_updater')())
  File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/distro_entry.py", line 25, in ConfigUpdater
    config_updater.Run()
  File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater.py", line 421, in Run
    app.run(main, flags_parser=lambda argv: parser.parse_args(argv[1:]))
  File "/usr/local/google/home/danielberbece/.virtualenv/GRR2/lib/python3.7/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/usr/local/google/home/danielberbece/.virtualenv/GRR2/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater.py", line 312, in main
    repack_templates=not args.norepack_templates)
  File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater_util.py", line 722, in Initialize
    fs_config.Write(config)
  File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater_util.py", line 360, in Write
    self._WriteDisabled(config)
  File "/usr/local/google/home/danielberbece/grr/grr/server/grr_response_server/bin/config_updater_util.py", line 401, in _WriteDisabled
    with open("/etc/fleetspeak-server/disabled", "w") as f:
FileNotFoundError: [Errno 2] No such file or directory: '/etc/fleetspeak-server/disabled'

I managed to solve the issue by commenting lines 401-403 in file grr/server/grr_response_server/bin/config_updater_util.py:

with open("/etc/fleetspeak-server/disabled", "w") as f:
      f.write("The existence of this file disables the "
              "fleetspeak-server.service systemd unit.\n")

After commenting these lines out, everything runs ok, without raising other problems.

Is this a known issue?

@danielberbece - IIUC, simply creating the /etc/fleetspeak-server folder should solve the issue.
+@mol123 - should we handle cases when /etc/fleetspeak-server doesn't exist in some special way? This effectively means that Fleetspeak is not installed.

BTW, this error happens every time you set up a clean environment and effectively breaks grr_config_updater.

@danielberbece - thanks for reporting, either workaround (commenting out the 3 lines or creating the folder) should be fine.

I'll work on a proper fix for this.