13

Я пытаюсь отключить ненужные мне сервисы, чтобы увеличить время ожидания и повысить безопасность.

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

Как я могу узнать, кто слушает порт 445 и как его отключить?

Обратите внимание, что я не хочу блокировать порт 445 с помощью брандмауэра или чего-то подобного, но хочу отключить программу, у которой открыт порт 445.

6 ответов6

10

Я хотел бы расширить этот ответ

Порт 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, но не уверен, что вам может потребоваться изменить "СЛУШАТЬ" на переведенный вариант)

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

7

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

Общая информация о порте 445 (ссылка на архив)

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

На самом простом NetBIOS в вашей локальной сети может быть просто необходимым злом для устаревшего программного обеспечения. Однако NetBIOS в вашей глобальной сети или через Интернет представляет собой огромный (читай глупо ...) риск для безопасности. Всякая информация, такая как ваш домен, имена рабочих групп и систем, а также информация об учетной записи доступна через NetBIOS. В ваших интересах, чтобы NetBIOS никогда не покидал вашу сеть.

Если вы используете многодомный компьютер, то есть более 1 сетевой карты, то вы должны отключить NetBIOS на каждой сетевой карте или Dial-Up Connection в свойствах TCP/IP, которые не являются частью вашей локальной сети.

Как отключить порт 445

Чтобы отключить порт 445:

Добавьте следующий раздел реестра:

Ключ: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\ Параметры Имя: SMBDeviceEnabled Тип: DWORD (REG_DWORD) Данные: 0

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

(ключи реестра различаются для Windows 7 и далее, см. эту статью Microsoft)

1

Используйте TCPView, чтобы узнать, какая программа прослушивает порт 445.

Если слушателем является svchost.exe, то это системная служба. Чтобы угадать, какой из них, запишите его PID, перейдите в диспетчер задач, перейдите на вкладку Services и нажмите PID для сортировки по нему. Будет несколько служб с этим PID, и все они являются кандидатами. Если вы не можете решить, какой из них, опубликуйте названия служб кандидатов, чтобы мы могли прокомментировать их.

Обратите внимание, что открытый порт не должен иметь слушателя. Порт называется "открытым", если он не заблокирован брандмауэром.

1

Запустите run-services.msc, отключите службу сервера.

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

0

Порт 445 = SMB = принтер и общий доступ к файлам. Поэтому отключите общий доступ к файлам в настройках сетевого подключения, чтобы закрыть порт.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .