3

Рассмотрим VPN-сервер с закрытыми портами с использованием стука портов, чтобы открывать порты только при успешной последовательности стуков.

Когда закрытый порт открывается с помощью стука портов, а затем устанавливается VPN-соединение, почему VPN-соединение может оставаться подключенным после автоматического закрытия порта через заданное время?

Это то, что я видел в статье howtogeek.com о стуковке портов без дальнейшего объяснения, так что, возможно, я просто не правильно понимаю.

Насколько я понимаю, закрытые порты означают, что они не слушают соединения и не будут поддерживать установленные соединения. Так что же происходит, когда вы временно открываете порт для установления соединения, а затем автоматически закрываете его , сохраняя при этом уже установленный сеанс VPN?

Сохраняется ли соединение через закрытый порт или происходит что-то еще в отношении протокола VPN, где установленное соединение происходит в другом месте? И возможна ли такая ситуация с поддержанием соединений после закрытия порта с чем-то вроде SSH?

1 ответ1

1

Сейчас обычно используется полный межсетевой экран. Это позволяет отдельно фильтровать новое (первое) соединение и установленный (принадлежащий известным соединениям) пакет.

Сначала просто разрешить любое исходящее соединение (с двунаправленной передачей пакетов данных), в то время как входящие соединения все еще отключены.

Так что если порт открыт для нового соединения достаточно долго, чтобы установить соединение. Далее это соединение сохраняет правила работы для пакетов со статусом = "установлен".

Пример простого современного межсетевого экрана с отслеживанием состояния: https://wiki.archlinux.org/index.php/simple_stateful_firewall#Example_iptables.rules_file

/etc/iptables/iptables.rules

# Generated by iptables-save v1.4.18 on Sun Mar 17 14:21:12 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Sun Mar 17 14:21:12 2013

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .