Hostwinds Учебники

Результаты поиска для:


Содержание


Что такое iPtables?
Как установить IPTables?
Как использовать IPTables?
Список правил по спецификации
Список правил по определенной цепочке
Список правил в виде таблиц
Удалить правило, используя спецификацию
Правила сброса
Заблокировать IP-адрес
Разрешить все входящие SSH-соединения
Разрешить все входящие SSH-соединения с явного IP
Разрешить исходящие соединения SSH
Разрешить все входящие соединения HTTP и HTTPS
Блокировать исходящий SMTP
Разрешить входящие SMTP-соединения

Управление правилами IPTables

Теги: CentOS Web Panel,  Firewall,  Linux 

Что такое iPtables?
Как установить IPTables?
Как использовать IPTables?
Список правил по спецификации
Список правил по определенной цепочке
Список правил в виде таблиц
Удалить правило, используя спецификацию
Правила сброса
Заблокировать IP-адрес
Разрешить все входящие SSH-соединения
Разрешить все входящие SSH-соединения с явного IP
Разрешить исходящие соединения SSH
Разрешить все входящие соединения HTTP и HTTPS
Блокировать исходящий SMTP
Разрешить входящие SMTP-соединения

Что такое iPtables?

Iptables - это чрезвычайно гибкая утилита брандмауэра на основе командной строки, построенная специально для дистрибутивов Linux.Iptables использует цепочки политики, чтобы позволить или блокировать трафик.Когда соединение устанавливается на вашем сервере, iptables определит правило в своем списке, чтобы определить, какие действия необходимо предпринять.Если для соединения не присутствует правила, он прибегается к действию по умолчанию, определенным для вашей системы.

Как установить IPTables?

Обычно IPTables устанавливается по умолчанию в большинстве систем Linux. Чтобы обновить или установить его, вы можете получить пакет IPTables, введя следующие команды:

Примечание: IPTables должен быть предварительно установлен на CentOS 6.

Ubuntu

apt-get install iptables-persistent

CentOS 7

systemctl stop firewalld
systemctl mask firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables

Теперь iPtables будут установлены в вашей системе.Давайте посмотрим, как использовать iptables.

Как использовать IPTables?

Этот раздел будет охватывать некоторые базовые определенные команды iptables, такие как список текущих наборов и блокировка IP-адреса от установления соединения.

Список правил по спецификации

Чтобы перечислить текущую активную учетную запись по спецификации, вы выпустите следующую команду:

iptables -S

Список правил по определенной цепочке

Чтобы отобразить правила, применяемые в настоящее время на определенную цепочку, вы можете использовать следующую команду. Этот пример покажет все спецификации правила для цепочки UDP:

iptables -S UDP

Список правил в виде таблиц

Вы можете перечислить все текущие правила IPTables, которые используются в табличном представлении, с помощью следующей команды, которая вызывает параметр -L. Здесь будут перечислены все текущие наборы правил, отсортированные по типу цепочки.

iptables -L

Удалить правило, используя спецификацию

Вы можете удалить правила в iPtables с помощью опции -d.Вы можете удалить наборовки несколькими разными способами.Мы будем охватывать удаление правил по спецификации.Например, если вы хотите удалить правило, которое позволяет всем входящим трафиком на порту 443, вы бы использовали следующую команду:

iptables -D INPUT -i eth0 -p tcp --dport 443 -j ACCEPT

Правила сброса

С IPTables вы можете очистить правила. Это можно сделать путем промывки одной цепи или всех цепей. Мы рассмотрим оба метода ниже.

Чтобы промыть одну цепочку, вы можете использовать опцию -F или эквивалентный опция -flush, в сочетании с именем цепочки, который вы хотели бы промыть.Например, вы можете удалить все правила в входной цепи, используя следующую команду:

iptables -F INPUT

Чтобы промыть все цепи, вы бы снова использовали опцию -f или эквивалентный опция без каких-либо дополнительных параметров.Это эффективно удалит все правила брандмауэра, которые в настоящее время активны на сервере.Команда выглядит следующим образом:

iptables -F

Заблокировать IP-адрес

Iptables предоставляет возможность блокировать сетевые соединения с определенного IP-адреса.Например, чтобы заблокировать все входящие соединения от 10.10.10.10, вы выполните следующую команду:

iptables -A INPUT -s 10.10.10.10 -j DROP

Вы также можете отклонить соединение, которое ответит с ошибкой «Connection отказано».Заменить падение с отклонением.

iptables -A INPUT -s 10.10.10.10 -j REJECT

Вы также можете блокировать соединения от определенного IP на определенное сетевое устройство, такое как ETH1, используя опцию -i.

iptables -A INPUT -i eth1 -s 10.10.10.10 -j DROP

Разрешить все входящие SSH-соединения

Чтобы разрешить ВСЕ входящие SSH-соединения на SSH-порт по умолчанию (22), используйте следующие команды:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Разрешить все входящие SSH-соединения с явного IP

Вы также можете ограничить SSH-соединения только с определенного IP-адреса или подсети.Например, если вы хотите разрешить IP-адрес 10.10.10.10, чтобы подключиться к серверу через SSH, вы бы использовали следующую команду:

iptables -A INPUT -p tcp -s 10.10.10.10 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Это также можно сделать для всей подсети, добавив подсеть в команду, например / 27, как показано в следующей команде:

iptables -A INPUT -p tcp -s 10.10.10.10/27 --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

Разрешить исходящие соединения SSH

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

iptables -A OUTPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Разрешить все входящие соединения HTTP и HTTPS

По умолчанию HTTP-трафик обычно подается в порту 80, а трафик HTTPS обычно обслуживается в порту 443. Вы можете разрешить оба типа подключений к вашему веб-серверу, используя следующие команды.

Запись: Если вы хотите разрешить только один, а не другой, удалите номер порта из команды, которая коррелирует к протоколу, который вы хотите разрешить.

iptables -A INPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Блокировать исходящий SMTP

Iptables позволяет блокировать определенные порты, такие как порт SMTP по умолчанию (25). Например, вы не можете разрешить исходящую почту на вашем сервере. Чтобы остановить это с помощью iptables, вы можете выдать следующую команду:

iptables -A OUTPUT -p tcp --dport 25 -j REJECT

Это настроит iPtables, чтобы отклонить все исходящие трафик на порту 25. Если вы хотите отклонить трафик на другом порту, вы можете заменить «25» с помощью номера порта.

Разрешить входящие SMTP-соединения

Вы можете разрешить своему серверу отвечать на все SMTP-соединения через порт 25, выполнив следующие команды:

iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT

Написано Hostwinds Team  /  Декабрь 13, 2016