【Linux】初心者の自分が Ubuntu でサーバーを構築するときにやったことの超簡易メモ

バックエンド

はじめに

この記事では Linux 初心者の自分が Ubuntu でサーバーを構築するときにやったことをメモしています。
使用した Ubuntu のバージョンは Ubuntu 24.04 LTS です。

この記事は以下の状態の方を対象にしています。

  • Ubuntu をコンピュータにインストールして初期設定を行ってあること
  • ポート番号、IP アドレス、ドメインなどの基本的な用語を理解していること

また注意事項としてはこの記事は Linux 初心者がサーバーを構築しただけの内容なので、この通りにすればセキュリティが確保されるというものではありません。
自分自身、サーバー周りについては初心者であるため正しい情報を提供できているとは限りません。
もし誤った内容があった場合はご指摘いただけるとうれしいです。

      SSH の有効化

      まずは SSH(Secure Shell)の有効化です。
      SSH はネットワークを通じて安全に別のコンピュータに接続し、操作するためのプロトコルです。
      リモートコンピュータの操作はコマンドで行い、ネットワーク上の通信は全て暗号化されています。

      SSH を有効化した後、自分は Tera Term を使って別のコンピュータからサーバーを操作していました。

      # Open SSH Server をインストール
      sudo apt install openssh-server
      
      # SSH を起動
      sudo systemctl start ssh
      
      # SSH を正常に起動できたか確認
      sudo systemctl status ssh
      
      #システム起動時に SSH を自動で起動するように設定
      sudo systemctl enable ssh
      
      # RSA 暗号を用いた SSH キーを生成
      ssh-keygen -t rsa -b 4096 -C {任意のメールアドレス}
      
      #生成した SSH キーを確認
      cat ~/.ssh/id_rsa #秘密鍵
      cat ~/.ssh/id_rsa.pub #公開鍵

      ファイアウォールの有効化

      次は UFW(Uncomplicated Firewall)というものを使ってファイアウォールを有効化しました。
      Linux でファイアウォールを有効化する、つまり特定のポートを開閉したり、特定の IP アドレスを許可 or 拒否したりするには iptables というものを使用することもできますが、少し難しそうだったのでより簡単にファイアウォールを設定できる UFW を使用しました。

      # UFW を有効化
      sudo ufw enable
      
      # UFW を正常に有効化できたか確認
      sudo ufw status verbose
      
      # 自分の PC のみが SSH にアクセスできるように設定
      #(SSH のデフォルトのポート番号は 22)
      sudo ufw allow from {自分の PC の IP アドレス} to any port 22

      ポートの最適化

      次は SS(Socket Statistics)を使用してポートの最適化を行いました。
      SS は Linux でネットワーク接続の状態を確認するためのコマンドです。

      # inproute2 をインストール
      sudo apt-get install iproute2
      
      #現在開いているポートの一覧を表示(不要なポートは UFW などを使って閉じる)
      sudo ss -tuln

      ModSecurity を使った WAF の有効化

      次は ModSecurity というものを使って WAF を有効化しました。
      ModSecurity は Apache や Nginx、IIS などの Web サーバーに組み込んで使うセキュリティモジュールで、悪意あるリクエストを検出してブロックできます。

      # apache2 をインストール
      sudo apt install apache2
      
      # ModSecurity をインストール
      sudo apt install libapache2-mod-security2
      
      #「etc/modsecurity」にある modsecurity.conf-recommended を「etc/modsecurity」にある modsecurity.conf にコピペして上書きする
      #(modsecurity.conf 無い場合は新たに作成する)
      sudo cp /etc/modsecurity/modsecurity.conf-recommended /etc/modsecurity/modsecurity.conf
      
      #「etc/modsecurity」にある modsecurity.conf を編集して SecRuleEngine DetectionOnly を On に、SecResponseBodyAccess を Off に変更する 
      sudo nano /etc/modsecurity/modsecurity.conf
      
      #「sudo systemctl status apache2」で apache2 の動作が確認できない場合は apache2 を起動する
      sudo systemctl start apache2

      最後に

      参考記事

      お問い合わせ

        タイトルとURLをコピーしました