Що означає "вхідний" та "вихідний" трафік?


20

Я бачив багато ресурсів, що пояснюють, як налаштувати брандмауер сервера, щоб дозволити вхідному та вихідному трафіку на стандартних портах HTTP ( 80і 443), але я не можу зрозуміти, чому мені знадобиться будь-який з них. Чи потрібно розблокувати обидва, щоб "звичайний" веб-сайт працював? Щоб завантаження файлів працювало? Чи є ситуації, коли було б доцільно розблокувати одне, а інше залишити заблокованим?

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

Але що таке вихідний веб (службовий) трафік і яким би його використання? AFAIK, якби сервер хотів ініціювати з'єднання з іншою машиною, конкретний важливий порт - той, який знаходиться на іншому кінці (тобто, порт призначення був би 80), на його кінці може бути використаний будь-який вільний порт ( вихідний порт буде випадковим ). Я можу відкривати HTTP-запити зі свого сервера (використовуючи, wgetнаприклад), не розблоковуючи нічого. Тож я припускаю, що мої поняття "вхідні" та "вихідні" якимось чином помиляються.

Відповіді:


22

"Вхідні" та "вихідні" є з точки зору машини, про яку йдеться.

"Вхідні" позначають пакети, які беруть участь в іншому місці та надходять до машини, тоді як "вихідні" посилаються на пакети, які беруть початок на машині та надходять в інше місце.

Якщо ви посилаєтесь на свій веб-сервер, він здебільшого приймає вхідні з'єднання до свого веб-сервісу, і лише іноді (а може і ніколи) здійснює вихідні з'єднання.

Якщо ви посилаєтесь на свого веб-клієнта, він здебільшого здійснює вихідні з'єднання з іншими службами, і лише іноді (а може і ніколи) приймає вхідні з'єднання.

Ясно, як бруд зараз?


3
Я б додав tha Для того, щоб надіслати відповідь своєму клієнту, вам потрібно дозволити вихідний трафік для встановлених з'єднань. Отже, коли клієнт встановлює з'єднання з вашим портом 80, ваш сервер може спілкуватися з будь-яким портом клієнта.
Hex

1
Цілком правильно. Хоча будь-який стаціонарний брандмауер повинен працювати з цим автоматично.
Майкл Хемптон

1
Отже, мій веб - сервер повинен розблокувати вхідні з'єднання на порти 80і 433, не потрібно турбуватися про вихідних з'єднань на цих портах, але необхідно дозволити вихідні з'єднання в динамічному / діапазону тимчасових портів, це правильно? І я все ще трохи плутаюсь із вихідною річчю: якщо веб-клієнт намагається підключитися до сайту, був би порт призначення 80, але вихідним портом може бути хто завгодно. Який порт брандмауер на цій машині враховував, вирішуючи блокувати / розблокувати?
mgibsonbr

@mgibsonbr Тепер ви поглядаєте на теоретичне. Тут ми віддаємо перевагу практичним питанням. :)
Майкл Гемптон

1
Враховуючи, що ви маєте обмежені знання про брандмауері та трафік, я б рекомендував вам використовувати сценарій для створення брандмауера. UFW - це хороший старт. Веб-сторінка проекту - це help.ubuntu.com/community/UFW , ознайомтеся з цим, і ви отримаєте базове розуміння брандмауерів та управління трафіком. Якщо вам все-таки потрібна допомога, я спробую детально роз’яснити ваше питання.
Hex

6

У вашому випадку вам потрібно лише дозволити вхідні запити на порт 80.

Коли з'єднання встановлено, брандмауер автоматично відпускає пакети назад у порт клієнта. Для цього вам не потрібно створювати правила, оскільки брандмауер знає.


1
Це не відповідає на все його запитання, але так, якщо він використовує потужний брандмауер, потрібні лише 80 та 443.
89c3b1b8-b1ae-11e6-b842-48d705

3

Без будь-якого контексту щодо того, що означає конкретний текст, який ви читаєте, коли вони посилаються на трафік "вихідної веб-служби", я прийму найпростіший підхід у своїй відповіді:

  1. У вас є брандмауер під час входу / виходу вашої мережі.

  2. Брандмауер працює у повністю заблокованому стані та дозволяє НІ вхідному та вихідному трафіку.

  3. Для того, щоб ваші внутрішні клієнти могли переглядати зовнішні веб-сайти, вам потрібно налаштувати правило "вихідної веб-служби", яке дозволяє їм підключатися до зазначених зовнішніх веб-сайтів.

Простіше кажучи, правило було б таким чином:

БУДЬ-ЯК Внутрішній хост для БУДЬ-якого зовнішнього хоста, де призначення = TCP-порт 80, то ДОБРО.


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