Користувальницькі налаштування

Налаштування сайту


iptables

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версійПопередня ревізія
Наступна ревізія
Попередня ревізія
iptables [2016/11/09 21:06] – Заголовки на уровень выше + systemd wombatiptables [2020/05/20 18:23] (поточний) – Перенаправление порта wombat
Рядок 19: Рядок 19:
   # iptables -A FORWARD -s <LAN_IP>/24 -j ACCEPT   # iptables -A FORWARD -s <LAN_IP>/24 -j ACCEPT
   # iptables -t nat -A PREROUTING -i wan0 -o eth0 -p tcp --dport 22 -j DNAT --to <LAN_SERVER_IP>:22   # iptables -t nat -A PREROUTING -i wan0 -o eth0 -p tcp --dport 22 -j DNAT --to <LAN_SERVER_IP>:22
 +
 +
 +
 +====== Перенаправление порта ======
 +
 +Представим ситуацию, что у нас есть сервис, ожидающий входящих соединений на порту 1111. А нам нужно, чтобы другие программы могли подключаться к порту 2222, но при этом соединяться с этим сервисом. Для этого мы можем перенаправить пакеты, приходящие в порт 2222, в нужный нам порт -- 1111.
 +
 +  sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j REDIRECT --to-port 1111
 +
 +Ещё часто уточняют((https://askubuntu.com/a/579540/298881 , https://askubuntu.com/a/595955/298881 , https://wiki.debian.org/Firewalls-local-port-redirection)), что это правило не будет работать для локальных подключений. Поэтому для них надо добавить ещё одно отдельно:
 +
 +  iptables -t nat -A OUTPUT -o lo -p tcp --dport 2222 -j REDIRECT --to-port 1111
 +
 +
  
 ====== Ограничение числа соединений в некоторый порт ====== ====== Ограничение числа соединений в некоторый порт ======
Рядок 60: Рядок 74:
  
  
 +====== Предотвращение сканирования портов ======
 +
 +Чтобы предотвратить сканирование портов, рекомендуют((https://www.ossramblings.com/using_iptables_rate_limiting_to_prevent_portscans)) использовать следующие правила:
 +
 +  iptables  -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
 +  iptables  -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
 +  
 +  iptables  -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
 +  iptables  -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
 +  iptables  -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP
 +  
 +  iptables  -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP
 +  iptables  -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP
 +  iptables  -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP
 +  iptables  -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP
 +
 +в том числе сканирование nmap:
 +
 +  iptables -A INPUT -p tcp -i eth0 -m state --state NEW -m recent --set
 +  iptables -A INPUT -p tcp -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j DROP
 +  iptables -A FORWARD -p tcp -i eth0 -m state --state NEW -m recent --set
 +  iptables -A FORWARD -p tcp -i eth0 -m state --state NEW -m recent --update --seconds 30 --hitcount 10 -j DROP
 +
 +Эти правила должны отбрасывать пакеты, если в течение 30 секунд пользователь подключается более 10 раз.
  
 ====== LOG ====== ====== LOG ======
iptables.1478725613.txt.bz2 · Востаннє змінено: повз wombat