Windowsサーバーでポート445を開いた機能を無効にする方法は?


13

待ち時間を改善し、セキュリティを向上させるために、必要のないサービスを無効にしようとしています。

localhostおよびポート445でtelnetを実行することにより、ポート445がまだ開いていることがわかりました。ポート445は必要ないので、閉じたいと思います。

ポート445でリッスンしているユーザーを確認するにはどうすればよいですか?また、無効にするにはどうすればよいですか?

ファイアウォールなどを使用してポート445をブロックしたくないが、ポート445が開いているプログラムを無効にしたいことに注意してください。


2
そして4年後、この質問の日が来ました。
ブラックパンダ

1
オタクでない人向け:BlackPandaはWannaCryランサムウェアを指します。
グラダブル

回答:


7

以下は、Windows XPマシンでポート445を正常に無効にするために使用した2つの異なるソースの引用です。ポート445と135、137〜139を閉じていたので、記事のすべての指示に従いました。

ポート445に関する一般情報(アーカイブリンク)

Windows 2000で使用される新しいポートには、TCP over SMBに使用されるTCPポート445があります。SMB(サーバーメッセージブロック)プロトコルは、Windows NT / 2000 / XPでのファイル共有に使用されます。Windows NTでは、有名なポート137、138(UDP)および139(TCP)を使用したNetBT(NetBIOS over TCP / IP)上で実行されました。Windows 2000 / XPでは、MicrosoftはNetBTの追加レイヤーなしで、TCP / IP経由でSMBを直接実行する可能性を追加しました。これには、TCPポート445を使用します。

LAN上の最も単純なNetBIOSは、従来のソフトウェアに必要な悪でしかありません。ただし、WANまたはインターネット上のNetBIOSは、非常に大きな(馬鹿げている...)セキュリティリスクです。ドメイン、ワークグループ、システム名などのあらゆる種類の情報、およびアカウント情報は、NetBIOSを介して取得できます。NetBIOSがネットワークを決して離れないようにすることは、本当にあなたの利益のためです。

マルチホームマシン、つまり複数のネットワークカードを使用している場合、すべてのネットワークカードでNetBIOSを無効にするか、ローカルネットワークの一部ではないTCP / IPプロパティでダイヤルアップ接続を無効にする必要があります。

ポート445を無効にする方法

ポート445を無効にするには:

次のレジストリキーを追加します。

キー:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NetBT \ Parameters名前:SMBDeviceEnabledタイプ:DWORD(REG_DWORD)データ:0

上記のポートを無効にしてからコンピューターを再起動することを忘れないでください。また、これらのポートが無効になっていることを確認するには、コマンドプロンプトを開き、netstat -anと入力して、コンピューターがこれらのポートをリッスンしていないことを確認します。

(レジストリキーはWindows 7以降で異なります。Microsoftの記事を参照してください


ポート445を無効にすることは、ファイアウォールを使用することと同じではないでしょうか?原因ではなく症状を修正します。代わりに、NetBIOSのみを無効にすると、ポート445が開かなくなりますか?ただ尋ねる。(そうでない場合、OPは実際にポートを無効にする必要があるかもしれません)
-nixda

ネットワーク内のコンピューターがWindowsネットワークの先物を使用して互いに通信するのを防ぎました。あなたはWindowsネットワークを知っています-それは恐ろしく安全ではありません。1台のコンピューターにウイルスがあり、コンピューターが広がります(はい、上記のポートを使用)。私の場合、これらのコンピューターはお互いの存在を知る必要さえありませんが、それらは同じネットワークセグメントに存在する必要があります。したがって、ファイアウォールは私にとって解決策ではありませんでした。
VL-80

私はそれを試しましたが、Windows Server 2008 R2 SP1でも動作します。
javapowered

また、この便利な記事ssj100.fullsubject.com/…を
javapowered

同意する!この記事は私の答えです(:2番目のリンク。
8

10

この答えを拡張したいと思います

Windowsのポート445は、SMBプロトコルを介してファイル共有を提供するために、デフォルトで「サーバー」サービス(本名は「lanmanserver」)によって使用されます。Windowsがこのポートでリッスンしないようにするには、このサービスを停止して無効にする必要があります。

  1. 管理者権限を持っているか、管理者に昇格できる必要があります。
  2. 管理者としてコマンドプロンプトを開きます。
  3. を入力してsc stop lanmanserver、Enterキーを押します。
  4. 何らかの理由で、この時点でポートはまだアクティブです(私の経験から、今日これを行いました)。ポートをリッスンしないようにシステムを再起動する必要がありますが、再起動後にサービスが再起動するため、起動を無効にする必要があります。
  5. を入力してsc config lanmanserver start=disabled、Enterキーを押します。
  6. リブート。
  7. コマンドプロンプトでを使用して確認します。netstat -n -a | findstr "LISTENING" | findstr ":445"空白行が出力されるはずです。つまり、ポートで何もリッスンしていないことを意味します。(コマンドは英語版以外のWindowsで異なる場合がありますが、「LISTENING」を翻訳版に変更する必要があるかもしれません)

Windowsでポート445を解放する理由はいくつかありますが、そのうちの1つは非常に興味深いものであり、SSHを介したSMBトンネリングを許可することです-Windowsがポートを使用しない場合、Putty / Cygwin'ed SSHにそれを使用して転送するように指示できますセキュリティで保護された接続を介してリモートホストに接続すると、リモートのファイル共有に安全にアクセスできます\\localhost


1
サーバーサービスを無効にすると、予期しない結果が生じる可能性があります。私のシステムでは、Light ExplorerプラグインがインストールされているとNotepad ++が破損しました。プログラムを起動しようとしても、目に見えるウィンドウはもう表示されていませんでした(ただし、タスクマネージャで確認できるように、実行されていました)。
グラスダブル

1

Start-run-services.msc、サーバーサービスを無効にします。


1
私はそれをやったが、私はまだローカルホストのポート445に接続することができます
-javapowered

1

TCPViewを使用して、ポート445でリッスンしているプログラムを見つけます。

リスナーがsvchost.exeの場合、これはシステムサービスです。どれかを推測するには、PIDを書き留めて、タスクマネージャーに移動し、[サービス]タブで[PID]をクリックして並べ替えます。このPIDにはいくつかのサービスがあり、それらはすべて候補です。どのサービスを決定できない場合は、候補のサービスの名前を投稿して、コメントできるようにします。

開いているポートにはリスナーが必要ないことに注意してください。ポートは、ファイアウォールによってブロックされていない場合、「オープン」と呼ばれます。


ファイアウォールの開いているポートは、コンピューターの開いているポートとは異なります。リスナーが存在し、そのポートでトラフィックを監視している場合、ポートは開いています。リスナーが存在しない場合は閉じられます。ファイアウォールは、パケットを許可、ブロック(閉じていることを示すパケットを返す)、またはドロップ(黙って無視)する可能性のある別のレイヤーを追加しますが、OSでポートが開いているか閉じているかは別です。
NetworkLlama

0

ポート445 = SMB =プリンターとファイルの共有。そのため、ネットワーク接続オプションでファイル共有を無効にして、ポートを閉じます。


2
プリンターとファイルの共有を無効にしましたが、ポートは開いたままです。
javapowered

このリストによると:en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 445はActive Directoryにも使用されます。これをホストしますか?
magicandre1981

1
いいえ、私は何も必要としないし、すべてを無効にしたい、私は取引にサーバーを使用しています。
javapowered

0

パワーシェル:

$netBTParametersPath = "HKLM:\SYSTEM\CurrentControlSet\Services\NetBT\Parameters" 
IF(Test-Path -Path $netBTParametersPath) { 
    Set-ItemProperty -Path $netBTParametersPath -Name "SMBDeviceEnabled" -Value 0 
} 
Set-Service lanmanserver -StartupType Disabled 
Stop-Service lanmanserver -Force

詳細PowerShellでWindowsのポート445を開いた機能を無効にする方法


複数の質問に同じ回答を投稿しないでください。同じ情報が実際に両方の質問に答える場合、一方の質問(通常は新しい質問)をもう一方の質問の複製として閉じる必要があります。重複として閉じるように投票することでこれを示すことができます。または、そのための十分な評判がない場合は、重複であることを示すためにフラグ立てます。それ以外の場合は、この質問に対する回答を調整し、同じ回答を複数の場所に貼り付けないでください。
DavidPostill
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.