Как понять порты AWS VPC Flow Log?

Я пытаюсь использовать журналы потоков AWS VPC, чтобы найти использование портов на инстансах EC2, но не могу понять этого.

Например, эти две строки, 10.200.10.30 - это частный IP-адрес интерфейса. Группа безопасности разрешает порт 443. Но, как показано здесь, порт назначения 33788 ПРИНЯТ ?!

2 123456789123 eni-abc123ab 54.152.158.21 10.200.10.30 443 33788 6 12 6861 1550793782 1550793842 ACCEPT OK
2 123456789123 eni-abc123ab 10.200.10.30 54.152.158.21 33788 443 6 13 2745 1550793782 1550793842 ACCEPT OK

Хорошо, может быть, тогда это просто наоборот, но это тоже не работает, потому что в других случаях порты источника / назначения такие, как ожидалось ...

https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-monitoring.html упоминает две записи для каждого соединения, но приведенный выше экземпляр не является балансировщиком нагрузки ...

Есть указатели?


person Rikard    schedule 22.02.2019    source источник


Ответы (1)


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

вторая строка представляет запрос HTTPS от источника (10.200.10.30:33788) к месту назначения (54.152.158.21:443), а первая строка представляет пакеты, возвращенные для этого запроса.

Итак, какой хост в вашей сети имеет 54.152.158.21? Я предполагаю, что это ALB.

person guest    schedule 22.02.2019
comment
Этот IP-адрес, скорее всего, будет внешним сервером, с которым связывается этот экземпляр, возможно, внешним API или, возможно, машиной, проверяющей обновления ОС. Общедоступный IP-адрес, связанный с устройством внутри этого VPC, не должен отображаться в журналах потоков, так как это сопоставление происходит на другой стороне Интернет-шлюза, и трафик ALB-к-экземпляру будет показывать частные IP-адреса на обе стороны. - person Michael - sqlbot; 23.02.2019
comment
@ Michael-sqlbot - общедоступный ALB разрешается как общедоступный IP-адрес для машин внутри VPC, а не как внутренний IP-адрес (поверьте, это доставило мне бесконечную боль). Хотя запрос может быть на любой общедоступный IP-адрес, тот факт, что это адрес EC2, а OP не упомянул подключение к какой-либо другой машине, заставляет меня согласиться с тем, что это, вероятно, будет ALB. - person kdgregory; 24.02.2019
comment
Я действительно создал пример этого, но позже придется выложить его - гости уже прибыли. - person kdgregory; 24.02.2019
comment
@kdgregory согласился, это определенно может быть исходящее соединение от экземпляра к ALB, даже ALB в том же VPC. Возможно, я неверно истолковал этот ответ, предполагая, что это может быть входящее соединение от ALB к экземпляру, что, как я утверждал, будет включать два частных адреса. Перечитывая ответ, я, кажется, не согласен с утверждением, которого на самом деле не было. Я думаю, мы все согласны с тем, что это исходящее соединение от экземпляра к тому публичному IP-адресу, которое инициируется экземпляром. - person Michael - sqlbot; 24.02.2019
comment
Да, значит, нет никакого способа узнать, является ли строка в журнале потока ответом или запросом, верно? Для портов 33788 и 443 вы, конечно, можете сделать очевидную догадку ... - person Rikard; 25.02.2019
comment
Обычно можно предположить, что если порт источника ›32768 или порт назначения‹ 1024 (или хорошо известный непривилегированный порт, такой как 8080), то источником является запрашивающая сторона. Но почему это важно? Что вы пытаетесь достичь? - person kdgregory; 26.02.2019