Windows 서버에서 포트 445를 여는 기능을 비활성화하는 방법은 무엇입니까?


13

대기 시간을 개선하고 보안을 향상시키기 위해 필요하지 않은 서비스를 비활성화하려고합니다.

로컬 호스트와 포트 445에서 telnet을 수행하여 포트 445가 여전히 열려 있음을 알았습니다. 포트 445가 필요하지 않으므로 포트를 닫는 것이 좋습니다.

포트 445에서 수신 대기중인 사람을 어떻게 알 수 있습니까? 비활성화하려면 어떻게해야합니까?

방화벽이나 그와 비슷한 것을 사용하여 포트 445를 차단하고 싶지는 않지만 포트 445가 열린 프로그램을 비활성화하고 싶습니다.


2
그리고 4 년 후,이 질문의 날이 왔습니다.
BlackPanda

1
괴짜가 아닌 사람들을 위해 : BlackPanda는 WannaCry 랜섬웨어를 말합니다 .
Gras Double

답변:


7

다음은 Windows XP 컴퓨터에서 포트 445를 성공적으로 비활성화하는 데 사용한 두 가지 소스에 대한 인용입니다. 나는 포트 445와 135, 137-139를 닫고 있었으므로 기사의 모든 지시를 따르고 나에게 도움이되었습니다.

포트 445에 대한 일반 정보 (아카이브 링크)

Windows 2000에서 사용하는 새로운 포트 중에는 TCP를 통한 SMB에 사용되는 TCP 포트 445가 있습니다. SMB (Server Message Block) 프로토콜은 Windows NT / 2000 / XP에서 파일 공유에 사용됩니다. Windows NT에서는 유명한 포트 137, 138 (UDP) 및 139 (TCP)를 사용하는 NetBT (TCP / IP를 통한 NetBIOS) 위에서 실행되었습니다. Windows 2000 / XP에서 Microsoft는 추가 NetBT 계층없이 TCP / IP를 통해 SMB를 직접 실행할 수있는 가능성을 추가했습니다. 이를 위해 TCP 포트 445를 사용합니다.

LAN에서 가장 간단한 NetBIOS는 레거시 소프트웨어에 필요한 악일 수 있습니다. 그러나 WAN이나 인터넷을 통한 NetBIOS는 엄청난 보안 위험입니다. 도메인, 작업 그룹 및 시스템 이름과 같은 모든 종류의 정보와 계정 정보는 NetBIOS를 통해 얻을 수 있습니다. NetBIOS가 절대로 네트워크를 떠나지 않도록하는 것이 가장 중요합니다.

멀티 홈 컴퓨터, 즉 둘 이상의 네트워크 카드를 사용하는 경우 로컬 네트워크의 일부가 아닌 모든 네트워크 카드 또는 TCP / IP 속성에서 전화 접속 연결에서 NetBIOS를 비활성화해야합니다.

포트 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 네트워크를 알고 있습니다-그것은 끔찍한 안전하지 않습니다. 한 컴퓨터에는 바이러스가 있으며 바이러스가 확산됩니다 (예, 위에서 언급 한 포트 사용). 내 경우에는 서로의 존재에 대해 알기 위해 해당 컴퓨터가 필요하지 않지만 여전히 동일한 네트워크 세그먼트에 있어야합니다. 따라서 방화벽은 나를위한 해결책이 아닙니다.
VL-80

나는 그것을 시도했고 그것은 Windows Server 2008 R2 SP1에서도 작동합니다.
javapowered


동의하다! 이 기사는 내 대답에 있습니다 (: 두 번째 링크.
VL-80

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를 해제하는 데는 여러 가지 이유가 있습니다. 그중 하나는 매우 흥미 롭고 SSH를 통한 SMB 터널링을 허용하는 것입니다 .Windows가 포트를 사용하지 않는 경우 이제 Putty / Cygwin'ed SSH에게 포트를 사용하고 전달하도록 지시 할 수 있습니다 보안 연결을 통해 원격 호스트에 연결 한 다음 원격 파일 공유에 안전하게 액세스 할 수 있습니다 \\localhost.


1
서버 서비스를 비활성화하면 예상치 못한 결과가 발생할 수 있습니다. 내 시스템에서는 Light Explorer 플러그인이 설치되어 메모장 ++ 을 끊었습니다 . 프로그램을 시작하려고해도 더 이상 볼 수있는 창이 나타나지 않습니다 (작업 관리자에서 관찰 할 수 있지만 실행 중임).
Gras Double

1

Start-run-services.msc, 서버 서비스 비활성화


2
나는 그것을했지만 여전히 localhost에서 포트 445에 연결할 수 있습니다
javapowered

1

TCPView 를 사용 하여 포트 445에서 수신중인 프로그램을 찾으십시오.

리스너가 svchost.exe이면 시스템 서비스입니다. 어느 것을 추측하려면 PID를 기록하고 작업 관리자, 서비스 탭으로 이동하여 PID를 클릭하여 정렬하십시오. 이 PID에는 여러 서비스가 있으며 모든 서비스가 후보입니다. 어떤 것을 결정할 수 없다면, 후보 서비스의 이름을 게시하여 의견을 말하십시오.

열린 포트에는 리스너가 필요하지 않습니다. 방화벽에 의해 차단되지 않은 포트는 "open"이라고합니다.


방화벽의 열린 포트는 컴퓨터의 열린 포트와 다릅니다. 리스너가 있고 해당 포트에서 트래픽을보고 있으면 포트가 열려 있습니다. 리스너가 없으면 닫힙니다. 방화벽은 다른 계층을 추가하여 패킷을 허용, 차단 (패킷을 반환 함을 나타냄) 또는 드롭 (자동 무시) 할 수 있지만 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

PowerShell :

$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.