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