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

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


iptables

Розбіжності

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

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

Both sides previous revision Попередня ревізія
Наступна ревізія
Попередня ревізія
iptables [2016/11/09 23:06]
wombat Заголовки на уровень выше + systemd
iptables [2020/05/20 21: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 · В останнє змінено: 2016/11/09 23:06 by wombat