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 27017: 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:
  • 27017 (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 27017: 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:
PortProtokolAçıklama
6443TCPKubernetes API server
8285UDPFlannel
8472UDPFlannel

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:
PortProtokolAçıklama
10250TCPKubelet API
8285UDPFlannel
8472UDPFlannel

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:
PortProtokolAçıklama
6443TCPKubernetes API server
2379-2380TCPetcd server client API
10250TCPKubelet API
10257TCPKube-controller-manager
10259TCPKube-scheduler
8472UDPFlannel
8285UDPFlannel
Ö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ı:
frontend kubernetes-cluster
    bind *:6443
    mode tcp
    option tcplog
    default_backend kubernetes-master

backend kubernetes-master
    option httpchk GET /healthz
    http-check expect status 200
    mode tcp
    option ssl-hello-chk
    balance roundrobin
    server <master1hostname> <MASTER_1_IP>:6443 check fall 3 rise 2
    server <master2hostname> <MASTER_2_IP>:6443 check fall 3 rise 2
    server <master3hostname> <MASTER_3_IP>:6443 check fall 3 rise 2
VIP Erişim Kuralları:
SOURCE: <KUBERNETES_CONTROL_PLANE_IP_ADDRESSES> <KUBERNETES_WORKER_IP_ADDRESSES>
DESTINATION: <VIRTUAL_IP>
6443/tcp

ROUTING: <KUBERNETES_CONTROL_PLANE_IP_ADDRESSES> tcp/6443
İ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

PortProtokolAçıklama
32080TCPAPI Yönetim Konsoluna erişim için varsayılan NodePort
30180TCPAPI Portal erişimi için varsayılan NodePort
30080TCPApinizer API Gateway erişimi için varsayılan NodePort (birden fazla ortam kurulacaksa farklı portlar da kullanılabilir)
30090TCPApinizer API Gateway alternatif port

MongoDB Sunucuları için Portlar

PortProtokolAçıklama
27017TCPMongoDB standart portu
25080TCPApinizer konfigürasyon veritabanı portu

Elasticsearch Sunucuları için Portlar

PortProtokolAçıklama
9200TCPAPI Trafik loglarının yazıldığı Analitik sunucusunun uygulama portu
9300TCPElasticsearch Transport portu (cluster iletişimi)

Port ve Protokol Gereksinimleri Özeti

DMZ → LAN İletişimi

KaynakHedefPortProtokolAçıklama
WorkerManager8080HTTPKonfigürasyon alımı
WorkerMongoDB27017TCPVeri okuma/yazma
WorkerMongoDB25080TCPApinizer konfigürasyon veritabanı
WorkerElasticsearch9200HTTPLog gönderimi
WorkerCache5701TCPCache erişimi

LAN → DMZ İletişimi

KaynakHedefPortProtokolAçıklama
ManagerWorker8080HTTPDeployment işlemleri
ManagerWorker8080HTTPHealth check

Internet → DMZ İletişimi

KaynakHedefPortProtokolAçıklama
InternetLoad Balancer443HTTPSAPI erişimi
InternetLoad Balancer80HTTPHTTP → HTTPS redirect

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:
SOURCE: <KUBERNETES_WORKER_IP_ADDRESSES>
DESTINATION: <KUBERNETES_CONTROL_PLANE_IP_ADDRESSES>
6443/tcp
8285/udp
8472/udp

---
SOURCE: <KUBERNETES_WORKER_IP_ADDRESSES>
DESTINATION: <MONGODB_IP_ADDRESSES>
25080/tcp

---
SOURCE: <KUBERNETES_WORKER_IP_ADDRESSES>
DESTINATION: <ELASTICSEARCH_IP_ADDRESSES>
9200/tcp

---
SOURCE: <KUBERNETES_CONTROL_PLANE_IP_ADDRESSES>
DESTINATION: <KUBERNETES_WORKER_IP_ADDRESSES>
10250/tcp
8285/udp
8472/udp

---
# Eğer Kubernetes Control Plane sunucuları arasında serbest erişim yok ise
SOURCE: <KUBERNETES_CONTROL_PLANE_IP_ADDRESSES>
DESTINATION: <KUBERNETES_CONTROL_PLANE_IP_ADDRESSES>
6443/tcp
2379:2380/tcp
10250/tcp
10257/tcp
10259/tcp
8472/udp
8285/udp
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:
Layer 1: Network Firewall


Layer 2: Application Firewall (WAF)


Layer 3: TLS/SSL Encryption


Layer 4: API Security Policies


Layer 5: Data Encryption & Masking

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.