Ana içeriğe atla
Ağ topolojisi ve port gereksinimleri, Apinizer platformunun güvenli bir şekilde kurulması için kritik öneme sahiptir. Bu bölüm, güvenli deployment desenleri, firewall zone’ları, Kubernetes port gereksinimleri, Apinizer bileşen portları ve kurulum için erişim gereksinimleri hakkında detaylı bilgi sağlar.

Firewall Zone’ları

DMZ Zone (Demilitarized Zone)

DMZ, dış dünyaya açık olan ancak iç ağdan izole edilmiş güvenli ağ bölgesidir. DMZ’de Çalışan Bileşenler:

Worker Nodes

API Gateway bileşenleri:
  • Proxy Handler
  • Token Provider API
  • Local Cache
Port Gereksinimleri:
  • 443/80 (HTTPS/HTTP) - İstemci erişimi
  • 30080/30090 (NodePort) - Apinizer API Gateway
  • 32080 (NodePort) - Manager erişimi

Load Balancer

Trafik dağıtımı:
  • HAProxy / Nginx
  • SSL/TLS sonlandırması
  • Health check
Port Gereksinimleri:
  • 443/80 (HTTPS/HTTP) - Dış erişim
  • 30080/30090 (Backend) - Worker’lara erişim
DMZ Güvenlik Kuralları:
  • Inbound:
    • Port 443/80: Internet’ten Load Balancer’a
    • Port 22: SSH (opsiyonel, VPN üzerinden önerilir)
  • Outbound:
    • Port 8080: Manager’a (LAN)
    • Port 25080: MongoDB’ye (LAN)
    • Port 9200: Elasticsearch’e (LAN)
    • Port 5701: Cache’e (LAN)
    • Port 443: Dış API’lere (Backend)

LAN Zone (Local Area Network)

LAN, kurum içi güvenli ağ bölgesidir. Dış dünyadan erişilemez. LAN’da Çalışan Bileşenler:

Manager Module

Yönetim ve konfigürasyon:
  • Web Manager
  • Analytics Engine
  • Monitoring & Alerting
  • Scheduled Jobs
Port Gereksinimleri:
  • 8080 (HTTP) - Web Manager
  • 8080 (Management API) - Worker’lardan erişim

MongoDB

Veritabanı:
  • Konfigürasyon verileri
  • Metadata
  • Audit logs
Port Gereksinimleri:
  • 25080 (MongoDB) - Manager ve Worker’lardan
  • 25080 (Apinizer DB Port) - Apinizer konfigürasyon veritabanı

Elasticsearch

Log ve analitik:
  • API traffic logs
  • Analitik veriler
Port Gereksinimleri:
  • 9200 (HTTP) - Manager ve Worker’lardan
  • 9300 (Transport) - Cluster iletişimi

Cache Cluster

Dağıtılmış önbellek:
  • Hazelcast cluster
  • Shared cache data
Port Gereksinimleri:
  • 5701 (Hazelcast) - Cluster iletişimi
LAN Güvenlik Kuralları:
  • Inbound:
    • Port 8080: DMZ’den Manager’a
    • Port 25080: DMZ’den MongoDB’ye
    • Port 25080: DMZ’den MongoDB’ye (Apinizer DB)
    • Port 9200: DMZ’den Elasticsearch’e
    • Port 5701: DMZ’den Cache’e
    • Port 22: SSH (VPN üzerinden)
  • Outbound:
    • Port 443: Dış servislere (opsiyonel)
    • Port 53: DNS sorguları

Ağ Segmentasyonu

Network Segmentation Best Practices

Önerilen VLAN Yapısı:
  • VLAN 10: DMZ Zone
  • VLAN 20: LAN Zone (Manager)
  • VLAN 30: LAN Zone (Database)
  • VLAN 40: Management Network (SSH, Monitoring)
Bu yapı, ağ trafiğinin izole edilmesini ve güvenlik kontrollerinin kolaylaştırılmasını sağlar.
Önerilen Subnet Yapısı:
  • DMZ: 10.0.1.0/24
  • LAN (Manager): 10.0.2.0/24
  • LAN (Database): 10.0.3.0/24
  • Management: 10.0.4.0/24
Her subnet’in kendi firewall kuralları ve erişim politikaları olmalıdır.
Routing Yapılandırması:
  • DMZ’den LAN’a: Sadece gerekli portlar açık
  • LAN’dan DMZ’ya: Yönetim amaçlı erişim
  • Internet’ten DMZ’ya: Sadece Load Balancer
  • LAN’dan Internet’e: Kısıtlı erişim

Kubernetes Port Gereksinimleri

Kurulum için Erişilmesi Gereken Adresler

Kubernetes ve Apinizer kurulumu için aşağıdaki adreslere internet erişimi gereklidir:
  • archive.ubuntu.com, security.ubuntu.com / cdn.redhat.com
  • *.docker.com
  • *.docker.io
  • *.k8s.io
  • *.amazonaws.com (Kubernetes dokümantasyonu)
  • *.mongodb.org
  • *.mongodb.com
  • artifacts.elastic.co
Not: Bu port erişimleri Kubernetes 1.31.0 ve Flannel 0.27.4 versiyonu için kontrol edilmiş ve onaylanmıştır. Farklı Kubernetes ve Flannel versiyonlarında portlar değişiklik gösterebilir.

Kubernetes Worker Sunuculardan Master Sunucularına Port Erişimleri

Kubernetes Worker Node’larının Master Node’larla iletişim kurabilmesi için aşağıdaki portlar tüm Worker Node’lardan Master Node’lara açık olmalıdır:

Kubernetes Master Sunuculardan Worker Sunucularına Port Erişimi

Kubernetes Master/Control Plane sunucularından Worker sunuculara doğru olan bağlantılar için aşağıdaki portlar tüm Master Node’lardan Worker Node’lara açık olmalıdır:

Kubernetes Master Sunucular Arası Port Erişimleri

Kubernetes Master sunucular arası bağlantılar için aşağıdaki portlar tüm Master Node’lar arası açık olmalıdır:
Önemli: Ingress Controller, Metric Server, Rancher, Lens vb. uygulamalar kullanılacak ya da Kubernetes bulut ortama kurulacaksa port gereksinimleri harici olarak kontrol edilmelidir.

Kubernetes High Availability (HA) Cluster

Kubernetes High Availability (Yüksek Erişilebilirlik) Cluster kurulumu yapılırken: Load Balancer VIP Erişimi: Kubernetes Master/Control Plane ve Worker sunucularında, Load Balancer’ın VIP’sine 6443 portu üzerinden erişim sağlanacak şekilde gerekli izinler tanımlanmalıdır. Bu VIP, Master node’ların 6443 portlarına yönlendirilerek yük dengelemesi gerçekleştirilir. HAProxy Load Balancer Örnek Yapılandırması:
VIP Erişim Kuralları:
İstenirse bu yönlendirme virtual IP’sine bir DNS de tanımlanabilir. SSL kurulum aşamasında sunuculardan biri üzerinden oluşturulacak ve onunla iletişim sağlanacak. Yönlendirme yapan sistem üzerinde SSL kontrolü yapılmayacak. Bu SSL her sene Kubernetes üzerinden yenilenecektir.

Apinizer Bileşenlerinin Port Gereksinimleri

Kubernetes dış erişimler için varsayılan olarak 30000-32767 aralığındaki portları kullanır. Apinizer için belirli varsayılan portlar kullanılmasına rağmen bunlar isteğe bağlı özelleştirilebilmektedir.

Worker Sunucuları için Portlar

MongoDB Sunucuları için Portlar

Elasticsearch Sunucuları için Portlar

Port ve Protokol Gereksinimleri Özeti

DMZ → LAN İletişimi

LAN → DMZ İletişimi

Internet → DMZ İletişimi

Port Erişim İzinleri İçin Talep Şablonu

Ağ ve güvenlik ekiplerine iletilmek üzere hazırlanmış port erişim talep şablonu: Kubernetes Master ve Worker Sunucular İçin Port Erişim Talepleri:
Not: Tüm default portlar değiştirilebilir ancak bu durumda işlemler ve izinler dikkatle yapılmalıdır.

Güvenlik Katmanları

Defense in Depth Stratejisi

Apinizer, katmanlı güvenlik yaklaşımı ile korunur:

Güvenlik Kontrolleri

Network Layer

  • Firewall kuralları
  • Network segmentation
  • VLAN isolation
  • DDoS protection

Transport Layer

  • TLS/SSL encryption
  • Certificate management
  • mTLS (mutual TLS)
  • Perfect Forward Secrecy

Application Layer

  • OAuth2 / JWT authentication
  • Rate limiting
  • IP whitelisting
  • API key management

Data Layer

  • Data encryption at rest
  • Data masking in logs
  • PII redaction
  • Audit logging

Güvenlik Best Practices

Kritik Güvenlik Kuralları:
  1. Asla MongoDB ve Elasticsearch’i DMZ’ye koymayın
  2. Asla Manager modülünü DMZ’ye koymayın
  3. Mutlaka TLS/SSL kullanın (production’da)
  4. Mutlaka firewall kurallarını en az ayrıcalık prensibi ile yapılandırın
  5. Mutlaka düzenli güvenlik güncellemeleri yapın
  6. Mutlaka Kubernetes port gereksinimlerini doğru yapılandırın

Güvenlik Checklist

  • DMZ ve LAN ayrımı yapıldı
  • Firewall kuralları en az ayrıcalık prensibi ile yapılandırıldı
  • TLS/SSL sertifikaları yapılandırıldı
  • MongoDB ve Elasticsearch LAN’da
  • Manager modülü LAN’da
  • Worker modülleri DMZ’de
  • Load Balancer DMZ’de
  • Network segmentation uygulandı
  • Kubernetes port gereksinimleri yapılandırıldı
  • Apinizer bileşen portları yapılandırıldı
  • Kurulum için internet erişimi sağlandı
  • DDoS koruması aktif
  • Log monitoring ve alerting yapılandırıldı
  • Düzenli güvenlik güncellemeleri planlandı
Önemli: Production ortamları için mutlaka bu güvenli deployment deseni kullanılmalıdır. DMZ/LAN ayrımı, güvenlik ve compliance gereksinimleri için kritik öneme sahiptir. Kubernetes ve Apinizer port gereksinimleri doğru yapılandırılmadığında sistem çalışmayacaktır.