DevSecOps
32 kurs, 525 ders. Tarayıcıda gerçek Kali Linux labı.
- DevSecOps’a giriş: Git, Semgrep, CI (Seviye 101, 19 ders): Güvenliği geliştirme hattına yerleştirmek.
- Güvenli yazılım geliştirme yaşam döngüsü (Seviye 101, 16 ders): Bir yazılımın fikirden üretime uzanan yolculuğunun her adımına hangi güvenlik işinin girdiğini öğrenir, küçük bir ekip için uygulanabilir bir güvenli geliştirme süreci kurarsın.
- Kod deposu güvenliği: Git, imzalı commit ve erişim (Seviye 101, 17 ders): Bir kod deposunu kimin değiştirebildiğini, değişikliğin gerçekten kimden geldiğini ve geçmişe neyin sızdığını denetlemeyi öğrenirsin.
- Konteyner güvenliğine giriş: Docker (Seviye 101, 16 ders): Konteynerin sanal makineden farkını, yalıtımın neye dayandığını ve Docker imajlarında en sık görülen güvenlik hatalarını adım adım öğrenirsin.
- DevSecOps için Linux güvenliği (Seviye 201, 21 ders): Sunucu ve imaj sıkılaştırma.
- Docker güvenliği (Seviye 201, 20 ders): İmaj, çalışma zamanı ve ağ güvenliği.
- 30 günlük DevSecOps görevleri (Seviye 201, 13 ders): Her gün kısa bir güvenlik görevi.
- Gizli bilgi yönetimi: tarama, döndürme ve sızıntıya müdahale (Seviye 201, 20 ders): Parola, anahtar ve belirteçleri koddan ayırır, gitleaks ile sızıntıyı yakalar, Vault ile saklar ve sızan bir anahtarı iptal edip yenisiyle değiştirirsin.
- Tehdit modelleme: STRIDE ve veri akış diyagramı (Seviye 201, 18 ders): Bir sistemi kod yazılmadan önce saldırgan gözüyle çizer, STRIDE ile tehditleri bulur ve her biri için uygulanabilir önlemleri önceliklendirirsin.
- Güvenli kodlama ilkeleri: Python ve JavaScript (Seviye 201, 19 ders): Girdi doğrulama, çıktı kodlama, kimlik doğrulama ve yetkilendirme hatalarını gerçek kod örneklerinde bulur, Python ve JavaScript’te güvenli karşılıklarını yazarsın.
- Statik analiz (SAST): Semgrep ve Bandit (Seviye 201, 18 ders): Kodu çalıştırmadan güvenlik hatalarını bulan araçları kurar, bulguları yorumlar, yanlış alarmları ayıklar ve taramayı geliştiricinin günlük akışına yerleştirirsin.
- Dinamik test (DAST): OWASP ZAP ile tarama (Seviye 201, 17 ders): Çalışan bir web uygulamasını OWASP ZAP ile keşfeder, pasif ve aktif tarar, bulguları doğrular ve geliştiricinin anlayacağı bir rapor hazırlarsın.
- Bağımlılık güvenliği (SCA): pip-audit, npm audit, OSV-Scanner (Seviye 201, 17 ders): Projelerinin kullandığı açık kaynak paketlerdeki bilinen açıkları bulur, gerçekten etkilenip etkilenmediğini anlar ve güncellemeleri kontrollü biçimde otomatikleştirirsin.
- CI/CD güvenliği: hat yapılandırması, koşucular ve belirteçler (Seviye 201, 18 ders): Bir sürekli entegrasyon hattının nasıl çalıştığını ve nerede gizli bilgi ve yetki taşıdığını öğrenir, hat dosyalarını, koşucuları ve belirteçleri güvenle ayarlarsın.
- Senaryo: Lale Pay’in ilk güvenli sürüm hattı (Seviye 201, 15 ders): Hızla büyüyen hayalî ödeme girişimi Lale Pay’e ilk güvenlik mühendisi olarak katılır, gizli bilgi, bağımlılık ve kod taraması içeren bir sürüm hattını sıfırdan kurarsın.
- İleri tehdit modelleme: saldırı ağaçları ve kod olarak model (Seviye 301, 17 ders): Saldırı ağaçları, risk puanlama ve kodla tutulan tehdit modelleriyle büyük sistemleri modeller, modeli her değişiklikte güncel tutan bir süreç kurarsın.
- Kendi SAST kurallarını yazmak: Semgrep ve veri akışı (Seviye 301, 18 ders): Kurumuna özgü hataları yakalayan Semgrep kuralları yazar, kaynaktan hedefe veri akışı analiziyle enjeksiyonları izler ve kurallarını testlerle güvenceye alırsın.
- Hatta DAST: ZAP otomasyonu ve API taraması (Seviye 301, 16 ders): ZAP’ı insansız çalıştırır, oturumlu ve API taramalarını otomasyon planına döker, her dağıtımda test ortamını tarayıp sonuca göre hattı durduran bir adım kurarsın.
- Hatta güvenlik testleri: birim, entegrasyon ve fuzzing (Seviye 301, 15 ders): Güvenlik gereksinimlerini otomatik testlere dönüştürür, yetkilendirme ve girdi hatalarını testle yakalar, fuzzing ile beklenmedik girdide çöken kodu bulursun.
- Yazılım envanteri (SBOM): Syft, CycloneDX, Grype (Seviye 301, 15 ders): Uygulama ve imajlarının içindekileri SBOM olarak çıkarır, bu listeyle yeni açıklara saniyeler içinde yanıt verir ve VEX ile hangi açığın seni etkilemediğini belgelersin.
- Vault ile ileri gizli bilgi yönetimi (Seviye 301, 18 ders): Vault’u politikalar, dinamik veritabanı kimlikleri, iç sertifika otoritesi ve denetim kayıtlarıyla yönetir, uygulamaların kısa ömürlü kimlik bilgisiyle çalışmasını sağlarsın.
- Güvenli konteyner imajı: minimal taban, Hadolint, Trivy (Seviye 301, 18 ders): Küçük, root’suz ve bilinen açık içermeyen imajlar derler, Dockerfile’ı ve imajı otomatik denetler, imzalı imajları yerel kayıt defterinden güvenle dağıtırsın.
- CI/CD hattını sıkılaştırmak: yalıtım, OIDC ve sabitlenmiş bağımlılıklar (Seviye 301, 16 ders): Koşucuları işler arasında yalıtır, uzun ömürlü anahtarları OIDC ile kısa ömürlü kimliğe çevirir, üçüncü taraf eylemleri sabitler ve hattın kendisini kurcalamaya karşı korursun.
- Hatta güvenlik kapıları ve bulgu yönetimi (Seviye 301, 15 ders): Tarayıcı sonuçlarını tek yerde toplar, tekrar eden bulguları ayıklar, hangi bulgunun sürümü durduracağını kurala bağlar ve istisnaları süreli ve onaylı biçimde yönetirsin.
- Yapılandırma dosyalarını taramak: Ansible, Dockerfile, Compose (Seviye 301, 15 ders): Ansible oyun kitaplarındaki, Dockerfile ve Compose dosyalarındaki güvenlik hatalarını otomatik bulur, kendi denetimlerini yazar ve taramayı çekme isteklerine bağlarsın.
- Yazılım tedarik zinciri güvenliği: imza, köken ve SLSA (Seviye 401, 17 ders): Kaynaktan dağıtıma her halkayı tehdit gözüyle inceler, imajları cosign ile imzalar, köken bilgisi üretir ve yalnızca doğrulanmış yapıtları kabul eden bir zincir kurarsın.
- Konteyner çalışma zamanı güvenliği: seccomp, AppArmor, Falco (Seviye 401, 16 ders): Çalışan konteynerleri çekirdek düzeyinde kısıtlar, rootless Docker ve kullanıcı ad alanlarıyla kaçış riskini düşürür, Falco ile şüpheli davranışı anında yakalarsın.
- CI/CD saldırı yolları ve savunması (Seviye 401, 13 ders): Zehirli hat yürütme, önbellek zehirleme ve yapıt kurcalama gibi saldırıları kendi yalıtılmış laboratuvarında adım adım görür, her birini tespit eden ve önleyen ayarları kurarsın.
- Senaryo: Pusula Yazılım’ın ele geçirilen derleme hattı (Seviye 401, 13 ders): Hayalî Pusula Yazılım’ın müşterilerine gönderdiği bir sürümde arka kapı bulunur; hattı inceler, etkiyi belirler, müşterileri bilgilendirir ve zinciri güvenle yeniden kurarsın.
- Meslek bitirme: uygulama güvenliği mühendisi (Seviye 401, 12 ders): Bir uygulama güvenliği mühendisinin gerçek bir çeyreğini yaşarsın: tasarım incelemesi, kod incelemesi, tarama sonuçları, dışarıdan gelen açık bildirimi ve geliştiricilerle çalışmak.
- DevSecOps programı kurmak: olgunluk, ölçüt ve şampiyonlar (Seviye 501, 14 ders): Bir kurumun güvenli geliştirme olgunluğunu ölçer, yol haritası çıkarır, güvenlik şampiyonları ağı kurar ve ilerlemeyi yönetime anlaşılır ölçütlerle anlatırsın.
- Meslek bitirme: DevSecOps mühendisi (Seviye 501, 13 ders): Hayalî Atlas Lojistik’in yazılım birimine DevSecOps mühendisi olarak katılır; hatları, imajları, gizli bilgileri ve tedarik zincirini uçtan uca güvenceye alıp yönetime raporlarsın.
Projeler
- Depoyu güvenceye al: imzalı commit ve korumalı dal: Göktaşı Yazılım’ın yeni proje deposunda commit imzalamayı kurar, ana dalı korumaya alır, gizli dosyaları dışarıda tutan kuralları ekler ve imzasız bir gönderimin reddedildiğini gösterirsin.
- İlk kod taramasını çalıştır, bulguları ayıkla ve düzelt: Ayçiçeği Gıda’nın sipariş uygulamasını Semgrep ile tarar, bulguları gerçek sorun ve yanlış alarm olarak ayırır, en önemli üçünü düzeltir ve taramayı her gönderimde çalışacak biçimde hatta eklersin.
- Konteynerin fazla yetkilerini kaldır: Gereğinden fazla yetkiyle çalışan bir konteyneri bulur, yetkileri en aza indirir ve uygulamanın hâlâ sorunsuz çalıştığını gösterirsin.
- Devralınan Linux sunucusunda yetki ve servis denetimi: Devraldığın bir uygulama sunucusunda gereksiz açık portları, gevşek dosya izinlerini ve geniş sudo kurallarını daraltıp öncesi-sonrasını raporlarsın.
- Güvenlik denetiminden geçmeyen sürümü durdur: Derleme hattına bağımlılık ve gizli bilgi denetimi ekler, açık içeren bir sürümün yayına çıkmadan durdurulduğunu gösterirsin.
- Açık içeren bağımlılığı güvenli sürüme yükselt: Taramada çıkan açıklı kütüphaneyi güvenli sürüme yükseltir, uygulamanın bozulmadığını testlerle, açığın kapandığını yeni taramayla gösterirsin.
- Gizli bilgi içermeyen konteyner imajı derle: Derlemede kullanılan belirteçlerin imaj katmanlarında kalmamasını sağlar, imaj geçmişini inceleyerek temiz olduğunu kanıtlarsın.
- CI betiğindeki komut enjeksiyonunu düzelt: Otomatik derleme hattındaki betikte dışarıdan gelen girdinin komut olarak çalışmasına yol açan hatayı bulur, güvenle düzeltir ve düzeltmeyi test edersin.
- Taklit paketin yapıya girmesini engelle: Gerçeğine benzer adlı sahte bir paketin derlemeye girmesini engelleyen kontroller kurar ve bu kontrollerin sahte paketi yakaladığını gösterirsin.
- Sürümü yalnızca güvenilir yayıncıdan kabul et: Bir yazılım sürümünün yalnızca güvenilen yayıncıdan geldiğini imza ile doğrulayan bir kontrol ekler ve imzasız sürümün reddedildiğini gösterirsin.
- Rapor işine geçici veritabanı erişimi ver: Bir rapor işine veritabanına yalnızca gereken süre ve kapsamda erişim verir; süre bitince erişimin kendiliğinden kapandığını gösterirsin.
- Devralınan Docker Compose projesini güvenlik açısından denetle: Başka ekipten devraldığın çok servisli Compose projesinde açık portları, yetkileri ve gizli bilgileri denetler, düzeltilmiş hâliyle teslim edersin.
- Ödeme API’si için tehdit modeli çıkar: Yelkovan Bankası’nın yeni ödeme API’sinin veri akış şemasını çizer, STRIDE ile tehditleri sıralar, modeli kod olarak depoya koyar ve her tehdide bir önlem ve sahip atarsın.
- Çalışan konteyneri izle ve sınırla (seccomp, Falco): Mercanköşk Otelcilik’in rezervasyon konteyneri için gereksiz sistem çağrılarını kapatan bir seccomp profili ve beklenmeyen kabuk ile dosya yazımını bildiren Falco kuralları yazar, uygulamanın çalıştığını ve uyarıların geldiğini gösterirsin.
- Sürüm için kanıt paketi üret: SBOM, imza, köken kaydı: Kuzeyyıldızı Kargo’nun gönderi takip servisinin imajı için SBOM üretir, bileşenleri açıklara karşı tarar, imajı imzalar ve köken kaydıyla birlikte doğrulanabilir bir sürüm kanıt paketi teslim edersin.
- Derleme hattını tehdit yollarına karşı denetle ve kapat: Turnalı Perakende’nin derleme hattı yapılandırmasında geniş kapsamlı belirteçleri, paylaşılan çalıştırıcıları ve sabitlenmemiş bağımlılıkları bulur, her birini düzeltir ve bulguları risk sırasıyla raporlarsın.
- DevSecOps olgunluğunu ölç ve bir yıllık yol haritası yaz: Saklıvadi Üniversitesi’nin yazılım biriminin hazır verilerinden olgunluk değerlendirmesi çıkarır, izlenecek ölçütleri seçer ve güvenlik temsilcileri ağını da içeren on iki aylık bir yol haritası hazırlarsın.
- Baştan sona güvenli yayın hattı kur: Lavinya Klinikleri’nin randevu servisi için kod, bağımlılık, gizli bilgi, imaj ve çalışan uygulama taramalarını tek hatta birleştirir, geçiş eşiklerini tanımlar ve imzalı sürümün yalnızca tüm denetimlerden geçince çıktığını gösterirsin.