Стендап Сьогодні 📢 Канал в Telegram @stendap_sogodni

🤖🚫 Контент вільний від AI. Цей пост на 100% написаний людиною, як і все на моєму блозі. Насолоджуйтесь!

19.08.2023

Основи безпеки AWS: підмережі — приватні та публічні

Продовження: початок тут.

Наступне, з чим доведеться стикнутись — це підмережі (subnet.) Напевно, всі помічають, що багато сервісів вимагають не одну, а декілька підмереж. Чому так та навіщо нам взагалі вони потрібні?

Головна функція підмереж — використання зон доступності (availability zone.) Кожний регіон AWS далі поділений на зони, які є фізичними сегментами, ізольованими від ризиків (до деякого ступеня.) Тому для утворення високої доступності наші сервіси повинні мати копії в різних зонах. Так що варто мати по одній підмережі на кожну зону. Підмережа це більше як налаштування, ніж реальний ресурс, тому не коштує вона нічого.

Не забуваємо виділити підмережам достатній діапазон адрес. Взагалі про підмережі варто добре подумати заздалегідь, бо міняти їх складно та це потребує створення ресурсів наново. Я б починав з діапазонів /22 (на 1024 адреси.)

Та другий аспект підмережі — це контроль доступу з зовнішнього інтернету. Тут маємо публічні та приватні підмережі. Різниця між ними дуже проста: публічна має прямий маршрут до інтернету, а приватна — тільки через NAT. (Тобто різниця виключно в побудові таблиці маршрутів). Це значить, що до ресурсів в публічній мережі є (теоретична) можливість під’єднатися ззовні, а в приватній — взагалі ні. (NAT можна й не підключати, тоді ресурси будуть зовсім ізольовані від інтернету.) Підмережі не обмежують доступ до ресурсів з середини того ж VPC - ресурси з всіх підмереж можуть комунікувати один з одним.

Треба зазначити, що сама по собі публічна підмережа не відкриває доступу з інтернету, а тільки уможливлює. Це лише один з шарів безпеки. Ще потрібно принаймні виділити публічну адресу та додати відповідне правило в групу безпеки. (До речі, взагалі, якщо у машини в публічній мережі не буде публічної адреси, то вона не матиме доступу в інтернет — дізнався про це довгим шляхом.)

Тому, на мою думку, приватні підмережі варто використовувати тільки при чіткій вимозі до ізоляції. В протилежному разі вони надто ускладнюють життя — до бази даних в приватній мережі ви ніколи, ніяким чином не під’єднаєтесь ззовні, для цього доведеться створити її наново. Чи варто ускладнювати собі життя машинами-бастіонами та іншими рішеннями? Я не думаю.

Тож з підмережами все просто: робимо по одній публічній на кожну зону доступності, та за потребою створюємо приватні.