Рейтинг:1

Создание/настройка брандмауэра с помощью iptables

флаг cn

Я хочу установить брандмауэр с помощью iptables.

На сервере работает служба httpd (httpd). ОС - Centos7, и информация ниже приведена после установки iptables-services и запуска iptables без каких-либо изменений.

[root@iptables ~]# iptables -nL --номера строк
Сеть INPUT (политика ACCEPT)
num target prot opt ​​источник пункт назначения
1 ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0 состояние СВЯЗАННО,УСТАНОВЛЕНО
2 ПРИНЯТЬ icmp -- 0.0.0.0/0 0.0.0.0/0
3 ПРИНЯТЬ все -- 0.0.0.0/0 0.0.0.0/0
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 состояние NEW tcp dpt:22
5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Сеть FORWARD (политика ACCEPT)
num target prot opt ​​источник пункт назначения
1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

Цепочка OUTPUT (политика ACCEPT)
num target prot opt ​​источник пункт назначения

КАК вы можете видеть, в цепочке INPUT, Line num3, похоже сервер какой-то открытый.

Но доступ к веб-странице через браузер не работает.

Есть ли что-нибудь, что я должен установить?

как результат iptables-сохранить (взято из комментария):

# Сгенерировано iptables-save v1.4.21, четверг, 16 сентября, 13:41:53 2021 г.
*фильтр
:ВВОД ПРИНЯТЬ [0:0]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [527:50260]
-A ВВОД -m состояние --state СВЯЗАННО, УСТАНОВЛЕНО -j ПРИНЯТЬ
-A ВВОД -p icmp -j ПРИНЯТЬ
-A ВВОД -i lo -j ПРИНЯТЬ
-A INPUT -p tcp -m состояние --state NEW -m tcp --dport 22 -j ПРИНЯТЬ
-A INPUT -j REJECT --reject-with-icmp-host-prohibited
-A FORWARD -j REJECT --reject-with-icmp-host-prohibited
СОВЕРШИТЬ
# Завершено в четверг, 16 сентября, 13:41:53 2021 г.
Nikita Kipriyanov avatar
флаг za
Пожалуйста, покажите вывод `iptables-save`. Трудно понять, как iptables -L отображает вещи. Например, в ваших строках могут быть дополнительные совпадения или команды, которые так не отображаются и так далее.
Seung Hoon Paek avatar
флаг cn
Здравствуйте, спасибо за ваш ответ. Наконец я выяснил причину. После команды iptables-save у меня появилась ошибка. Еще раз спасибо за вашу помощь. Я действительно ценю.
Рейтинг:0
флаг za

Как я и подозревал, iptables -L скрыть дополнительное совпадение, но iptables-сохранить показал голую правду. Ваше правило №3 подходит только для вот - петлевой интерфейс. Этот брандмауэр принимает подключения только к tcp/22 (SSH) извне.

Самое простое решение будет:

iptables -I ВВОД 4 -p tcp --dport 80 -j ПРИНЯТЬ
iptables -I ВВОД 5 -p TCP --dport 443 -j ПРИНЯТЬ

Можно дополнительно отфильтровать с помощью conntrack и объединить оба правила в одно с мультипортом:

iptables -I INPUT 4 -m conntrack --ctstate NEW -p tcp -m multiport --dports 80 443 -j ACCEPT -m comment --comment "Служба HTTP/HTTPS"

Обратите также внимание на комментарий, который я добавил. Используйте комментарии для каждый правило, и через день вы поблагодарите меня за этот совет, если ваш брандмауэр вырастет до более чем 50 правил.

Не используйте -м состояние. Это устарело. Он действительно использует -м коннтрек под капотом, и более прозрачно написать это так явно.

Не используйте iptables -L. Как видите, его вывод выглядит "красивее", и на этом преимущества заканчиваются, но и не дает всех необходимых деталей. Результат iptables-сохранить выглядит менее красиво, но показывает все мельчайшие детали, поэтому всегда используйте последнее.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.