/ Blog

HPC Güvenliği: Cluster Altyapısını Koruma Rehberi

HPC cluster güvenliği: ağ segmentasyonu, kimlik doğrulama, şifreleme, denetim kayıtları ve KVKK uyumluluğu.

Yüksek Başarımlı Hesaplama (HPC) cluster’ları, büyük ölçekli simülasyonlar, yapay zeka eğitimi ve bilimsel araştırmalar için kritik altyapılar haline gelmiştir. Bu sistemlerde işlenen verinin hassasiyeti ve hesaplama kapasitesinin büyüklüğü göz önünde bulundurulduğunda, güvenlik yalnızca bir tercih değil zorunluluktur. Bu rehberde HPC ortamlarında güvenliği katmanlı biçimde nasıl sağlayabileceğinizi ele alacağız.

HPC Güvenliğinin Özgün Zorlukları

Geleneksel kurumsal BT güvenliği ile HPC güvenliği arasında temel farklılıklar bulunur. HPC sistemlerinde onlarca, hatta yüzlerce compute node eş zamanlı çalışır; kullanıcılar yüksek bant genişlikli ağlar üzerinden MPI (Message Passing Interface) ile iletişim kurar; depolama katmanları petabayt ölçeğine ulaşabilir. Bu mimari, saldırı yüzeyini de büyütür.

Başlıca riskler şunlardır:

  • Yetkisiz job gönderimi ve kaynak hırsızlığı (cryptojacking dahil)
  • Araştırma verisinin sızması veya değiştirilmesi
  • Kötü niyetli iş yüklerinin diğer kullanıcı iş yüklerini etkilemesi
  • Zayıf kimlik doğrulama mekanizmaları nedeniyle dışarıdan erişim

Ağ Segmentasyonu ve Erişim Kontrolü

Yönetim, Hesaplama ve Depolama Ağlarını Ayırın

Bir HPC cluster’ını en az üç ayrı ağ segmentine bölmek, olası bir ihlali izole etmenin en etkili yoludur.

Ağ SegmentiAmaçErişim
Yönetim Ağı (IPMI/BMC)Node başlatma, donanım izlemeYalnızca sysadmin
Hesaplama Ağı (InfiniBand/Ethernet)MPI trafiği, job iletişimiJob’lar arası izole
Depolama Ağı (Lustre/GPFS)Paralel dosya sistemi I/OJob’a özel mount
Dış Erişim (Login Node)Kullanıcı girişi, job gönderimiİki faktörlü kimlik doğrulama

Login node’lar doğrudan hesaplama ağına erişememelidir; aralarına bir güvenlik duvarı katmanı yerleştirin. InfiniBand gibi düşük gecikmeli ağlarda şifreleme ek yük oluştursa da kritik veriler için IPsec veya MACsec gibi çözümler değerlendirilmelidir.

Güvenlik Duvarı Kuralları

Login node üzerinde minimum gerekli portları açık tutun:

# Yalnızca SSH ve gerekli servislere izin ver
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/8 -j ACCEPT   # SSH iç ağdan
iptables -A INPUT -p tcp --dport 443 -j ACCEPT                  # HTTPS (web portal)
iptables -A INPUT -i lo -j ACCEPT                               # Loopback

# Compute node'lardan login node'a sadece belirli portlar
iptables -A INPUT -s 192.168.10.0/24 -p tcp --dport 6817:6819 -j ACCEPT  # Slurm

Kimlik Doğrulama ve Erişim Yönetimi

SSH Sertifika Tabanlı Kimlik Doğrulama

Parola tabanlı SSH girişini tamamen devre dışı bırakın. Bunun yerine SSH sertifikaları veya en azından anahtar çiftleri kullanın:

# /etc/ssh/sshd_config içinde
PasswordAuthentication no
PubkeyAuthentication yes
PermitRootLogin no
MaxAuthTries 3
LoginGraceTime 30
AllowGroups hpc-users

# SSH sertifika altyapısı için CA anahtarı ile imzalama
ssh-keygen -s /etc/ssh/ca_key -I "kullanici@kurum" \
  -n kullanici_adi -V +52w kullanici_id_rsa.pub

İki Faktörlü Kimlik Doğrulama (2FA)

Login node’lara erişimde TOTP (Time-based One-Time Password) zorunlu kılın. Google Authenticator PAM modülü veya kurumsal çözümler (Duo Security, YubiKey) bu amaçla yaygın olarak kullanılır:

# /etc/pam.d/sshd içine ekle
auth required pam_google_authenticator.so nullok

LDAP/Active Directory Entegrasyonu

Kullanıcı hesaplarını merkezi bir dizin servisiyle yönetmek, kullanıcı ayrılmalarında veya rol değişikliklerinde erişimi tek noktadan kapatmanızı sağlar. Sssd + LDAP kombinasyonu büyük ölçekli HPC ortamlarında standart yaklaşımdır.

Depolama ve Veri Şifreleme

Hassas Verilerde Şifreleme

Tüm depolama katmanını şifrelemek HPC performansını ciddi biçimde düşürebilir. Pratik yaklaşım, hassasiyete göre katmanlı şifreleme uygulamaktır:

  • Uzun süreli arşiv verileri: Dosya sistemi seviyesinde şifreleme (dm-crypt/LUKS)
  • Kişisel araştırma dizinleri: eCryptfs veya fscrypt ile kullanıcı düzeyinde şifreleme
  • Ağ üzerinden veri transferi: SFTP veya SCP; düz FTP kesinlikle kullanmayın
  • Job çıktıları: Hassas sonuçlar için uygulama seviyesinde şifreleme

Veri Sınıflandırması

Tüm veriler aynı koruma düzeyine ihtiyaç duymaz. KVKK kapsamındaki kişisel veriler, ticari sırlar ve kamuya açık araştırma verileri farklı depolama politikaları gerektir. Veri sınıflandırma matrisi oluşturmak, kaynakları doğru yere yönlendirmenizi kolaylaştırır.

İş Yükü İzolasyonu ve Job Güvenliği

Container Tabanlı İzolasyon

Singularity (Apptainer) veya Podman, HPC ortamlarında job izolasyonu için yaygın tercihlerdir. Docker, root yetkisi gerektirdiğinden çok kullanıcılı HPC ortamlarına uygun değildir.

# Singularity ile izole job çalıştırma
singularity exec \
  --no-home \
  --containall \
  --bind /scratch/kullanici:/data \
  image.sif python3 simulation.py

# Slurm ile container entegrasyonu
#SBATCH --container-image=/shared/images/pytorch.sif

Slurm Güvenlik Yapılandırması

İş zamanlayıcısı (Slurm, PBS, LSF) doğru yapılandırılmadığında saldırganlar diğer kullanıcıların kaynaklarına erişebilir. Temel önlemler:

  • PrologFlags=Contain ile job sonrası proses temizliği
  • AccountingStorageEnforce=limits ile kaynak limitlerinin katı uygulanması
  • Slurm daemons’larının ayrı servis hesaplarıyla çalıştırılması
  • UsePAM=yes ile PAM entegrasyonu

Denetim Kayıtları ve İzleme

Kapsamlı Log Toplama

Güvenlik olaylarını tespit edebilmek için merkezi log yönetimi şarttır. ELK Stack (Elasticsearch, Logstash, Kibana) veya Graylog gibi çözümler tercih edilebilir.

İzlenmesi gereken kritik olaylar:

  • Başarısız SSH girişimleri
  • Kök yetkisi kullanımı (sudo)
  • Job gönderim ve iptal olayları
  • Dosya sistemi erişimi (özellikle hassas dizinler)
  • Ağ bağlantıları (login node dışı trafiği)
# auditd ile kritik dizin izleme
auditctl -w /home -p rwxa -k home_access
auditctl -w /etc/passwd -p wa -k passwd_changes
auditctl -w /var/spool/slurm -p rwxa -k slurm_spool

Anormallik Tespiti

Bir kullanıcının gece yarısı aniden 500 core talep etmesi veya login node’dan çok sayıda harici bağlantı başlatması anormal davranıştır. Prometheus + Grafana ile iş yükü metrikleri izlenebilir; alarm eşikleri tanımlanabilir.

KVKK Uyumluluğu ve Kurumsal Gereksinimler

Kişisel Verilerin Korunması Kanunu (KVKK), araştırma verisi içinde kişisel veri barındıran kurumlar için HPC güvenliğini yasal bir zorunluluk haline getirmiştir. KVKK bağlamında HPC güvenliğinde dikkat edilmesi gereken başlıca maddeler şunlardır:

Madde 12 – Veri Güvenliği Tedbirleri

  • Kişisel veriye yetkisiz erişimi önleyen teknik tedbirler
  • Veri ihlali durumunda 72 saat içinde KVKK Kurulu’na bildirim
  • Erişim loglarının belirli bir süre saklanması (en az 2 yıl önerilir)

Veri İşleme Envanteri HPC cluster’ında hangi iş yüklerinin kişisel veri işlediğini belgelemek, veri sorumluluğu açısından zorunludur. Her proje için veri akış diyagramı hazırlanması iyi uygulamalar arasında yer alır.

Yama Yönetimi ve Güvenlik Açığı Taraması

HPC ortamlarında işletim sistemi yamaları hassas bir denge gerektirir: aniden yeniden başlatılan bir compute node aktif job’ları bozabilir. Önerilen yaklaşım:

  1. Kritik güvenlik yamaları için rolling update stratejisi
  2. Yeni node imajlarını düzenli aralıklarla tarayarak production’a alma
  3. Lustre, MPI kütüphaneleri ve iş zamanlayıcısı güncellemelerini koordineli planlama
  4. Güvenlik açığı taraması için OpenSCAP veya Wazuh kullanımı

Sonuç: Katmanlı Güvenlik Yaklaşımı

HPC güvenliği tek bir önlemle sağlanamaz. Ağ segmentasyonundan kimlik doğrulamaya, şifrelemeden denetim kayıtlarına kadar her katman birbirini tamamlar. Güvenlik politikalarının teknik önlemlerle desteklenmesi, kullanıcıların eğitilmesi ve periyodik güvenlik denetimlerinin yapılması sürdürülebilir bir güvenlik duruşu için gereklidir.

Mevasis olarak HPC cluster güvenliği konusunda size destek olmaktan memnuniyet duyarız. İletişim için formu doldurun.