2

При создании входящего соединения TCP/IP или UDP нам нужно открыть порт брандмауэра или получить привилегию для указанного порта.

Почему не для исходящих соединений TCP/IP?

2 ответа2

4

Некоторые устаревшие или упрощенные брандмауэры 1990-х годов могли применять правила только к отдельным пакетам изолированно, но все современные брандмауэры - это то, что мы называем брандмауэрами Stateful Packet Inspection (SPI). Брандмауэры SPI запоминают состояние потока трафика (например, помня, что они видели исходящую синхронизацию TCP, инициировавшую сеанс TCP) и применяют эту информацию о состоянии к будущим решениям о разрешении / запрете (например, о разрешении потоковой передачи других пакетов в этом сеансе TCP). в любом направлении, поскольку оно было инициировано "изнутри").

Многие домашние шлюзы даже не имеют полнофункциональных брандмауэров, но полагаются на тот факт, что NAT (в частности, "NAPT", то есть "PAT") действует как своего рода "брандмауэр SPI для бедного человека". Шлюзы NAT нуждаются в сопоставлении портов, потому что в противном случае, когда входящее, инициированное извне, попытка соединения попадает на внешний IP-адрес шлюза NAT, он не будет знать, на какой частный клиент перенаправить его, поскольку у него нет записанного состояния. , Так что нужно просто бросить это. Сопоставления портов позволяют NAT знать, какому клиенту пересылать определенные виды входящих запросов.

Что касается получения привилегий для размещения прослушивателя на заданном порту на хосте, некоторые ОС ограничивают возможность размещения прослушивателей на "общеизвестных" портах ниже 1024 или даже на "зарегистрированных" портах ниже 49152, но большинство ОС допускают любые обычному пользователю поставить слушателя на "эфемерные" порты выше 49152. Если вы были разочарованы тем, что у вас не было привилегий для запуска процесса собственного веб-сервера на порту 80 (в "хорошо известном" диапазоне портов) или 8080 (зарегистрированном), попробуйте запустить его на 60080 (эфемерно).

Исходящим соединениям TCP и UDP автоматически назначается порт из эфемерного диапазона (некоторые операционные системы могут даже использовать части "зарегистрированного" диапазона для эфемерных портов).

3

На самом деле исходящие TCP-соединения также должны быть открыты брандмауэром . Можно настроить межсетевой экран таким образом, чтобы он также блокировал входящее и исходящее соединение. Посмотрите на вышеупомянутую статью о брандмауэре.

Существует такая вещь, как правило по умолчанию для брандмауэра. Наиболее безопасная конфигурация будет иметь правило по умолчанию для блокировки всего, кроме нескольких портов, которые необходимо открыть. Для исходящих соединений правилом по умолчанию может быть "разрешить все", если нет специальной настройки безопасности или вы не доверяете программам, которые запускаются на компьютере (или "внутри" брандмауэра) - в этом случае правилом по умолчанию будет отбрасывать все и разрешать подключения только для разрешенных портов или адресов. И вам также нужно будет открыть брандмауэр для исходящих соединений.

Так что все это только вопрос конфигурации брандмауэра и правил брандмауэра по умолчанию.

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