SSH, scp ve rsync ile güvenli dosya aktarımı
Anahtarlar, scp, sftp ve rsync.
Seviye 201 · 22 ders · 18 pratik lab
Dersler
Bağlanmak ve anahtarlar
- İlk SSH bağlantısı ve sunucu parmak izi: İlk SSH bağlantısında çıkan sunucu parmak izinin ne anlama geldiğini ve neden doğrulanması gerektiğini anlarsın.
- SSH anahtarları ve ssh-copy-id: Parola yerine SSH anahtar çifti kullanmayı, genel anahtarı ssh-copy-id ile sunucuya koymayı ve özel anahtarı korumayı öğrenirsin.
- ssh-agent ve parolalı anahtarlar
- ~/.ssh/config ve kısa adlar: ~/.ssh/config dosyasıyla sunucular için kısa adlar ve ayarlar tanımlayıp bağlantıları düzenli ve hatasız yönetmeyi öğrenirsin.
- known_hosts: sunucu anahtarı değişince ne yapmalı
- Kısa görev: üç sunucuya parolasız ve kısa adla bağlan
Dosya aktarımı
- SSH üzerinden scp ile güvenli kopyalamak: scp ile dosyaları iki makine arasında şifreli biçimde kopyalamayı ve neyi nereye kopyaladığını doğrulamayı öğrenirsin.
- SSH üzerinden sftp ile etkileşimli aktarım: sftp ile sunucudaki dosyalara gözatıp etkileşimli olarak güvenli şekilde dosya almayı ve göndermeyi öğrenirsin.
- SSH üzerinden rsync ile klasör eşitlemek: rsync ile iki klasörü yalnızca değişen kısımları aktararak eşitlemeyi ve yedekleme için nasıl kullanılacağını öğrenirsin.
- rsync ile artımlı yedek, --delete ve kuru çalıştırma
- Yalnızca sftp kullanabilen, chroot’lu kullanıcı
- Kısa görev: web dizinini her gece yedek sunucuya eşitle
Tüneller ve atlama sunucuları
- Yerel port yönlendirme ile iç servise ulaşmak
- Uzak port yönlendirme ve riskleri
- Dinamik yönlendirme: SOCKS vekili
- ProxyJump ile atlama sunucusu üzerinden bağlanmak
- Kısa görev: iç ağdaki veritabanına atlama sunucusundan güvenle ulaş
Sunucu tarafı
- SSH sunucusunu sıkılaştırmak: SSH sunucusunda parola girişini ve root girişini kapatmak gibi ayarlarla saldırı yüzeyini daraltmayı kendi sunucunda öğrenirsin.
- SSH sertifika yetkilisi ile kullanıcı ve sunucu sertifikaları
- Günlüklerden SSH girişlerini ve denemeleri izlemek
- Kısa görev: sshd yapılandırmasını denetle ve üç zayıflığı kapat
Kapanış
- Bitirme görevi: SSH ile güvenli dağıtım hattı: Kurgusal bir şirkette anahtar tabanlı giriş ve güvenli aktarımla bir uygulamayı sunucuya dağıtan küçük bir hat kurarsın.
Pratik lablar
- Parolasız giriş: yeni sunucu: Yeni bir anahtar çifti oluştur, lab sunucusuna yükle ve parola sorulmadan giriş yapıldığını göster.
- Anahtar var ama yine parola soruyor: Anahtarla girişi bozan izin ve sahiplik hatalarını (.ssh dizini, authorized_keys) bul, düzelt ve ssh -v çıktısıyla anahtarın kabul edildiğini göster.
- İçeride kimin anahtarı var? authorized_keys denetimi: Sunucudaki authorized_keys dosyalarında ayrılmış çalışanlara ait ve kısıtlamasız anahtarları bul, kaldır ya da from= ve command= ile kısıtla ve kalan erişimi test et.
- Sunucu yeniden kuruldu: uyarı çıkıyor: Yeniden kurulan sunucunun parmak izini doğrula, known_hosts’taki eski kaydı güvenli biçimde değiştir ve bağlantıyı uyarısız kur.
- Hangi parmak izi doğru?: Sunucu konsolundan alınan parmak izlerini bağlanırken gösterilenlerle karşılaştır ve iki adresten hangisinin gerçek sunucu olduğunu belirle.
- Karmaşık ssh config dosyası: Çakışan Host blokları yüzünden yanlış kullanıcı ve anahtarla bağlanan ~/.ssh/config dosyasını düzelt ve her takma adın doğru kimlikle doğru sunucuya gittiğini ssh -G ile kanıtla.
- İki sunucudan günlük topla: scp ile iki sunucudan belirtilen günlük dosyalarını kendi makinene kopyala ve dosyaların bozulmadığını sha256sum ile doğrula.
- Gece yüklemesini sftp toplu dosyasıyla yap: Bir sftp toplu iş dosyası yazarak verilen klasörü sunucuya yükle, eski sürümü yeniden adlandır ve işlemi etkileşimsiz çalıştır.
- Mavi Liman Kargo: sftp kullanıcısı bağlanamıyor: Chroot’lu sftp-only kullanıcının bağlanamamasına yol açan dizin sahipliği ve sshd Match hatalarını düzelt ve kullanıcının yalnızca kendi klasörünü görüp kabuk alamadığını göster.
- Yarıda kalan arşiv aktarımı: Yarıda kesilmiş büyük bir arşiv aktarımını rsync ile kaldığı yerden tamamla ve dosya sayısı ile boyutun iki tarafta eşleştiğini göster.
- --delete yanlış klasörü silmesin: Hatalı bir yedek betiğinin --delete ile neleri sileceğini önce kuru çalıştırmayla göster, hedef yolu ve hariç tutmaları düzelt, sonra güvenle çalıştır.
- Ekin Kooperatifi için günlük anlık yedek: --link-dest ile her gün ayrı klasöre düşen ama değişmeyen dosyalar için yer harcamayan bir yedek düzeni kur ve belirli bir günün dosyasını geri yükle.
- Yalnızca içeriden açık panele ulaş: Yerel port yönlendirmesiyle yalnızca sunucunun kendisinden erişilebilen yönetim paneline kendi makinenden eriş ve sayfa başlığını yaz.
- İki atlamalı bağlantı: İki sıçrama sunucusu üzerinden iç ağdaki sunucuya ProxyJump ile tek komutla bağlan ve bunu config dosyasına kalıcı olarak ekle.
- Açık bırakılmış ters tünel: Sunucuda dışarıya açılmış bir ters tüneli ss ve sshd ayarlarıyla bul, GatewayPorts ve AllowTcpForwarding ile kapat ve iç servise yalnızca SOCKS tüneliyle erişilebildiğini göster.
- Root ve parola girişini kapat: sshd’de root ve parola ile girişi kapat, yapılandırmayı sshd -t ile doğrula ve normal kullanıcının anahtarla hâlâ girebildiğini göster.
- Gece boyu deneme yapan adresler: Lab sunucusunun kimlik doğrulama günlüklerinden başarısız denemeleri sayıp en çok deneyen adresleri ve şüpheli bir başarılı girişi bul.
- Kısa ömürlü sertifikalarla giriş: Bir SSH sertifika otoritesi kur, bir kullanıcıya bir saat geçerli sertifika imzala, sunucunun bu otoriteye güvenmesini sağla ve süresi dolan sertifikanın reddedildiğini göster.
Kurs hakkında
Anahtarlar, scp, sftp ve rsync.
Ne öğreneceksin
- Bağlanmak ve anahtarlar
- Dosya aktarımı
- Tüneller ve atlama sunucuları
- Sunucu tarafı
- Kapanış
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
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 201 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.