AWS - VPC & Networking Basic Information

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

AWS Мережа в кількох словах

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

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

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

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

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

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

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

  • До VPC потрібно приєднати Інтернет-шлюз

  • Ви також можете використовувати Шлюзи виходу тільки в Інтернет

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

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

VPC

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

Підмережі

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

  • Дійсні CIDR від маски мережі /16 до маски мережі /28.

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

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

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

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

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

  • Локальна VPC

  • NAT

  • Інтернет-шлюзи / Шлюзи виходу тільки в Інтернет (необхідно для надання VPC доступу до Інтернету).

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

  • Кінцеві точки VPC (для доступу до S3 з приватних мереж)

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

ACLs

Списки керування доступом до мережі (ACL): Списки ACL - це правила брандмауера, які керують вхідним та вихідним мережевим трафіком до підмережі. Їх можна використовувати для дозволу або заборони трафіку до конкретних IP-адрес або діапазонів.

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

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

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

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

Еластичні IP-адреси

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

Підключення між підмережами

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

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

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

З'єднання між VPC

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

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

Журнали потоків VPC

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

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

Обмеження:

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

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

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

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

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

  • Трафік, що стосується ліцензії активації Windows Amazon від екземпляра Windows.

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

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

VPN

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

  1. Шлюз клієнта:

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

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

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

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

  1. Віртуальний приватний шлюз:

  • Віртуальний приватний шлюз (VPG) - це VPN-концентратор на боці Amazon з'єднання Site-to-Site VPN.

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

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

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

  1. З'єднання Site-to-Site VPN:

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

  • Цей тип з'єднання потребує Шлюза клієнта та Віртуального приватного шлюза.

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

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

  1. Кінцева точка клієнтського VPN:

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

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

  • Вона відрізняється від Site-to-Site VPN тим, що призначена для окремих клієнтів, а не для підключення цілих мереж.

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

З'єднання Site-to-Site VPN

Підключіть вашу корпоративну мережу до вашого VPC.

  • VPN-з'єднання: Безпечне з'єднання між вашим обладнанням на місці та вашими VPC.

  • VPN-тунель: Зашифроване з'єднання, через яке дані можуть проходити від мережі клієнта до або від AWS.

Кожне VPN-з'єднання включає два VPN-тунелі, які можна одночасно використовувати для забезпечення високої доступності.

  • Шлюз клієнта: Ресурс AWS, який надає інформацію AWS про ваш пристрій шлюза клієнта.

  • Пристрій шлюза клієнта: Фізичний пристрій або програмне забезпечення на вашому боці з'єднання Site-to-Site VPN.

  • Віртуальний приватний шлюз: VPN-концентратор на боці Amazon з'єднання Site-to-Site VPN. Ви використовуєте віртуальний приватний шлюз або транзитний шлюз як шлюз для боку Amazon з'єднання Site-to-Site VPN.

  • Транзитний шлюз: Транзитний хаб, який можна використовувати для взаємодії між вашими VPC та мережами на

Обмеження

  • Трафік IPv6 не підтримується для VPN-підключень на віртуальному приватному шлюзі.

  • Підключення VPN AWS не підтримує виявлення шляху MTU.

Крім того, враховуйте наступне при використанні VPN між сайтами.

  • При підключенні ваших VPC до спільної мережі на місці рекомендується використовувати неперекриваючі блоки CIDR для ваших мереж.

Клієнтський VPN

Підключення з вашого пристрою до вашої VPC

Концепції

  • Кінцева точка клієнтського VPN: Ресурс, який ви створюєте та налаштовуєте для активації та управління сеансами клієнтського VPN. Це ресурс, де завершуються всі сеанси клієнтського VPN.

  • Цільова мережа: Цільова мережа - це мережа, яку ви асоціюєте з кінцевою точкою клієнтського VPN. Підмережа з VPC є цільовою мережею. Асоціюючи підмережу з кінцевою точкою клієнтського VPN, ви можете встановлювати VPN-сеанси. Ви можете асоціювати кілька підмереж з кінцевою точкою клієнтського VPN для забезпечення високої доступності. Усі підмережі повинні бути з одного ЦОД. Кожна підмережа повинна належати до різних зон доступності.

  • Маршрут: У кожної кінцевої точки клієнтського VPN є таблиця маршрутів, яка описує доступні маршрути до мережі призначення. Кожен маршрут у таблиці маршрутів вказує шлях для трафіку до конкретних ресурсів або мереж.

  • Правила авторизації: Правило авторизації обмежує користувачів, які можуть отримати доступ до мережі. Для вказаної мережі ви налаштовуєте групу Active Directory або постачальника ідентичності (IdP), якій дозволено доступ. До вказаної мережі можуть отримати доступ лише користувачі, які належать до цієї групи. За замовчуванням правил авторизації немає і вам потрібно налаштувати правила авторизації, щоб дозволити користувачам отримати доступ до ресурсів та мереж.

  • Клієнт: Кінцевий користувач, який підключається до кінцевої точки клієнтського VPN для встановлення VPN-сеансу. Кінцеві користувачі повинні завантажити клієнт OpenVPN та використовувати файл конфігурації клієнта VPN, який ви створили, для встановлення VPN-сеансу.

  • Діапазон CIDR клієнта: Діапазон IP-адрес, з якого призначаються IP-адреси клієнтам. Кожному підключенню до кінцевої точки клієнтського VPN призначається унікальний IP-адрес з діапазону CIDR клієнта. Ви вибираєте діапазон CIDR клієнта, наприклад, 10.2.0.0/16.

  • Порти клієнтського VPN: AWS Client VPN підтримує порти 443 та 1194 як для TCP, так і для UDP. За замовчуванням використовується порт 443.

  • Мережеві інтерфейси клієнтського VPN: Коли ви асоціюєте підмережу з кінцевою точкою клієнтського VPN, ми створюємо мережеві інтерфейси клієнтського VPN в цій підмережі. Трафік, який відправляється в ЦОД з кінцевої точки клієнтського VPN, передається через мережевий інтерфейс клієнтського VPN. Потім застосовується переклад адреси мережі джерела (SNAT), де IP-адреса діапазону CIDR клієнта перекладається в IP-адресу мережевого інтерфейсу клієнтського VPN.

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

  • Портал самообслуговування: Ви можете увімкнути портал самообслуговування для вашої кінцевої точки клієнтського VPN. Клієнти можуть увійти в веб-портал за допомогою своїх облікових даних та завантажити останню версію файлу конфігурації кінцевої точки клієнтського VPN або останню версію наданого AWS клієнта.

Обмеження

  • Діапазони CIDR клієнта не можуть перекриватися з локальним CIDR VPC, в якому розташована асоційована підмережа, або будь-які маршрути, додані вручну до таблиці маршрутів кінцевої точки клієнтського VPN.

  • Діапазони CIDR клієнта повинні мати розмір блоку принаймні /22 і не повинні бути більшими за /12.

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

  • Діапазон CIDR клієнта не може бути змінений після створення кінцевої точки клієнтського VPN.

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

  • Ви не можете асоціювати кілька підмереж з однієї зоною доступності з кінцевою точкою клієнтського VPN.

  • Кінцева точка клієнтського VPN не підтримує асоціації підмереж в VPC з присвоєнням окремого тенансу.

  • Клієнтський VPN підтримує тільки трафік IPv4.

  • Клієнтський VPN не є відповідним стандартам Федеральних інформаційних обробок (FIPS).

  • Якщо багатофакторна аутентифікація (MFA) вимкнена для вашої Active Directory, пароль користувача не може мати наступний формат.

SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • Портал самообслуговування недоступний для клієнтів, які автентифікуються за допомогою взаємної аутентифікації.

Last updated