GitHub พบ SSH Key ของ github.com หลุดบน public repo

March 25, 2023

ไม่น่าเชื่อว่าขนาด GitHub เองยังพลาด โดยในวันที่ 24 มีนาคม ที่ผ่านมา GitHub ได้ตรวจสอบพบว่า RSA SSH private key ของเว็บไซต์ github.com หลุดบน public repository !! 

โดยทาง GitHub ได้แจ้งว่า การหลุดของคีย์ในครั้งนี้ ไม่ได้ส่งผลกระทบต่อการเข้าถึงข้อมูลผู้ใช้ GitHub จะมีผลเพียงแค่การใช้งาน GitHub operations ต่าง ๆ ผ่าน SSH เท่านั้น


โดย GitHub มีคีย์ 4 ประเภท ในการเชื่อมต่อ remote server

  • SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s (RSA)
  • SHA256:br9IjFspm1vxR3iA35FWE+4VTyz1hYVLIE2t1/CeyWQ (DSA - deprecated)
  • SHA256:p2QAMXNIC1TJYWeIOttrVc98/R1BUFWu3/LiyKgUfQM (ECDSA)
  • SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU (Ed25519)

ถ้าเราเข้าใช้งานโดยใช้คีย์ ECDSA or Ed25519 เราไม่ต้องทำอะไรครับ


แต่ถ้าเข้าใช้งาน github.com ผ่าน RSA SSH คีย์จะพบกับข้อความด้านล่าง 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s.
Please contact your system administrator.
Add correct host key in ~/.ssh/known_hosts to get rid of this message.
Host key for github.com has changed and you have requested strict checking.
Host key verification failed.


ถ้าพบข้อความด้านบน ให้ทำการลบคีย์เดิมออกด้วยคำสั่ง

$ ssh-keygen -R github.com


จากนั้นเพิ่มคีย์ด้านล่างนี้ เข้าไปในไฟล์  ~/.ssh/known_hosts

github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=


ถ้าเชื่อมต่อกับ host เรียบร้อยด้วย RSA SSH Key ตัวใหม่ จะเห็นข้อความด้านล่าง

SHA256:uNiVztksCsDhcc0u9e8BujQXVUpKZIDTMczCvj3tD2s


ถึงแม้ตอนนี้ GitHub ได้ revoke คีย์ใหม่แล้วเรียบร้อย แต่ก็น่าคิดว่าขนาด GitHub ยังพลาดได้ ? 

อย่าลืมกดติดตาม Facebook ของ DH กันด้วยนะครับ จะได้ไม่พลาดเนื้อหาสาระดี ๆ


อ้างอิง

DH

DH Team

Programming Resources for Thai Programmers