Поиск по сайту:

Как защитить ваш Linux-сервер с помощью IPTABLES


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

Iptables — это утилита брандмауэра для операционных систем на базе Linux, которую многие дистрибутивы Linux, такие как Rocky Linux и CentOS, включают по умолчанию.

Любой может найти Iptables полезным для дополнительной защиты сервера, независимо от того, являетесь ли вы системным администратором и хотите предотвратить потенциальные угрозы безопасности сервера, или вы используете VPS и хотите убедиться, что, например, VPS Rocky Linux работает бесперебойно и имеет достойную защиту.

Эта статья расскажет вам больше об Iptables и о том, как вы можете использовать этот инструмент для защиты своего сервера.

Как работает инструмент IPtables?

Iptables — это утилита межсетевого экрана, которая выполняет сравнение сетей в соответствии с определенными правилами.

Он в основном отслеживает трафик, поступающий с сервера и на него, через таблицы. Таблицы содержат упомянутый набор правил, которые называются цепочками и позволяют фильтровать пакеты данных, которые получает и пересылает сервер. Цепочки подразумевают правила, по которым проверяется пакет.

В Iptables есть цепочки по умолчанию, такие как:

  • Правила ввода. Они регулируют все пакеты, поступающие на сервер.
  • Правила вывода. Они обрабатывают весь трафик, создаваемый сервером.
  • Правила Пересылки. Они обрабатывают входящие пакеты, не адресованные серверу.

Это предопределенные цепочки, но вы можете создавать свои собственные.

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

Стратегия защиты вашего сервера с помощью Iptables заключается в отклонении всего, на принятие чего нет вашего разрешения.

Начните использовать Iptables

Возможно, вы захотите сразу приступить к настройке правил, но прежде чем делать это, вам нужно кое о чем позаботиться. Если у вас нет Ubuntu, Debian, RHEL, Rocky Linux или AlmaLinux, возможно, вам потребуется дополнительно установить Iptables. Далее продолжим, учитывая, что Iptables уже установлен.

Определить поведение цепочки по умолчанию

Поведение цепочки по умолчанию расскажет вам, как настроены цепочки и какие изменения вы хотите внести.

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

sudo iptables -L command

Например, вы можете столкнуться с тем, что цепочки настроены на прием всего трафика, а это именно то, что вам нужно. Если вы обнаружите, что какая-то цепочка отклоняет трафик, выполните следующее:

sudo iptables --policy INPUT ACCEPT
sudo iptables --policy OUTPUT ACCEPT
sudo iptables --policy FORWARD ACCEPT

Теперь, когда ваш сервер принимает все соединения, вы можете точно определить, что вы хотите заблокировать. Если у вас есть конфиденциальные данные, с которыми вы работаете, возможно, было бы неплохо полностью заблокировать соединения и в дальнейшем выбирать только те IP-адреса, с которых вы хотите получать трафик. Для этого введите следующее:

sudo iptables --policy INPUT DROP
sudo iptables --policy OUTPUT DROP
sudo iptables --policy FORWARD DROP

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

Настройка отдельных подключений

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

  • Принять означает, что соединение будет принято.
  • Drop подразумевает, что соединение будет заблокировано от взаимодействия с сервером.
  • Отклонить подразумевает блокировку попытки взаимодействия с сервером и уведомление об этом сообщением об ошибке.

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

sudo iptables -A INPUT -S (insert the IP address you want to block) -j DROP

Для блокировки нескольких соединений используйте:

sudo iptables -A INPUT -s (IP address 1) / (IP address 2) /.0 -j DROP

Если вы хотите удалить определенное правило, вы тоже можете это сделать. Если вы допустили ошибку или хотите удалить определенное правило, вы можете сделать это с помощью команды -D и номера правила, которое вы хотите удалить.

sudo iptables -D INPUT (rule number)

А если вы собираетесь удалить кучу правил, вы можете использовать команду -F:

sudo iptables -F

Он очистит ваш Iptable.

Заключение

Iptables — это универсальный инструмент для защиты вашего сервера от нежелательного трафика. Пользователи Linux найдут этот инструмент эффективным для управления потоком трафика, касающимся IP-адресов, портов или протоколов.

В этой статье рассматривается лишь часть функций Iptables, но мы все равно надеемся, что она окажется вам полезной. Опыт, который вы получаете при использовании вашего сервера, имеет решающее значение как для эффективного управления, так и для безопасности вашего сервера, и Iptables — один из наиболее полезных инструментов в таком начинании.

Статьи по данной тематике: