Skip to content

21 Мониторинг сетевых соединений Фаервол

21 Мониторинг сетевых соединений. Фаервол

Основные команды:

Команда netstat предоставляет информацию о сетевых соединениях, таблицах маршрутизации, интерфейсах и их статистике.

Пример использования:

**netstat -tuln**
  • -t — показать только TCP-соединения.
  • -u — показать только UDP-соединения.
  • -l — показать прослушиваемые сокеты.
  • -n — отображать IP-адреса и порты в числовом формате.

Команда ss (Socket Statistics) является более современной альтернативой netstat и предоставляет аналогичную, но зачастую более подробную информацию о сетевых соединениях. (-t, -u … работает как в netstat)

Пример использования:

**ss -tuln**

Команда lsof (List Open Files) может использоваться для отображения открытых файлов, включая сетевые соединения.

Пример использования:

**lsof -i**

Отобразить все сетевые соединения.

Команда tcpdump — это мощный анализатор пакетов, который захватывает и отображает сетевые пакеты, проходящие через интерфейсы сети. Пример использования:

**sudo tcpdump -i eth0**
  • i eth0 — указывает интерфейс, на котором нужно захватывать пакеты (например, eth0).

Фаерволы используются для контроля входящего и исходящего сетевого трафика на основе предопределенных правил. В Linux наиболее часто используется iptables и его более современная версия nftables.

Основные команды и концепции:

iptables — это инструмент для управления правилами фильтрации пакетов в Linux. Он предоставляет интерфейс для настройки таблиц, содержащих наборы правил для входящего, исходящего и пересылаемого трафика.

Просмотр текущих правил:

**sudo iptables -L**

Добавление правила для разрешения трафика на порт 80:

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

Блокировка трафика с определенного IP-адреса:

**sudo iptables -A INPUT -s 192.168.1.1 -j DROP**

Сохранение правил (они временные до перезагрузки):

**sudo iptables-save > /etc/iptables/rules.v4**

nftables является более новым и гибким инструментом для настройки фаервола в Linux, предлагающим улучшения по сравнению с iptables. Создание таблицы и цепочки:

**sudo nft add table inet filter
sudo nft add chain inet filter input { type filter hook input priority 0 \; }**

Добавление правила для разрешения трафика на порт 80:

**sudo nft add rule inet filter input tcp dport 80 accept**

Просмотр текущих правил:

**sudo nft list ruleset**

Основные подходы к созданию правил фаервола:

  • Фильтрация по IP-адресам: Создание правил для разрешения или блокировки трафика от конкретных IP-адресов или сетей.
  • Фильтрация по портам: Создание правил для разрешения или блокировки трафика на основе портов.
  • Стейтлесс и стейтфул фильтрация: Создание правил на основе состояния соединений (например, ESTABLISHED для существующих соединений).