踏み台サーバ(Bastion Host)とは?SSH接続を安全に管理する構築方法を解説

踏み台サーバ(Bastion Host)とは?

踏み台サーバ(Bastion Host)の役割と構築方法を理解しよう

企業ネットワークやクラウド環境では、サーバへ直接SSH接続させない構成が一般的になっています。

特に本番サーバやデータベースサーバなど重要なシステムについては、管理者であっても直接ログインできないように設計されるケースが多くあります。

その際に利用されるのが踏み台サーバ(Bastion Host)です。

踏み台サーバを経由することでアクセス経路を一元管理でき、セキュリティ向上や監査対応にも役立ちます。

本記事では踏み台サーバの役割や構成例、OpenSSHを利用した構築方法について詳しく解説します。

踏み台サーバ(Bastion Host)とは

踏み台サーバとは、管理者が内部サーバへアクセスする際に必ず経由する専用サーバのことです。

Bastion Host(バスチオンホスト)とも呼ばれます。

管理者は直接内部サーバへSSH接続するのではなく、まず踏み台サーバへログインします。

その後、踏み台サーバから目的のサーバへ接続します。

踏み台サーバが必要な理由

もし全てのサーバをインターネットへ公開すると、攻撃対象が増えてしまいます。

例えば以下のような問題があります。

  • サーバごとのアクセス管理が必要
  • 監査ログが分散する
  • 攻撃対象が増える
  • 設定ミスによるリスクが高まる

踏み台サーバを導入することで管理対象を集約できます。

一般的な構成例

シンプルな構成です。


管理PC
   ↓
踏み台サーバ
   ↓
Webサーバ
   ↓
DBサーバ

内部サーバはインターネットへ公開しません。

SSH接続は踏み台サーバ経由のみ許可します。

クラウド環境での利用例

AWSやAzureでは非常によく利用される構成です。

例えばAWSでは以下のようになります。


Internet
   ↓
EC2(Bastion)
   ↓
Private Subnet
   ↓
EC2(Application)

本番サーバはプライベートサブネットへ配置します。

踏み台サーバのメリット

  • 攻撃対象を減らせる
  • アクセス経路を統一できる
  • 監査ログを集中管理できる
  • 内部サーバを非公開にできる
  • 権限管理しやすい

企業環境では非常に大きなメリットがあります。

踏み台サーバのデメリット

  • 構成が複雑になる
  • 管理対象が増える
  • 障害時に影響が大きい
  • 運用ルール整備が必要

ただしセキュリティ向上のメリットの方が大きいケースが一般的です。

踏み台サーバに必要な要件

最低限以下の対策が推奨されます。

  • 公開鍵認証
  • rootログイン禁止
  • アクセスログ取得
  • OSアップデート
  • 不要サービス停止

特にSSH関連の設定は重要です。

OpenSSHのインストール

AlmaLinuxやRocky Linuxでは通常インストール済みです。

確認します。

# rpm -qa | grep openssh-server

インストールされていない場合は以下を実行します。
# dnf install openssh-server -y

SSHサービス起動

サービスを起動します。

# systemctl enable --now sshd

状態確認です。
# systemctl status sshd

公開鍵認証を設定する

踏み台サーバでは公開鍵認証が必須です。

設定例です。

PubkeyAuthentication yes
PasswordAuthentication no

パスワード認証は無効化します。

rootログインを禁止する

重要な設定です。

PermitRootLogin no

管理者用ユーザーを利用します。

接続元制限を設定する

管理者端末のみ接続できるようにします。

firewalldの例です。

firewall-cmd --permanent \
--add-rich-rule='rule family="ipv4"
source address="203.0.113.10"
service name="ssh"
accept'

不要なアクセスを遮断できます。

アクセスログを取得する

誰がいつ接続したかを記録します。

確認方法です。

# journalctl -u sshd

または
# tail -f /var/log/secure

監査対応でも重要です。

多要素認証を導入する

より高いセキュリティを求める場合はMFAを導入します。

例えば以下です。

  • Google Authenticator
  • Microsoft Authenticator
  • YubiKey

企業環境では導入が進んでいます。

内部サーバ側の設定

内部サーバでは踏み台サーバからのみ接続を許可します。

例えばfirewalldで制限します。

# firewall-cmd --permanent \
--add-rich-rule='rule family="ipv4"
source address="192.168.1.10"
service name="ssh"
accept'

踏み台サーバ以外からは接続できません。

ProxyJumpを利用した接続

OpenSSHではProxyJump機能が利用できます。

例です。

# ssh -J bastion user@internal-server

自動的に踏み台サーバを経由します。

近年はこちらの方法が主流です。

SSH設定ファイルを活用する

~/.ssh/configへ登録できます。

Host internal
    HostName 10.0.1.100
    User admin
    ProxyJump bastion

接続が簡単になります。

セッション管理の重要性

踏み台サーバは全管理者が利用することがあります。

そのため以下が重要です。

  • アクセスログ管理
  • 権限管理
  • 定期監査
  • 不要アカウント削除

適切な運用が求められます。

実務でよくある構成

小規模環境です。


管理PC
↓
踏み台サーバ
↓
業務サーバ

大規模環境です。


管理PC
↓
VPN
↓
踏み台サーバ
↓
本番環境

後者が企業で一般的です。

よくあるトラブル

踏み台サーバへ接続できない

firewalldやSecurity Groupを確認します。

内部サーバへ接続できない

内部FW設定やルーティングを確認します。

公開鍵認証が失敗する

authorized_keysや権限設定を確認します。

まとめ

踏み台サーバ(Bastion Host)は、内部サーバへのアクセス経路を集約し、安全に管理するための重要な仕組みです。

企業環境やクラウド環境では標準的な構成として採用されており、アクセス制御や監査対応にも大きな効果があります。

公開鍵認証や接続元制限、多要素認証などと組み合わせることで、さらに安全なSSH運用を実現できます。

本番環境を運用する際は、踏み台サーバ構成の導入を検討してみましょう。