Erlang OTP: Distributed & Fault-Tolerant Systems Programming · Урок

Безопасность распределения и cookie

Защитите связь между распределёнными узлами Erlang с помощью магических cookie, именования узлов и распределения через TLS.

Урок 4 из 413 шагов

«Безопасность распределения и cookie» — бесплатный урок Erlang OTP: Distributed & Fault-Tolerant Systems Programming на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Erlang OTP: Distributed & Fault-Tolerant Systems Programming, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Erlang OTP: Distributed & Fault-Tolerant Systems Programming содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Trust in a Cluster

Connected Erlang nodes fully trust each other: any node can run code on any other. That power makes securing distribution essential.

The Magic Cookie

Each node has a secret cookie. Two nodes can only connect if their cookies match. It is the basic authentication mechanism for clustering.

erlang:get_cookie().
% => 'SECRETCOOKIE'

Setting the Cookie

You can set the cookie at startup or at runtime. All nodes that should cluster must share the same value.

% at startup:
% erl -setcookie SECRET -name node1@host

erlang:set_cookie(node(), 'SECRET').

The .erlang.cookie File

If not set explicitly, the VM reads ~/.erlang.cookie. It must have restrictive permissions or the VM refuses to start.

% chmod 400 ~/.erlang.cookie

Short vs Long Names

Nodes use -sname (short hostname) or -name (fully qualified). Both nodes must use the same scheme to connect.

% erl -sname worker
% erl -name worker@10.0.0.5

Cookies Are Not Encryption

A matching cookie only authenticates the connection. By default, traffic between nodes is unencrypted. On untrusted networks you need TLS.

TLS Distribution

Erlang can tunnel all inter-node traffic over TLS using the inet_tls_dist module, configured via a proto_dist flag and a certificate file.

% erl -proto_dist inet_tls \
%     -ssl_dist_optfile ssl_dist.conf \
%     -name node1@host

The ssl_dist Config

The config file points to your certificate, key, and CA so nodes mutually authenticate and encrypt.

[{server, [{certfile, "node.pem"},
           {keyfile, "node.key"},
           {cacertfile, "ca.pem"}]},
 {client, [{cacertfile, "ca.pem"}]}].

Restricting epmd Exposure

The Erlang Port Mapper Daemon (epmd) registers node ports. Never expose epmd or distribution ports to the public internet; firewall them or use a VPN.

Hidden Nodes

A node started with -hidden connects without joining the global mesh, useful for tools that should not be part of the cluster's full-trust topology.

% erl -hidden -name monitor@host

Security Checklist

For safe distribution:

  • Use a strong, unique cookie
  • Protect the cookie file (chmod 400)
  • Enable TLS on untrusted networks
  • Firewall epmd and distribution ports

Quick Check

Test your distribution security knowledge.

Recap

You learned to secure distributed Erlang.

  • Matching cookies authenticate nodes
  • Protect the .erlang.cookie file
  • Use TLS distribution for encryption
  • Firewall epmd and distribution ports
Можно начать бесплатно

Изучай Erlang с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
12
Уроки
48

Часто задаваемые вопросы

Урок «Безопасность распределения и cookie» бесплатный?

Да — полный текст урока «Безопасность распределения и cookie» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Erlang OTP: Distributed & Fault-Tolerant Systems Programming, подпишись на CoddyKit PRO. Курс Erlang OTP: Distributed & Fault-Tolerant Systems Programming содержит 4 уроков всего.

Чему я научусь в уроке «Безопасность распределения и cookie»?

Защитите связь между распределёнными узлами Erlang с помощью магических cookie, именования узлов и распределения через TLS. Ты практикуешь Erlang OTP: Distributed & Fault-Tolerant Systems Programming с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Erlang OTP: Distributed & Fault-Tolerant Systems Programming?

Предыдущий опыт не требуется. Erlang OTP: Distributed & Fault-Tolerant Systems Programming на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Безопасность распределения и cookie»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Erlang OTP: Distributed & Fault-Tolerant Systems Programming?

Да. Каждый урок Erlang OTP: Distributed & Fault-Tolerant Systems Programming включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Настройка и связь между узлами
  2. Удалённые вызовы процедур (RPC)
  3. Глобальная регистрация процессов
  4. Безопасность распределения и cookie
← Назад к Erlang OTP: Distributed & Fault-Tolerant Systems Programming