Blogchevron_rightSiber Güvenlikchevron_rightDocker Swarm Güvenlik Rehberi: Konteyner İzleme ve Koruma

Docker Swarm Güvenlik Rehberi: Konteyner İzleme ve Koruma

S
Serversium
calendar_today2 Temmuz 2026
schedule5 dk okuma
Docker Swarm Güvenlik Rehberi: Konteyner İzleme ve Koruma

Docker Swarm Üzerinde Gelişmiş Konteyner Güvenliği ve İzleme

Docker Swarm, Kubernetes'e kıyasla daha basit bir orkestrasyon çözümü sunarken, konteyner güvenliği açısından aynı derecede dikkatli olunması gereken bir platformdur. Gartner'a göre, 2025 yılına kadar container tabanlı uygulamalarda yaşanan güvenlik ihlallerinin %60'ı yanlış konfigürasyonlardan kaynaklanacaktır. Bu rehberde, Docker Swarm ortamlarında kapsamlı bir güvenlik ve izleme stratejisi oluşturmayı inceleyeceğiz.

Docker Swarm Mimarisi ve Güvenlik Temelleri

Docker Swarm, manager ve worker node'lardan oluşan dağıtık bir mimari kullanır. Manager node'lar cluster yönetiminden sorumluyken, worker node'lar konteynerleri çalıştırır. Güvenli bir Swarm kurulumu için mutual TLS (mTLS) şifrelemesi varsayılan olarak etkinleştirilmiştir.

Manager Node Koruma Stratejileri

Manager node'lar cluster'ın kontrol düzlemini oluşturduğu için en kritik bileşenlerdir. Aşağıdaki önlemler alınmalıdır:

  • Manager node'ların public internete açık olmaması
  • Manager sayısının 3 veya 5 gibi tek sayılarda tutulması
  • Raft consensus protokolünün doğru çalışması için yeterli node sayısının sağlanması

Docker Swarm'ın servis keşfi özelliği hakkında detaylı bilgi için Docker Swarm Servis Keşfi Rehberi'mizi inceleyebilirsiniz.

Node Sertifikası Yönetimi

Swarm cluster'ında tüm iletişim mTLS ile korunur. Sertifikalar 90 günde bir otomatik olarak yenilenir. Sertifika sürelerini kontrol etmek için docker inspect komutu kullanılabilir.

Konteyner İzolasyonu ve Namespace Yönetimi

Docker konteynerleri, Linux namespace'leri kullanarak birbirinden izole edilir. Her konteyner kendi process namespace'ine, network namespace'ine, mount namespace'ine ve kullanıcı namespace'ine sahiptir.

Kullanıcı Namespace İzolasyonu

Konuk kullanıcılarını host'tan izole etmek için user namespace remapping kullanılmalıdır. Bu özellik, /etc/docker/daemon.json dosyasında şu şekilde etkinleştirilir:

{
  "userns-remap": "default"
}

Kaynak Limitleri ve Cgroups

Her konteyner için CPU, memory ve I/O limitleri tanımlanmalıdır. Swarm stack dosyasında bu limitler belirtilerek "noisy neighbor" sorunları önlenir:

deploy:
  resources:
    limits:
      cpus: '0.5'
      memory: 512M
    reservations:
      cpus: '0.25'
      memory: 256M

Ağ Güvenliği ve Segmentasyon

Docker Swarm, overlay ağ sürücüsü kullanarak farklı host'lardaki konteynerlerin aynı ağda iletişim kurmasını sağlar. Ancak bu ağ segmentasyonu doğru yapılandırılmalıdır.

Ingress ve Overlay Ağ Güvenliği

Swarm varsayılan olarak ingress adlı overlay ağı oluşturur. Bu ağ, dış yük dengeleme trafiğini taşır. Ek olarak, uygulama bileşenleri için izole overlay ağlar oluşturulmalıdır:

docker network create --driver overlay --attachable my_secure_network

Network Policy Uygulama

Kubernetes'ten farklı olarak, Docker Swarm'da yerleşik network policy desteği sınırlıdır. Bu nedenle, dış güvenlik duvarı katmanı kritik önem taşır. DDoS Koruma hizmetimiz ile Swarm cluster'larınızı dış tehditlere karşı koruyabilirsiniz.

Ağ güvenliği için MikroTik çözümlerini de kullanabilirsiniz. Detaylı bilgi için MikroTik IP Yönetim ve Güvenlik Duvarı Rehberi'mizi inceleyin.

Görüntü (Image) Güvenliği En İyi Uygulamaları

Container güvenliğinin ilk halkası, güvenli image'ler kullanmaktır. Snyk'a göre, son bir yılda container image'lerinde %300'ün üzerinde güvenlik açığı tespit edilmiştir.

Official ve Verified Image Kullanımı

Sadece resmi Docker Hub veya güvenilir registry'lerden image çekilmelidir. Image etiketleri (tag) her zaman spesifik olmalıdır - latest tag'inden kaçınılmalıdır.

Multi-Stage Build Kullanımı

Build sürecinde oluşan hassas verileri minimize etmek için multi-stage build'ler tercih edilmeli:

# Build stage
FROM golang:1.21 AS builder
WORKDIR /app
COPY . .
RUN go build -o myapp

# Runtime stage
FROM alpine:3.18
COPY --from=builder /app/myapp /usr/local/bin/
CMD ["myapp"]

Image Tarama ve Signed Images

Docker Content Trust (DCT) etkinleştirilerek sadece imzalı image'lerin çekilmesi sağlanabilir:

export DOCKER_CONTENT_TRUST=1

Bu özellik, image publisher'ların dijital imzalarını zorunlu kılarak "man-in-the-middle" saldırılarını önler.

Erişim Kontrolü ve RBAC

Docker Swarm, rol tabanlı erişim kontrolü (RBAC) sunar. Kullanıcılara farklı yetki seviyeleri atanabilir.

Kullanıcı ve Ekip Yönetimi

Swarm cluster'ında erişim kontrolü için aşağıdaki roller kullanılır:

  • Manager: Tam yönetim yetkisi, servis oluşturma ve kaldırma
  • Worker: Sadece çalışan görevleri yürütme
  • Admin: Tüm manager yetkileri + cluster geneli ayarlar
  • Read-Only: Sadece okuma yetkisi

Docker Swarm Kullanıcı Oluşturma

# Manager node üzerinde
docker node promote worker1  # Worker'ı manager yap
docker node demote manager2  # Manager'ı worker yap

Gizli Değerler (Secrets) Yönetimi

Docker Swarm, hassas verileri (şifreler, API anahtarları, sertifikalar) güvenli bir şekilde yönetmek için secrets desteği sunar. Bu veriler, etcd'de şifrelenmiş olarak saklanır ve sadece yetkili servisler tarafından erişilebilir.

Secret Oluşturma ve Kullanma

# Secret oluşturma
echo "my_secret_password" | docker secret create db_password -

# Serviste secret kullanma
docker service create --name myapp --secret db_password myimage

Secret'ler, /run/secrets/ dizini altında mount edilir ve konteyner içinden erişilebilir olur.

Harici Secret Yönetimi

Büyük ölçekli ortamlarda, harici secret yönetim çözümleri (HashiCorp Vault, AWS Secrets Manager) tercih edilebilir. Vault kurulumu için Vaultwarden Kurulumu Rehberi'mizde benzer secret yönetimi prensiplerini inceleyebilirsiniz.

İzleme ve Logging Stratejileri

Güvenlik, sürekli izleme gerektiren bir süreçtir. Docker Swarm'da merkezi log toplama ve metrik izleme kritik öneme sahiptir.

Docker Logging Sürücüleri

Varsayılan olarak container log'ları json-file sürücüsü ile local diskte saklanır. Merkezi log toplama için syslog veya fluentd sürücüleri yapılandırılmalıdır:

{
  "log-driver": "syslog",
  "log-opts": {
    "syslog-address": "tcp://logserver:514",
    "tag": "{{.Name}}/{{.ID}}"
  }
}

Prometheus ve Grafana ile İzleme

Metrik toplama için Prometheus, görselleştirme için Grafana kullanılması önerilir. cAdvisor, container metriklerini toplamak için yaygın olarak kullanılan bir araçtır.

docker service create \
  --name prometheus \
  --mount type=bind,source=/prometheus,destination=/prometheus \
  --publish 9090:9090 \
  prom/prometheus

Uyarı ve Bildirim Sistemleri

Anomali tespiti ve uyarılar için alerting sistemi kurulmalıdır. Mattermost gibi açık kaynaklı bildirim platformları ile entegrasyon sağlanabilir. Detaylı bilgi için Mattermost Sunucu Kurulum Rehberi'mizi inceleyebilirsiniz.

Runtime Güvenliği ve Davranış Analizi

Konfigürasyon güvenliği kritik olmakla birlikte, runtime davranış izleme de eşit derecede önemlidir.

Container Sandbox ve Seccomp

Seccomp (Secure Computing Mode), konteynerlerin erişebileceği sistem çağrılarını sınırlandırır. Docker varsayılan olarak sınırlı bir seccomp profili uygular. Özel profiller oluşturarak güvenlik kapsamı genişletilebilir.

AppArmor ve SELinux Profilleri

Container'ların dosya sistemi ve kaynak erişimini kısıtlamak için AppArmor (Ubuntu/Debian) veya SELinux (CentOS/RHEL) profilleri kullanılmalıdır.

docker run --security-opt apparmor=docker-default myimage

Root Yetkisinden Kaçınma

Konteynerler root olarak çalıştırılmamalıdır. Kullanıcı namespace remapping etkinleştirilmeli veya USER directive'i ile farklı bir kullanıcı belirtilmelidir:

FROM alpine:3.18
RUN adduser -D appuser
USER appuser
CMD ["myapp"]

Karşılaştırma: Docker Swarm vs Kubernetes Güvenlik Özellikleri

Özellik Docker Swarm Kubernetes
mTLS Encryption Varsayılan (otomatik) Manuel yapılandırma
RBAC Temel (4 rol) Gelişmiş (ClusterRole, Role)
Secrets Yönetimi Yerleşik (Docker secrets) Yerleşik + harici çözümler
Network Policy Sınırlı (dış firewall gerekli) Yerleşik NetworkPolicy
Image Signing Docker Content Trust Notarize, Cosign
Runtime Security Seccomp, AppArmor Seccomp, AppArmor, Pod Security

Veri Bütünlüğü ve Yed

library_booksBenzer İçerikler

DDoS Koruması: Yapay Zeka ile Trafik Süzme Rehberi
Siber Güvenlik
calendar_today5 Nisan 2026
schedule5 dk

DDoS Koruması: Yapay Zeka ile Trafik Süzme Rehberi

DDoS saldırıları işletmeler için ciddi hizmet kesintilerine neden olabilir. Yapay zeka destekli trafik süzme teknolojileri sunucularınızı anında güvence altına alır.

S
Serversiumarrow_forward
Sunucu Güvenliği: SSH Key ve 2FA Kurulum Rehberi
Siber Güvenlik
calendar_today7 Nisan 2026
schedule5 dk

Sunucu Güvenliği: SSH Key ve 2FA Kurulum Rehberi

Sunucu güvenliğinde SSH key ve 2FA kullanımı, hesap ele geçirme saldırılarını büyük oranda azaltır. Bu teknik rehber ile erişim kontrollerinizi güvenli şekilde yapılandırın.

S
Serversiumarrow_forward
SSL Sertifikası Rehberi: DV, OV ve EV Türleri ile Seçim Kriterleri
Siber Güvenlik
calendar_today17 Nisan 2026
schedule5 dk

SSL Sertifikası Rehberi: DV, OV ve EV Türleri ile Seçim Kriterleri

DV, OV ve EV SSL sertifikası türlerini detaylı olarak açıklayan kapsamlı rehber. Web siteniz için doğru SSL sertifikası seçimini öğrenin ve güvenliği sağlayın.

S
Serversiumarrow_forward