Konteyner çalışma zamanı güvenliği: seccomp, AppArmor, Falco
Ç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.
Seviye 401 · 16 ders · 15 pratik lab
Dersler
Yalıtımın sınırları
- Konteynerden kaçış yolları: soket, ayrıcalık, çekirdek
- Linux yetenekleri: hangisi neden tehlikeli
- Kısa görev: beş konteynerin kaçış riskini değerlendir
Çekirdek kısıtları
- seccomp profilleri: sistem çağrılarını süzmek
- Uygulamaya özel seccomp profili çıkarmak
- Docker için AppArmor profili
- Salt okunur kök ve tmpfs ile yazılabilir alanı daraltmak
- Kısa görev: bir servisi özel seccomp profiliyle çalıştır
Root’suz çalışma
- Kullanıcı ad alanı eşleme
- Rootless Docker kurmak ve sınırları
- Docker hizmetini sıkılaştırmak: daemon.json
- Kısa görev: bir uygulamayı rootless Docker’a taşı
Tespit ve müdahale
- Falco ile çalışma zamanı tespiti
- Kendi Falco kuralını yazmak
- Şüpheli konteynere müdahale: durdurmak ve kanıt toplamak
- Bitirme görevi: ele geçirilmiş bir konteyneri tespit et, sınırla ve yeniden kur
Pratik lablar
- Bir konteynerin yeteneklerini ve bağlamalarını oku: docker inspect ile yetenek listesini, bağlanan yolları ve ayrıcalıklı olup olmadığını çıkar.
- Beş konteynerin kaçış riskini puanla: Soket bağlama, ayrıcalıklı kip, tehlikeli yetenek ve ana makine ad alanı kullanımına göre puanla ve sırala.
- En riskli konteynerin yapılandırmasını işlevini bozmadan düzelt: Hangi yeteneğin gerçekten gerektiğini izleyerek belirle, gerisini kaldır, soket bağlamasını kaldır ve servisin çalıştığını doğrula.
- Varsayılan seccomp profilinin engellediği çağrıyı gör: Konteyner içinde engellenen bir sistem çağrısını dene ve hatayı varsayılan profille ilişkilendir.
- Servisi özel seccomp profiliyle çalıştır: Servisin kullandığı sistem çağrılarını kaydet, yalnızca onlara izin veren profili yaz ve servisin çalıştığını göster.
- Docker için AppArmor profili ve salt okunur kök ile yazılabilir alanı daralt: Profili yaz ve yükle, kökü salt okunur yap, yazma gereken yolları tmpfs ile ver ve profil dışı bir yazmanın reddedildiğini kanıtla.
- Konteynerdeki root’un ana makinede kim olduğunu bul: Kullanıcı ad alanı eşlemesi açıkken ve kapalıyken sürecin ana makinedeki kullanıcı kimliğini karşılaştır.
- Bir uygulamayı rootless Docker’a taşı: Rootless hizmeti kur, uygulamayı başlat ve düşük port ile birim sahipliği sınırlarını çöz.
- Docker hizmetini daemon.json ile sıkılaştır: Konteynerler arası iletişimi kapat, varsayılan yetki yükseltmeyi engelle, log sınırı ve kullanıcı eşlemesi ekle ve her ayarın etkisini ayrı ayrı sına.
- Falco uyarısını oku ve hangi kuralın tetiklendiğini bul: Uyarı çıktısından kural adını, konteyneri ve çalışan komutu çıkar.
- Kendi Falco kuralını yaz: Web konteynerinde paket yöneticisi çalıştırılmasını yakalayan kuralı yaz ve kendi labında tetikleyerek sına.
- Gürültülü kuralı istisnalarla ayarla: Sağlık denetiminin tetiklediği kabuk uyarısını kural istisnasıyla ayıkla ve gerçek kabuk açılışının hâlâ yakalandığını göster.
- Şüpheli konteyneri silmeden durdur: Konteyneri duraklat, ağ bağlantısını kes ve durumunu kanıt için koru.
- Şüpheli konteynerden kanıt topla: Dosya sistemi farkını, süreç listesini ve logları dışa aktar ve özetlerini kaydet.
- Ele geçirilmiş konteyneri tespit et, sınırla ve yeniden kur: Falco uyarısından yola çık, kanıtı topla, giriş yolunu imajda kapat, temiz imajdan yeniden dağıt ve aynı davranışın artık engellendiğini göster.
Kurs hakkında
Ç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.
Ne öğreneceksin
- Yalıtımın sınırları
- Çekirdek kısıtları
- Root’suz çalışma
- Tespit ve müdahale
Ön koşullar
Aynı yolun 301 düzeyine kadar olan konularını uygulamış olmalısın.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde ve ona bağlı özel bir lab ağında geçer. Kurulum gerekmez.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 401 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.