За что отвечает порт 445 и как его закрыть

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

Проблема

Проблема Брандмауэра Windows (Windows Firewall) заключается не в том как закрыть все порты, а в том, как открыть только необходимые. И главное, что сходу хрен поймешь, каким образом ограничить подключение к некоторым портам по IP адресам клиентов. По отдельности решить эти задачи не сложно, но чтобы было вместе — не встретил ни одного толкового руководства, поэтому и написана данная заметка. Так же, найденное решение не предполагает установки стороннего фаервола.

Недостатки Брандмауэра Windows: — Если создать запрещающее правило для всех портов, а потом разрешающие для необходимых, то они не попадают в белый список, т.к. запрещающие правила приоритетнее разрешающих. Т.е. если запрет на подключение по порту существует, то разрешение на этот порт работать уже не будет. — Нет приоритетов правил, как в нормальных фаерволах, чтобы сначала указать открытые порты, а последним задать запрещающее правило для всех остальных.

Допустим, есть VPS на винде, но у хостера нет внешнего фаервола, которым можно прикрыться. Свежеустановленная винда торчит наружу как минимум 135/tcp, 445/tcp, 49154/tcp и 3389/tcp (если включен RDP) портами даже в публичной сети (Public network), что требует исправления.

Применение и возможности PuTTY

PuTTY — программа, которая позволяет установить соединение с удаленным сервером или компьютером. Программу можно также применять для реализации следующих целей:

  • удаленного администрирования;
  • взаимодействия с VPS-серверами.
  • работы с Telnet-терминалами;
  • настройки маршрутизаторов через RS-232;

Работать рекомендуется через SSH, поскольку он обеспечивает высокий уровень безопасности соединения с другим компьютером. PuTTY поддерживает Telnet, реализующий текстовый интерфейс в терминале (только для отображения текстовой информации в режиме консоли).

Применение и возможности PuTTY

Возможности программы

  • Сохранение информации и конфигурационных параметров для многократного применения.
  • Работа с SSH-ключами.
  • Поддержка разных версий SSH-протокола.
  • Встроенные клиенты SCP и SFTP, используемые для различных операций с файлами. Возможности первого ограничиваются только функцией копирования.
  • Перенаправление портов через протокол SSH.
  • Поддержка xterm, ECMA-48 и VT-102.
  • Возможность соединения по IPv6.
  • Работа с алгоритмами шифрования.
  • Аутентификация через ключ, который расположен на удаленной машине.
  • Соединение через proxy.
  • Использование порта RS-232.

Что такое TCP-порт

Порт 445 является одним из TCP-портов. TCP — это протокол, то есть набор условий и правил, обеспечивающий стабильное взаимодействие между несколькими устройствами через интернет. Этот протокол, как и всё остальные, устанавливает определённый формат передачи информации. Если бы его не было, то, например, с одного устройства пакет информации отправлялся бы в виде строки «Пользователь: Name», в то время как другое устройство ожидало увидеть строку «Name — пользователь», вследствие чего оно не смогло бы правильно обработать запрос и интернет-соединение прервалось.

Читайте также:  Выпуск свободного видеоредактора OpenShot 2.5.0

TCP протокол также обеспечивает безопасность, выполняя проверку IP-адреса (уникального номера устройства) при отправке каждого пакета данных. Благодаря этому даже если в поток пересылаемой информации внедрится какое-либо постороннее устройство, данные ему отправлены не будут.

За что отвечает порт 445

Порт под номером 445 — один из многих, работающих по протоколу TCP. Но у него есть определённая задача, которой не занимаются другие порты, — обеспечение соединения между общими принтерами, сканерами и папками. Общими называются устройства и данные, доступ к которым можно получить с любого компьютера, а не только с того, к которому они подключены или на котором находятся.

Например, к общему принтеру можно подключиться с компьютера, не имеющего прямого кабельного соединения с печатающим устройством. Для этого нужно выполнить соединение с компьютером, к которому подключён кабель от принтера, через порт 445. После этого пользователь устройства сможет отправлять на принтер команды (начать печать, остановить её и т. д.) без физического подключения к нему.

Имея подключение к порту 445, можно также просматривать содержимое жёсткого диска и изменять его.

Почему порт 445 стоит закрыть

С одной стороны, порт 445 будет полезен, если вы работаете на нескольких компьютерах сразу: можно наладить быстрый обмен данными и управление устройствами, подключёнными к другому компьютеру, через интернет. С другой — открытый порт 445 подвергает вас опасности. Опытные люди могут использовать его как уязвимость операционной системы: подключатся к нему и получат доступ к вашим файлам, находящимся на жёстком диске.

Если вы не собираетесь использовать возможности этого порта или храните в памяти компьютера важные файлы, воспользуйтесь нижеописанными инструкциями, чтобы закрыть порт, залатав тем самым одну из потенциально опасных дыр Windows.

Как изменить SSH порт в Linux

Для того чтобы изменить порт SSH по умолчанию в Linux, нужно открыть файл конфигурации в вашем любимом редакторе следующей командой:

nano /etc/ssh/sshd_config

Найдите и закомментируйте строку начинающуюся с Port 22, путём добавления в начало строки знака #. Ниже добавьте новую строку и укажите в ней номер порта, на который хотите поменять стандартный.

В примере ниже показана настройка службы SSH для работы на порту 3335/TCP. Вы можете выбрать любое значение. Рекомендуется выбирать цифру больше 1024 (чтобы не попасть на стандартный порт используемый другой службой). Максимально возможная цифра – 65535.

#Port 22 Port 3335

Сохраните файл и перезапустите службу SSH, для того чтобы изменения вступили в силу.

Как изменить SSH порт в Linux

systemctl restart ssh

Читайте также:  Как создавать папки в iOS 14

Следующими командами можно проверить, что изменения сохранились корректно и какой порт SSH сейчас используется.

netstat -tlpn| grep ssh ss -tlpn| grep ssh

В дистрибутивах на базе CentOS или RHEL нужно установить пакет policycoreutils и добавить несколько правил в систему безопасности SELinux. Затем перезапустить службу.

yum install policycoreutils semanage port -a -t ssh_port_t -p tcp 3335 semanage port -m -t ssh_port_t -p tcp 3335 systemctl restart sshd

Также, не забудьте добавить правила для файрвола (если он у вас установлен), для того чтобы разрешить входящие подключения через новый порт SSH.

Переброс удаленного порта на локальную машину (Remote TCP forwarding)

Есть еще один вариант применения SSH туннеля – remote TCP forwarding. Через SSH туннель вы можете открыть доступ удаленному серверу к локальному порту на вашем компьютере или порту на другом компьютере в вашей локальной сети. Например, вы хотите, чтобы внешний сервер () получил доступ к вашему Интранет сайту (не опубликованному в Интернете). Для создания обратного туннеля, используйте такую команду:

ssh -R 8080:internalwebsever:80 [email protected]

Теперь, чтобы на удаленном SSH сервер получить доступ к веб серверу internalwebsever достаточно в браузере набрать адрес http://localhost:8080.

Во всех версиях Windows можно создать правила перенаправления портов с помощью команды netsh interface portproxy.

С помощью SSH туннелей вы можете строить целые цепочки для форвардинга портов. Включить или отключить SSH туннелирование можно в конфигурационном файле sshd_config директивами:

AllowStreamLocalForwarding yes

AllowTcpForwarding remote

Как в Linux проверить открытые порты

Для этого имеются встроенные инструменты. Они показывают, какие порты в Linux открыты. Первый из них — netstat.

Пример его использования: sudo netstat -ntulp

Следующий за самой командой набор ключей представляет собой дополнительные параметры:

  • -l. Означает, что нужно показать только те порты, которые в данный момент прослушиваются;
  • -p. Более подробное отражение информации о приложении, использующем порт. В частности, отобразятся его название и ID процесса;
  • -t. Включить в список TCP порты;
  • -u. То же самое, только с UDP;
  • -n. Означает что адреса IP будут показаны в виде чисел.

Заключение

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

На вашей Windows необходимо устанавливать присылаемые Microsoft критические пакеты обновлений, антивирусные программы, безопасные браузеры и другое ПО, повышающее безопасность и анонимность.

Предлагаем обсудить в комментариях тему защиты сетевых портов и делиться полезными методами повышения конфиденциальности. Не забудьте отправить ссылку на эту статью вашим друзьям, чтобы они тоже знали, как закрыть открытые порты Windows.

Читайте также:  Обзор лучших эмуляторов терминала для Linux

Посмотрите также наше видео, где мы более подробно рассказываем о том, как закрыть уязвимые порты:

Доказательство в пудинге

Пришло время посмотреть, работает ли это. Мы knockd демон knockd с помощью этой команды:

sudo systemctrl начало knockd

Теперь мы прыгнем на другую машину и попробуем подключиться. Мы также установили инструмент knockd на этот компьютер не потому, что хотим настроить детонацию портов, а потому, что пакет knockd предоставляет еще один инструмент под названием knock . Мы будем использовать эту машину для стрельбы в нашей секретной последовательности и постучать за нас.

Используйте следующую команду, чтобы отправить вашу секретную последовательность запросов на подключение к портам хост-компьютера, который выбивает порт с IP-адресом :

стук 7000 8000 9000 -d 500

Это говорит knock чтобы нацелить компьютер на IP-адрес и запустить запрос на подключение к портам 7000, 8000 и 9000, в свою очередь, с -d (задержка) между ними составляет 500 миллисекунд.

Затем пользователь с именем «dave» отправляет запрос SSH на :

ssh dave @

Его соединение принято, он вводит свой пароль, и начинается его удаленный сеанс. Его командная [email protected] меняется с [email protected] на [email protected] . Чтобы выйти из удаленного компьютера, он набирает:

выход

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

стук 9000 8000 7000 -d 500

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

Итак, как это выглядело с другой стороны? Системный администратор на узле, блокирующем порт, использует следующую команду для просмотра новых записей, поступающих в системный журнал:

tail -f / var / log / syslog

  • Вы видите три записи openSSH. Они поднимаются, поскольку каждый порт предназначен для утилиты удаленного стука.
  • Когда все три стадии последовательности запуска выполнены, запись « ОТКРЫТЬ СЕЗАМ » регистрируется
  • Команда для iptables правила в список правил iptables отправляется. Он разрешает доступ через SSH через порт 22 с определенного IP-адреса ПК, который дал правильный секретный стук ().
  • Пользователь «Дэйв» подключается только на несколько секунд, а затем отключается.
  • Вы видите три записи closeSSH. Они поднимаются, поскольку каждый порт предназначен для утилиты удаленного детонации — он сообщает хосту детонации портов закрыть порт 22.
  • После запуска всех трех этапов мы снова получаем сообщение «ОТКРЫТЬ СЕЗАМ». Команда отправляется на брандмауэр для удаления правила. (Почему не «ЗАКРЫТЬ СЕЗАМ», когда он закрывает порт? Кто знает?)

Теперь единственное правило в списке правил iptables порта 22 — это правило, которое мы ввели в начале, чтобы закрыть этот порт. Итак, порт 22 теперь снова закрыт.