Web サーバーのデプロイと災害復旧

このプロジェクトでは、DevOps エンジニアとして、Web サービス環境のデプロイ、セキュリティ強化、および保守を行います。ソフトウェアのインストール、サービスの設定、SSH の堅牢化、ログのフォレンジック、および災害復旧を実践します。

DevOps EngineerLinuxDevOps

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Web サーバーの運用はページ配信だけではありません。待受方法を制御し、管理アクセスを保護し、トラフィックを調査し、重要データを復元できることを証明する必要があります。このチャレンジ形式のプロジェクトでは、最終状態を検証する 4 つの Linux シナリオでこれらの責務を結び付けます。

Nginx を独自ポートに構築し、SSH 公開鍵を設置し、待受ソケットを監査し、アクセスログから最も活発なクライアントを特定し、圧縮アーカイブから破壊的な復元テストを行います。要件とヒントは提示されますが、コマンドと検証手順は自分で選びます。

学習内容

  • Nginx をインストールし、既定の待受をポート 8080 に変更し、指定ページを配置してサービスを再起動する
  • RSA SSH 鍵ペアを生成して公開鍵を認可し、SSH パスに 700 と 600 の権限を設定する
  • 待受中の TCP ソケットを数値表示し、SSH ポート 22 が公開されていることを確認する
  • 送信元 IP ごとに要求数を集計し、最も活発なクライアントを抽出する Shell テキスト処理パイプラインを組む
  • /var/www/html と /var/log/nginx を gzip 圧縮 tar にまとめ、内容を確認する
  • Web ルートの消失を再現し、アーカイブを / に展開して重要ページの復元を確認する

このコースの対象者

手順ごとのコマンドなしで、Web サービス、SSH、ログ処理、バックアップの技能を適用したい Linux・DevOps 学習者向けです。

前提知識: パッケージとサービス管理、テキスト編集、Shell パイプライン、SSH ファイル、権限、ソケット確認、tar に慣れていること。評価型プロジェクトです。

学習環境: sudo、APT、Nginx、OpenSSH ツール、Zsh、標準 GNU/Linux ユーティリティ、準備済み Web・ログデータを備えたブラウザー対応 Ubuntu ホスト。クラウドや遠隔サーバーは不要です。

よくある質問

SSH チャレンジではパスワード認証を完全に無効化しますか?

いいえ。/home/labex/.ssh/id_rsa を生成し、公開鍵を authorized_keys に追加して権限を修正します。sshd_config の変更、パスワードの無効化、遠隔ログイン試験は行いません。

予期しないネットワークポートを閉じますか?

いいえ。ss または netstat で待受 TCP ポートを数値表示し、ポート 22 を確認するだけです。ファイアウォール変更やサービス停止は対象外です。

最も活発なクライアントはどう特定しますか?

/var/log/nginx/access.log の第 1 フィールドを集計し、IP をグループ化して件数順に並べ、首位の 203.0.113.42 だけを /home/labex/attacker_ip.txt に保存します。

復旧テストで実際に削除・復元するものは何ですか?

アーカイブには Web ルートと Nginx ログを含めますが、消失シミュレーションでは /var/www/html のみ削除します。ルートで展開し、Critical Web Content を含む index.html が戻ったことを確認します。

講師

labby
Labby
Labby is the LabEx teacher.