【第2回】初期設定と次世代セキュリティ:SSH公開鍵認証(Ed25519)の徹底強化とOSの要塞化

こんにちは、リナックス先生です。第1回ではAlmaLinux 10のインストールを無事に完了しましたね。しかし、今のサーバーは「パスワードさえ分かれば誰でもrootで入れる」という、戦場に裸で立っているような状態です。

第2回のテーマは「サーバーの要塞化」です。2026年現在のサイバー攻撃は、自動化されたボットによる総当たり攻撃(ブルートフォース)が主流です。これらを完全に無力化するために、パスワード認証を捨て、最新の暗号アルゴリズムを用いた公開鍵認証へと移行します。さらに、管理者権限の適切な委譲についても深く学んでいきましょう。

コウ君

先生!公開鍵認証って、なんだかファイルを作ったり移動したりして難しそうです……。今まで通りパスワードじゃダメなんですか?複雑なパスワードにすれば安全だと思うんですけど!

リナックス先生

コウ君、甘いわよ。パスワードには「漏洩」のリスクが常に付きまとうわ。公開鍵認証は、秘密鍵という「物理的な鍵」を持っていない限り、どんなに計算能力が高いスパコンを使っても突破できない仕組みなの。特にAlmaLinux 10では、より堅牢な暗号化が推奨されているわ。プロなら「便利さ」より「確実な安全」を選ぶべきよ!

【全8回】AlmaLinux 10 徹底攻略:次世代サーバー構築・運用講座

  • 第1回:AlmaLinux 10 爆速構築編
  • ▶ 第2回:初期設定と次世代セキュリティ編(今ここ!)
  • 第3回:DNFとパッケージ管理の深淵編
  • 第4回:systemdと現代的なサービス管理編
  • 第5回:ネットワーク制御とnftables編
  • 第6回:Web・DBサーバー構築(LEMPスタック)編
  • 第7回:パフォーマンス分析とリソース監視編
  • 第8回:自動化とバックアップの極意編

1. 次世代の暗号規格「Ed25519」とは何か?

SSHの鍵を作成する際、古くから使われてきたのが RSA アルゴリズムです。しかし、十分な安全性を確保するためには3072bit以上の長い鍵長が必要になり、計算負荷が増大しています。

そこで現代の推奨とされるのがEd25519(エドワーズ曲線デジタル署名アルゴリズム)です。AlmaLinux 10のベースとなるRHEL 10世代では、レガシーな暗号が次々と廃止されており、Ed25519の使用が事実上の標準となっています。

Ed25519のメリット

  • 高い安全性: 短い鍵長(256bit)でありながら、RSA 3072bitを凌ぐ耐性を持ちます。
  • 高速な処理: 署名の生成や検証が非常に高速で、サーバーのCPUリソースを節約できます。
  • 耐サイドチャネル攻撃: アルゴリズム自体が実装の不備による情報の漏洩(サイドチャネル攻撃)に強い設計になっています。

2. 一般ユーザーの作成とsudo権限の付与

rootユーザーでログインし続けるのは、万が一のミスがシステム全体に及ぶため厳禁です。まずは自分専用の作業用ユーザーを作成しましょう。

# ユーザー 'engineer' を作成
useradd engineer

# ユーザーにパスワードを設定(強力なものを用意すること)
passwd engineer

# wheelグループ(管理者権限を使えるグループ)に追加
usermod -aG wheel engineer

AlmaLinuxを含むRed Hat系OSでは、wheel グループに所属するユーザーのみが sudo コマンドを実行できる設定が標準となっています。これにより、「普段は一般ユーザー、必要な時だけ特権を行使する」という運用の基本が成り立ちます。

💡 プロのノウハウ:sudoのログ監視
実務では sudo で誰がいつ何を実行したかすべて記録されます。/var/log/secure を確認してみてください。このログを定期的に監視することで、不正な特権昇格の試みを検知できます。AlmaLinux 10では、このログの正確性が監査において非常に重要視されます。


3. SSH公開鍵認証のセットアップ:完全手順

いよいよ鍵ペアを作成します。この作業は「自分のローカルPC」(Windows/Mac)で行います。

3-1. ローカルPCで鍵ペアを生成

# ローカルのターミナル(PowerShellやiTerm2)で実行
ssh-keygen -t ed25519 -C "your_email@example.com"

※保存場所を聞かれますが、デフォルト(~/.ssh/id_ed25519)でOKです。パスフレーズを設定するとさらに安全になります。

3-2. 公開鍵をサーバーに転送

生成された id_ed25519.pub(公開鍵)の中身を、サーバー側の設定ファイルに追記します。

# サーバー側(engineerユーザーでログインした状態)で実行
mkdir -p ~/.ssh
chmod 700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

# ここにローカルの id_ed25519.pub の中身を貼り付ける
vi ~/.ssh/authorized_keys

⚠️ トラブルシューティング / 注意点
パーミッション設定を間違えると、SSHは「安全ではない」と判断してログインを拒否します。.ssh ディレクトリは 700 (drwx------)authorized_keys ファイルは 600 (-rw-------) になっていることを必ず ls -la で確認してください。


4. SSH設定ファイルの最適化とパスワード認証の廃止

鍵でログインできることが確認できたら、いよいよ仕上げです。パスワードでの侵入を物理的に不可能にします。

# 設定ファイルを編集
sudo vi /etc/ssh/sshd_config

以下の項目を探し、記述を変更してください(コメントアウトされている場合は外します)。

# rootでの直接ログインを禁止する
PermitRootLogin no

# パスワード認証を禁止する(ここが要塞化の肝!)
PasswordAuthentication no

# 空のパスワードを禁止する
PermitEmptyPasswords no

# Ed25519のみを許可する(さらに厳格にする場合)
PubkeyAuthentication yes

設定の反映と検証

# 構文チェック(エラーが出ないことを確認)
sudo sshd -t

# 反映
sudo systemctl restart sshd

⚠️ トラブルシューティング / 注意点
systemctl restart sshd を実行する際、現在のSSH接続は絶対に切らないでください。 別のウィンドウを新しく立ち上げ、新しい設定でログインできるかテストしてください。もし設定に不備があり、既存の接続を切ってしまうと、二度とログインできなくなる「セルフ出禁」状態になります!


5. まとめと次回予告

第2回、お疲れ様でした!今回の作業で、あなたのサーバーのセキュリティ強度は飛躍的に向上しました。

  • Ed25519 という最新・高速・安全な暗号規格を採用した。
  • 一般ユーザー作成sudo権限 の適切な設定を行った。
  • パスワード認証を廃止 し、ボットによる攻撃を無効化した。
  • rootログインを禁止 し、攻撃対象を最小化した。

要塞化したサーバーを手に入れたら、次に行うべきはソフトウェアの管理です。AlmaLinux 10では、これまで慣れ親しんできた dnfDNF 5 へと驚異の進化を遂げています。

次回の第3回は、「DNFとパッケージ管理の深淵編」です。なぜDNF 5は速いのか?モジュールやAppStreamといった概念をどう実務に活かすのか?パッケージ管理の真髄を徹底解剖します。お楽しみに!

▼ サーバー構築・開発を学ぶならVPSで ▼

エンジニア必須の環境
「おすすめVPS」

VPSランキングを見る

技術スキルを活かす
「ITエンジニア転職」

転職エージェントを見る

コメント