UFW Service

class services.ufw_service.UFWService[source]

Bases: object

Сервис взаимодействия с UFW (Uncomplicated Firewall).

Назначение:
  • Чтение статуса и списка правил брандмауэра.

  • Добавление, удаление и массовая обработка правил с поддержкой диапазонов портов, комментариев и выбором протоколов.

Детали реализации:
  • Команды выполняются через sudo ufw …; вывод парсится в модели pydantic.

  • Для операций удаления соблюдается порядок с конца, чтобы не нарушать нумерацию.

add_rules(rules: List[UFWRule]) → dict[source]

Добавляет правила UFW.

Parameters:

rules – Список правил для добавления

Returns:

Результат добавления правил

Return type:

dict

add_rules_base(rules: List[UFWRule], direction: str = '') → bool[source]

Базовый метод для добавления правил UFW.

Parameters:
  • rules – Список правил для добавления

  • direction – Направление трафика (“in” или “out”)

Returns:

True если все правила были успешно добавлены, False в противном случае

Return type:

bool

add_ufw_in_rules(rules: List[UFWRule]) → bool[source]

Добавляет входящие (in) правила UFW.

Parameters:

rules (List[UFWRule]) – Список правил для добавления

Returns:

True если все правила были успешно добавлены, False в противном случае

Return type:

bool

add_ufw_out_rules(rules: List[UFWRule]) → bool[source]

Добавляет исходящие (out) правила UFW.

Parameters:

rules (List[UFWRule]) – Список правил для добавления

Returns:

True если все правила были успешно добавлены, False в противном случае

Return type:

bool

delete_rules(rule_numbers: List[int]) → dict[source]

Удаляет правила UFW по их номерам.

Parameters:

rule_numbers (List[int]) – Список номеров правил для удаления

Returns:

Результат операции удаления

Return type:

dict

disable_ufw() → bool[source]

Выключает UFW.

Returns:

True если успешно выключен, False в противном случае

Return type:

bool

enable_ufw() → bool[source]

Включает UFW.

Returns:

True если успешно включен, False в противном случае

Return type:

bool

get_ufw_rules() → UFWRulesResponse[source]

Получает список правил UFW.

Returns:

Объект, содержащий статус UFW и список правил

Return type:

UFWRulesResponse

get_ufw_status() → UFWStatus[source]

Проверяет статус UFW.

Returns:

Объект с информацией о статусе UFW

Return type:

UFWStatus