İçeriğe atla
Makale

VPC (Virtual Private Cloud) Nedir? Subnet ve Güvenlik

VPC'nin bulutta yalıtılmış ağı nasıl kurduğunu, subnet ve yönlendirmeyi, security group ile network ACL farkını, peering ve VPN bağlantısını anlattık.

Oğuzhan Gerçek··9 dk okuma
VPC (Virtual Private Cloud) Nedir? Subnet ve Güvenlik

Kısa cevap: VPC (virtual private cloud, sanal özel bulut), bir bulut sağlayıcısının altyapısında kullanıcının tanımladığı ve öteki müşterilerden mantıksal olarak yalıtılmış sanal ağdır. Adres aralığı bir CIDR bloğudur; ağ subnet'lere bölünür, trafiğin yolunu yönlendirme tabloları, erişimi security group ve network ACL kuralları belirler. Ağı internete internet gateway ve NAT gateway, başka VPC'lere peering ya da transit gateway, kurum içine site-to-site VPN ya da özel hat bağlar.

VPC nedir?

AWS'nin tanımıyla Amazon VPC, AWS kaynaklarını kullanıcının tanımladığı, mantıksal olarak yalıtılmış bir sanal ağda çalıştırır; bu ağ, kurumun kendi veri merkezinde işlettiği geleneksel bir ağa çok benzer. Google Cloud VPC ağını fiziksel bir ağın sanal karşılığı sayıyor; Microsoft'ta aynı işi Azure Virtual Network (VNet) görür.

AWS'de VPC bölgenin (Region) bütün erişilebilirlik alanlarına (Availability Zone) yayılır, Azure'da sanal ağ ve subnet'leri bölgedeki bütün alanları kapsar, Google Cloud'da ise VPC ağı küresel, subnet'leri bölgeseldir. Bulut modellerini bulut bilişim yazımızda anlattık; kısa tanım sözlüğümüzde var.

CIDR blok ve subnet: public ve private subnet

CIDR gösteriminde adresin ardındaki /16 gibi sayı, RFC 4632'ye (Ağustos 2006) göre ağ kısmını belirleyen bit sayısıdır. AWS'de VPC'nin IPv4 bloğu /16 (65.536 adres) ile /28 (16 adres) arasında seçilir; AWS, LAN yazımızda listelediğimiz RFC 1918 özel aralıklarını öneriyor. Subnet, VPC içindeki bir IP aralığıdır ve AWS'de tek bir erişilebilirlik alanında durur. Temel ayrım rotaya bağlı:

  • Public subnet: İnternet gateway'e doğrudan rotası vardır.
  • Private subnet: Bu rota yoktur; internete NAT cihazıyla çıkar. AWS, kaynakları korumak için bu türü tavsiye ediyor.

Her subnet'te birkaç adres sağlayıcıya ayrılır: AWS ve Azure ilk dört ve son adresi, Google Cloud ilk iki ve son iki adresi kullanıcıya vermez.

Yönlendirme tablosu, internet gateway ve NAT gateway

AWS'nin tarifiyle yönlendirme tablosu (route table), VPC'den çıkan trafiğin nereye gideceğini belirleyen rotalardan oluşur. Açıkça başka tabloya bağlanmayan subnet ana tabloyu (main route table) kullanır; her tabloda VPC içi iletişim için bir yerel rota (local route) var (router yazımız).

İnternet gateway, VPC ile internet arasındaki iletişimi sağlayan, yatay ölçeklenen, yedekli bileşendir. Subnet'i public yapan şey bu gateway'e giden rotadır; sunucunun ayrıca genel bir IPv4 adresi ya da Elastic IP'si olmalı. Private subnet'teki sunucular için NAT gateway public subnet'e kurulur: sunucular dışarı bağlanır, dışarıdan onlara bağlantı başlatılamaz (NAT yazımız). AWS hizmetlerine internet gateway ya da NAT olmadan VPC endpoint ile ulaşılır.

Security group ile network ACL farkı

AWS'nin karşılaştırmasına göre iki katman şöyle ayrılır:

  • Security group: Sunucuya bağlanan sanal bir firewall gibi çalışır ve yalnızca izin kuralı alır. Durum tutar (stateful): izin verilen isteğin cevabı kendiliğinden geçer.
  • Network ACL: Subnet'e bağlanır, izin ve ret kuralı alır, kuralları küçük numaradan başlayıp ilk eşleşmeye kadar değerlendirir. Durum tutmaz (stateless): dönüş trafiğine ayrıca izin verilmelidir.

Durum tutmamanın bedeli geçici (ephemeral) portlarda ödenir. AWS'ye göre bu portu istemcinin işletim sistemi seçer: birçok Linux çekirdeği 32768-61000, Windows Server 2008 ve sonrası 49152-65535 aralığını kullanır. Sunucunun başlattığı bağlantının cevabı bu portlara döner ve network ACL izin vermezse subnet'e giremez (port yazımız). Varsayılan network ACL ise bütün trafiğe izin verir. Azure'da NSG, Google Cloud'da VPC firewall kuralları durum tutar (firewall yazımız).

VPC peering ve transit gateway

AWS'ye göre VPC peering, iki VPC arasında trafiği özel IP adresleriyle yönlendiren bağlantıdır; VPC'ler farklı hesaplarda ve bölgelerde olabilir. Sınırları tasarımı belirler: CIDR blokları çakışan VPC'ler eşlenemez, rotaları iki taraf da elle ekler ve peering geçişli (transitive) değildir; bir VPC, eşinin eşine onun üzerinden ulaşamaz.

AWS'nin çok VPC'li ağ rehberine göre 100 VPC'yi tam örgü (full mesh) bağlamak 4.950 peering bağlantısı ister. Transit gateway ise VPC'leri ve kurum içi ağları bağlayan merkezi bir geçiş noktasıdır: rehbere göre her VPC yalnızca ona bağlanır, trafik de onun yönlendirme tablolarıyla ayrılır. Azure ve Google Cloud da sanal ağ eşlemesi sunuyor; Google'ın eşlemesi de geçişli yönlendirme sağlamaz.

Kurum içine bağlantı: site-to-site VPN ve özel hat

AWS'ye göre IPsec tabanlı site-to-site VPN bağlantısı, AWS tarafındaki virtual private gateway ya da transit gateway ile veri merkezindeki müşteri gateway cihazı arasında iki tünelden oluşur; tüneller yüksek erişilebilirlik için aynı anda kullanılabilir (VPN yazımız).

Özel hatta trafik internetten geçmez. AWS Direct Connect kurum ağını standart bir Ethernet fiber kabloyla bir Direct Connect noktasına bağlar ve yoldaki internet servis sağlayıcılarını aradan çıkarır; Azure'da ExpressRoute bağlantısı da özeldir. Özel hat şifreli hat demek değil: AWS'ye göre Direct Connect, trafiği varsayılan olarak şifrelemez; şifreleme için hattın üzerinden site-to-site VPN ya da, Direct Connect noktasına kadar, MACsec kullanılır. Bağlantı kurulumunu ağ ve trafik mühendisliği hizmetimizde ele alıyoruz.

Akış günlükleri (flow logs)

AWS'ye göre VPC Flow Logs, VPC'deki ağ arayüzlerine gelen ve giden IP trafiği hakkında bilgi toplar. Kayıt kaynak ve hedef adresi, portları, protokolü, paket ve bayt sayısını ve trafiğin kabul mü ret mi edildiğini (ACCEPT, REJECT) tutar. Günlük VPC, subnet ya da ağ arayüzü için açılır, gerçek zamanlı değildir ve trafiğin yolu dışında toplandığından ağı yavaşlatmaz. Google Cloud'un akış günlükleri ise örnekleme yapar, her paketi yakalamaz.

NSA ve CISA'nın Mart 2024 tarihli bulutta ağ segmentasyonu ve şifreleme rehberi, tehdit avına yaradığı için akış günlüklerinin açık olmasını istiyor. Saklamayı log yazımızda, korelasyonu SIEM ve SOC yazımızda anlattık.

VPC, private cloud ve VLAN farkı

NIST'in SP 800-145 (Eylül 2011) tanımında private cloud, altyapısı tek bir kurumun kullanımına ayrılmış buluttur; public cloud ise herkesin kullanımına açık altyapıdır. VPC bu ikinci modelin içinde çalışır, yalıtımı mantıksaldır. Farkı private cloud yazımızda, bankacılıktaki sonucunu BDDK yazımızda anlattık; kısa tanım sözlükte var.

VLAN ise switch altyapısında çalışır: RFC 7348'e göre 12 bitlik VLAN ID'si, katman 2 ağını ayrı yayın alanlarına (broadcast domain) böler (VLAN yazımız). VPC'de yayın alanı yok; AWS, Azure ve Google Cloud sanal ağda broadcast'i desteklemiyor.

VPC tasarımında sık yapılan hatalar

  1. Çakışan IP blokları: Microsoft'a göre sanal ağ, başka sanal ağlara ve kurum içi ağlara ancak CIDR blokları çakışmıyorsa bağlanabilir; AWS'de de çakışan VPC'ler eşlenemez. Bloklar kurum içi ağlarla birlikte planlanmalı.
  2. Gereğinden geniş kurallar: AWS'ye göre SSH ya da RDP'ye her yerden erişim, testte kısa süre kabul edilebilir ama üretimde güvensizdir; MITRE ATT&CK bu iki servisi parola tahmini saldırılarının sık hedefleri arasında sayıyor (brute force yazımız). Kaynak olarak IP aralığı yerine başka bir security group gösterilebilir.
  3. Her şeyi public subnet'e koymak: AWS'nin her bölgede hazır verdiği varsayılan VPC'nin subnet'leri public; AWS bu VPC'yi hızlı başlangıç ve blog gibi basit işler için uygun buluyor. Veritabanı gibi kaynaklar private subnet'e konmalı (DBaaS yazımız).

NSA ve CISA, konuşması gerekmeyen iki uygulama arasında iletişim yolu bırakılmamasını istiyor (ağ güvenliği yazımız). Kuralları ağ güvenliği, VPC'lerin işletimini bulut platformları hizmetimizde ele alıyoruz.

Sık sorulan sorular

VPC ne demek? Virtual private cloud, yani sanal özel bulut demek: bulutta kullanıcının tanımladığı, öteki müşterilerden mantıksal olarak yalıtılmış sanal ağ.

AWS VPC nedir? Amazon VPC, AWS'nin sanal ağ hizmetidir. Bir VPC bölgenin bütün erişilebilirlik alanlarına yayılır; her subnet ise tek bir alanda durur.

Subnet nedir? VPC içindeki bir IP adres aralığıdır. İnternet gateway'e rotası olan subnet public, olmayan private sayılır.

Security group nedir? Sunucuya bağlanan, yalnızca izin kuralı alan ve durum tutan sanal firewall'dur. Network ACL ise subnet'e bağlanır ve durum tutmaz.

VPC peering nedir? İki VPC'yi özel IP adresleri üzerinden bağlayan bağlantıdır. CIDR blokları çakışan VPC'ler eşlenemez ve peering geçişli değildir.

NAT gateway ne işe yarar? Private subnet'teki sunucuların VPC dışına bağlanmasını sağlar; dışarıdan bu sunuculara bağlantı başlatılamaz.

Kaynaklar