Назад | Перейти на главную страницу

ACL SMTP-сети на AWS

У меня очень ограниченный ACL для моего VPC. У нас есть общедоступная подсеть и частная подсеть, каждая подсеть имеет свой индивидуальный ACL.

Я не понимаю, почему следующий ACL работает для отправки электронной почты через порт 465 через Amazon SES.

общественность:

частный:

Я получаю оба исходящих, но входящий для публики не имеет никакого смысла. Где в SMTP RFC сказано, что smtp-сервер (SES, реле) будет соединяться с клиентом обратно через порт 465? Я ожидал, что клиент выберет высокий порт, как показано в следующем netstat:

tcp      104      0 ip-10-0-1-75.ec:36836 ec2-54-243-225-221.:urd CLOSE_WAIT
tcp        0      0 ip-10-0-1-75.ec:50903 ec2-54-243-161-229.:urd ESTABLISHED

urd - 465, насколько я понимаю. Итак, мой экземпляр в частной подсети направляет запрос экземпляру NAT, а NAT (в общедоступной подсети) отправляет пакеты на удаленный сервер. Так зачем вообще нужен 465 входящий?

Чтобы убедиться, что мы ясны, src 0.0.0.0/0 port 465 относится к источник IP, но место назначения порт.

Источник трафика (диапазон CIDR) и целевой (прослушивающий) порт или диапазон портов.

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html

Что интересно в этом вопросе, так это то, что "неправильное" (то есть источник путаницы) с правилом вовсе не порт, а диапазон IP-адресов.

Это правило разрешает вашим экземплярам в частных подсетях получать доступ к вашему экземпляру NAT (в общедоступной подсети), чтобы трафик мог быть перенаправлен оттуда в Интернет. Фактическая цель не в том, чтобы разрешить трафик из Интернета обратно (хотя он непреднамеренно делает что-то подобное, разрешая входящий трафик с портом назначения 465, что вам не нужно). Более правильное правило будет использовать блок cidr вашего VPC (например, 172.31.0.0/16) (или соответствующее подмножество) в качестве источника, а машину NAT или ее подсеть в качестве назначения.