Правило запрета SSH разрешает мне использовать SSH?

Правило запрета SSH разрешает мне использовать SSH?

Я изучаю AWS VPC, где я назначаю входящие/исходящие правила NACL, как показано ниже: Прямо сейчас я делаю это для всех IP-адресов

Rule #    Type           Allow/Deny
100       All Traffic    Allow
200       SSH            Deny
 *        All Traffic    Deny


Outbound
Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny

Мне интересно, как работает мой SSH, поскольку правило говорит, что сначала будет оценено меньшее число, а в исходящем правиле я запретил SSH. Может ли кто-нибудь объяснить, как на самом деле работает правило в AWS?

решение1

Входящий трафик SSH разрешен, поскольку входящее правило № 100 (200 практически игнорируется) и исходящее правило не соответствуют уже установленному соединению SSH...


На основеAWS-документация:

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

  • Входящее правило

Исходя из того, что я вижу, я думаю, что у вас неправильный порядок правил.

Rule #    Type           Allow/Deny
100       All Traffic    Allow
200       SSH            Deny
 *        All Traffic    Deny

Это просто не имеет смысла, так как вы разрешаете весь трафик с помощью правила 100, поэтому правило 200 не будет использоваться в любое время (трафик будет разрешен на основе правила 100, поэтому для правила 200 ничего не «остается»). Я думаю, что больше смысла в другом порядке (в случае, если вы хотите запретить службу ssh):

Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny
  • Исходящий

Вот трафик SSH с меньшим номером правила:

Rule #    Type           Allow/Deny
100       SSH            Deny
200       All Traffic    Allow
 *        All Traffic    Deny

Это запретит трафик для SSH, а для остального он будет разрешен...

Тип SSH — это трафик с портом TCP/22 — обычно он используется в качестве порта назначения. В случае, если вы хотите связаться с сервером SSH, вы подключаетесь к TCP/22, но ваш исходный порт — TCP/X, где X выбирается «случайным образом» (не совсем, но для простоты скажем «случайным образом»), скажем, >10000.

Как только сервер отвечает на ваше соединение, порт назначения — это «ваш» TCP/X, поэтому правило не обязательно должно соответствовать этому трафику...

Исходящий трафик с назначением TCP/22 будет представлять собой соединение, инициированное на сервере с назначением на другом устройстве, а также не установленное SSH-соединение.

решение2

Вы разрешаете весь трафик на свой хост, но запрещаете исходящий SSH-трафик с него.

Насколько мне известно, NACL не выполняют глубокую проверку пакетов. Это означает, что протоколы являются простыми псевдонимами для ихназначенные порты.

Если только вы не делаете что-то действительно странное, например, пытаетесь подключиться по SSH.отпорт 22, ваш входящий сеанс SSH должен работать нормально.

Связанный контент