Làm cách nào để tắt tính năng mở cổng 445 trên máy chủ windows?


13

Tôi đang cố gắng vô hiệu hóa các dịch vụ mà tôi không cần, để cải thiện độ trễ và cải thiện bảo mật.

Tôi thấy rằng cổng 445 vẫn mở bằng cách thực hiện telnet trên localhost và cổng 445. Vì tôi không cần cổng 445, tôi muốn đóng nó hơn.

Làm cách nào để biết ai đang nghe trên cổng 445 và làm cách nào để tắt nó?

Lưu ý rằng tôi không muốn chặn cổng 445 bằng cách sử dụng tường lửa hoặc một cái gì đó tương tự, nhưng muốn vô hiệu hóa chương trình đã mở cổng 445.


2
Và sau 4 năm, ngày của câu hỏi này đã đến.
BlackPanda

1
Đối với những người không phải là người đam mê: BlackPanda đang đề cập đến phần mềm ransomware WannaCry .
Gras đôi

Câu trả lời:


7

Sau đây chỉ là trích dẫn của hai nguồn khác nhau mà tôi đã sử dụng để vô hiệu hóa thành công cổng 445 trên các máy Windows XP. Tôi đã đóng cổng 445 và 135, 137 - 139, vì vậy tôi đã làm theo tất cả các hướng dẫn trong bài viết và nó đã làm việc cho tôi.

Thông tin chung về cổng 445 (liên kết lưu trữ)

Trong số các cổng mới được Windows 2000 sử dụng là cổng TCP 445 được sử dụng cho SMB qua TCP. Giao thức SMB (Server Message Block) được sử dụng trong số những thứ khác để chia sẻ tệp trong Windows NT / 2000 / XP. Trong Windows NT, nó chạy trên NetBT (NetBIOS trên TCP / IP), sử dụng các cổng nổi tiếng 137, 138 (UDP) và 139 (TCP). Trong Windows 2000 / XP, Microsoft đã thêm khả năng chạy SMB trực tiếp qua TCP / IP mà không cần thêm lớp NetBT. Đối với điều này, họ sử dụng cổng TCP 445.

Với NetBIOS đơn giản nhất trên mạng LAN của bạn có thể là một điều ác cần thiết cho phần mềm cũ. Tuy nhiên, NetBIOS trên mạng LAN của bạn hoặc qua Internet là một rủi ro bảo mật rất lớn (đọc ngu ngốc ...). Tất cả các loại thông tin, chẳng hạn như tên miền, nhóm làm việc và tên hệ thống của bạn, cũng như thông tin tài khoản đều có thể nhận được thông qua NetBIOS. Đó thực sự là lợi ích tốt nhất của bạn để đảm bảo rằng NetBIOS không bao giờ rời khỏi mạng của bạn.

Nếu bạn đang sử dụng máy nhiều homed, tức là nhiều hơn 1 card mạng, thì bạn nên tắt NetBIOS trên mọi card mạng hoặc Kết nối quay số trong thuộc tính TCP / IP, đó không phải là một phần của mạng cục bộ của bạn.

Cách tắt cổng 445

Để tắt Cổng 445:

Thêm khoá đăng ký sau:

Khóa: HKEY_LOCAL_MACHINE \ HỆ THỐNG \ CurrentControlset \ Services \ NetBT \ Tham số Tên: SMBDeviceEnables Loại: DWORD (REG_DWORD) Dữ liệu: 0

Đừng quên khởi động lại máy tính của bạn sau khi vô hiệu hóa các cổng trên để có hiệu lực. Ngoài ra, để kiểm tra xem các cổng đó có bị vô hiệu hóa hay không, bạn có thể mở một dấu nhắc lệnh và nhập netstat -an để xác nhận rằng máy tính của bạn không còn nghe các cổng đó nữa.

(các khóa đăng ký khác với Windows 7 trở đi, xem bài viết này của Microsoft )


Sẽ không vô hiệu hóa cổng 445 giống như sử dụng tường lửa? Sửa một triệu chứng hơn là nguyên nhân. Thay vào đó, việc vô hiệu hóa chỉ NetBIOS sẽ ngăn cổng 445 mở? Chỉ cần hỏi. (Nếu không, có lẽ OP thực sự phải vô hiệu hóa cổng)
nixda

Tôi đã ngăn các máy tính trong mạng nói chuyện với nhau bằng cách sử dụng tương lai mạng Windows. Bạn biết mạng Windows - nó không an toàn khủng khiếp. Một máy tính có virus và nó lây lan xung quanh (vâng, sử dụng các cổng được đề cập ở trên). Trong trường hợp của tôi, tôi thậm chí không cần những máy tính đó để biết về sự tồn tại của nhau, nhưng tôi vẫn cần chúng ở cùng một phân khúc mạng. Vì vậy, tường lửa không phải là một giải pháp cho tôi.
VL-80

Tôi đã thử nó và nó cũng hoạt động trên windows server 2008 r2 sp1.
javapowered

Ngoài ra, tôi đã tìm thấy bài viết hữu ích này ssj100.fullsubject.com/
javapowered

Đồng ý! Bài viết này nằm trong câu trả lời của tôi (: Liên kết thứ hai.
VL-80

10

Tôi muốn mở rộng câu trả lời này

Cổng 445 trong Windows theo mặc định được sử dụng bởi dịch vụ "Máy chủ" (tên thật là "lanmanserver") để cung cấp chia sẻ tệp qua giao thức SMB. Để ngăn Windows nghe trên cổng này, bạn cần dừng và tắt dịch vụ này.

  1. Bạn cần có quyền Quản trị viên hoặc có thể nâng lên thành quản trị viên.
  2. Mở dấu nhắc lệnh với tư cách Quản trị viên.
  3. Loại sc stop lanmanserver, nhấn Enter.
  4. Vì một số lý do tại thời điểm này, cổng vẫn sẽ hoạt động (theo kinh nghiệm của tôi, đã làm điều này ngày hôm nay). Bạn cần khởi động lại hệ thống để ngăn không cho nó nghe trên cổng, nhưng dịch vụ sẽ khởi động lại sau khi khởi động lại, vì vậy bạn cần phải vô hiệu hóa nó để bắt đầu:
  5. Loại sc config lanmanserver start=disabled, nhấn Enter.
  6. Khởi động lại.
  7. Xác minh trong dấu nhắc lệnh với netstat -n -a | findstr "LISTENING" | findstr ":445", nó sẽ in một dòng trống, có nghĩa là không có gì đang nghe trên cổng. (lệnh có thể khác nhau đối với các phiên bản Windows không phải tiếng Anh, không chắc chắn, bạn có thể cần thay đổi "LISTENING" thành một biến thể được dịch)

Có nhiều lý do khác nhau để giải phóng cổng 445 trong Windows, một trong số đó là khá thú vị và đó là cho phép SMB tạo đường hầm thông qua SSH - khi Windows không sử dụng cổng mà bây giờ bạn có thể yêu cầu SSH của Putty / Cygwin sử dụng nó và chuyển tiếp đến một máy chủ từ xa thông qua một kết nối an toàn - sau đó bạn có thể truy cập các tệp từ xa một cách an toàn thông qua \\localhost.


1
Vô hiệu hóa dịch vụ Máy chủ có thể có những hậu quả khá bất ngờ. Trên hệ thống của tôi, nó đã phá vỡ Notepad ++ với plugin Light Explorer được cài đặt. Cố gắng khởi động chương trình không đưa ra bất kỳ cửa sổ hiển thị nào nữa (mặc dù nó đang chạy, như có thể quan sát được trong trình quản lý tác vụ).
Đôi Gras

1

Start-run-services.msc, vô hiệu hóa dịch vụ Máy chủ.


1
tôi đã làm điều đó nhưng tôi vẫn có thể kết nối với cổng 445 trên localhost
javapowered

1

Sử dụng TCPView để tìm hiểu chương trình nào đang nghe trên cổng 445.

Nếu người nghe là svchost.exe, thì đây là một dịch vụ hệ thống. Để đoán xem cái nào, hãy ghi lại PID của nó, đi đến Trình quản lý tác vụ, tab Dịch vụ và nhấp vào PID để sắp xếp theo nó. Sẽ có một số dịch vụ với PID này và tất cả chúng đều là ứng cử viên. Nếu bạn không thể quyết định cái nào, hãy đăng tên của các dịch vụ ứng cử viên để chúng tôi có thể nhận xét về chúng.

Xin lưu ý rằng một cổng mở không cần phải có người nghe. Một cổng được gọi là "mở" khi nó không bị chặn bởi tường lửa.


Cổng mở trên tường lửa khác với cổng mở trên máy tính. Một cổng được mở nếu người nghe có mặt và xem cổng đó để xem lưu lượng. Nó bị đóng nếu không có người nghe tồn tại. Tường lửa thêm một lớp khác có thể cho phép, chặn (trả lại gói cho biết nó đã đóng) hoặc thả (bỏ qua âm thầm) một gói, nhưng tách biệt với việc một cổng được mở hay đóng tại HĐH.
NetworkLlama

0

Cổng 445 = SMB = Chia sẻ tệp và máy in. Vì vậy, vô hiệu hóa chia sẻ tập tin trong các tùy chọn kết nối mạng để đóng cổng.


2
Tôi đã tắt chia sẻ Máy in và Tệp nhưng cổng vẫn mở.
javapowered

Theo danh sách như vậy: en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers 445 cũng được sử dụng cho Active Directory. Bạn có lưu trữ này?
magicandre1981

1
không tôi không cần bất cứ điều gì và tôi muốn vô hiệu hóa mọi thứ, tôi đang sử dụng máy chủ để giao dịch.
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

Thêm chi tiết Cách tắt tính năng mở cổng 445 trên windows bằng PowerShell


Xin vui lòng không gửi cùng một câu trả lời cho nhiều câu hỏi. Nếu cùng một thông tin thực sự trả lời cả hai câu hỏi, thì một câu hỏi (thường là câu hỏi mới hơn) nên được đóng lại như một bản sao của câu hỏi khác. Bạn có thể chỉ ra điều này bằng cách bỏ phiếu để đóng nó dưới dạng trùng lặp hoặc, nếu bạn không đủ danh tiếng cho điều đó, hãy giơ cờ để cho biết đó là bản sao. Mặt khác, điều chỉnh câu trả lời của bạn cho câu hỏi này và không chỉ dán cùng một câu trả lời ở nhiều nơi.
DavidPostill
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.