A bastion host is a special-purpose computer on a network specifically designed and configured to withstand attacks. The computer generally hosts a single application, for example a proxy server, and all other services are removed or limited to reduce the threat to the computer. It is hardened in this manner primarily due to its location and purpose, which is either on the outside of a firewall or inside of a demilitarized zone (DMZ) and usually involves access from untrusted networks or computers.
The term is generally attributed to a 1990 article discussing firewalls by Marcus J. Ranum, who defined a bastion host as "a system identified by the firewall administrator as a critical strong point in the network security. Generally, bastion hosts will have some degree of extra attention paid to their security, may undergo regular audits, and may have modified software".
It has also been described as "any computer that is fully exposed to attack by being on the public side of the DMZ, unprotected by a firewall or filtering router. Firewalls and routers, anything that provides perimeter access control security can be considered bastion hosts. Other types of bastion hosts can include web, mail, DNS, and FTP servers...Due to their exposure, a great deal of effort must be put into designing and configuring bastion hosts to minimize the chances of penetration."
Amazon Web Services context
In an Amazon Web Services (AWS) context, a bastion host is defined as "a server whose purpose is to provide access to a private network from an external network, such as the Internet. Because of its exposure to potential attack, a bastion host must minimize the chances of penetration".
Another AWS-related definition is that bastion hosts are EC2 instances within a public subnet that is accessed via SSH (for Linux) and RDP (for Microsoft Windows). Once remote connectivity is established with the bastion host, "it then acts as a "jump" server, allowing you to use SSH or RDP" to log in to other EC2 instances within private subnets. It is important to configure them via security groups and network access control lists (NACLs) to act as a "bastion"; if so, it will act as "a bridge to your private instances via the internet".
There are two common network configurations that include bastion hosts and their placement. The first requires two firewalls, with bastion hosts sitting between the first "outside world" firewall, and an inside firewall, in a DMZ. Often, smaller networks do not have multiple firewalls, so if only one firewall exists in a network, bastion hosts are commonly placed outside the firewall.
Bastion hosts are related to multi-homed hosts and screened hosts. While a dual-homed host often contains a firewall it is also used to host other services as well. A screened host is a dual-homed host that is dedicated to running the firewall. A bastion server can also be set up using ProxyCommand with OpenSSH.
These are several examples of bastion host systems/services:
- DNS (Domain Name System) server
- Email server
- FTP (File Transfer Protocol) server
- Proxy server
- VPN (Virtual Private Network) server
- Web server
- "Thinking about firewalls". Vtcif.telstra.com.au. 1990-01-20. Retrieved 2012-01-19.
- Ronald L. Krutz; Russell Dean Vines (May 2003). The CISM Prep Guide: Mastering the Five Domains of Information Security Management. Wiley. p. 12. ISBN 978-0-471-45598-1.
- Malaval, Nicolas (14 June 2016). "How to Record SSH Sessions Established Through a Bastion Host". AWS Security Blog.
- Scott, Stuart (2017-12-27). "Effective security requires close control over your data and resources. Bastion hosts, NAT instances, and VPC peering can help you secure your AWS infrastructure". Cloud Academy Blog.
- "Building a Bastion Host Using HP-UX 11". windowsecurity.com. 2002-10-16. Retrieved 2016-04-09.
- "Using ProxyCommand with OpenSSH and a Bastion server. | Chmouel's Blog". Chmouel.com. 2009-02-08. Retrieved 2012-01-19.