Ysa-k12-ru

From
Jump to navigation Jump to search

Глава 12: Основы работы с файрволом в Linux (ufw, iptables)

Цели главы

После изучения этой главы ученик:

  • Понимает назначение и принципы работы файрвола
  • Знает разницу между ufw и iptables
  • Умеет просматривать, разрешать и блокировать порты
  • Может создавать базовые правила для защиты сервера
  • Понимает, как проверять состояние сети после изменения правил

1. Что такое файрвол

Файрвол — это система фильтрации сетевых пакетов, которая:

  • Защищает сервер от несанкционированного доступа
  • Контролирует входящий и исходящий трафик
  • Позволяет открывать только необходимые порты для сервисов

Типы фильтрации:

  • Packet filtering — блокировка пакетов по IP, порту, протоколу
  • Stateful inspection — учитывает состояние соединения

Для системного администратора это обязательный инструмент безопасности.


2. ufw (Uncomplicated Firewall)

2.1 Назначение

ufw — упрощённый интерфейс для iptables. Преимущества:

  • Легкий синтаксис
  • Быстрое управление базовыми правилами
  • Подходит для новичков

2.2 Установка и проверка

sudo apt update
sudo apt install ufw
sudo ufw status verbose

Если файрвол не активен, статус будет «inactive».


2.3 Основные команды ufw

Активировать файрвол:

sudo ufw enable

Деактивировать:

sudo ufw disable

Разрешить порт (например, SSH 22):

sudo ufw allow 22
sudo ufw allow ssh

Блокировать порт:

sudo ufw deny 23

Разрешить диапазон портов:

sudo ufw allow 1000:2000/tcp

Удалить правило:

sudo ufw delete allow 22

Просмотреть правила:

sudo ufw status numbered

2.4 Практическая схема работы с ufw

1. Включить ufw 2. Разрешить SSH 3. Разрешить HTTP/HTTPS 4. Заблокировать все остальные порты 5. Проверить состояние правил


3. iptables

3.1 Назначение

iptables — более гибкий и мощный инструмент, напрямую управляющий ядром Linux. Используется для:

  • сложной фильтрации пакетов
  • NAT и маршрутизации
  • настройки firewall на уровне пакетов

3.2 Основные цепочки iptables

  • INPUT — входящий трафик
  • OUTPUT — исходящий трафик
  • FORWARD — проходящий через сервер трафик

Политика по умолчанию (default policy):

sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP

3.3 Примеры правил iptables

Разрешить SSH:

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

Разрешить HTTP/HTTPS:

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

Блокировать IP:

sudo iptables -A INPUT -s 192.168.1.100 -j DROP

Просмотр правил:

sudo iptables -L -v -n

Сохранение правил (Debian/Ubuntu):

sudo apt install iptables-persistent
sudo netfilter-persistent save

4. Практика: базовая защита сервера

Практика 1: ufw

1. Проверить статус ufw 2. Включить ufw 3. Разрешить SSH 4. Разрешить HTTP и HTTPS 5. Проверить состояние правил


Практика 2: iptables

1. Просмотреть текущие правила 2. Установить политику DROP для INPUT 3. Разрешить SSH и HTTP/HTTPS 4. Проверить, что сервер доступен только по нужным портам 5. Заблокировать тестовый IP и проверить


Практика 3: проверка работы firewall

  • Использовать ping и telnet/curl к различным портам
  • Убедиться, что доступ разрешён только по нужным сервисам

5. Типичные ошибки

  • Блокировка SSH перед проверкой локального доступа → потеря соединения
  • Неправильный порядок правил iptables (правила обрабатываются сверху вниз)
  • Забытое сохранение правил после перезагрузки (iptables)

6. Дополнительные материалы для самостоятельного изучения


7. Результат главы

После этой главы ученик:

  • Знает, что такое файрвол и зачем он нужен
  • Умеет работать с ufw и iptables
  • Может настроить базовую защиту сервера
  • Может проверять доступность сервисов после настройки firewall