**iptables** — это утилита командной строки для межсетевого экрана, которая позволяет настраивать правила управления трафиком в Linux. ## Установка iptables Большинство дистрибутивов Linux включают iptables по умолчанию. Чтобы установить или обновить его: - **Debian/Ubuntu**: `sudo apt update sudo apt install iptables ## Основные команды iptables - **Просмотреть текущие правила**: `sudo iptables -L -v -n - **Разрешить входящий трафик SSH**: `sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT - **Заблокировать IP-адрес**: `sudo iptables -A INPUT -s [IP-адрес] -j DROP ## **Сохранить правила**: - **Debian/Ubuntu:** `sudo iptables-save > /etc/iptables/rules.v4 ## Пример конфигурации: основные правила брандмауэра Чтобы настроить простой брандмауэр с помощью iptables, вы можете определить правила, разрешающие трафик SSH и HTTP, блокируя весь остальной входящий трафик: ```sh sudo iptables -P INPUT DROP sudo iptables -P FORWARD DROP sudo iptables -P OUTPUT ACCEPT sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT ``` ### Практические советы по настройке брандмауэра Linux 1. **Всегда используйте политику сброса по умолчанию**: установите политику по умолчанию для сброса всего входящего трафика, разрешая только доверенные соединения. 2. **Разрешайте только определенные службы**: избегайте широких разрешений и указывайте только необходимые службы (например, SSH, HTTP). 3. **Ограничьте доступ по SSH**: ограничьте доступ по SSH, разрешив только доверенные IP-адреса и отключив вход с правами root. 4. **Используйте ведение журнала с осторожностью**: включите ведение журнала для отклоненных подключений, но ограничьте частоту, чтобы избежать переполнения журналов. # nftables: будущее межсетевых экранов Linux **nftables** — это современная замена **iptables** , которая обеспечивает повышение производительности, более простой синтаксис и большую гибкость. Она работает с **netfilter** и предназначена для объединения функций брандмауэра, NAT и искажения пакетов. ## Установка nftables В большинстве последних дистрибутивов Linux nftables предустановлен. Вы можете установить или обновить его с помощью: - **Debian/Ubuntu:** `sudo apt install nftables ## Базовые команды nftables - **Запуск и включение nftables**: `sudo systemctl start nftables `sudo systemctl enable nftables - **Просмотр активных правил:** `sudo nft list ruleset - **Сброс всех правил**: `sudo nft flush ruleset ## Пример конфигурации nftables Вот как можно настроить nftables для разрешения трафика SSH, HTTP и HTTPS: 1. **Откройте файл конфигурации nftables**: `sudo nano /etc/nftables.conf **2. Добавьте набор правил**: ```sh table inet filter { chain input { type filter hook input priority 0; policy drop; ct state established,related accept tcp dport { 22, 80, 443 } accept } chain forward { type filter hook forward priority 0; policy drop; } chain output { type filter hook output priority 0; policy accept; } } ``` **3. Загрузите наборы правил**: `sudo nft -f /etc/nftables.conf Эта конфигурация по умолчанию сбрасывает все входящие соединения, но разрешает установленные соединения и новые соединения через порты SSH, HTTP и HTTPS.