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
- 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
- 443/80 (HTTPS/HTTP) - Dış erişim
- 30080/30090 (Backend) - Worker’lara erişim
- 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
- 8080 (HTTP) - Web Manager
- 8080 (Management API) - Worker’lardan erişim
MongoDB
Veritabanı:
- Konfigürasyon verileri
- Metadata
- Audit logs
- 27017 (MongoDB) - Manager ve Worker’lardan
- 25080 (Apinizer DB Port) - Apinizer konfigürasyon veritabanı
Elasticsearch
Log ve analitik:
- API traffic logs
- Analitik veriler
- 9200 (HTTP) - Manager ve Worker’lardan
- 9300 (Transport) - Cluster iletişimi
Cache Cluster
Dağıtılmış önbellek:
- Hazelcast cluster
- Shared cache data
- 5701 (Hazelcast) - Cluster iletişimi
- 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
VLAN Yapılandırması
VLAN Yapılandırması
Önerilen VLAN Yapısı:
- VLAN 10: DMZ Zone
- VLAN 20: LAN Zone (Manager)
- VLAN 30: LAN Zone (Database)
- VLAN 40: Management Network (SSH, Monitoring)
Subnet Yapılandırması
Subnet Yapılandırması
Ö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
Routing Kuralları
Routing Kuralları
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.comartifacts.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:| Port | Protokol | Açıklama |
|---|---|---|
| 6443 | TCP | Kubernetes API server |
| 8285 | UDP | Flannel |
| 8472 | UDP | Flannel |
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:| Port | Protokol | Açıklama |
|---|---|---|
| 10250 | TCP | Kubelet API |
| 8285 | UDP | Flannel |
| 8472 | UDP | Flannel |
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:| Port | Protokol | Açıklama |
|---|---|---|
| 6443 | TCP | Kubernetes API server |
| 2379-2380 | TCP | etcd server client API |
| 10250 | TCP | Kubelet API |
| 10257 | TCP | Kube-controller-manager |
| 10259 | TCP | Kube-scheduler |
| 8472 | UDP | Flannel |
| 8285 | UDP | Flannel |
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ı:İ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
| Port | Protokol | Açıklama |
|---|---|---|
| 32080 | TCP | API Yönetim Konsoluna erişim için varsayılan NodePort |
| 30180 | TCP | API Portal erişimi için varsayılan NodePort |
| 30080 | TCP | Apinizer API Gateway erişimi için varsayılan NodePort (birden fazla ortam kurulacaksa farklı portlar da kullanılabilir) |
| 30090 | TCP | Apinizer API Gateway alternatif port |
MongoDB Sunucuları için Portlar
| Port | Protokol | Açıklama |
|---|---|---|
| 27017 | TCP | MongoDB standart portu |
| 25080 | TCP | Apinizer konfigürasyon veritabanı portu |
Elasticsearch Sunucuları için Portlar
| Port | Protokol | Açıklama |
|---|---|---|
| 9200 | TCP | API Trafik loglarının yazıldığı Analitik sunucusunun uygulama portu |
| 9300 | TCP | Elasticsearch Transport portu (cluster iletişimi) |
Port ve Protokol Gereksinimleri Özeti
DMZ → LAN İletişimi
| Kaynak | Hedef | Port | Protokol | Açıklama |
|---|---|---|---|---|
| Worker | Manager | 8080 | HTTP | Konfigürasyon alımı |
| Worker | MongoDB | 27017 | TCP | Veri okuma/yazma |
| Worker | MongoDB | 25080 | TCP | Apinizer konfigürasyon veritabanı |
| Worker | Elasticsearch | 9200 | HTTP | Log gönderimi |
| Worker | Cache | 5701 | TCP | Cache erişimi |
LAN → DMZ İletişimi
| Kaynak | Hedef | Port | Protokol | Açıklama |
|---|---|---|---|---|
| Manager | Worker | 8080 | HTTP | Deployment işlemleri |
| Manager | Worker | 8080 | HTTP | Health check |
Internet → DMZ İletişimi
| Kaynak | Hedef | Port | Protokol | Açıklama |
|---|---|---|---|---|
| Internet | Load Balancer | 443 | HTTPS | API erişimi |
| Internet | Load Balancer | 80 | HTTP | HTTP → 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: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
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.

