
Linux踏み台サーバー(Bastion Host)を強化して安全な運用を実現する
こんにちは、ビンです。
今回は、社内やクラウド環境でよく利用される「踏み台サーバー(Bastion Host)」のセキュリティ強化について、私自身の実務経験を交えて解説します。
AWSやさくらのクラウドなど、複数の環境を運用していると、踏み台サーバーが攻撃の入口となるリスクを実感する場面が多くあります。この記事では、最低限実装すべきハードニング項目と、実際に運用して感じたポイントを紹介します。
Bastion Hostとは何か?
Bastion Host(バスティオンホスト)は、内部ネットワークや本番環境へアクセスするための唯一の管理用ゲートウェイです。
通常はSSHでログインし、そこから他のサーバーへ安全にアクセスする形を取ります。
しかし、この「唯一の入り口」であるがゆえに、侵入されると全システムへの扉を開けてしまうリスクがあります。
そのため、Bastion Hostは「堅牢な認証」「最小限のアクセス権」「厳格な監査」が不可欠です。
セキュリティ強化の基本方針
Bastionサーバーを構築する際に意識すべき基本的な原則は3つあります。
- 最小権限の原則
- 認証の多層化
- アクセスの可視化と監査
これらを実現するために、設定ファイルの最適化・ログの集中管理・脆弱性管理を組み合わせていきます。
ステップ1:SSH設定の見直し
まず最初に見直すべきはSSHデーモンの設定です。/etc/ssh/sshd_configを編集し、以下のようなポイントを押さえましょう。
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
LoginGraceTime 30
ClientAliveInterval 300
ClientAliveCountMax 2
ポイント:
- ルートログイン禁止(PermitRootLogin no)は必須
- パスワード認証を無効化し、鍵認証に統一
- 無駄な接続を防ぐために認証試行回数を制限
これにより、辞書攻撃や総当たり攻撃のリスクを大幅に低減できます。
ステップ2:ファイアウォールとアクセス制限
Bastion Hostは社内管理者しかアクセスしないため、アクセス元を制限します。
たとえば、固定IP制限+セキュリティグループを併用するのが基本です。
例:firewalld設定
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="XXX.XXX.XXX.XXX/32" port port="22" protocol="tcp" accept'
firewall-cmd --reload
さらに、クラウド環境(AWSなど)では、セキュリティグループ側でも同様にSSHアクセス元を明示的に制御します。
ステップ3:多要素認証(MFA)の導入
SSH鍵だけでは不十分なケースも多いため、Google Authenticatorなどを組み合わせてMFAを導入するのが効果的です。
sudo yum install google-authenticator
google-authenticator
これにより、スマートフォンで生成されるワンタイムパスワードが必要となり、鍵漏洩時の不正ログインを防止できます。
ステップ4:ログの監査と可視化
セキュリティインシデントの兆候を早期に検出するために、以下のような監査体制を整備します。
- auditdによるコマンド監査
- fail2banによる不正アクセス防御
- rsyslogまたは- fluentdでの集中ログ転送
- Zabbixまたは- CloudWatchでのリアルタイム監視
運用現場では、監査ログを長期保管できる仕組みを設けることが重要です。特にISMS環境下では、3〜6か月分のログ保全を義務づけている企業もあります。
ステップ5:脆弱性とパッケージ管理
Bastion Hostも定期的な脆弱性スキャンとアップデートが必要です。
- 定期的にyum update/dnf updateを実施
- SIDfmを使った脆弱性検知も推奨
アップデートによるSSH再起動が発生するため、作業時間帯と再接続テストの自動化を忘れずに設定します。
運用上の注意と実体験
実際の運用では、設定よりも人の運用ミスが最大のリスクです。
たとえば:
- テスト用ユーザーが放置され、SSH接続が許可されたまま
- ログ保存設定ミスで半年分のアクセス履歴が消失
- fail2banが誤検知して管理者自身のIPをブロック
これらは「定期的な棚卸し」と「二重レビュー体制」で防げる問題です。
セキュリティ強化は設定作業で終わりではなく、継続的なPDCA運用こそが本質です。
まとめ
Bastion Hostのハードニングは「1日で終わる作業」ではなく、継続的に改善を積み重ねる活動です。
今回紹介した内容をまとめると以下の通りです。
- SSH設定を強化し、不要なアクセスを排除する
- IP制限・MFA・ログ監査で多層防御を構築する
- 定期的な脆弱性対応と設定見直しを行う
セキュリティ対策は「やり過ぎるくらいがちょうどいい」です。
今後も実際の事例を交えながら、インフラ運用現場のセキュリティ知見を共有していきたいと思います。
 
           
         
             
             
             
               
             
               
             
               
              




