💾 Archived View for tilde.team › ~rami › redhat_firewalld.gmi captured on 2023-07-10 at 16:04:37. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-01-29)

➡️ Next capture (2023-12-28)

-=-=-=-=-=-=-

~Rami ₪ MANUALS

רמי

SUBJECT: Firewalld: Настройка и тестирование системного фаэрволла

AUTHOR: Rami Rosenfeld

DATE: 12/09/22

TIME: 15.00

LANG: ru, en

LICENSE: GNU FDL 1.3

TAGS: gnu, gnome, software, opensource, linux, system, man, manual, bash, privacy, security, rhel, centos, mate, xfce, lxde, spin, de, systemd, systemctl, selinux, firewalld, dnf, rpm

Firewalld: Настройка и тестирование системного фаэрволла

INTRO

В RedHat (RHEL, Fedora, CentOS) имеется отличный GUI для встроенного фаэрволла, однако многие команды нагляднее и удобнее выполнять прямо из консоли; тем более, что они априорно легки для восприятия и хорошо запоминаются.

Примечание: Некоторые порты могут быть открыты/закрыты, а некоторым службам разрешена/запрещена активность в зависимости от устанавливаемого вами дистрибутива и (что немаловажно!) - т.н. "зоны" фаэрволла, выставленной по умолчанию.

NOTE

Обшие команды Firewalld

systemctl status firewalld

firewall-cmd --state

Результат: running

firewall-cmd --get-default-zone

Результат: public

Примечание: "зона" - набор определенных правил и политик безопасности для фаэрволла, включенных по умолчанию.

firewall-cmd --get-active-zones

Результат: public

interfaces: enp3s0 ppp0

Режимы работы Firewalld

Фаэрволл настраивается в двух режимах: runtime (текущий) и permanent (постоянный). На это нужно обращать внимание при консольной настройке. Для изменений постоянного режима используется опция "--permanent".

firewall-cmd --get-zones

Результат:

FedoraServer

FedoraWorkstation

block

dmz

drop

external

home

internal

public

trusted

work

firewall-cmd --permanent --get-zones

Результат: (аналогичен предыдущему)

firewall-cmd --permanent --list-all-zones

Результат (сокращен):

FedoraWorkstation

interfaces:

sources:

services: dhcpv6-client mdns

ports: 1025-65535/udp 1025-65535/tcp

masquerade: no

forward-ports:

icmp-blocks:

rich rules:

block

(...)

dmz

(...)

Примечание: по умолчанию во многих дистрибутивах установлена зона "public", но лучше это перепроверить!

(только при необходимости; рекомендую выбирать зоны из предустановленных)

firewall-cmd --permanent --new-zone=my_zone

Результат: success

firewall-cmd --permanent --list-all-zones

Результат:

my_zone

interfaces:

sources:

services:

ports:

masquerade: no

forward-ports:

icmp-blocks:

rich rules:

public (default)

(...)

firewall-cmd --permanent --delete-zone=my_zone

Результат: success

Общая проверка свойств дефолтной зоны "public" в режиме permanent

firewall-cmd --permanent --list-all

Результат:

public (default)

interfaces:

sources:

services: dhcpv6-client mdns

ports:

masquerade: no

forward-ports:

icmp-blocks:

rich rules:

firewall-cmd --permanent --list-services

Результат: dhcpv6-client mdns

(результаты вывода сокращены)

firewall-cmd --permanent --get-services

Результат: amanda-client amanda-k5-client bacula (...)

Примечание: эта команда работает сразу для двух режимов - runtime и permanent.

firewall-cmd --set-default-zone=FedoraWorkstation

Результат: success

firewall-cmd --reload

Результат: success

firewall-cmd --get-active-zones

Результат: FedoraWorkstation

interfaces: enp3s0 ppp0

firewall-cmd --permanent --list-ports

Результат: 1025-65535/udp 1025-65535/tcp

firewall-cmd --permanent --remove-port=1025-65535/udp && firewall-cmd --permanent --remove-port=1025-65535/tcp

Результат:

success

success

firewall-cmd --permanent --zone=FedoraWorkstation --list-ports

Результат: (код возврата - 0, т.е. системного сообщения нет)

firewall-cmd --remove-port=1025-65535/udp && firewall-cmd --remove-port=1025-65535/tcp

Результат:

success

success

firewall-cmd --list-ports

Результат: (код возврата - 0, т.е. системного сообщения нет)

firewall-cmd --permanent --remove-service=dhcpv6-client

Результат: success

firewall-cmd --remove-service=dhcpv6-client

Результат: success

Примечание: Аналогичными командами удаляем из дефолтной зоны поддержку сервисов ssh, mdns, samba, если они имеются в наличии)

firewall-cmd --reload

Результат: success

firewall-cmd --permanent --list-all

Результат:

FedoraWorkstation (default)

interfaces:

sources:

services:

ports:

masquerade: no

forward-ports:

icmp-blocks:

rich rules:

dnf install firewall-config

Примеры некоторых команд:

firewall-cmd --panic-on

firewall-cmd --panic-off

firewall-cmd --query-panic

Примечание: возвращает 0, если panic mode включен, 1 - если выключен.

firewall-cmd --add-service=http

firewall-cmd --add-port=443/tcp

firewall-cmd --permanent --add-port=443/tcp

firewall-cmd --zone=public --add-service=wireguard --timeout=5m

Результат: success

firewall-cmd --list-services

Результат: wireguard

man firewall-cmd

Подробнее см.:

Firewalld Official Documentation

Fedora: Using Firewalld

₪ Back to home ₪

🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.