Установка nginx в centos 7

4: Остановите сервис FirewallD и запустите IPTables

Затем нужно остановить текущий фаервол firewalld и запустить сервис iptables. Используйте условный оператор &&, чтобы запустить новый сервис фаервола сразу после остановки firewalld:

Убедитесь, что firewalld отключен:

Также можно увидеть, что правила, созданные в каталоге /etc/sysconfig, загружены и теперь выполняются:

На данный момент сервисы iptables и ip6tables активны для текущего сеанса. Однако firewalld будет запускаться автоматически при перезагрузке сервера и менять настройки.

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

Configuring Other Ports

The list of well known ports is not, of course, the only ports available. In fact there are thousands of ports available for use by applications and services. To open a specific port, use the Other ports category of the Firewall Configuration tool. To open a port, click on the Add button to display the Port and Protocol dialog shown below:

This dialog provides a far more extensive list of ports. Either select the desired port from the list, or enter it manually if it is not listed by selecting the User Defined option. When manually defining the port, both the port number and protocol (TCP or UDP) will need to be provided to ensure the firewall does not interfere with traffic on that port.

ICMP Filtering

The Internet Control Message Protocol (ICMP) is used by client systems on networks to send error messages to each other. It is also the foundation of the ping command which is used to by network administrators and users to detect whether a particular client is alive on a network. The ICMP Filtering category allows for the blocking of specific ICMP message types. For example, an administrator might choose to block incoming ping (Echo Request) ICMP messages to prevent the possibility of a ping based denial of service (DoS) attack (where a server is maliciously bombarded with so many ping messages that it becomes unable to respond to legitimate requests).

Что делать, если нужный сервис недоступен?

Брандмауэр firewalld по умолчанию включает в себя многие наиболее распространённые сервисы. Однако некоторым приложениям необходимы сервисы, поддержка которых отсутствует в firewalld. В таком случае вы можете поступить двумя способами.

Способ 1: Настройка порта

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

Например, приложение, которое использует порт 5000 и протокол TCP, нужно добавить в зону public. Чтобы включить поддержку приложения на дну сессию, используйте параметр —add-port= и укажите протокол tcp или udp.

Убедитесь, что операция прошла успешно:

Также можно указать последовательный диапазон портов, отделив первый и последний порт диапазона с помощью тире. Например, если приложение использует UDP-порты 4990-4999, чтобы добавить их в зону public, нужно ввести:

После тестирования можно добавить эти правила в постоянные настройки брандмауэра.

Способ 2: Определение сервиса

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

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

Для начала нужно скопировать существующий сценарий из каталога /usr/lib/firewalld/services в каталог /etc/firewalld/services (здесь брандмауэр ищет нестандартные настройки).

Например, можно скопировать определение сервиса SSH и использовать его для определения условного сервиса example. Имя сценария должно совпадать с именем сервиса и иметь расширение .xml.

Откорректируйте скопированный файл.

В файле находится определение SSH:

Большую часть определения сервиса составляют метаданные. Изменить краткое имя сервиса можно в тегах <short>. Это человекочитаемое имя сервиса. Также нужно добавить описание сервиса. Единственное изменение, которое повлияет на работу сервиса – это изменение номера порта и протокола.

Вернёмся к сервису example; допустим, он требует открыть TCP- порт 7777 и UDP- порт 8888. Определение будет выглядеть так:

Сохраните и закройте файл.

Перезапустите брандмауэр:

Теперь сервис появится в списке доступных сервисов:

Debugging Tips

To better understand how Firewalld works, assign the ‘–debug’ value to the FIREWALLD_ARGS variable in the /etc/sysconfig/firewalld file:

# firewalld command line args
# possile values: --debug
FIREWALLD_ARGS='--debug'

Restart the Firewalld daemon:

# systemctl restart firewalld

Note: Messages will be written into the /var/log/firewalld file.

Also, with the RHEL 7.3 release comes the LogDenied directive in the /etc/firewalld/firewalld.conf file.
This directive adds logging rules right before reject and drop rules in the INPUT, FORWARD and OUTPUT chains for the default rules and also final reject and drop rules in zones.
Possible values are: all, unicast, broadcast, multicast and off (value by default).

Reload the Firewalld configuration:

# firewall-cmd --reload

Note: Messages will be written into the /var/log/messages file. If you also want messages to be written in a file called /var/log/custom.log, edit the /etc/rsyslog.conf file, add the line kern.warning /var/log/custom.log and restart the rsyslog configuration with # systemctl restart rsyslog

Пример настройки NAT (шлюза)

Включить маскарадинг:

firewall-cmd —permanent —zone=dmz —add-masquerade

* без указания зон, будет включен для public и external.

Для примера берем два ethernet интерфейса — ens32 (внутренний) и ens33 (внешний). Для настройки nat последовательно вводим следующие 4 команды:

firewall-cmd —permanent —direct —add-rule ipv4 nat POSTROUTING 0 -o ens33 -j MASQUERADE

* правило включает маскарадинг на внешнем интерфейсе ens33. Где опция —direct требуется перед всеми пользовательскими правилами (—passthrough, —add-chain, —remove-chain, —query-chain, —get-chains, —add-rule, —remove-rule, —query-rule, —get-rules); nat — таблица, в которую стоит добавить правило; POSTROUTING 0 — цепочка в таблице nat; опция MASQUERADE указывает сетевому экрану менять внутренний IP-адрес на внешний.

firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens32 -o ens33 -j ACCEPT

* добавляет в таблицу filter (цепочку FORWARD) правило, позволяющее хождение трафика с ens32 на ens33.

firewall-cmd —direct —permanent —add-rule ipv4 filter FORWARD 0 -i ens33 -o ens32 -m state —state RELATED,ESTABLISHED -j ACCEPT

* добавляет правило в таблицу filter (цепочку FORWARD), позволяющее хождение трафика с ens33 на ens32 для пакетов, открывающих новый сеанс, который связан с уже открытым другим сеансом (RELATED) и пакетов, которые уже являются частью существующего сеанса (ESTABLISHED).

systemctl restart firewalld

* для того, чтобы сервер CentOS заработал в качестве шлюза, также необходимо настроить ядро. Подробнее в статье Настройка Интернет шлюза на CentOS 7.

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

firewall-cmd —direct —get-all-rules

Constructing a Ruleset with FirewallD

As an example, here is how you would use FirewallD to assign basic rules to your Linode if you were running a web server.

  1. Assign the dmz zone as the default zone to eth0. Of the default zones offered, dmz (demilitarized zone) is the most desirable to start with for this application because it allows only SSH and ICMP.

  2. Add permanent service rules for HTTP and HTTPS to the dmz zone:

  3. Reload FirewallD so the rules take effect immediately:

    If you now run , this should be the output:

    This tells us that the dmz zone is our default which applies to the eth0 interface, all network sources and ports. Incoming HTTP (port 80), HTTPS (port 443) and SSH (port 22) traffic is allowed and since there are no restrictions on IP versioning, this will apply to both IPv4 and IPv6. Masquerading and port forwarding are not allowed. We have no ICMP blocks, so ICMP traffic is fully allowed, and no rich rules. All outgoing traffic is allowed.

Выводы

В этой статье мы разобрали, как выполняется настройка firewall в CentOS 7 и какие задачи можно с помощью него выполнить. Программой намного проще пользоваться, чем iptables, но по моему мнению надстройка фаервола от Ubuntu — ufw ещё проще в использовании.

Нет похожих записей

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux интересуюсь всем, что связано с информационными технологиями и современной наукой.

3 комментария

Зачем копипастить статьи?, Этой гнилью от Красной Шляпы, никто не пользуется, даже на серверах. 90% Напишите про Minix и как его поднять в desktop. И как потом с этого болгенос сделать, 90% серверов мира на BSD/

Нормвально-нормально, я после Fedora тоже хотел себе CentOS запилить, но как-то не срослось. За статью спасиб по-любому )

Спасибо за статью. Подскажите CUPS не добавляется как сервис? если добавить 631 порт, то заходит на страницу.

Firewalld — утилита для управления встроенным в ядро Linux брандмауэром Netfilter. Несмотря на собственный синтаксис, имеет такой же принцип работы, как Iptables. Дополнительно про управление Netfilter при помощи последнего.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector