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 для существующих соединений).