In recent times, there is an increasing need for organizations 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 Jump Server 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 Jump server is to improve security and consolidate SSH user activities to a single point hence better security and accountability. SSH Jump server is also known by the name SSH Jump Box, SSH Jump Host & SSH Gateway.
SSH Jump Server explained.
An SSH Jump Server 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 bastion 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 Jump Box bridges two dissimilar security zones and offers controlled and monitored access between them.
For users accessing your secure network over the internet, the jump 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 jump host.
Therefore, a jump 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 jump host from the user zone, and access to the secure zone are permitted from the jump host.
More often, there is a separate authentication method for the jump host fortified with multi factor authentication, Single Sign On ( SSO ) , Radius & more.
Configure a SSH Jump Server Solution
Using OpenSSH A basic ssh jump 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 jump_machine remote_machine
If the -J option is not available use the -W option to pivot the connection through an intermediate bastion host.
With the OpenSSH 7.3, the easiest way to pass through hop through intermediate one or more jump hosts is using the ProxyJump directive ssh_config
Host remote server HostName 192.168.0.177 ProxyJump email@example.com:22 User devops
Multiple jump hosts can be chained as well
Host remote server HostName 192.168.0.177 ProxyJump firstname.lastname@example.org:22, email@example.com:22 User devops
Do refer the article SSH Proxy and SSH JumpHost for configuring a basic jump server that is very limited in feature and functionality when compared to the modern day ssh jump host solutions.
Using Ezeelogin Ezeelogin is a much more powerful and advanced SSH Jump host software solution and can be deployed quickly. It has powerful features that makes managing hundreds of Linux devices and granting ssh access to these device a piece of cake. Do refer the article to setup and configure a ssh jump server quickly on your premise or on cloud.
Why do you need a SSH Jump server solution to manage ssh access?
The OpenSSH based jump server is clearly not enough to meet the modern day requirements of an IT enterprise. The challenges for the enterprise are constantly changing and dynamic . On day , it could be from maintaining security, granting ssh access to the users to designated server and that too for particular time and on another day it could be the security compliances that needs to be met at the time of a Linux servers infrastructure audit.
The modern day SSH Jump host solutions are designed to address the challenges faced by an IT enterprise when it comes to security and to meet various security compliances like PCI DSS, NIST, ISO 27001 and more.
The modern day ssh jump server software has the following features and more.
Identity and Access management (IAM)
Privileged Access management (PAM),
Role Based Access Control to delegate access to Linux servers and Network devices.
Two factor authentication methods like Google Authenticator, DUO Security 2FA, & Yubikey in SSH.
Integrates with Windows Active Directory, OpenLDAP, Redhat IDM.
Supports SAML for Single Sign On.
Support RADIUS Authentication to access network devices such as Routers and Switches
SSH key rotation,
Automated root password management
IT Enterprises that use a SSH Jump Server solution in improving security of their critical IT asset and in meeting various mandatory security compliances (which would otherwise prove very costly in case of a breach), are more likely to succeed due to the improved operational efficiency, digital security, hence more successful business for the company’s end customers.
The Sarbanes-Oxley Act of 2002 (SOX) is an act passed by U.S Congress in 2002 to protect investors from the possibility of fraudulent accounting activities by corporations. The SOX Act mandated strict reforms to improve financial disclosures from corporations and prevent accounting fraud. The SOX Act was created in response to accounting malpractice in the early 2000s, when public scandals such as Enron Corporation, Tyco International plc, and WorldCom shook investor confidence in financial statements and demanded an overhaul of regulatory standards.
Sarbanes-Oxley act or the SOX compliance require that whenever critical task are executed, it should NOT be done individually, it requires the critical transactions or the task at hand to be authorized by two persons and not just one. While managing server or cloud infrastructure, critical action like viewing the ssh session recordings should be authorized by a supervisor as well.