Что означает «входящий» и «исходящий» трафик?

20

Я видел много ресурсов, объясняющих, как настроить брандмауэр сервера, чтобы разрешить входящий и исходящий трафик через стандартные порты HTTP ( 80и 443), но я не могу понять, зачем мне нужен любой из них. Нужно ли разблокировать оба, чтобы «обычный» веб-сайт работал? Для загрузки файлов на работу? Существуют ли ситуации, когда было бы целесообразно разблокировать один и оставить другой заблокированным?

Извините, если это основной вопрос, но я не смог найти его объясненным где-либо (также я не являюсь носителем английского языка). Я знаю, что на «обычном» веб-сайте клиент всегда является тем, кто инициирует запрос, поэтому я предполагаю, что веб-сервер должен принимать входящий трафик через эти порты, и мой здравый смысл говорит мне, что серверу разрешено отправлять ответ без разблокировки чего-либо еще (иначе было бы бессмысленно иметь два типа правил). Это верно?

Но что такое исходящий веб (сервисный) трафик и как он будет использоваться? AFAIK , если сервер хочет установить соединение с другой машиной, конкретный порт , который имеет значения является один в другом конце (т.е. порт назначения будет 80), на ее конце может быть использован любой свободный порт ( порт источника будет случайным ). Я могу открывать HTTP-запросы с моего сервера (используя, wgetнапример), не разблокируя ничего. Поэтому я предполагаю, что мои понятия «входящий» и «исходящий» как-то неверны.

mgibsonbr
источник

Ответы:

22

«Входящий» и «исходящий» с точки зрения рассматриваемой машины.

«Входящие» относятся к пакетам, которые отправляются в другое место и прибывают в машину, в то время как «исходящие» относятся к пакетам, которые отправляются в машину и поступают в другое место.

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

Если вы обращаетесь к своему веб-клиенту, он в основном устанавливает исходящие соединения с другими службами и только изредка (или, возможно, никогда) принимает входящие соединения.

Ясно, как грязь сейчас?

Майкл Хэмптон
источник
3
Я бы добавил, что для отправки ответа вашему клиенту вам необходимо разрешить исходящий трафик для установленных соединений. Таким образом, каждый раз, когда клиент устанавливает соединение с вашим портом 80, ваш сервер может общаться с любым портом клиента.
Шестнадцатое
1
Совершенно верно. Хотя любой брандмауэр с отслеживанием состояния должен обрабатывать это автоматически.
Майкл Хэмптон
1
Итак, мой веб-сервер должен разблокировать входящие соединения на портах 80и 433не должен беспокоиться об исходящих соединениях на этих портах, но должен разрешать исходящие соединения в диапазоне динамических / эфемерных портов, правильно? И я все еще немного смущен исходящей вещью: если веб-клиент попытается подключиться к сайту, порт назначения будет 80, но порт источника может быть любым. Какой порт будет учитывать брандмауэр на этом компьютере при принятии решения о блокировке / разблокировке?
mgibsonbr
@mgibsonbr Теперь вы поворачиваетесь к теоретическому. Мы предпочитаем практические вопросы здесь. :)
Майкл Хэмптон
1
Учитывая, что вы обладаете ограниченными знаниями о брандмауэрах и трафике, я бы порекомендовал вам использовать скрипт построителя брандмауэров. UFW - хорошее начало. Веб-страница проекта - help.ubuntu.com/community/UFW , посмотрите на нее, и вы получите общее представление о брандмауэрах и управлении трафиком. Если вам все еще нужна помощь, я постараюсь дать подробные разъяснения по вашему вопросу.
Шестнадцатое
6

В вашем случае вам нужно только разрешить входящие запросы на порт 80.

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

пуф
источник
1
Это не отвечает на весь его вопрос, но да, если он использует межсетевой экран с отслеживанием состояния, нужны только 80 и 443.
89c3b1b8-b1ae-11e6-b842-48d705
3

Без какого-либо контекста относительно того, что означает конкретный текст, который вы читаете, когда они ссылаются на трафик «исходящих веб-сервисов», я воспользуюсь самым простым подходом в своем ответе:

  1. У вас есть брандмауэр на входе / выходе вашей сети.

  2. Брандмауэр находится в полностью заблокированном состоянии и не допускает входящий или исходящий трафик.

  3. Чтобы ваши внутренние клиенты могли просматривать внешние веб-сайты, вам необходимо настроить правило «исходящая веб-служба», которое позволяет им подключаться к указанным внешним веб-сайтам.

В простейших терминах правило будет выглядеть примерно так:

ЛЮБОЙ внутренний хост к ЛЮБОМ внешнему хосту, где назначение = TCP-порт 80, затем РАЗРЕШИТЬ.

joeqwerty
источник
Выражение «исходящий трафик веб - службы» вышел из этого . В моем конкретном случае я пытаюсь настроить брандмауэр в экземпляре сервера (облако IBM). Установка по умолчанию шла с большинством заблокированных вещей (я мог запустить Apache, но не мог получить к нему доступ извне), и я хотел бы знать, какие второстепенные вещи я должен разблокировать, чтобы иметь возможность обслуживать страницы, получать загрузки файлов (из браузера клиента) и т. д. И я не мог сказать, относится ли этот конкретный фрагмент к моему делу или нет - поскольку он говорит только о том, как, а не почему.
mgibsonbr