GitHub تغییراتی را در سرویس مربوط به تقویت امنیت پروتکل Git مورد استفاده در عملیات git push و git pull از طریق SSH یا طرح "git://" اعلام کرد (درخواستها از طریق https:// تحت تأثیر تغییرات قرار نمیگیرند). پس از اعمال تغییرات، اتصال به GitHub از طریق SSH حداقل به نسخه OpenSSH 7.2 (منتشر شده در سال 2016) یا PuTTY نسخه 0.75 (منتشر شده در ماه می سال جاری) نیاز دارد. برای مثال، سازگاری با کلاینت SSH موجود در CentOS 6 و Ubuntu 14.04 که دیگر پشتیبانی نمیشوند، از بین میرود.
این تغییرات شامل حذف پشتیبانی از تماس های رمزگذاری نشده به Git (از طریق "git://") و افزایش الزامات برای کلیدهای SSH مورد استفاده در هنگام دسترسی به GitHub است. GitHub از تمام کلیدهای DSA و الگوریتمهای قدیمی SSH مانند رمزهای CBC (aes256-cbc, aes192-cbc aes128-cbc) و HMAC-SHA-1 پشتیبانی نخواهد کرد. علاوه بر این، الزامات اضافی برای کلیدهای RSA جدید معرفی شده است (استفاده از SHA-1 ممنوع خواهد بود) و پشتیبانی از کلیدهای میزبان ECDSA و Ed25519 در حال اجرا است.
تغییرات به تدریج ارائه خواهد شد. در 14 سپتامبر، کلیدهای میزبان جدید ECDSA و Ed25519 تولید خواهند شد. در 2 نوامبر، پشتیبانی از کلیدهای RSA جدید مبتنی بر SHA-1 متوقف خواهد شد (کلیدهای تولید شده قبلی به کار خود ادامه خواهند داد). در 16 نوامبر، پشتیبانی از کلیدهای میزبان بر اساس الگوریتم DSA متوقف خواهد شد. در 11 ژانویه 2022، پشتیبانی از الگوریتمهای قدیمیتر SSH و امکان دسترسی بدون رمزگذاری بهعنوان یک آزمایش موقتاً متوقف میشود. در 15 مارس، پشتیبانی از الگوریتم های قدیمی به طور کامل غیرفعال می شود.
علاوه بر این، میتوانیم توجه داشته باشیم که یک تغییر پیشفرض در پایگاه کد OpenSSH ایجاد شده است که پردازش کلیدهای RSA را بر اساس هش SHA-1 ("ssh-rsa") غیرفعال میکند. پشتیبانی از کلیدهای RSA با هش SHA-256 و SHA-512 (rsa-sha2-256/512) بدون تغییر باقی می ماند. توقف پشتیبانی از کلیدهای "ssh-rsa" به دلیل افزایش کارایی حملات برخورد با پیشوند معین است (هزینه انتخاب یک برخورد تقریباً 50 هزار دلار برآورد شده است). برای آزمایش استفاده از ssh-rsa در سیستم های خود، می توانید از طریق ssh با گزینه "-oHostKeyAlgorithms=-ssh-rsa" اتصال برقرار کنید.
منبع: opennet.ru