4P by neo 11달전 | favorite | 댓글 1개

SSH3: HTTP/3를 사용하는 더 빠르고 풍부한 보안 쉘

  • SSH3 개요: SSH3는 SSH 프로토콜을 전면적으로 재검토하여 HTTP 메커니즘 위에 그 의미를 매핑함. SSH3는 안전한 채널 설정을 위해 QUIC+TLS1.3을 사용하고 사용자 인증을 위해 HTTP 인증 메커니즘을 활용함.

SSH3는 더 빠름

  • 세션 설정 속도: SSH3는 SSHv2에 비해 세션 설정이 훨씬 빠름. SSHv2는 5~7번의 네트워크 왕복 시간이 필요하지만, SSH3는 단 3번의 왕복 시간만 필요함.

SSH3는 안전함

  • 보안 메커니즘: SSH3는 TLS 1.3, QUIC, HTTP와 같은 강력하고 오랜 시간 검증된 메커니즘에 의존함. 이 프로토콜들은 이미 인터넷상의 보안이 중요한 애플리케이션들에 널리 사용됨.

SSH3 공개 서버는 숨길 수 있음

  • 서버 숨김: SSH3 서버는 비밀 링크 뒤에 숨겨져 있으며, 특정 링크로 HTTP 요청을 한 인증 시도에만 응답함. 이를 통해 인터넷 사용자들로부터 SSH3 서버를 보이지 않게 할 수 있음.

SSH3는 이미 기능이 풍부함

  • 새로운 기능: UDP 포트 포워딩, X.509 인증서 사용, 서버 숨김, 키 없는 사용자 인증(OpenID Connect) 등이 가능함.
  • OpenSSH 기능 구현: ~/.ssh/authorized_keys 파싱, ~/.ssh/config 파싱, 인증서 기반 서버 인증, known_hosts 메커니즘, ssh-agent 자동 사용, SSH 에이전트 포워딩, TCP 포트 포워딩 등 OpenSSH의 인기 있는 기능들을 구현함.

SSH3 설치하기

  • 소스에서 컴파일: 최신 Golang 버전이 필요하며, 소스 코드를 다운로드하고 바이너리를 컴파일하는 단계를 거침.
  • SSH3 서버 배포: SSH3 서버를 호스트에 배포해야 하며, X.509 인증서와 개인 키가 필요함. ssh3-server 실행 파일 사용법이 제공됨.
  • SSH3 클라이언트 사용: SSH3 서버가 실행되면, SSH3 클라이언트를 사용하여 연결할 수 있음. ssh3 실행 파일 사용법이 제공됨.

GN⁺의 의견

  • 중요성: SSH3는 기존 SSH 프로토콜에 비해 빠른 세션 설정과 보안 강화를 제공함. 특히 HTTP/3 기반의 새로운 인증 방식과 서버 숨김 기능은 보안에 큰 이점을 줌.
  • 흥미로움: 기존의 SSH 사용자들에게는 OpenSSH의 인기 있는 기능들을 그대로 사용할 수 있다는 점이 매력적임. 또한, UDP 포트 포워딩과 같은 새로운 기능들은 네트워크 관리자와 사용자들에게 새로운 가능성을 열어줌.
  • 재미: SSH3의 실험적인 특성과 새로운 기능들은 IT 전문가들에게 새로운 도구를 탐색하고 실험하는 즐거움을 제공함. OpenID Connect를 통한 키 없는 인증 방식은 사용자 경험을 혁신적으로 바꿀 수 있는 잠재력을 가짐.
Hacker News 의견
  • SSH over QUIC에 대한 의견이 다양함:
    • 한 사용자는 SSH over QUIC가 매우 합리적이라고 생각하며, TCP 대신 UDP 위의 QUIC 채널을 사용하는 것에 대해 긍정적인 견해를 표현함. 그러나 HTTP/3가 여기에 어떻게 맞는지, 단순히 오버헤드를 추가하는 것이 아닌지 의문을 제기함.
    • 다른 사용자는 HTTP와 SSH의 보안 모델이 다르다고 지적하며, QUIC가 HTTP에는 적합하지만 SSH에 대해서는 확신할 수 없다고 언급함. 또한, x509 인증서나 OAuth와 같은 기술이 SSH에 적합하지 않을 수 있다고 우려함.
    • 또 다른 사용자는 HTTP/3를 추가하는 것이 SSH 서버를 URL 경로로 "숨기는" 것 외에는 이점이 없다고 생각하며, 기존의 SSH 호스트키나 SSHFP, TOFU가 더 안전하다고 주장함.
    • 한 사용자는 이 프로젝트가 OpenSSH나 IETF의 SSH3 RFC와 관련이 없는 개인 프로젝트라고 지적함.
    • SSH 프로토콜의 버전 3에 대한 희망사항을 언급하는 사용자도 있으며, 암호화된 SNI나 표준화된 메타데이터 블록이 필요하다고 주장함.
    • WebSocket을 통한 SSH 사용 경험을 공유하며, 다양한 전송 방식을 지원하는 것에 대한 관심을 표현하는 사용자도 있음.
    • QUIC의 잠재적인 이점을 보여주는 벤치마크가 부족하다고 지적하는 사용자가 있으며, OpenSSH의 고정된 윈도우 크기가 대역폭을 제한한다고 언급함.
    • SSHv2 over HTTP/3에 대한 설명과 함께, 다양한 SSH 서버와 클라이언트가 존재하며, 이 프로젝트가 새로운 암호화를 도입하지 않았다고 설명하는 사용자가 있음. 이 사용자는 또한 프로젝트가 성공하기를 바라며, OpenSSH의 변화에 대한 저항성을 비판함.
    • WebSocket 프로토콜을 통한 UDP나 TCP 터널링에 대한 정보를 공유하는 사용자도 있음.
    • HTTP/3를 통한 SSH 연결이 표준 웹사이트 트래픽처럼 보일 수 있으며, 중국의 방화벽을 우회할 수 있는 가능성에 대해 언급하는 사용자가 있음.

이러한 다양한 의견들은 SSH over QUIC의 개념에 대한 흥미로운 토론을 제공하며, 기술적인 장단점과 보안 측면에서의 고려사항을 다루고 있음.