summaryrefslogtreecommitdiff
path: root/LINUX/IPTABLES, NFTABLES.md
diff options
context:
space:
mode:
Diffstat (limited to 'LINUX/IPTABLES, NFTABLES.md')
-rw-r--r--LINUX/IPTABLES, NFTABLES.md101
1 files changed, 101 insertions, 0 deletions
diff --git a/LINUX/IPTABLES, NFTABLES.md b/LINUX/IPTABLES, NFTABLES.md
new file mode 100644
index 0000000..2ab407c
--- /dev/null
+++ b/LINUX/IPTABLES, NFTABLES.md
@@ -0,0 +1,101 @@
+**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. \ No newline at end of file