OpenSSH 10.1: 보안, 네트워킹 및 구성의 모든 새로운 기능

  • WarnWeakCrypto를 통한 포스트 양자 알고리즘에 대한 경고 및 지원.
  • QoS 검토: 기본 DSCP, 대화형 트래픽을 위한 EF 및 ToS 사용 중단.
  • 운영 강화: ~/.ssh/agent의 에이전트 소켓과 입력 필터.
  • 실질적인 개선 사항: SIGINFO, RefuseConnection, PKCS#11 Ed25519 및 주요 버그 수정.

OpenSSH 10.1

버전 라벨을 넘어서, OpenSSH 10.1은 10 시리즈로 시작된 경로를 통합합니다.: 포스트 양자 암호로의 마이그레이션, DSCP를 통한 QoS 현대화, 그리고 역사적으로 민감한 영역(에이전트, 키, 레지스트리, 매개변수 파싱)의 강화. 아래에서 확인하실 수 있습니다. 모든 새로운 기능에 대한 철저한 검토 (가치가 있는 맥락과 함께) 놀라움 없이 이를 채택하기 위한 실용적인 가이드라인도 제공합니다.

다음은 목록입니다. 이 버전의 새로운 기능, 또한에서 사용 가능 공식 메모.

릴리스 하이라이트 및 컨텍스트

OpenSSH 10.1(2025-10-06)의 공식 릴리스에서는 세 가지 축이 강조됩니다. 양자 암호화, DSCP 네트워크 및 입력 정리에 대한 예방적 보안. 또한 에이전트 소켓 경로에서부터 높은 운영적 영향과 관련된 특정 변경 사항을 연결합니다. 새로운 진단 징후.

이 프로젝트의 주요 알림 사항: 향후 릴리스에서는 SHA‑1 기반 SSHFP 로그를 무시합니다.동안 ssh-keygen -r 이제 기본적으로 SHA‑256으로만 SSHFP 지문을 생성합니다. 약한 해시에 대한 문 닫기 DNSSEC 및 호스트 키 검증을 위해.

비포스트퀀텀 암호화 경고 및 새로운 WarnWeakCrypto 옵션

OpenSSH 10.1에서는 연결이 키 교환을 협상할 때 경고를 도입합니다. 양자 이후 공격에 저항력이 없습니다목표는 "지금 저장하고 나중에 해독"하는 위험에 초점을 맞추고 민감한 환경에서의 전환을 가속화하는 것입니다.

이 동작은 다음으로 제어됩니다. 경고약크립토 (시 ssh_config), 기본적으로 활성화되어 있습니다. 점진적 마이그레이션을 수행하거나 레거시 호스트를 유지 관리하는 경우 경고를 선택적으로 비활성화할 수 있습니다. Match 블록을 사용합니다. 예:

호스트 unsafe.example.com WarnWeakCrypto 번호 일치

암호화 및 최신 기술: PQC, 하이브리드 및 SSHFP

10.0에서는 클라이언트가 기본적으로 사용하도록 전환되었습니다. mlkem768x25519‑sha256, 결합된 하이브리드 포스트 양자 알고리즘 ML-KEM (KEM NIST FIPS 203) X25519와 함께. 이 하이브리드 전략은 PQ 측에서 암호 분석 돌파구가 나타나더라도 당신은 클래식 ECDH보다 더 나쁠 수 없을 것입니다 채널이 X25519의 강도를 유지하기 때문입니다.

10.1에서는 위에서 설명한 경고 외에도 전환이 강화되었습니다. OpenSSH는 앞으로도 SHA‑1을 사용한 SSHFP를 계속 무시할 것입니다.; 도구 ssh-keygen 이미 SHA‑256으로만 SSHFP를 발행하고 있습니다. 운영상 권장되는 조치는 다음과 같습니다. SHA‑256으로 SSHFP 지문을 재생성하고 게시합니다. 호스트를 위해.

자주 묻는 질문: 양자 컴퓨터가 아직 SSH를 깨뜨릴 수 없다면 왜 지금 고집하는 걸까요? 공격자는 오늘을 포착하고 내일 복호화할 수 있기 때문입니다. 포스트퀀텀 KEX를 사용하면 이미 이러한 공격 경로를 완화할 수 있습니다. 그리고 PQ 알고리즘의 초기 버전이 걱정된다면, 하이브리드 모달리티 고전적인 보안 수준을 기반으로 유지합니다.

네트워크 현대화: DSCP/IPQoS 및 트래픽 우선 순위 지정

이번 릴리스에서는 QoS가 대폭 개편되었습니다. 클라이언트와 서버 모두에서 대화형 트래픽은 기본적으로 EF(신속 전달) 클래스로 설정됩니다.Wi-Fi 및 혼잡한 미디어의 지연 시간을 줄이는 데 도움이 됩니다. 비대화형 트래픽은 다음을 사용하여 전환됩니다. 시스템 기본 DSCP 마크우선순위를 높이지 않고.

실제로는 둘 다 ssh(1) 및 sshd(8)는 동적으로 변경됩니다. 채널의 유형에 따라 사용되는 브랜드: 동일한 연결이 셸과 결합하는 경우 sftp, 비대화형 전송 단계 작업 중에는 비대화형 값을 사용하고 적절한 경우 EF로 돌아갑니다. 이는 키로 제어됩니다. IPQoS en ssh_config y sshd_config.

또한, 이전 IPv4 ToS에 대한 지원이 중단됩니다. IPQoS 옵션에서 (lowdelay, throughput, reliability 효과가 없어집니다). 여전히 사용하고 있다면, DSCP 명명법으로 마이그레이션 (예: ef, cs0, af11등).

입력 강화: 사용자, URI 및 확장

보안 섹션에서 10.1은 외부 데이터로 명령줄을 빌드하고 동시에 사용하는 경우 발생하는 미묘한 문제를 수정합니다. %r/%u 확장을 사용한 ProxyCommand공격자가 셸 표현식에 몰래 침투할 수 있습니다. 이를 완화하려면 ssh(1)은 이제 CLI를 통해 전달되거나 확장된 사용자에서 제어 문자를 금지합니다.또한 URI의 null 문자도 차단합니다. ssh://.

호환성 참고 사항: 합법적인 사례를 손상하지 않도록 검증 지점이 완화되었습니다. 구성 파일에 정의된 리터럴 사용자 이름 (% 제외) 확장은 로컬 구성이 신뢰할 수 있는 것으로 간주되므로 면제됩니다.

실시간 신호 및 정보: SIGINFO 및 가시성

또 다른 실용적인 디버깅 팁: ssh(1) 및 sshd(8)가 SIGINFO 핸들러를 얻습니다. 활성 채널 및 세션의 상태를 기록합니다. 프로덕션에서는 흐름 진단, 멀티플렉싱, 전달 및 X11을 용이하게 합니다. 디버거를 첨부하거나 침습적으로 자세한 내용을 늘릴 필요 없이.

투명성의 동일한 라인을 따라 인증서 인증이 실패하면 sshd는 이제 인증서를 식별하기에 충분한 정보를 기록합니다. (거부된 이유도 포함). PKI 및 사용자/호스트 인증서를 사용하는 경우 이 개선 사항은 해결 시간이 크게 단축됩니다.

ssh-agent 및 키: 소켓, 살균 및 PKCS#11

제한된 장착 환경에서 교차 접근을 방지하려면 /tmp, 에이전트 소켓(및 다음에 의해 전달되는 소켓) sshd) 알아 /tmp에서 ~/.ssh/agent로 이동합니다.. 따라서 권한이 제한된 프로세스 /tmp 더 이상 실수로 에이전트로부터 키로 서명하는 기능을 상속받지 않습니다.

이 변경 사항에는 또 다른 파생 사항이 있습니다. OS가 더 이상 사용되지 않는 소켓을 정리하기 전에 이제 ssh‑agent는 자체 정리 기능을 통합합니다. 이전 소켓에서. 또한 에이전트는 새로운 플래그를 추가합니다. -U y -u 시동 시 청결을 제어하려면 -uu 정리 시 호스트 이름을 무시하고 -T 역사적 위치를 강제로 지정하다 /tmp 정말 필요하다면요.

주요 평면에서는 클라이언트와 에이전트 PKCS#11 토큰에 호스팅된 ED25519가 이제 지원됩니다.HSM이나 암호화 키를 사용하면 강도를 희생하지 않고도 유연성을 얻을 수 있습니다.

ssh‑add 및 인증서: 자체 정리 만료

에이전트에 인증서를 추가할 때, 이제 만료일이 5분의 유예 기간으로 설정되었습니다.아이디어는 간단합니다. 대기열에서 거래가 완료되도록 허용한 다음, 에이전트 인증서를 자동으로 삭제합니다. 흐름이 ​​완전한 제어를 요구한다면, ssh‑add -N 이 동작을 비활성화합니다.

RefuseConnection: 클라이언트 측 제어 연결 해제

클라이언트 자체에서 명확한 메시지(예:)를 통해 연결을 중단하려는 시나리오가 있습니다. 운영 리디렉션 또는 사용 중단 알림). OpenSSH 10.1 추가 연결 거부 a ssh_config: 핫 섹션을 처리하는 동안 발생하는 경우 클라이언트는 오류로 종료됩니다. 정의한 텍스트를 표시합니다.

코드 품질 및 라이브 보안

팀은 코드베이스 정리를 계속하고 있습니다. 10.1 목록 메모리 누수 수정됨, 글쓰기 시 ​​원자 개선 known_hosts 참석률이 높고 여러 경쟁 조건 해결됨 다음과 같은 프로세스에서 MaxStartups 또는 X11 세션.

암호화폐 청소 참고사항: XMSS에 대한 지원이 제거되었습니다. (실험적이며 기본적으로는 아님). 기반을 마련합니다. 포스트 양자 서명 계획 향후 버전에서는 더욱 성숙한 기능이 추가될 예정입니다.

이식성 및 생태계: PAM, FreeBSD, macOS, Android…

이식성 변경 사항은 여러 측면에 영향을 미칩니다. PAM 환경에서의 추가 검사 (예: 프로세스 중에 사용자가 변경되지 않도록 보장하는 것) 통합 개선 FreeBSD의 (TUN 전달 및 호환성) macOS (함수 및 헤더의 강력한 감지) 및 Android (null이 아닌 필드가 있는 구조체 passwd).

특정 표준 라이브러리가 없는 플랫폼에 대한 호환성 헤더도 추가되어 라이브러리 수를 줄입니다. #ifdef 분산됩니다. 마지막으로 정제됩니다. seccomp 샌드박스 정책 Linux에서 다음과 같은 시스템 호출을 처리합니다. futex_time64 32비트에서 지원이 추가되었습니다. AWS‑LC OpenSSL/LibreSSL의 대안으로.

실제 QoS: 실제 사례 및 IPQoS 마이그레이션

이전 ToS 별칭을 사용한 경우(lowdelay, throughput...), 이제 그들은 무시될 것이다 DSCP를 제안하는 디버그 메시지가 표시됩니다. 일반적인 마이그레이션은 다음과 같습니다. IPQoS lowdelay a IPQoS ef 대화형 세션의 경우, SFTP를 많이 사용하는 경우에도 가능합니다. 매치별로 프로필 정의 en ssh_config/sshd_config 교통을 분리합니다.

엔진을 기억하세요 자동으로 선택하고 업데이트합니다 OpenSSH는 열려 있는 채널을 기반으로 실시간으로 표시하므로 대부분의 작업은 이미 OpenSSH에서 완료되어 있습니다.

Linux에 OpenSSH 10.1 설치(소스)

배포판은 버전을 통합하지만, 공식 소스에서 컴파일할 수 있습니다. 프로젝트 미러에서 tarball을 다운로드하고 압축을 풀고 컴파일합니다.

tar -xvf openssh-10.1.tar.gz

디렉토리에 들어가서 접두사 및 구성 경로 구성 필요하면 말씀해 주세요. 예를 들어:

cd openssh-10.1 ./configure --prefix=/opt --sysconfdir=/etc/ssh

컴파일 및 설치 평소와 같이(권한에 따라 다름, 아마도 슈퍼유저가 있어야 함):

확인

make install

PowerShell을 사용하여 Windows에서 OpenSSH 활성화

최신 Windows 환경(Server 2019/Windows 10 1809+)에서는 OpenSSH 클라이언트와 서버를 시스템 기능으로 설치할 수 있습니다.. 용량 및 상태 확인:

Get-WindowsCapability-Online | Where-Object Name -like 'OpenSSH*'

구성 요소를 설치합니다 당신이 필요로 하는 대로:

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0 Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

SSH 서버 서비스를 시작하고 활성화합니다., 인바운드 방화벽 규칙을 확인하세요.

Start-Service sshd Set-Service -Name sshd -StartupType 'Automatic' Get-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -ErrorAction SilentlyContinue

다른 Windows 또는 Linux 호스트에서 연결하려면 표준 클라이언트를 사용하세요. ssh dominio\usuario@servidor. 처음 접속 시, 호스트 지문을 수락합니다 비밀번호로 인증하세요.

운영 가이드: 진단 및 모범 사례

사용자/호스트 인증서가 있는 환경의 경우 개선된 로깅을 활용하세요 거부의 sshd CA 및 확장 프로그램을 디버깅합니다. 세션이 중단되거나 멀티플렉싱이 의심되는 경우 SIGINFO를 시작합니다 글로벌 로그 수준을 높이지 않고 활성 채널을 나열하는 프로세스입니다.

에이전트에 의존하는 경우 소켓이 현재 어디에 있는지 확인하십시오(~/.ssh/agent) 그리고 자동 청소 활성화 배포 모델에서. 공유 또는 NFS 워크스테이션에서 필요한 경우 에이전트 플래그를 사용하여 경로에 호스트 이름 해시를 설정하는 것을 고려하세요.

가장 관련성 있는 버그 수정

10.1에서는 해결되었습니다 X11의 사소한 회귀 심박수 완화와 결합하면 (ObscureKeystrokeTiming),의 경우 MaxStartups의 부실한 회계 슬롯을 범람시킬 수 있고, 쓰기 known_hosts 이제 끝났다 원자 연산에서 높은 동시성으로 인해 줄바꿈이 발생하는 것을 방지합니다.

다른 수정 사항이 개선되었습니다. 키 로딩 시 진단, 구성 크기 제한(256KB~4MB), 감사 출력 및 로컬 전달 및 제어 시퀀스의 특수한 예외 상황 처리. 또한, ssh -G y sshd -T.

권장되는 마이그레이션 체크리스트

이 빠른 목록 여기에는 프로젝트 자체에서 제안하는 작업과 변경을 통해 나타나는 내용이 포함됩니다.

  • Cripto: 당신의 것을 확인하세요 KexAlgorithms 하이브리드 PQ를 허용하고 SHA‑256에서 새로운 SSHFP를 생성합니다. ssh-keygen -r.
  • QoS를: 확인하다 IPQoS 클라이언트/서버에서 기존 ToS를 DSCP로 마이그레이션하고, 대화형 세션에 EF를 활용합니다.
  • 자치령 대표: 스크립트와 변수를 소켓에 맞게 조정합니다. ~/.ssh/agent; 에이전트가 직접 자동으로 청소하는 기능입니다.
  • 대규모 구성: 대량 구성을 생성하는 경우 제한은 최대 4MB까지 증가합니다. 현명하게 적용하세요 검증을 제어합니다.
  • 파서: 신뢰할 수 없는 입력에서 명령줄을 빌드하지 않도록 합니다. config 사용자 이름에 이상한 대소문자가 있는 경우 리터럴을 사용하여 로컬로 변환합니다.

혼합 함대를 관리하는 사람들은 10.1을 높이 평가할 것입니다. 가장 덜 위험한 곳에 보안을 압축하세요 (파서, 에이전트, 경고) 및 동시에 일상의 경험을 개선하다 (동적 QoS, SIGINFO, 인증서 로깅). 이미 10.0 버전을 사용 중이셨다면 전환은 간단합니다. 9.x 버전에서 이전하는 경우, DSCP를 조정하고 SSHFP를 SHA‑256으로 재생성하고 하이브리드 KEX를 활성화하여 성능 저하 없이 양자 위협으로부터 보호하세요.

OpenSSH를
관련 기사 :
OpenSSH 9.0은 scp 대신 SFTP와 함께 제공, 개선 사항 등

선호하는 소스로 추가