AWS - VPC & Networking Basic Information

Підтримайте HackTricks

AWS Networking в двох словах

VPC містить мережевий CIDR, наприклад, 10.0.0.0/16 (з його таблицею маршрутизації та мережевим ACL).

Ця мережа VPC розділена на підмережі, тому підмережа безпосередньо пов'язана з VPC, таблицею маршрутизації та мережевим ACL.

Потім, мережеві інтерфейси, прикріплені до сервісів (наприклад, EC2 instances), підключені до підмереж з групами безпеки.

Таким чином, група безпеки обмежить відкриті порти мережевих інтерфейсів, що її використовують, незалежно від підмережі. А мережевий ACL буде обмежувати відкриті порти для всієї мережі.

Крім того, для доступу до Інтернету є кілька цікавих конфігурацій, які варто перевірити:

  • Підмережа може автоматично призначати публічні IPv4 адреси

  • Інстанс, створений у мережі, яка автоматично призначає IPv4 адреси, може отримати одну

  • Інтернет-шлюз повинен бути прикріплений до VPC

  • Ви також можете використовувати Egress-only internet gateways

  • Ви також можете мати NAT-шлюз у приватній підмережі, щоб мати можливість підключатися до зовнішніх сервісів з цієї приватної підмережі, але неможливо досягти їх ззовні.

  • NAT-шлюз може бути публічним (доступ до Інтернету) або приватним (доступ до інших VPC)

VPC

Amazon Virtual Private Cloud (Amazon VPC) дозволяє вам запускати ресурси AWS у віртуальній мережі, яку ви визначили. Ця віртуальна мережа матиме кілька підмереж, Інтернет-шлюзів для доступу до Інтернету, ACL, групи безпеки, IP-адреси...

Підмережі

Підмережі допомагають забезпечити вищий рівень безпеки. Логічне групування подібних ресурсів також допомагає підтримувати легкість управління вашою інфраструктурою.

  • Дійсні CIDR від /16 до /28.

  • Підмережа не може бути в різних зонах доступності одночасно.

  • AWS резервує перші три IP-адреси хостів кожної підмережі для внутрішнього використання AWS: перша адреса хоста використовується для маршрутизатора VPC. Друга адреса зарезервована для AWS DNS, а третя адреса зарезервована для майбутнього використання.

  • Підмережі, які мають прямий доступ до Інтернету, називаються публічними, тоді як приватні підмережі не мають такого доступу.

Таблиці маршрутизації

Таблиці маршрутизації визначають маршрутизацію трафіку для підмережі в VPC. Вони визначають, який мережевий трафік буде пересилатися в Інтернет або до VPN-з'єднання. Зазвичай ви знайдете доступ до:

  • Локальний VPC

  • NAT

  • Інтернет-шлюзи / Egress-only Internet gateways (необхідні для надання VPC доступу до Інтернету).

  • Щоб зробити підмережу публічною, вам потрібно створити та прикріпити Інтернет-шлюз до вашого VPC.

  • VPC endpoints (для доступу до S3 з приватних мереж)

На наступних зображеннях ви можете побачити різницю між типовою публічною мережею та приватною:

ACLs

Network Access Control Lists (ACLs): Мережеві ACL - це правила брандмауера, які контролюють вхідний та вихідний мережевий трафік до підмережі. Вони можуть використовуватися для дозволу або заборони трафіку до певних IP-адрес або діапазонів.

  • Найчастіше доступ дозволяється/забороняється за допомогою груп безпеки, але це єдиний спосіб повністю зупинити встановлені зворотні оболонки. Змінене правило в групах безпеки не зупиняє вже встановлені з'єднання.

  • Однак це стосується всієї підмережі, будьте обережні при забороні, оскільки необхідна функціональність може бути порушена.

Групи безпеки

Групи безпеки - це віртуальний брандмауер, який контролює вхідний та вихідний мережевий трафік до інстансів у VPC. Відношення 1 SG до M інстансів (зазвичай 1 до 1). Зазвичай це використовується для відкриття небезпечних портів в інстансах, таких як порт 22, наприклад:

Elastic IP Addresses

Elastic IP address - це статична IPv4 адреса, призначена для динамічного хмарного обчислення. Elastic IP address виділяється вашому обліковому запису AWS і залишається вашою, поки ви її не звільните. Використовуючи Elastic IP address, ви можете маскувати відмову інстансу або програмного забезпечення, швидко перенаправляючи адресу на інший інстанс у вашому обліковому записі.

З'єднання між підмережами

За замовчуванням, у всіх підмережах автоматичне призначення публічних IP-адрес вимкнено, але його можна увімкнути.

Локальний маршрут у таблиці маршрутизації дозволяє спілкування між підмережами VPC.

Якщо ви з'єднуєте підмережу з іншою підмережею, ви не можете отримати доступ до підмереж, підключених до іншої підмережі, вам потрібно створити з'єднання з ними безпосередньо. Це також стосується інтернет-шлюзів. Ви не можете пройти через з'єднання підмережі для доступу до Інтернету, вам потрібно призначити інтернет-шлюз вашій підмережі.

VPC Peering

VPC peering дозволяє вам підключити два або більше VPC разом, використовуючи IPV4 або IPV6, як якщо б вони були частиною однієї мережі.

Після встановлення з'єднання peer, ресурси в одному VPC можуть отримати доступ до ресурсів в іншому. З'єднання між VPC реалізується через існуючу інфраструктуру мережі AWS, тому воно є високодоступним без вузьких місць пропускної здатності. Оскільки з'єднання peer працюють як частина однієї мережі, є обмеження щодо діапазонів CIDR, які можна використовувати. Якщо у вас є перекриваючі або дублюючі діапазони CIDR для вашого VPC, то ви не зможете з'єднати VPC разом. Кожен AWS VPC буде спілкуватися лише зі своїм peer. Наприклад, якщо у вас є з'єднання peer між VPC 1 і VPC 2, і ще одне з'єднання між VPC 2 і VPC 3, як показано, то VPC 1 і 2 можуть спілкуватися один з одним безпосередньо, як і VPC 2 і VPC 3, однак, VPC 1 і VPC 3 не можуть. Ви не можете маршрутизувати через один VPC, щоб дістатися до іншого.

VPC Flow Logs

У вашому VPC потенційно можуть бути сотні або навіть тисячі ресурсів, які спілкуються між різними підмережами як публічними, так і приватними, а також між різними VPC через з'єднання VPC peering. VPC Flow Logs дозволяють вам захоплювати інформацію про IP-трафік, який проходить між мережевими інтерфейсами ваших ресурсів у вашому VPC.

На відміну від S3 access logs та CloudFront access logs, дані журналу, згенеровані VPC Flow Logs, не зберігаються в S3. Натомість, захоплені дані журналу надсилаються до CloudWatch logs.

Обмеження:

  • Якщо ви використовуєте з'єднання VPC peering, то ви зможете бачити журнали потоку лише для VPC peer, які знаходяться в одному обліковому записі.

  • Якщо ви все ще використовуєте ресурси в середовищі EC2-Classic, то, на жаль, ви не зможете отримати інформацію з їхніх інтерфейсів.

  • Після створення VPC Flow Log його не можна змінити. Щоб змінити конфігурацію VPC Flow Log, вам потрібно видалити його і створити новий.

  • Наступний трафік не контролюється і не захоплюється журналами. DHCP-трафік у VPC, трафік з інстансів, призначений для Amazon DNS Server.

  • Будь-який трафік, призначений для IP-адреси маршрутизатора за замовчуванням VPC, і трафік до і з наступних адрес, 169.254.169.254, який використовується для збору метаданих інстансу, і 169.254.169.123, який використовується для Amazon Time Sync Service.

  • Трафік, пов'язаний з активацією ліцензії Amazon Windows з Windows інстансу.

  • Трафік між інтерфейсом мережевого балансувальника навантаження і інтерфейсом кінцевої точки.

Для кожного мережевого інтерфейсу, який публікує дані до групи журналів CloudWatch, буде використовуватися окремий потік журналів. І в кожному з цих потоків будуть дані подій журналу потоку, які показують вміст записів журналу. Кожен з цих журналів захоплює дані протягом вікна приблизно 10-15 хвилин.

VPN

Основні компоненти AWS VPN

  1. Customer Gateway:

  • Customer Gateway - це ресурс, який ви створюєте в AWS, щоб представляти вашу сторону VPN-з'єднання.

  • Це, по суті, фізичний пристрій або програмне забезпечення на вашій стороні з'єднання Site-to-Site VPN.

  • Ви надаєте інформацію про маршрутизацію та публічну IP-адресу вашого мережевого пристрою (наприклад, маршрутизатора або брандмауера) до AWS для створення Customer Gateway.

  • Це служить точкою відліку для налаштування VPN-з'єднання і не несе додаткових витрат.

  1. Virtual Private Gateway:

  • Virtual Private Gateway (VPG) - це VPN-концентратор на стороні Amazon з'єднання Site-to-Site VPN.

  • Він прикріплений до вашого VPC і служить ціллю для вашого VPN-з'єднання.

  • VPG - це кінцева точка на стороні AWS для VPN-з'єднання.

  • Він обробляє безпечне спілкування між вашим VPC і вашою локальною мережею.

  1. Site-to-Site VPN Connection:

  • Site-to-Site VPN-з'єднання з'єднує вашу локальну мережу з VPC через безпечний тунель IPsec VPN.

  • Цей тип з'єднання вимагає Customer Gateway і Virtual Private Gateway.

  • Використовується для безпечного, стабільного та постійного спілкування між вашим дата-центром або мережею та вашим середовищем AWS.

  • Зазвичай використовується для регулярних, довгострокових з'єднань і оплачується на основі обсягу даних, переданих через з'єднання.

  1. Client VPN Endpoint:

  • Client VPN endpoint - це ресурс, який ви створюєте в AWS для увімкнення та управління сесіями клієнтського VPN.

  • Використовується для дозволу ок

Last updated