Tanınmayan bir SSH anahtarı gerçekte ne anlama gelir
Bir GitHub hesabında listelenen SSH anahtarı, o hesap olarak kimlik doğrulaması yapabilen bir kimlik bilgisidir. Tanımadığınız bir anahtar görmek bir sonuç değil, araştırma nedenidir. Anahtar unuttuğunuz bir cihaza, eski bir ekip üyesinin kurulumuna, eski bir dizüstü bilgisayara veya yetkilendirmediğiniz bir şeye ait olabilir. Güvenli yaklaşım, herhangi bir şeyi silmeden önce sahibini ve amacını belirlemektir; çünkü meşru bir iş akışında kullanılan bir anahtarı kaldırmak o iş akışını bozar.
GitHub birkaç şeyi ayrı erişim yolları olarak ele alır. Kişisel bir SSH anahtarı, bir depoya bağlı deploy anahtarı ve yetkili bir OAuth uygulaması farklı kapsamlara sahip farklı mekanizmalardır. Birini denetlemek diğerlerini denetlemez.
GitHub, SSH anahtarlarını, deploy anahtarlarını ve yetkili uygulamaları ayrı erişim yolları olarak denetlemenizi önerir. Kaynak
Önce ve sonra kontrol listesi
Bunu çalışma listesi olarak kullanın. “Önce” sütunu gerçekleri toplamakla, “sonra” sütunu sonucu doğrulamakla ilgilidir.
| Aşama | Kontrol | Neden önemli |
|---|---|---|
| Önce | Hesapta gösterilen her SSH anahtarını başlığı ve görünen parmak izi veya oluşturma ayrıntısıyla listeleyin | Hangi girdinin bilinmeyen olduğuna karar vermeden önce tam bir resme ihtiyacınız var |
| Önce | Her anahtarı adlandırabildiğiniz bir cihaz veya kişiyle eşleştirin | Adlandırılamayan anahtar sorgulanacak olandır |
| Önce | Mevcut herhangi bir iş akışının anahtara bağlı olup olmadığını sorun (derlemeler, dağıtımlar, paylaşılan bir makine) | Etkin kullanımdaki bir anahtarı silmek o iş akışını bozar |
| Önce | Aynı erişimin deploy anahtarları veya yetkili uygulamalar aracılığıyla da verilip verilmediğini kontrol edin | Bunlar ayrı yollardır ve kendi incelemelerini gerektirir |
| Önce | Tutumu belirleyin: sakla, değiştir veya sil | Güncel olmayan bir anahtar basit kaldırma yerine değiştirme gerektirebilir |
| Sonra | Anahtarın artık hesabın SSH anahtar listesinde görünmediğini doğrulayın | Görünür liste ilk doğrulamanızdır |
| Sonra | Etkilenen iş akışının hâlâ çalıştığını veya bir yedek yolunuz olduğunu doğrulayın | Kaldırma meşru bir süreci ortada bırakmamalı |
| Sonra | Anahtar malzemesinin kendisini kaydetmeden neyi ne zaman kaldırdığınızı not edin | Bir kayıt gelecekteki denetimlere yardımcı olur |
Hesap SSH anahtarını kaldırma
Kaldırma işlemi hesap ayarlarında gerçekleşir. GitHub’ın belgelediği yol Ayarlar, ardından SSH ve GPG anahtarları’dır; burada hesap SSH anahtarlarını inceleyebilir ve tanınmayan veya güncel olmayanları silebilirsiniz.
Ayarlar, SSH ve GPG anahtarları bölümünde hesap SSH anahtarlarını inceleyin ve tanınmayan veya güncel olmayanları silin. Kaynak
Kapsamı dar tutun. Bu adım bir hesap SSH anahtarını kaldırır. Deploy anahtarlarını kaldırmaz, yetkili uygulamaları iptal etmez veya depo içeriğini değiştirmez. Denetiminiz bu alanlarda sorun bulduysa bunları kendi görevleri olarak ele alın.
Silmeden önce göz önünde bulundurulacak meşru iş akışları
Tanıdık olmayan her anahtar düşmanca değildir. Harekete geçmeden önce şu yaygın durumları göz önünde bulundurun:
- Artık kullanmadığınız bir cihaz. Eski bir dizüstü bilgisayar veya iş makinesi hâlâ kayıtlı bir anahtara sahip olabilir. Cihaz hâlâ sizdeyse eşleşmeyi doğrulayabilirsiniz; değilse genellikle silmek doğru seçimdir.
- Paylaşılan veya ekip makinesi. Başka biri meşru bir amaçla anahtar eklemiş olabilir. Kaldırmadan önce sahibiyle doğrulayın.
- Bir dağıtım veya otomasyon kurulumu. Bir anahtar zamanlanmış bir süreç tarafından kullanılıyorsa onu silmek o süreci durdurabilir. Önce bağımlılığı belirleyin.
- Oluşturup unuttuğunuz bir anahtar. Başlıklar ve oluşturma tarihleri genellikle hafızayı canlandırır. Kendi geçmiş kurulumunuzla eşleştirebiliyorsanız silmek yerine saklamayı veya değiştirmeyi seçebilirsiniz.
Şüphede kaldığınızda daha güvenli sıra şudur: belirle, sonra kontrolünüzdeki bir anahtarla değiştir, ardından eski girdiyi kaldır. Bu, bilinmeyen olanı kapatırken çalışan bir yolu yerinde tutar.
Bu süreç ne yapmaz
SSH anahtarını kaldırmak hedefli bir eylemdir, tam bir hesap temizliği değildir. Şunları yapmaz:
- OAuth uygulamalarını veya diğer yetkili entegrasyonları iptal etmez;
- depolarından deploy anahtarlarını kaldırmaz;
- anahtarı kimin ve neden oluşturduğunu kanıtlamaz;
- başka bir erişim yolu olmadığını doğrulamaz.
Bunların her birini ayrı bir kontrol olarak ele alın. Denetim, tek bir anahtar değil, küçük ve doğrulanabilir adımlar kümesidir.
Kullanıcı adı araması nereye uyar, nereye uymaz
Herkese açık bir kullanıcı adı araması, bilinen bir kullanıcı adının herkese açık platformlarda nelerle ilişkili göründüğünü görmenize yardımcı olabilir. Bir kimliği veya çevrimiçi ayak izini anlamaya çalışırken bu yararlı bir bağlamdır. GitHub hesap ayarlarını incelemenin bir yolu değildir ve bir SSH anahtarının kime ait olduğunu söyleyemez. TruthsSeek’in ele aldığı uygulama TraceSeek, bilinen herkese açık kullanıcı adlarını 3.000+ platformda kontrol eder ve ilk taramayı 20-30 saniyede döndürür; ilk tarama ücretsizdir. GitHub ayarlarını işletmez ve herkese açık bir eşleşme bir ipucudur, sahiplik kanıtı değildir.
Kimlik bilgilerini güvenle ele alma
Özel bir anahtarı, belirteci veya tam kimlik bilgisini asla bir sohbette, sorun bildiriminde, ekran görüntüsünde veya forum gönderisinde yayınlamayın. Bir anahtarı tanımlamak için yardıma ihtiyacınız varsa yalnızca başlığı veya görünen parmak izi gibi gizli olmayan ayrıntıları paylaşın ve bunu yalnızca güvendiğiniz biriyle yapın. Bir anahtarın açığa çıktığından şüpheleniyorsanız onu hesaptan kaldırmak bir adımdır; ona bağlı olan her şeyi döndürmek, bilinçli olarak vermeniz gereken ayrı bir karardır.