zulip/scripts
Alex Vandiver a5496f4098 CVE-2021-43799: Set a secure Erlang cookie.
The RabbitMQ docs state ([1]):

    RabbitMQ nodes and CLI tools (e.g. rabbitmqctl) use a cookie to
    determine whether they are allowed to communicate with each
    other. [...] The cookie is just a string of alphanumeric
    characters up to 255 characters in size. It is usually stored in a
    local file.

...and goes on to state (emphasis ours):

    If the file does not exist, Erlang VM will try to create one with
    a randomly generated value when the RabbitMQ server starts
    up. Using such generated cookie files are **appropriate in
    development environments only.**

The auto-generated cookie does not use cryptographic sources of
randomness, and generates 20 characters of `[A-Z]`.  Because of a
semi-predictable seed, the entropy of this password is thus less than
the idealized 26^20 = 94 bits of entropy; in actuality, it is 36 bits
of entropy, or potentially as low as 20 if the performance of the
server is known.

These sizes are well within the scope of remote brute-force attacks.

On provision, install, and upgrade, replace the default insecure
20-character Erlang cookie with a cryptographically secure
255-character string (the max length allowed).

[1] https://www.rabbitmq.com/clustering.html#erlang-cookie
2022-01-25 02:13:53 +00:00
..
lib CVE-2021-43799: Set a secure Erlang cookie. 2022-01-25 02:13:53 +00:00
nagios python: Replace universal_newlines with text. 2022-01-23 22:16:01 -08:00
setup CVE-2021-43799: Set a secure Erlang cookie. 2022-01-25 02:13:53 +00:00
README.md docs: Apply bullet style changes from Prettier. 2021-09-08 12:06:24 -07:00
__init__.py
get-django-setting python: Normalize quotes with Black. 2021-02-12 13:11:19 -08:00
purge-old-deployments zulip_tools: Rename may_be_perform_purging to maybe_perform_purging. 2022-01-12 13:21:35 -08:00
refresh-sharding-and-restart puppet: Remove zulip_deliver_scheduled_* from zulip-workers:*. 2021-06-14 17:12:59 -07:00
restart-server puppet: Use lazy-apps and uwsgi control sockets for rolling reloads. 2022-01-05 14:48:52 -08:00
start-server scripts: Add a start-server as well. 2021-04-21 10:24:08 -07:00
stop-server scripts: Only stop/start existing tornado processes. 2021-12-08 14:06:06 -08:00
upgrade-zulip upgrade: Modify upgrade scripts to handle failure. 2021-06-23 08:42:20 -07:00
upgrade-zulip-from-git upgrade: Modify upgrade scripts to handle failure. 2021-06-23 08:42:20 -07:00
zulip-puppet-apply python: Remove default "r" mode for open(). 2021-08-02 15:53:52 -07:00

README.md

This directory contains scripts that:

  • Generally do not require access to Django or the database (those are "management commands"), and thus are suitable to run operationally.

  • Are useful for managing a production deployment of Zulip (many are also used in a Zulip development environment, though development-only scripts live in tools/).

For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.