Андрей Смирнов
Время чтения: ~17 мин.
Просмотров: 10

Настройка Firewall в CentOS 7

57e3d52148dac.png

Осмотр брандмауэра, пришедшего на замену iptables в Centos 7

Al-Sher»>2016-09-09 13:57:07

Установка

systemctl status firewalldyum -y install firewalldsystemctl status firewalldsystemctl enable firewalldfirewall-cmd --state

Общее

firewall-cmd --get-zonesfirewall-cmd --list-allfirewall-cmd --list-portsfirewall-cmd --reload

Открываем порт

firewall-cmd --zone=public --add-port=3000/tcpfirewall-cmd --permanent --zone=public --add-port=3000/tcp

Закрываем порт

firewall-cmd --zone-public --remove-port=3000/tcpfirewall-cmd --permanent --zone-public --remove-port=3000/tcp

Сервисы

firewall-cmd --permanent --new-service=pptp

Так, сервис для firewalld создан. Давайте немного подредактируем его открываем файл, расположенный по пути /etc/firewalld/services/pptp.xml и заменяем его содержимое на следующее:

<?xml version="1.0" encoding="utf-8" <service> firewall-cmd --permanent --zone=public --add-service=pptpfirewall-cmd --permanent --remove-service=pptpfirewall-cmd --get-services

Еще пару команд

  • get-active-zones — список активных зон;
  • add-interface — добавить интерфейс;
  • change-interface — изменить интерфейс;
  • remove-interface — удалить интерфейс;
  • panic-on — включение режима паники. Позволяет заблокировать все сетевые соединения;
  • panic-off — отключение режима паники;
  • add-masquerade — добавить маскарадинг;
  • remove-masquerade — удалить маскарадинг.

Пример. Переносим порт для ssh

firewall-cmd --permanent --zone=public --add-port=5555/tcpfirewall-cmd --reloadfirewall-cmd --permanent --remove-service=sshfirewall-cmd --reload

В данном примере нет информации по редактированию конфигурации ssh, так как она не относится к данной статье, но, в качестве подсказки, конфиг находится по пути /etc/ssh/sshd_config.

Заключение

Несмотря на такое количество не осмотренных команд, данная статья заканчивается именно на тут 🙁 Надеюсь, что читатели данной статьи теперь смогут с легкостью открыть порты для своих приложений.

Nastrojka-Firewall-v-CentOS-7.png

Настраиваем Firewall в CentOS 7

Как уже было сказано выше, стандартным брандмауэром в CentOS 7 назначена утилита FirewallD. Именно поэтому настройка фаервола будет рассмотрена на примере этого инструмента. Задать правила фильтрации можно и с помощью той же iptables, но это выполняется немного другим образом. С конфигурацией упомянутой утилиты рекомендуем ознакомиться, перейдя по следующей ссылке, а мы же начнем разбор FirewallD.

Читайте также: Настройка iptables в CentOS 7

Основные понятия межсетевого экрана

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

  • trusted — максимальный уровень доверия ко всем устройствам сети;
  • home — группа локальной сети. Существует доверие к окружению, но при этом входящие соединения доступны только для определенных машин;
  • work — рабочая зона. Присутствует доверие к большинству устройств, а также активируются дополнительные сервисы;
  • dmz — зона для изолированных компьютеров. Такие устройства отсоединены от остальной сети и пропускают только определенный входящий трафик;
  • internal — зона внутренних сетей. Доверие применяется ко всем машинам, открываются дополнительные сервисы;
  • external — обратная к предыдущей зона. Во внешних сетях активна маскировка NAT, закрывая внутреннюю сеть, но не блокируя возможность получения доступа;
  • public — зона общедоступных сетей с недоверием ко всем устройствам и индивидуальным приемом входящего трафика;
  • block — все входящие запросы сбрасываются с отправлением ошибки icmp-host-prohibited или icmp6-adm-prohibited;
  • drop — минимальный уровень доверия. Входящие соединения сбрасываются без каких-либо уведомлений.

Сами же политики бывают временные и постоянные. При появлении или редактировании параметров действие фаервола сразу меняется без надобности перезагрузки. Если же были применены временные правила, после рестарта FirewallD они будут сброшены. Перманентное правило на то так и называются — оно будет сохранено на постоянной основе при применении аргумента —permanent.

Включение брандмауэра FirewallD

Для начала нужно запустить FirewallD или убедиться в том, что он находится в активном состоянии. Только функционирующий демон (программа, работающая в фоновом режиме) будет применять правила для межсетевого экрана. Активация производится буквально в несколько кликов:

  1. Запустите классический «Терминал» любым удобным методом, к примеру, через меню «Приложения».

Zapusk-terminala-dlya-dalnejshej-nastrojki-faervola-v-CentOS-7.png

Введите команду sudo systemctl start firewalld.service и нажмите на клавишу Enter.</li>

Zapusk-servisov-faervola-v-operatsionnoj-sisteme-CentOS-7.png

Управление утилитой осуществляется от имени суперпользователя, поэтому придется подтвердить подлинность, указав пароль.</li>

Vvod-parolya-dlya-zapuska-servisov-faervola-v-terminale-CentOS-7.png

Чтобы убедиться в функционировании сервиса, укажите firewall-cmd --state.</li>

Prosmotr-tekushhego-sostoyaniya-faervola-cherez-terminal-v-CentOS-7.png

В открывшемся графическом окне повторно подтвердите подлинность.</li>

Vvod-parolya-dlya-podtverzhdeniya-podlinnosti-pri-prosmotre-sostoyaniya-faervola-CentOS-7.png

Отобразится новая строка. Значение «running» говорит о том, что фаервол работает.</li>

Otobrazhenie-tekushhego-sostoyaniya-faervola-v-operatsionnoj-sisteme-CentOS-7.png

</ol>

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

Подробнее: Отключение Firewall в CentOS 7

Просмотр правил по умолчанию и доступных зон

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

  1. Определить функционирующую по умолчанию зону поможет команда firewall-cmd --get-default-zone.

Prosmotr-ustanovlennoj-po-umolchaniyu-zony-faervola-v-CentOS-7.png

После ее активации вы увидите новую строку, где отобразится необходимый параметр. Например, на скриншоте ниже активной считается зона «public».</li>

Otobrazhenie-ustanovlenoj-po-umolchaniyu-zony-faervola-v-CentOS-7.png

Однако активными могут быть сразу несколько зон, к тому же они привязываются к отдельному интерфейсу. Узнайте эту информацию через firewall-cmd --get-active-zones.</li>

Prosmotr-vseh-aktivnyh-zon-faervola-v-CentOS-7.png

Команда firewall-cmd --list-all выведет на экран правила, заданные для зоны по умолчанию. Обратите внимание на скриншот ниже. Вы видите, что активной зоне «public» присвоено правило «default» — функционирование по умолчанию, интерфейс «enp0s3» и добавлено два сервиса.</li>

Prosmotr-pravil-aktivnyh-zon-faervola-cherez-terminal-v-CentOS-7.png

Если появилась надобность узнать все доступные зоны брандмауэра, введите firewall-cmd --get-zones.</li>

Poluchenie-spiska-vseh-dostupnyh-zon-faervola-cherez-terminal-v-CentOS-7.png

Параметры же конкретной зоны определяются через firewall-cmd --zone=name --list-all, где name — название зоны.</li>

Otobrazhenie-pravil-ukazannoj-zony-faervola-cherez-terminal-v-CentOS-7.png

</ol>

После определения необходимых параметров можно переходить к их изменению и добавлению. Давайте детально разберем несколько самых популярных конфигураций.

Настройка зон интерфейсов

Как вы знаете из информации выше, для каждого интерфейса определяется своя зона по умолчанию. Он будет находиться в ней до тех пор, пока настройки не изменятся пользователем или программно. Возможен ручной перенос интерфейса в зону на одну сессию, и осуществляется он активацией команды sudo firewall-cmd --zone=home --change-interface=eth0. Результат «success» свидетельствует о том, что перенос прошел успешно. Напомним, что такие настройки сбрасываются сразу после перезагрузки фаервола.

Naznachenie-opredelennogo-interfejsa-dlya-zony-faervola-v-CentOS-7.png

При подобном изменении параметров следует учитывать, что работа сервисов может быть сброшена. Некоторые из них не поддерживают функционирование в определенных зонах, допустим, SSH хоть и доступен в «home», но в пользовательских или особенных сервис работать откажется. Убедиться в том, что интерфейс был успешно привязан к новой ветви можно, введя firewall-cmd --get-active-zones.

Prosmotr-aktivnoj-zony-faervola-i-ee-interfejs-v-CentOS-7.png

Если вы захотите сбросить произведенные ранее настройки, просто выполните рестарт брандмауэра: sudo systemctl restart firewalld.service.

Порой не всегда удобно изменять зону интерфейса всего на одну сессию. В таком случае потребуется редактировать конфигурационный файл, чтобы все настройки ввелись на перманентной основе. Для этого мы советуем использовать текстовый редактор nano, который устанавливается с официального хранилища sudo yum install nano. Далее остается произвести такие действия:

  1. Откройте конфигурационный файл через редактор, введя sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0, где eth0 — название необходимого интерфейса.
  2. Подтвердите подлинность учетной записи для выполнения дальнейших действий.
  3. Отыщите параметр «ZONE» и поменяйте его значение на нужное, например, public или home.
  4. Зажмите клавиши Ctrl + O, чтобы сохранить изменения.
  5. Не изменяйте имя файла, а просто нажмите на Enter.
  6. Выйдите из текстового редактора через Ctrl + X.

Теперь зона интерфейса будет такой, какой вы ее указали, до момента следующего редактирования конфигурационного файла. Чтобы обновленные параметры вступили в действие, выполните sudo systemctl restart network.service и sudo systemctl restart firewalld.service.

Установка зоны по умолчанию

Выше мы уже демонстрировали команду, которая позволяла узнать установленную по умолчанию зону. Ее также можно изменить, установив параметр на свой выбор. Для этого в консоли достаточно прописать sudo firewall-cmd --set-default-zone=name, где name — имя необходимой зоны.

Об успешности выполнения команды будет свидетельствовать надпись «success» в отдельной строке. После этого все текущие интерфейсы привяжутся к указанной зоне, если другого не задано в конфигурационных файлах.

Создание правил для программ и утилит

В самом начале статьи мы рассказали о действии каждой зоны. Определение сервисов, утилит и программ в такие ветви позволит применить для каждой из них индивидуальные параметры под запросы каждого пользователя. Для начала советуем ознакомиться с полным списком доступных на данный момент сервисов: firewall-cmd --get-services.

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

Указанная выше команда демонстрирует только названия сервисов. Детальная информация по каждому из них получается через индивидуальный файл, находящийся по пути /usr/lib/firewalld/services. Такие документы имеют формат XML, путь, например, к SSH выглядит так: /usr/lib/firewalld/services/ssh.xml, а документ имеет следующее содержимое:

SSH Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.

Активируется поддержка сервиса в определенной зоне вручную. В «Терминале» следует задать команду sudo firewall-cmd --zone=public --add-service=http, где —zone=public — зона для активации, а —add-service=http — название сервиса. Учтите, что такое изменение будет действовать только в пределах одной сессии.

Перманентное добавление осуществляется через sudo firewall-cmd --zone=public --permanent --add-service=http, а результат «success» свидетельствует об успешном завершении операции.

Просмотреть полный список постоянных правил для определенной зоны можно, отобразив список в отдельной строке консоли: sudo firewall-cmd --zone=public --permanent --list-services.

Решение неполадки с отсутствием доступа к сервису

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

Проброс порта

Как известно, все сетевые сервисы используют определенный порт. Он запросто обнаруживается межсетевым экраном, и по нему могут выполняться блокировки. Чтобы избежать таких действий со стороны фаервола, нужно открыть необходимый порт командой sudo firewall-cmd --zone=public --add-port=0000/tcp, где —zone=public — зона для порта, —add-port=0000/tcp — номер и протокол порта. Опция firewall-cmd --list-ports отобразит список открытых портов.

Если же вам необходимо открыть порты, входящие в диапазон, воспользуйтесь строкой sudo firewall-cmd --zone=public --add-port=0000-9999/udp, где —add-port=0000-9999/udp — диапазон портов и их протокол.

Приведенные выше команды лишь позволят протестировать применение подобных параметров. Если оно прошло успешно, следует добавить эти же порты в постоянные настройки, а делается это путем ввода sudo firewall-cmd --zone=public --permanent --add-port=0000/tcp или sudo firewall-cmd --zone=public --permanent --add-port=0000-9999/udp. Список открытых постоянных портов просматривается так: sudo firewall-cmd --zone=public --permanent --list-ports.

Определение сервиса

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

  1. Скопируйте конфигурационный файл, написав sudo cp /usr/lib/firewalld/services/service.xml /etc/firewalld/services/example.xml, где service.xml — имя файла сервиса, а example.xml — название его копии.
  2. Откройте копию для изменения через любой текстовый редактор, к примеру, sudo nano /etc/firewalld/services/example.xml.
  3. Для примера мы создали копию сервиса HTTP. В документе вы в основном видите различные метаданные, например, короткое имя и описание. Влияет на работу сервера только смена номера порта и протокола. Над строкой «» следует добавить , чтобы открыть порт. tcp — использующийся протокол, а 0000 — номер порта.
  4. Сохраните все изменения (Ctrl + O), закройте файл (Ctrl + X), а затем перезапустите фаервол для применения параметров через sudo firewall-cmd --reload. После этого сервис появится в списке доступных, который можно просмотреть через firewall-cmd --get-services.

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

Создание пользовательских зон

Вы уже знаете, что изначально в FirewallD создано большое количество разнообразных зон с определенными правилами. Однако случаются ситуации, когда системному администратору требуется создать пользовательскую зону, как, например, «publicweb» для установленного веб-сервера или «privateDNS» — для DNS-сервера. На этих двух примерах мы и разберем добавление ветвей:

  1. Создайте две новые перманентные зоны командами sudo firewall-cmd --permanent --new-zone=publicweb и sudo firewall-cmd --permanent --new-zone=privateDNS.
  2. Они будут доступны после перезагрузки инструмента sudo firewall-cmd --reload. Для отображения перманентных зон введите sudo firewall-cmd --permanent --get-zones.
  3. Присвойте им нужные сервисы, например, «SSH», «HTTP» и «HTTPS». Делается это командами sudo firewall-cmd --zone=publicweb --add-service=ssh, sudo firewall-cmd --zone=publicweb --add-service=http и sudo firewall-cmd --zone=publicweb --add-service=https, где —zone=publicweb — название зоны для добавления. Просмотреть активность сервисов можно, прописав firewall-cmd --zone=publicweb --list-all.

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

Как видите, брандмауэр FirewallD — достаточно объемный инструмент, позволяющий произвести максимально гибкую конфигурацию межсетевого экрана. Осталось только убедиться в том, что утилита запускается вместе с системой и указанные правила сразу же начинают свою работу. Сделайте это командой sudo systemctl enable firewalld. Мы рады, что смогли помочь Вам в решении проблемы.Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Помогла ли вам эта статья?

11 460 views | 2 комментария

Centos

iptables – это фаервол (или брандмауэр), используемый на подавляющем большинстве дистрибутивов linux; мануал linux называет iptables средством управления NAT и пакетными фильтрами IPv4, проще говоря – это инструмент для фильтрации и блокировки трафика.

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

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

Примечание: Данное руководство охватывает настройку безопасности IPv4. В системе Linux безопасность IPv6 настраивается отдельно. Брандмауэр iptables поддерживает правила только для IPv4; брандмауэр для адресов IPv6 называется ip6tables. Если ваш сервер использует IPv6, нужно настроить правила для интерфейсов IPv4 и IPv6 . Подробнее об инструментах IPv6 можно прочесть в статье «Настройка и использование IPv6 на сервере Linux».

Какие порты и сервисы нужно открыть?

Для начала нужно определить, какие сервисы и порты должны быть доступны. Для примера рассмотрим стандартный сервер. Как правило, на нем работает веб-сервер и почтовый сервер, а для входа необходим порт SSH.

Потому, во-первых, нужно оставить открытым порт SSH – 22 (в противном случае удаленный доступ к серверу будет заблокирован).

А во-вторых, нужно открыть SSL-порты 80 и 443 для веб-трафика. Для отправки электронной почты нужен порт 25 (обычный SMTP) и 465 (безопасный SMTP), а для получения почты – порты 110 (POP3) и 995 (безопасный POP3).

Также нужно открыть порты IMAP: 143 (стандартный порт) и 993 (IMAP по SSL).

Примечание: Рекомендуется использовать только безопасные протоколы (для этого нужно иметь возможность изменить почтовые клиенты пользователей).

Предотвращение распространённых атак

Как правило, весь трафик на сервере разрешен. Чтобы сбросить все правила фаервола, используйте команду:

iptables -F

Затем можно добавить несколько простых правил, которые предотвращают самые распространённые атаки и защищают сервер от скрипт-кидди. На самом деле, не стоит полагаться на то, что iptables сможет самостоятельно отразить полноценную DDOS-атаку или нечто подобное, однако этот фаервол может без труда заблокировать доступ для сканирующих сеть ботов, которые ищут лазейки в безопасности сервера.

Сначала заблокируйте нулевые пакеты:

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

Это правило блокирует входящие пакеты с tcp-флагами. Нулевые пакеты, по сути, являются средством разведки; они позволяют выяснить настройки сервера и определить его слабые места. Это правило предотвратит syn-flood атаки:

iptables -A INPUT -p tcp ! —syn -m state —state NEW -j DROP

При syn-flood атаке злоумышленник создает новое подключение, при этом не устанавливая никаких флагов (SYN, ACK и т.д.); такие атаки проводятся с целью отнять ресурсы сервера, следовательно, эти пакеты принимать не следует. После этого нужно запретить разведывательные пакеты XMAS:

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

Эти правила защитят сервер от самых распространённых атак.

Открытие портов

Теперь нужно открыть порты выбранных ранее сервисов. Для начала откройте локальный интерфейс:

iptables -A INPUT -i lo -j ACCEPT

Эта команда добавит (флаг -А) в фильтр входящих соединений (INPUT) правило, которое принимает (-j ACCEPT) весь трафик, поступающий на локальный интерфейс (-i lo). Этот интерфейс часто используется для размещения БД, к которой подключены сайт и почтовый сервер. Таким образом, сам сервер имеет доступ к этой базе данных, но взломать ее через интернет не получится.

Эти правила откроют трафик веб-сервера:

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Эти команды добавят в цепочку ACCEPT порты 80 и 443, что откроет трафик на эти порты. Чтобы открыть порты сервера SMTP, используйте:

iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

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

iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

Они откроют трафик POP3. После этого нужно открыть протокол IMAP:

iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

Защита SSH

Чтобы подключаться к серверу удалённо, нужно разрешить трафик SSH.

iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

Эта команда добавляет в брандмауэр правило, которое откроет tcp-трафик, входящий на порт 22 (порт SSH по умолчанию). Рекомендуется вместо порта 22 использовать другой свободный порт (для этого откорректируйте вышеуказанное правило); к сожалению, настройка SSH не входит в рамки данного руководства. Однако можно настроить сам фаервол. Имея постоянный IP-адрес, можно разрешить доступ к SSH только для этого адреса.

Для этого нужно узнать внешний IP-адрес. Важно убедиться, что это не адрес локальной сети, в противном случае правило не будет работать. Узнать IP-адрес можно на сайте whatismyip.com, либо же можно ввести в терминал:

w

Эта команда покажет текущего пользователя (если только он вошёл в систему) и IP-адрес. Результат имеет примерно такой вид:

root@iptables# w 11:42:59 up 60 days, 11:21,  1 user,  load average: 0.00, 0.00, 0.00 USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT root   pts/0    213.191.xxx.xxx  09:27    0.00s  0.05s  0.00s w

После этого можно создать правило фаервола, принимающее трафик на порт SSH только от одного IP-адреса:

iptables -A INPUT -p tcp -s IP_АДРЕС -m tcp --dport 22 -j ACCEPT

Примечание: В команде нужно указать свой внешний IP.

В брандмауэре можно открыть и больше портов. Тогда фаервол будет разрешать доступ ко всем нужным сервисам. Теперь необходимо добавить еще одно правило, которое разрешает устанавливать исходящие подключения (т.е. использовать ping или обновлять программное обеспечение):

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

После этого можно заблокировать все остальное и разрешить все исходящие соединения.

iptables -P OUTPUT ACCEPT iptables -P INPUT DROP

Базовый фаервол iptables готов.

Сохранение правил iptables

Просмотрите список установленных правил, чтобы убедиться, что все нужные правила были добавлены:

iptables -L -n

Флаг -n выводит только IP-адреса (без доменов). К примеру, если в правилах указан IP 12.34.56.78:, брандмауэр отследит его и узнает, что это IP принадлежит сайту somesite.com. Данный флаг не будет выводить домены, оставляя только IP-адреса. Теперь можно сохранить настройки фаервола:

iptables-save | sudo tee /etc/sysconfig/iptables

Конфигурационный файл iptables в системе CentOS хранится в /etc/sysconfig/iptables. Приведенная выше команда сохранила все созданные правила в этот файл. Чтобы убедиться, что все работает корректно, перезапустите фаервол:

service iptables restart

Теперь правила будут действительны даже после перезагрузки сервера.

Как разблокировать себя на сервере?

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

Подключившись к серверу, войдите как пользователь root и сбросьте правила фаервола:

iptables -F

После этого доступ к серверу будет восстановлен.

Заключение

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

Tags: CentOS 6, Iptables, IPv4, IPv6, SSHИспользуемые источники:

  • https://web-wost.ru/firewalld-centos-7-ustanovka-nastroyka-primery/
  • https://lumpics.ru/configuring-firewall-on-centos-7/
  • https://www.8host.com/blog/nastrojka-faervola-iptables-na-servere-centos-6/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации