Rocky Linux 9 一覧へ戻る トップRocky Linux 9 / SSH接続LAN内限定
Rocky Linux 9 ・ セキュリティ・管理

🛡️ SSH接続 LAN内(192.168.1.0/24)限定

firewalldのリッチルールとsshd_configで、SSHをLAN内のPCだけに許可し外部から完全に遮断する保存版ガイド

firewalld rich-rule sshd_config AllowUsers 適用済み(2026年8月4日)

目次

  1. 概要と作業前の重要注意
  2. STEP 1:既存の「どこからでもSSH OK」設定を削除
  3. STEP 2:LAN内だけSSHを許可
  4. STEP 3:設定を反映し、状態を確認
  5. (さらに強固に)SSHサービス側でもLAN内だけ許可する
  6. 設定の効果まとめ
  7. 実施記録・エビデンス

概要と作業前の重要注意

このガイドでは、firewalld のリッチルールを使って「LAN内のPCだけSSH接続を許可し、外部からは完全に遮断する」という強固なセキュリティ設定を行います。

⚠️ 作業前の重要注意

  • 設定を誤ると現在のSSH接続が切断され、再ログインできなくなる可能性があります。
  • 可能であれば、物理コンソール(モニター+キーボード)やCockpit等のWeb管理コンソールを用意して作業するのが安全です。
  • --reloadsystemctl restart sshd を実行する前に、入力したコマンドを必ず再確認してください。
  • 設定変更後は、今のセッションを閉じずに、別ウィンドウで新規接続を確認してから作業を終えてください。

1️⃣ 既存の「どこからでもSSH OK」設定を削除する

firewalld のデフォルトでは SSH が全許可になっています。まずはこの設定を削除します。

# SSH サービスを恒久的に削除
sudo firewall-cmd --permanent --remove-service=ssh

2️⃣ LAN内(192.168.1.0/24)だけSSHを許可する

リッチルールを使い、LAN内のアドレスだけを許可します。

sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept'

3️⃣ 設定を反映し、状態を確認する

# 設定を反映
sudo firewall-cmd --reload
# 現在のルールを確認
sudo firewall-cmd --list-all

✔️ 確認ポイント

項目正しい状態
services:ssh が表示されていない(=全許可ではない)
rich rules:source address="192.168.1.0/24" の SSH 許可ルールがある

🔒(さらに強固に)SSHサービス側でもLAN内だけ許可する

ファイアウォールに加えて、SSH自体にもアクセス制限をかけると二重防御になります。

① SSH設定ファイルを開く
sudo vi /etc/ssh/sshd_config
② ファイル末尾に追記
# 192.168.1.0/24 のユーザーのみログインを許可
AllowUsers *@192.168.1.*

※特定ユーザーだけ許可したい場合は、ご自身のログインユーザー名に置き換えてください(例:AllowUsers your_username@192.168.1.*)。

③ 構文チェック(必須)

再起動前に、必ず設定ファイルの構文が正しいか確認してください。

sudo sshd -t

エラーが出なければ正常です。エラーが出た場合は再起動せず、記述を見直してください。

④ SSHを再起動
sudo systemctl restart sshd

ポイント

再起動しても既存のSSHセッションは切断されません。新規接続から新しい設定が適用されます。念のため別ウィンドウで新規接続を確認してから、元のセッションを閉じてください。

🎯 設定の効果まとめ

接続元結果
LAN内(192.168.1.x)これまで通りSSHログイン可能
外部(インターネット)OSレベルで遮断され、ポート開放していても接続不可

外部からはSSHポートが存在しないように見えるため、非常に強固です。

実施記録・エビデンス

2026年8月4日、実機にて本ガイドの手順を実施し、締め出しが発生しないことを確認しました。

適用後の firewall-cmd --list-all(抜粋)
services: cockpit dhcpv6-client dns http https imaps pop3s smtp smtps
rich rules:
    rule family="ipv4" source address="192.168.1.0/24" service name="ssh" accept
    rule family="ipv4" source address="(Fail2ban検知IP)" reject
    ...

services 欄から ssh が消え、rich rules に 192.168.1.0/24 の許可ルールが追加されていることを確認しました。

締め出し確認テスト
$ ssh adminuser@172.16.1.2
NEW_CONNECTION_OK

(sshd再起動後、別ウィンドウで再テスト)
$ ssh adminuser@172.16.1.2
NEW_CONNECTION_AFTER_SSHD_RESTART_OK

適用状況

精査メモ

本ガイドは以前から存在していましたが、実際のサーバーには未適用の状態(SSHサービスが全世界に開放されたまま、Fail2banの個別ブロックのみで運用)でした。2026年8月4日に本ガイド通りの手順を実施し、記載内容と実機の状態を一致させました。

SSH接続 LAN内限定 完了 🎉

firewalld・sshd_config の二重防御で、外部からのSSH接続を完全に遮断しました。LAN内からのアクセスのみ引き続き利用できます。

Rocky Linux 9 一覧へ戻る