як відключити функцію, що відкрила порт 445 на сервері Windows?


13

Я намагаюся відключити послуги, які мені не потрібні, щоб поліпшити затримку та підвищити безпеку.

Я виявив, що порт 445 все ще відкритий, роблячи telnet на localhost і порт 445. Оскільки порт 445 мені не потрібен, я вважаю за краще закрити його.

Як я можу дізнатися, хто слухає порт 445 і як його відключити?

Зауважте, що я не хочу блокувати порт 445 за допомогою брандмауера або щось подібне, але хочу відключити програму, у якої відкритий порт 445.


2
І через 4 роки настає день цього питання.
BlackPanda

1
Для людей, які не полюбляють прихильників : BlackPanda має на увазі викупне програмне забезпечення WannaCry .
Гра "Двомісний"

Відповіді:


7

Далі йде лише цитування двох різних джерел, які я використовував для успішного відключення порту 445 на машинах Windows XP. Я закривав порт 445 і 135, 137 - 139, тому я дотримувався всіх інструкцій у статті, і це працювало на мене.

Загальна інформація про порт 445 (архів посилання)

Серед нових портів, які використовує Windows 2000, є порт TCP 445, який використовується для SMB через TCP. Протокол SMB (серверний блок повідомлень) використовується серед іншого для обміну файлами в Windows NT / 2000 / XP. У Windows NT він працював поверх NetBT (NetBIOS через TCP / IP), який використовував відомі порти 137, 138 (UDP) та 139 (TCP). У Windows 2000 / XP Microsoft додала можливість запускати SMB безпосередньо через TCP / IP, без зайвого шару NetBT. Для цього вони використовують порт 445 TCP.

Найпростіший NetBIOS у вашій локальній мережі може бути просто необхідним злом для застарілого програмного забезпечення. NetBIOS у вашій WAN або через Інтернет є величезним (читайте нерозумним ...) ризиком безпеки. Всі види інформації, такі як ваш домен, робочі групи та назви системи, а також інформація про облікові записи можна отримати через NetBIOS. Це дійсно в інтересах, щоб NetBIOS ніколи не залишав вашу мережу.

Якщо ви використовуєте багатодомний пристрій, тобто більше 1 мережевої карти, вам слід відключити NetBIOS на кожній мережевій карті або комутованому підключенні під властивостями TCP / IP, що не є частиною вашої локальної мережі.

Як відключити порт 445

Щоб відключити порт 445:

Додати наступний ключ реєстру:

Ключ: HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ NetBT \ Назва параметрів: SMBDeviceEnabled Type: DWORD (REG_DWORD) Дані: 0

Не забудьте перезавантажити комп'ютер після відключення вищезазначених портів для ефекту. Крім того, щоб перевірити, що ці порти відключені, ви можете відкрити командний рядок і ввести netstat -an, щоб підтвердити, що ваш комп'ютер більше не слухає ці порти.

(ключі реєстру для Windows 7 різні, див. цю статтю Microsoft )


Чи не відключення порту 445 буде таким самим, як використання брандмауера? Виправлення симптому, а не причини. Натомість відключення просто NetBIOS не дозволить порту 445 відкритись? Просто питаю. (Якщо ні, можливо, OP дійсно повинен відключити порт)
nixda

Мені заважали комп'ютери в мережі спілкуватися один з одним за допомогою мережних ф'ючерсів Windows. Ви знаєте мережу Windows - це жахливо небезпечно. На одному комп’ютері є вірус, і він поширюється навколо (так, використовуючи згадані вище порти). У моєму випадку мені ці комп’ютери не потрібні навіть для того, щоб знати про існування один одного, але мені все одно потрібно, щоб вони знаходилися в одному сегменті мережі. Отже, брандмауер не був рішенням для мене.
VL-80

Я спробував це, і він працює на Windows Server 2008 r2 sp1 теж.
javapowered

також я знайшов цю корисну статтю ssj100.fullsubject.com/…
javapowered

Погодьтеся! Ця стаття є моєю відповіддю (: Друга посилання.
VL-80

11

Я хотів би продовжити цю відповідь

Порт 445 в Windows за замовчуванням використовується сервісом "Сервер" (справжнє ім'я "lanmanserver") для забезпечення обміну файлами через протокол SMB. Щоб запобігти прослуховуванню 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" на перекладений варіант)

Існують різні причини звільнення порту 445 в Windows, одна з них дуже цікава, і це дозволити тунелювання SMB через SSH - коли Windows не використовує порт, ви тепер можете сказати Putty / Cygwin'ed SSH використовувати його та пересилати до віддаленого хоста через захищене з'єднання - тоді ви можете безпечно отримати доступ до віддаленого спільного доступу до файлів через \\localhost.


1
Відключення сервера може мати досить несподівані наслідки. У моїй системі він зламав Notepad ++ із встановленим плагіном Light Explorer . Спроба запустити програму вже не давала видимого вікна (хоч вона працювала, як це було помічено в диспетчері завдань).
Гра "Двомісний"

1

Запустіть-run-services.msc, відключіть серверну службу.


2
Я це зробив, але я все ще в змозі підключитися до порту 445 на localhost
javapowered

1

Використовуйте TCPView, щоб дізнатися, яка програма слухає порт 445.

Якщо слухачем є svchost.exe, це системна послуга. Щоб відгадати, який із них, запишіть його PID, перейдіть до диспетчера завдань, вкладки Послуги та натисніть на PID, щоб сортувати за ним. З цим PID буде декілька служб, і всі вони є кандидатами. Якщо ви не можете вирішити, який саме, опублікуйте імена служб-кандидатів, щоб ми могли їх коментувати.

Зверніть увагу, що відкритий порт не повинен мати слухача. Порт називається "відкритим", коли він не блокується брандмауером.


Відкритий порт на брандмауері відрізняється від відкритого порту на комп'ютері. Порт відкритий, якщо слухач присутній і дивиться цей порт за трафіком. Він закритий, якщо слухача немає. Брандмауер додає ще один шар, який може дозволити, заблокувати (повернути пакет із зазначенням, що він закритий) або скинути (мовчки ігнорувати) пакет, але це окремо від того, відкритий чи закритий порт в ОС.
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

Детальніше Як відключити функцію, що відкрила порт 445 у Windows від PowerShell


Будь ласка, не публікуйте однакову відповідь на кілька запитань. Якщо однакова інформація дійсно відповідає на обидва запитання, то одне питання (як правило, нове) має бути закрите як дублікат іншого. Ви можете вказати це, проголосувавши, щоб закрити його як дублікат або, якщо у вас недостатньо репутації для цього, підняти прапор, щоб вказати, що це дублікат. В іншому випадку підгадуйте свою відповідь на це питання і не просто вставляйте однакову відповідь у декілька місць.
DavidPostill
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.