はじめに
仕事でUbuntuの踏み台サーバーを構築することになり、最初は不安でしたが、実際にやってみると意外と理解しやすかったです。
この記事では、私が実際に躓いたポイントも含めて、だれでも分かりやすいように解説していきます。
この記事で分かること
- 踏み台サーバーとは何か、なぜ必要なのか
- 実際の構築手順と各手順の意図
- よくあるトラブルとその解決方法
必要な準備
- PC(メモリ8GB以上推奨)
- 仮想化ソフト(VirtualBox推奨)
- Ubuntu Server 22.04 LTS(長期サポート版)
1. 踏み台サーバーって何?
踏み台サーバーは、社内の重要なシステムを外部からの攻撃から守るための「関所」のような役割を果たします。
例えば:
- 社外から直接データベースサーバーにアクセスできると危険
- 踏み台サーバーを経由することで、アクセスを管理・監視できる
- セキュリティが向上し、万が一の際の追跡も容易になる
2. 仮想マシンの準備
基本設定(15分)
VirtualBoxで新規仮想マシンを作成します:
名前: Ubuntu-Bastion
メモリ: 2GB
ストレージ: 20GB(動的割り当て)
なぜこの設定なのか:
- メモリ2GBは最小構成として十分
- 動的割り当てでストレージを効率的に使用
- 検証環境なので必要最小限のスペック
ネットワーク設定(5分)
踏み台サーバーには2つのネットワークが必要です:
-
外部接続用:
- 設定:NAT
- 目的:インターネットへのアクセス用
- 用途:システムアップデートなど
-
内部接続用:
- 設定:ホストオンリーアダプター
- 目的:内部システムとの通信用
- 用途:社内サーバーへのアクセスなど
3. Ubuntu Server のインストール(10分)
重要なポイント
- インストール時の選択:
言語: 日本語
キーボード: 日本語
ネットワーク: デフォルトのまま
-
必ず確認!
- OpenSSH Serverのインストール
- ユーザー名とパスワードのメモ
これらを忘れると後で大変です。私も最初は忘れて、インストールからやり直しました...。
4. セキュリティ設定
セキュリティ設定は踏み台サーバーの要です。各設定には明確な理由があります:
システムアップデート
# まずは最新に更新
sudo apt update
sudo apt upgrade -y
⇒ セキュリティホールをふさぐため
SSHの設定
# 設定ファイルの編集
sudo nano /etc/ssh/sshd_config
重要な設定と理由:
# rootログイン禁止
PermitRootLogin no
# 理由:システム管理者権限での直接ログインを防ぐ
# パスワード認証禁止
PasswordAuthentication no
# 理由:ブルートフォース攻撃を防ぐ
# 公開鍵認証を有効化
PubkeyAuthentication yes
# 理由:より安全な認証方式を使用
ファイアウォール設定
# UFWの設定
sudo apt install ufw -y
sudo ufw allow ssh
sudo ufw enable
⇒ 必要最小限の通信だけを許可
5. 動作確認
接続テスト
# ホストマシンからSSH接続
ssh ユーザー名@サーバーIP
うまくいかない場合のチェックリスト
- SSHサービスは起動していますか?
sudo systemctl status ssh
- ファイアウォールはSSHを許可していますか?
sudo ufw status
- ネットワーク設定は正しいですか?
ip addr show
まとめ:これだけは覚えておこう!
重要ポイント3箇条
- 二つのネットワーク(外部用・内部用)の役割を理解する
- SSHの基本的なセキュリティ設定を必ず行う
- 定期的なアップデートを忘れない
次のステップ
- ログ監視の設定
- バックアップの設定
- 監視システムの導入
あとがき
実際に手を動かして構築することで、踏み台サーバーの役割や重要性が理解できると思います。