← 対処の手順の一覧

ファイル共有の接続元を家のネットワークに絞る

指摘コード:LOCAL_EXPOSED_SMB。お使いのOSの手順を見てください。コマンドの 192.168.1.0/24 は、お使いのネットワークの範囲に置き換えてください。

Linux の ufw でファイル共有 Samba の接続元を家のネットワークに絞る

Linux 向けの手順だけのページ(ポート:445・139)

これは何か

Samba のファイル共有は、ほかの機器とフォルダーやプリンターを共有するための仕組みです。今は、どこからでも接続を受ける設定になっています。ここでは、ufw のファイアウォールで、家のネットワーク 192.168.1.0/24 の機器からだけ受けるようにします。

使っているかの確かめ方

端末で次を実行します。「Local Address:Port」の列に「:445・139」があれば、その番号で接続を待っています。

ss -tln

手順

  1. 始める前に:遠隔操作でこのPCを使っているなら、できるだけこのPCの前で作業してください。家のネットワークの外からファイル共有を使っている場合は、絞ると使えなくなります。

  2. 管理者権限が必要

    今の ufw のファイアウォールの状態を確かめます。先頭に sudo を付けたコマンドは管理者として動きます。パスワードを聞かれたら、自分のログインパスワードを入れて Enter を押します。パスワードは入力しても画面に出ません。Status: active なら有効、inactive なら無効です。あわせて、445・139番を接続元 Anywhere で許可している行がないかを見ます。

    sudo ufw status numbered
  3. 管理者権限が必要

    家のネットワーク 192.168.1.0/24 からだけ、445・139番への接続を許可します。必ず、広い許可を消す前・ufw を有効にする前に行います。

    sudo ufw allow proto tcp from 192.168.1.0/24 to any port 445
    sudo ufw allow proto tcp from 192.168.1.0/24 to any port 139
  4. 管理者権限が必要

    手順2で見つけた広い許可、つまり接続元が Anywhere の 445・139番の行を消します。sudo ufw delete のあとに、一覧の [ ] の中の番号を付けて実行します。番号が 3 なら sudo ufw delete 3 です。1つ消すと番号がずれるので、消すたびに sudo ufw status numbered で一覧を見直します。

  5. 管理者権限が必要

    手順2で inactive だった場合だけ、ufw を有効にします。有効にすると、許可していないほかの接続は届かなくなります。必ず手順3のあとに行います。

    sudo ufw enable
  6. 管理者権限が必要

    最後にもう一度一覧を見て、445・139番の許可が 192.168.1.0/24 からだけになっていれば完了です。

    sudo ufw status numbered

Windows でファイル共有の接続元を家のネットワークに絞る

Windows 向けの手順だけのページ(ポート:445)

これは何か

ファイル共有は、ほかの機器とフォルダーやプリンターを共有するための仕組みです。今は、どこからでも接続を受ける設定になっています。ここでは、ファイアウォールの設定を変えて、このPCと同じ家のネットワークの機器からだけ受けるようにします。

使っているかの確かめ方

PowerShell で次を実行します。結果に Listen と出れば、445番で接続を待っています。何も出なければ、今は使われていません。

Get-NetTCPConnection -State Listen -LocalPort 445

手順

  1. 始める前に:遠隔操作でこのPCを使っているなら、できるだけこのPCの前で作業してください。家のネットワークの外からファイル共有を使っている場合は、絞ると使えなくなります。

  2. 管理者権限が必要

    管理者用の PowerShell を開きます。Windows 11 では、スタートボタンを右クリックして「ターミナル (管理者)」を選びます。「Windows ターミナル (管理者)」と出ることもあります。Windows 10 では、スタートボタンを右クリックして「Windows PowerShell (管理者)」を選びます。メニューに見当たらないときは、スタートで「PowerShell」と検索し、「管理者として実行」を選びます。「このアプリがデバイスに変更を加えることを許可しますか?」と出たら「はい」を押します。

  3. 管理者権限が必要

    445番を許可している今のルールを、このPCと同じネットワークを表す LocalSubnet からだけ受けるように書き換えます。新しいルールは足しません。広く許可するルールが残っていると、絞っても効かないためです。次のコマンドをコピーして貼り付け、Enter を押します。

    Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 445 } | Get-NetFirewallRule | Where-Object { $_.Direction -eq "Inbound" -and $_.Action -eq "Allow" } | Set-NetFirewallRule -RemoteAddress LocalSubnet
  4. 管理者権限が必要

    書き換わったかを確かめます。RemoteAddress が LocalSubnet になっていれば完了です。

    Get-NetFirewallPortFilter | Where-Object { $_.LocalPort -eq 445 } | Get-NetFirewallRule | Get-NetFirewallAddressFilter

直したら、もう一度診断すると確かめられます

アプリで診断する

出典

確認日:2026-10-21