UNIX/LINUX KORUMALI KOMUT DİZİSİ YAZILIMI EĞİTİMİ

Betiğini saldırıya kapat, enjeksiyonu önle

set -euo pipefail, doğru alıntılama, girdi doğrulama ve ayrıcalık düşürme ile sağlam ve güvenli kabuk betikleri yazın.

Katı mod, doğru alıntılama, girdi doğrulama, komut enjeksiyonu önleme, mktemp/flock ile yarış koşulu koruması ve shellcheck/bats testiyle üretime hazır güvenli kabuk betikleri yazmayı öğreten ileri düzey eğitim.

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Enjeksiyon, yarış koşulu ve ayrıcalık hatalarına dayanıklı kabuk betikleri yazma

Bu eğitim, üretim ortamında güvenle çalışacak korumalı kabuk betiklerinin (secure shell scripting) nasıl yazılacağını öğretir. En az ayrıcalık ve fail-safe ilkeleriyle başlar; set -euo pipefail katı modu, IFS kontrolü ve doğru alıntılama ("$var", diziler) ile sağlam temel kurar. mktemp ve umask ile yarış koşulu (TOCTOU) ve sembolik bağ saldırılarına karşı dosya güvenliği, whitelist girdi doğrulama, eval ve komut enjeksiyonu önleme, PATH/ortam temizliği, read -s ile gizli veri yönetimi, EUID kontrolü ve ayrıcalık düşürme, flock ile kilitleme, shellcheck statik analizi ve bats ile test ele alınır. Betiklerin gpg imzalama ve sağlamlaştırma kontrol listesiyle güvenli dağıtımı kapatır.

Süre ve Format

4 Gün. Her gün dört modül; güvenli betik temelleriyle başlar, girdi doğrulama ve enjeksiyon önlemeyle sürer, ayrıcalık ve test/dağıtımla biter.

Seviye

İleri Seviye — Güvenli kabuk betiği yazımı: set -euo pipefail, girdi doğrulama, komut enjeksiyonu önleme, ayrıcalık düşürme, mktemp ile yarış koşulu koruması ve shellcheck/bats ile test.

Öğrenme Metodu

Her konu zafiyetli bir örnek betiğin shellcheck ve bats ile denetlenip güvenli sürüme dönüştürülmesiyle uygulamalı işlenir.

Neden Bu Eğitim?

🚫Enjeksiyonu engeller

eval ve denetimsiz girdinin nasıl komut enjeksiyonuna yol açtığını görüp bunu kodda kalıcı olarak önlemeyi öğrenirsiniz.

🏁Yarış koşulunu kapatır

mktemp ve flock ile geçici dosya ve TOCTOU saldırılarına karşı betiklerinizi sağlamlaştırırsınız.

🧪Test edilebilirlik

shellcheck ve bats ile betiklerinizi CI içinde statik analizden ve birim testten geçirmeyi öğrenirsiniz.

Anahtar Konular

güvenli shell scriptsecure bash scriptingkomut enjeksiyonu önlemeshellcheckbats testset euo pipefailmktemp toctoubash güvenlikgirdi doğrulamaayrıcalık düşürmekorumalı betik
“Güvenli betik, hiçbir girdiye körü körüne güvenmeyen betiktir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Shell scripting

Temel düzeyde bash betiği yazabilmek (değişken, if, for, fonksiyon) gereklidir.

2
Linux komut satırı

Dosya izinleri, süreçler ve ortam değişkenleri gibi kavramlara aşinalık beklenir.

3
Güvenlik farkındalığı

Temel güvenlik kavramları (ayrıcalık, saldırı yüzeyi) ile ilgi öğrenmeyi hızlandırır.

4
shellcheck kurulumu

Üzerinde deneme yapabileceğiniz, shellcheck ve bats kurulu bir Linux ortamı idealdir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı güvenli betik ilkelerini kavrar, katı modu etkinleştirir ve değişken/dosya işlemlerini güvenli yazar.
Modül 1
Betik Güvenlik İlkeleri
  • En az ayrıcalık (least privilege) ilkesi
  • Fail-safe (hata halinde güvenli durma) yaklaşımı
  • Saldırı yüzeyi ve güven sınırı (trust boundary) kavramı
  • Katmanlı savunma (defense in depth) uygulaması
  • Kaynak doğrulama ve varsayılan reddet mantığı
  • Yaygın kabuk betiği zafiyet türlerinin sınıflandırılması
Modül 2
Katı Mod
  • set -e ile hata halinde çıkış
  • set -u ile tanımsız değişkende hata
  • set -o pipefail ile boru hattı hatalarını yakalama
  • IFS'i güvenli değere ($'\n\t') ayarlama
  • set -x ve trap ile hata ayıklama ve temizlik
  • shellcheck direktifleriyle kural yönetimi
Modül 3
Değişken Güvenliği
  • Her değişken genişletmesini çift tırnakla sarma
  • ${var:-default} ve ${var:?hata} güvenli varsayılanlar
  • Dizi (array) kullanımı ve "${arr[@]}" ile güvenli geçiş
  • Kelime bölünmesi (word splitting) ve glob genişlemesi riskleri
  • declare -r ile salt okunur ve declare -i ile tip sınırlama
  • local ile fonksiyon içi değişken kapsülleme
Modül 4
Dosya İşlemleri Güvenliği
  • mktemp ile güvenli geçici dosya ve dizin oluşturma
  • umask ile dosya izinlerini daraltma
  • TOCTOU (zaman-kontrol/zaman-kullanım) yarış koşulu
  • Sembolik bağ (symlink) saldırısı ve korunma
  • Dosya varlık ve tür denetimi ([ -f ], [ -L ])
  • trap ile çıkışta geçici dosyaların temizlenmesi
Günün hedefiKatılımcı dış girdiyi güvenli doğrular, komut enjeksiyonunu önler ve gizli verileri sızdırmadan yönetir.
Modül 1
Girdi Doğrulama
  • İzin listesi (whitelist) temelli doğrulama yaklaşımı
  • Regex ile biçim denetimi ([[ $x =~ ^[0-9]+$ ]])
  • Uzunluk ve aralık sınırlaması
  • Sayısal/metin tip denetimi
  • Dosya yolu doğrulama ve dizin geçişi (path traversal) önleme
  • getopts ile güvenli argüman ayrıştırma
Modül 2
Komut Enjeksiyonu Önleme
  • eval kullanımının tehlikeleri ve kaçınma
  • Komutları argüman dizisi olarak çağırma (cmd "$arg")
  • printf %q ile güvenli alıntılama
  • Kullanıcı girdisini doğrudan komuta gömmeme
  • find -exec ve xargs güvenli kullanımı
  • Alt kabuk ve komut yerine koyma (command substitution) riskleri
Modül 3
Yol ve Ortam Güvenliği
  • PATH'i mutlak ve güvenilir dizinlere sabitleme
  • Ortam değişkenlerini temizleme (env -i)
  • IFS ve LD_PRELOAD gibi tehlikeli değişkenler
  • Betik içinde komutlara tam yol verme
  • sudo ortamı ve secure_path etkisi
  • cd kullanımında hata denetimi (cd ... || exit)
Modül 4
Gizli Veri Yönetimi
  • Parolaları betiğe gömmeme ilkesi
  • read -s ile ekrana yansımadan parola okuma
  • ps ve komut satırı argümanlarından sızma riski
  • Gizli dosya izinlerini (chmod 600) daraltma
  • Ortam değişkeni ve geçici dosyada secret saklama riskleri
  • Günlüklere gizli veri yazmama ve maskeleme
Günün hedefiKatılımcı betiklerde ayrıcalığı doğru yönetir, erişimi denetler ve kaynak tükenmesine karşı korur.
Modül 1
Ayrıcalık Yönetimi
  • setuid betiklerin neden tehlikeli olduğu
  • Ayrıcalığı erken düşürme (drop privileges)
  • sudo -u ile belirli komutu düşük yetkiyle çalıştırma
  • Linux capabilities ile ince ayrıcalık
  • root gerektiren adımların izole edilmesi
  • Çalışma kullanıcısının açıkça belirlenmesi
Modül 2
Kimlik Doğrulama ve Yetki
  • EUID 0 kontrolü ile root gerekliliğini doğrulama
  • id ve whoami ile çalışan kullanıcının denetimi
  • Betiğin yanlış kullanıcıyla çalışmasını engelleme
  • sudoers ile betiğin kısıtlı yetkiyle çalıştırılması
  • Grup üyeliği temelli erişim kontrolü
  • Erişim reddi durumunda güvenli sonlanma
Modül 3
Kaynak ve DoS Koruması
  • ulimit ile bellek, dosya ve süreç sınırları
  • timeout ile asılı komutları sonlandırma
  • flock ile tekil çalışma (lock) ve eşzamanlılık kontrolü
  • Fork bomb ve denetimsiz döngü riskleri
  • Girdi boyutu ve döngü tekrarı sınırlaması
  • Disk ve geçici alan tükenmesine karşı kontrol
Modül 4
Güvenli Loglama ve Denetim
  • logger ile syslog üzerinden merkezi kayıt
  • Denetim izi (audit trail) için olay kaydı
  • Günlük dosyası izinleri ve döndürme
  • Gizli veriyi loglardan ayıklama
  • Zaman damgalı ve bağlamlı log biçimi
  • Hata ve başarı durumlarının ayrı seviyelerle kaydı
Günün hedefiKatılımcı betiklerini statik analiz ve testle doğrular, imzalar ve güvenli dağıtım kontrol listesiyle teslim eder.
Modül 1
Statik Analiz
  • shellcheck ile yaygın hata ve zafiyet tespiti
  • shellcheck uyarı kodlarını okuma ve giderme
  • Satır içi direktiflerle (disable) kontrollü istisna
  • bashate ile stil denetimi
  • CI boru hattına shellcheck entegrasyonu
  • Kod inceleme (code review) kontrol maddeleri
Modül 2
Test ve Doğrulama
  • bats ile birim testi yazma
  • Kenar durumları ve kötü girdi senaryoları
  • Dry-run (--dry-run) ve simülasyon modu
  • Dönüş kodlarının (exit code) test edilmesi
  • Mock ve sahte komutlarla izole test
  • Regresyon testleriyle güvenli değişiklik
Modül 3
İmzalama ve Bütünlük
  • sha256sum ile sağlama (checksum) üretme
  • gpg ile betik imzalama ve doğrulama
  • Dağıtım öncesi bütünlük kontrolü
  • Güvenilir kaynaktan indirme ve doğrulama
  • Sürüm etiketleme ve değişiklik kaydı
  • Dağıtım dizini izinlerinin korunması
Modül 4
Sağlamlaştırma Kontrol Listesi
  • Katı mod, alıntılama ve girdi doğrulama kontrolü
  • Ayrıcalık, PATH ve gizli veri denetim maddeleri
  • Geçici dosya ve kilitleme doğrulaması
  • Loglama ve hata yönetimi gözden geçirmesi
  • Olay müdahale (incident response) için kayıt yeterliliği
  • Dağıtım öncesi nihai güvenlik imzası

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Katı mod kurarsınız

set -euo pipefail ve güvenli IFS ile hata toleransı düşük sağlam betikler yazarsınız.

✅
Doğru alıntılarsınız

Değişken genişletmelerini ve dizileri güvenli alıntılayarak kelime bölünmesi hatalarını önlersiniz.

✅
Girdiyi doğrularsınız

Whitelist, regex ve getopts ile dış girdiyi güvenle doğrularsınız.

✅
Enjeksiyonu önlersiniz

eval'den kaçınıp argüman dizileri kullanarak komut enjeksiyonunu engellersiniz.

✅
Yarış koşulunu kapatırsınız

mktemp, umask ve flock ile TOCTOU ve geçici dosya saldırılarını önlersiniz.

✅
Ayrıcalığı yönetirsiniz

EUID kontrolü ve ayrıcalık düşürme ile betikleri en az yetkiyle çalıştırırsınız.

✅
Test edersiniz

shellcheck ve bats ile betiklerinizi statik analiz ve birim testten geçirirsiniz.

✅
Güvenle dağıtırsınız

gpg imzalama ve sağlamlaştırma kontrol listesiyle betikleri güvenle teslim edersiniz.

Kimler İçin Uygundur?

  • Üretim betikleri yazan sistem yöneticileri
  • DevOps/SRE mühendisleri
  • güvenlik odaklı geliştiriciler
  • kritik otomasyon betiklerini denetleyen IT güvenlik uzmanları için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Üretim betikleri yazan sistem yöneticileri, DevOps/SRE ve güvenlik odaklı geliştiriciler için uygundur; temel bash betiği yazabilmek beklenir.
Hangi araçlar kullanılıyor?
Başta shellcheck (statik analiz) ve bats (birim testi) olmak üzere mktemp, flock, gpg ve logger gibi standart Linux araçları kullanılır.
Komut enjeksiyonu nasıl ele alınıyor?
eval ve denetimsiz girdinin yarattığı riskler zafiyetli örnekler üzerinde gösterilir, ardından argüman dizileri ve doğrulama ile güvenli sürüm yazılır.
CI entegrasyonu var mı?
Evet; shellcheck ve bats'ın bir CI boru hattına nasıl entegre edileceği ve otomatik denetim örnekleri işlenir.
Eğitim sonunda sertifika veriliyor mu?
Katılım ve değerlendirme sonucunda Digital Vizyon Akademi Katılım ve Başarı Sertifikası düzenlenir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. UNIX/Linux Korumalı Komut Dizisi Yazılımı Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre4 gün
Seviyeİleri Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Linux ve UnixRed Hat Enterprise Linux Diagnostics and Troubleshooting with Exam Classroom Training Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Red Hat Enterprise Linux Diagnostics and Troubleshooting with Exam Classroom Training Eğitimi

5 günİleriOnline / Yüz Yüze / Hibrit

RHEL 9 sorun giderme müfredatı ve EX342 sınav provası bir arada: önyükleme, LVM, SELinux, SSSD, kdump arızaları ve zamanlı prova senaryoları.

Detayları Gör →
Linux ve UnixRed Hat Enterprise Linux Performance Tuning (RH442) Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Red Hat Enterprise Linux Performance Tuning (RH442) Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

RH442 müfredatıyla RHEL 9 performans ayarlama: tuned, NUMA, hugepages, G/Ç zamanlayıcıları, TCP yığını ve cgroups v2 ile ölç-ayarla-doğrula laboratuvarları.

Detayları Gör →
Linux ve UnixRed Hat Enterprise Linux Performance Tuning (RH442LS) Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Red Hat Enterprise Linux Performance Tuning (RH442LS) Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

RHEL Performance Tuning RH442LS eğitimi: tuned, sysctl, CPU/NUMA, bellek, blok I/O ve TCP yığını ayarı ile perf ve bpftrace profil çıkarma uygulamalı anlatılır.

Detayları Gör →
Linux ve UnixRed Hat Enterprise Linux Performance Tuning with Exam Classroom Training Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Red Hat Enterprise Linux Performance Tuning with Exam Classroom Training Eğitimi

5 günUzmanOnline / Yüz Yüze / Hibrit

RHEL Performance Tuning with Exam sınıf eğitimi: tuned, CPU/NUMA, bellek, I/O ve TCP ayarı, perf ve bpftrace ile EX442 performans sınavına yönelik uygulamalı ha

Detayları Gör →
Linux ve UnixRed Hat Enterprise Performance Tuning (RH442) Eğitimi
Sistem ve Sunucu Yönetimi Eğitimleri

Red Hat Enterprise Performance Tuning (RH442) Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

RH442 Red Hat Performance Tuning eğitimi: tuned, sysctl, CPU/NUMA, bellek, blok I/O ve TCP yığını ayarı ile perf ve bpftrace darboğaz analizi uygulamalı anlatıl

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn