linbit-tunl: security-brief

linbit-tunl: Security at a glance

A short, customer-facing summary of the trust model behind a linbit-tunl session. For the full analysis -- including the relay-operator perspective, the API surface, brute-force defences, and known limitations -- see security.html.

Two parties, one shared session

Two principals share an interest in a session:

The relay is operated by LINBIT. In share mode it is not trusted to enforce access limits on its own: every command the relay sends must pass through an allowlist on the customer side, in code the customer can read. If the relay were compromised tomorrow, the limits below would still hold.

What a third party cannot do

A third party is anyone who is neither you nor a LINBIT support engineer -- a random internet host, an unrelated customer, a compromised website. They cannot:

The session ID itself is not a secret -- it is spoken aloud on support calls. What an attacker who learned the ID could actually do is covered in the caveat below.

What the relay can and cannot do

Even a compromised relay can only do what the customer-side allowlist permits. The allowlist is enforced by your local linbit-tunl script, on your machine, under your account.

A relay (compromised or not) can:

A relay cannot:

In --restricted mode the allowlist is tighter: keystroke injection and tunnel upgrades are both refused.

What is recorded

Every session is recorded. The customer-side recording lives on your machine; the path is printed at session end. The relay also keeps a recording, the chat transcript, and a short audit log of open/close/tunnel events.

Password prompts and other no-echo input are not in the recording. When the kernel terminal layer disables echo (during sudo, ssh, password prompts, etc.), keystrokes never make it into the terminal output stream and so never reach the cast file.

What you can audit afterwards

These are yours to keep and to share (or not) on your own terms.

Session-ID secrecy: an honest caveat

The four-word session ID is what your script presents to the relay's tunl SSH user. A third party who learned the session ID before you connected could authenticate as tunl themselves and impersonate a customer to support.

Two important consequences to be clear about:


For the full threat model -- including the relay's brute-force defences, the support-side authentication path, the API surface, and known limitations -- see security.html.