Kendi savunma araçlarını yaz (Python)
Envanter, servis ve HTTP denetimi, yapılandırma denetimi ve günlük uyarı araçları.
Seviye 301 · 19 ders · 15 pratik lab
Dersler
Araç tasarımı
- Python ile güvenlik aracı tasarımı ve komut satırı: Küçük bir güvenlik aracını planlamayı ve Python ile kullanışlı bir komut satırı arayüzü vermeyi öğreneceksin.
- Araç ayarları ve gizli bilgileri koddan ayırmak
- Python'da yapılandırılmış günlükleme: Araçlarının çıktısını makinelerin kolay okuyabileceği yapılandırılmış günlük biçimine çevirip aramayı ve uyarı kurmayı kolaylaştıracaksın.
- Kısa görev: alt komutlu bir araç iskeleti kur
Ağ ve servis denetimi
- Python ile kendi ağın için envanter aracı: Kendi ağındaki cihazları ve servisleri bulup düzenli bir listeye döken bir envanter aracı yazacaksın.
- Python ile servis kontrolü, zaman aşımı, hata yönetimi: Bir servisin ayakta ve beklenen durumda olup olmadığını kontrol eden kod yazıp zaman aşımı ve hataları düzgün yönetmeyi öğreneceksin.
- Python ile eşzamanlılık: iş parçacıklarıyla hızlandırmak: İş parçacıklarıyla birçok kontrolü aynı anda çalıştırıp aracını nasıl hızlandıracağını ve hangi dikkat noktaları olduğunu öğreneceksin.
- Scapy ile paket oluşturmak ve okumak: Scapy ile kendi lab ağında paket oluşturup gönderebilecek, gelen yanıtları alan alan okuyarak küçük ağ testleri yazabileceksin.
- Kısa görev: dünden bugüne yeni açılan portu yakala
Web ve yapılandırma denetimi
- Python ile HTTP uç denetleyicisi: Web uç noktalarının yanıt kodunu, süresini ve güvenlik başlıklarını kontrol eden bir araç yazacaksın.
- Python ile kendi web sunucunda açıkta kalan yolları denetleyen araç: Bir sözcük listesindeki yolları kendi sunucuna ölçülü hızla soran ve açıkta kalanları raporlayan bir Python aracı yazabileceksin.
- Python ile yapılandırma denetim aracı: Yapılandırma dosyalarını güvenli ayarlarla karşılaştırıp sapmaları raporlayan bir denetim aracı yazacaksın.
- Sertifika bitiş tarihlerini ve zayıf ayarları denetlemek
- Kısa görev: denetim bulgularını önem derecesine göre sırala
Uyarı, paketleme ve kapanış
- Python ile günlük tabanlı uyarı aracı: Günlük dosyalarını izleyip belirlediğin kalıpları gördüğünde uyarı üreten basit bir araç yazacaksın.
- Uyarıyı webhook ve e-postayla iletmek
- pytest ile güvenlik aracını test etmek
- Aracı paketlemek: pyproject ve tek komutla kurulum
- Bitirme görevi: Python ile denetim araçlarını tek araçta birleştir: Bitirme görevinde kurgusal bir şirket için envanter, servis, yapılandırma ve günlük denetimlerini tek bir araçta birleştirip çalışır halde sunacaksın.
Pratik lablar
- Alt komutlu araç iskeleti: scan, audit ve report alt komutları olan, her birinin --help çıktısı anlaşılır bir araç iskeleti kur ve üç alt komutun da çağrılabildiğini göster.
- Koddaki parolayı dışarı al: Kaynak kodda duran webhook adresini ve API parolasını ortam değişkenine ve izinleri kısıtlı bir ayar dosyasına taşı, eksik ayarda aracın anlaşılır biçimde durduğunu göster.
- Dağınık print’lerden yapılandırılmış kayda: print ile dolu eski denetim aracına seviyeli, JSON biçimli günlükleme ekle, gizli bilgilerin günlüğe düşmediğini ve hata ayıklama modunun ayrıntı verdiğini göster.
- Dünden bugüne açılan port: Dünkü ve bugünkü tarama sonuçlarını karşılaştırıp yeni açılan ve kapanan portları makine bazında listeleyen bir betik yaz.
- İş parçacıklarıyla hızlanan envanter: Kervan Seyahat lab ağındaki makineleri sırayla tarayan yavaş envanter aracını iş parçacığı havuzuyla hızlandır ve süre farkını ölçerek göster.
- Paylaşılan sonuç listesi bozuluyor: Eşzamanlı çalışınca bazı makineleri kaybeden ya da iki kez yazan envanter aracındaki yarış durumunu bul ve düzelt, art arda on çalıştırmada aynı sonucu aldığını göster.
- Açıkta kalan yollar: Kendi lab web sunucunda .git, yedek dosyaları ve yönetim sayfaları gibi açıkta kalmaması gereken yolları deneyen bir denetleyici yaz ve bulduklarını durum koduyla raporla.
- Süresi dolmak üzere olan sertifikalar: Lab’daki iç sitelerin sertifikalarını okuyup otuz günden kısa sürede bitenleri, zayıf anahtarlıları ve ad uyuşmazlığı olanları ayrı işaretleyen bir denetim yaz.
- Önem sırasına göre yapılandırma bulguları: Copperleaf Insurance’ın SSH ve web sunucusu yapılandırmalarını kurallara göre denetleyen, bulguları önem derecesiyle sıralayan ve yanlış alarm vermeyen bir araç yaz.
- Eşik aşılınca uyarı: Beş dakikada belirli sayıdan çok başarısız giriş görünce uyarı satırı üreten bir izleyici yaz ve verilen kayıtla tetiklendiğini göster.
- Webhook uyarısı kayboluyor: Lab’daki webhook alıcısı geçici hata verdiğinde uyarıları kaybeden aracı yeniden deneme ve kuyrukla düzelt, alıcı geri gelince bekleyen uyarıların teslim edildiğini göster.
- Uyarı fırtınasını dizginle: Aynı olay için yüzlerce uyarı gönderen aracı gruplama ve susturma süresiyle düzelt, gerçekten yeni bir olayın yine de anında bildirildiğini göster.
- Ayrıştırıcıya pytest testi: Kayıt ayrıştırıcı işlevi için normal, bozuk ve boş satır durumlarını kapsayan pytest testleri yaz ve hepsinin geçtiğini göster.
- Ağsız çalışan testler: Ağa bağlanan servis denetleyicisinin testlerini sahte soket ve sahte HTTP yanıtlarıyla yeniden yaz ve ağ kapalıyken de geçtiklerini göster.
- Tek komutla kurulan araç: Dağınık betiklerden oluşan denetim aracını pyproject ile paketle, komut satırı giriş noktası tanımla ve temiz bir sanal ortamda pip ile kurulup çalıştığını göster.
Kurs hakkında
Envanter, servis ve HTTP denetimi, yapılandırma denetimi ve günlük uyarı araçları.
Ne öğreneceksin
- Araç tasarımı
- Ağ ve servis denetimi
- Web ve yapılandırma denetimi
- Uyarı, paketleme ve kapanış
Ön koşullar
Aynı yolun 101 ve 201 düzeyindeki konularına hâkim 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 301 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.