In recent times, there is an increasing need for organisations to give employees access to their IT facilities due to the ongoing Covid restrictions ( such as work from home ) in place and in other cases grant access to external parties like clients, vendors who wants to troubleshoot and fix issues with the IT Infrastructure remotely.
More so, is the need for multiple manage SSH access to the company’s Linux servers, Routers, Switches, while meeting regulatory and security compliance.
This need led to the emergence of the SSH Bastion host concept.
It is a secure intermediary server where all your system administrators would login in first via SSH before getting to access the remote devices such as Linux instance, Routers, Switches etc. The purpose of having the SSH bastion host is to improve security and consolidate SSH user activities to a single point hence better security and accountability. SSH Jump bastion host is also known by the name SSH Jump Box, SSH Jump Host & SSH Gateway.
What is an SSH Bastion Host?
An SSH Bastion host is simply a single, hardened server that you “jump” through in order to access other servers or devices on the inner network.
Sometimes called a SSH Jump host , or SSH Jump server or ssh gateway or a relay host, it’s simply a server that all of your users can log into and use as a relay server to connect to other Linux servers, Routers, Switches and more. Therefore, a jump server is a server inside a secure zone, which can be accessed from a less secure zone. It is then possible to jump from this host to greater security zones.
In other words, it is an intermediary host or an SSH gateway to a remote network, through which a connection can be made to another host in a dissimilar security zone, for example a demilitarized zone (DMZ2). In short it is intended to breach the gap between two security zones. This is done with the purpose of establishing a gateway to access something inside of the security zone, from the DMZ
The SSH Bastion host bridges two dissimilar security zones and offers controlled and monitored access between them.
For users accessing your secure network over the internet, the Bastion host provides a highly secured and monitored environment especially when it spans a private network and a DMZ with servers providing services to users on the internet.
Furthermore, a classic scenario is connecting from your desktop or laptop from inside your company’s internal network, which is highly secured with firewalls to a DMZ. In order to easily manage a server in a DMZ, you may access it via a bastion host.
Therefore, a bastion host is a server inside a secure zone, which can be accessed from a less secure zone. It is then possible to jump from this host to greater security zones. An example would be a high security zone inside a corporation. The policy guide states that this zone cannot be accessed directly from a normal user zone. Hence, in a DMZ off the firewall protecting this zone you have a jump host.
Connections are permitted to the ssh bastion host from the user zone, and access to the secure zone are permitted from the bastion host.
More often, there is a separate authentication method for the bastion host fortified with multi factor authentication, Single Sign On ( SSO ) , Radius & more.
How to Setup SSH Bastion Host
Bastion using OpenSSH
A basic ssh bastion host server with limited features and functionalities can be configured using OpenSSH packages that available by default on most Linux distributions. In the example below, we will just use the basic ssh command line to proxy a ssh connection to the remote server via a intermediate jump server.
ssh -J bastion_host remote_machine
If the -J option is not available use the -W option to pivot the connection through an intermediate bastion host.
Do refer to the article SSH Proxy and SSH Bastion Host for configuring a basic bastion host server that is very limited in feature and functionality when compared to the modern day ssh jump host solutions.
Ezeelogin is a much more powerful and advanced SSH bastion host software solution and can be deployed quickly on a Linux server. It has powerful features that makes managing hundreds of Linux devices and granting ssh access to these device a piece of cake. Do refer to the article to setup and configure a ssh bastion host quickly on your premise or on cloud.