Назад | Перейти на главную страницу

Настройка брандмауэра - ввод и вывод

Извините за мой английский.

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

Например, возьмем базовый HTTP-порт 80. Для настройки стандартного клиента. Если я хочу, чтобы он имел доступ к Интернету, я думаю, что я должен открыть порт 80 в INPUT AND OUTPUT на клиенте. Это правильно? Вот почему я думаю, что:

То же самое относится и к серверу: он получит запрос на порт 80 и отправит ответ на порт 80, поэтому HTTP-сервер должен иметь порт 80, открытый для INPUT и OUPUT.

Я это хорошо понимаю?

Трафик обычно не возвращается на тот же порт, на который он уходит.

Когда клиент генерирует запрос, например для веб-страницы, порт источника генерируется случайным образом. Ваш исходящий трафик может выглядеть так Source:50000 Destination:80, а для обратного трафика числа будут перевернуты Source:80 Destination:50000. Это связано с тем, что зарезервированные порты предназначены только для серверов, которые прослушивают запросы на обслуживание, то есть трафик, предназначенный для порта 80, должен направляться НА веб-сервер, а не ОТ него.

Если ваш брандмауэр НЕ поддерживает состояние, тогда да, вы правы.

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

Например, в Linux вы можете добавить:

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

чтобы разрешить любые входящие соединения, инициированные хостом.