Tuna Logo Tuna

chess rook Bastion

Takes all the complexity on itself!

SSH server with role-based mandatory access model using zero trust principles.

Designed for secure infrastructure access through centralized control and SSH session auditing. Unlike traditional SSH servers, Bastion focuses on user identification, temporary certificates, and role-based access model.

Available on Team

Bastion screenshot

Core principles

Mandatory model
Role-Based Access Control, RBAC — access to SSH servers is managed through roles and policies, not manually through authorized_keys files.
Zero trust
The zero trust principle. Checks not only user credentials, but also context: Who is requesting access? Which server and for what purpose? What are the session parameters (time, source, MFA policy)?
Passwordless authentication
Passwordless — instead of static passwords, PKI certificates that automatically expire are used in addition to SSH keys.

What is a bastion in the context of SSH access?

Instead of traditional SSH access ssh user@host based on passwords or RSA keys, users authenticate through our tuna client on our portal.

Then certificate-based authentication works on the bastion server. This is a standard OpenSSH feature, it is the most secure of all, but historically it is the most difficult to configure. And this is where we take all the complexity on ourselves, leaving you only with security!

After authorization on the portal, the client generates RSA keys and transmits the public part to the API for delivery to bastion servers. The client also generates a temporary PKI certificate which is signed by CA in the Tuna portal. With the RSA key and certificate, you connect to the server, the server checks that the certificate is valid, signed by the correct CA, and the user for whom the certificate was issued has sufficient access rights considering roles and policies.

Bastion servers in turn also have temporary certificates signed by CA, and when establishing a connection, the client also checks the server's validity in CA: this way you can be sure that your server is exactly your server, not something fake.

Bastion scheme

As a result, we know nothing about the private keys of servers and clients, they are generated and stored locally, which means we have no way to connect to your infrastructure (as well as attackers in case of hypothetical leaks from us). We act as a third party — the CA keeper who signs certificates and authenticates the user.

Reviews about Bastion

How does it work?

  1. 1

    You run tuna-bastion on your server and register it in Tuna API. A pair of RSA keys and a 30-day certificate are generated, signed by a CA allocated to the team in Tuna API. The private key is stored locally and is not transmitted anywhere, Tuna API doesn't know it, i.e. we have no access to your servers.

  2. 2

    In the my.tuna.am control panel, you create a role describing the access model and apply it to the desired user.

  3. 3

    The user runs the command tuna bastion login username. A pair of RSA keys and a 12-hour certificate are generated, signed by a CA allocated to the team in Tuna API, similar to the server. But this only happens if the user has sufficient rights to connect with such a login.

Bastion scheme
  1. 4

    The user runs the command tuna bastion ssh username@hostname, and if their certificate is valid, the server certificate is valid, the user has sufficient rights and no restrictions are imposed, then the session is established.

  2. Read documentation →

Tuna Logo TUNA — platform for developers
Tuna Logo TUNA platform for developers

Pricing

Get 2 months free with annual subscription

If your security requirements require you to install a node through which all tunnel traffic goes inside your organization, email us at info@tuna.am
Hobby
0 RUB / month
Developer
299 RUB / month
Team
599 RUB per member / month
Tunnel operation time
30 minutes
Unlimited
Unlimited
Number of active tunnels
1
5
5
Number of static domains
10
10
Number of own domains
1
1
Number of static ports
1
1
Features
Dynamic subdomains
End-to-end encryption
Let's Encrypt SSL/TLS certificates
HTTP requests inspector
Basic authentication
Built-in file server
API access
Password Manager
TCP traffic transmission
Built-in SSH/SFTP server
HTTP/SMTP triggers
Traffic policies
Audit log
Shared passwords
Custom domain zones (wildcard)
Bastion
Gateways
Single Sign-On (SSO) (coming soon)
Boards (coming soon)
Multi-user payment
Team members management
Protocols and technologies
HTTP/HTTPS
GraphQL
WebSocket
Server-sent events
gRPC-Web
gRPC
SMTP
RTSP/RTP
RTMP
RDP
SSH
TCP
Install Tuna application

How to start?

Start with installing and initial setup of the client - it will take no more than a minute

Quick start Read documentation

Frequently asked questions about Bastion

  1. Currently, Bastion is only available on the Team plan.

  2. No, the number of Bastions can be unlimited.

  3. Ways to work with Bastion with examples are described in detail in the corresponding section of our documentation.

Still have questions? Email us at info@tuna.am or ask a question in our Telegram community.

Unified platform for:

  • accelerating development
  • simplifying team collaboration
  • improving security
  • cost optimization
Learn more…

Tuna Desktop

A new way to manage tunnels without the console. Install on Windows, MacOS or Linux and get started in seconds.

Install
Tuna Desktop screenshot