ブログに戻る
1月 13, 2026ガイド

Linuxサーバーを保護する方法(要塞化)

不正アクセスや攻撃からLinuxサーバーを保護するための不可欠な手順。

Linuxサーバーを保護する方法(要塞化)

インターネット上でサーバーを運用する場合、セキュリティは最優先事項です。このガイドでは、Linuxサーバーを「要塞化(ハーデニング)」し、一般的な脅威から保護するための不可欠な手順を説明します。

1. システムを最新の状態に保つ

bash
# Ubuntu/Debian の場合
sudo apt update && sudo apt upgrade -y

# RHEL / CentOS / Alma / Rocky の場合
sudo yum update -y

2. SSHアクセスの保護

ブルートフォース攻撃を防ぐため、パスワード認証とrootログインを無効にします。/etc/ssh/sshd_config を編集します:

重要:パスワード認証を無効にする前に、SSH公開鍵がサーバー(通常は ~/.ssh/authorized_keys)に正常に追加され、パスワードなしでログインできることをテスト済みであることを確認してください。そうしないと、締め出されてしまいます!
bash
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
# セキュリティ向上のためポートを変更する
Port 2222

3. ファイアウォールの構成

必要なポートのみを許可します。SSHポートを変更した場合は、その許可を忘れないでください!

bash
sudo ufw allow 2222/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

4. Fail2Banのインストール

Fail2Banは、悪意のある兆候を示すIPを禁止することで、ブルートフォース攻撃から保護します。

bash
sudo apt install fail2ban -y
# 通常はデフォルト構成で十分です

5. 非rootユーザーの使用

日常的なタスクにrootユーザーを使用しないでください。sudo権限を持つ新しいユーザーを作成します:

bash
sudo adduser username
sudo usermod -aG sudo username

セキュリティチェックリスト

  • パスワードの代わりにSSHキーを使用してください
  • 自動セキュリティ更新を有効にしてください
  • 開いているポートを定期的に監査してください(netstat -tulpn)
  • すべてのアカウントに強力でユニークなパスワードを使用してください
  • システムログを監視してください(/var/log/auth.log)
  • 未使用のサービスを無効にし、不要なソフトウェアを削除してください