피드로 돌아가기
Dev.toSecurity
원문 읽기
DPoP 기반 OIDC PAM 모듈을 통한 SSH 정적 키 제거 및 Zero Trust 구현
OIDC SSH Login for Linux, Without the Gateway
AI 요약
Context
관리되지 않는 정적 SSH Key의 확산과 권한 회수 지연으로 인한 보안 취약점 발생. 기존 Proxy 기반 접근 제어나 SSH CA 인프라는 운영 복잡도를 증대시키는 병목 지점으로 작용.
Technical Solution
- PAM 모듈과 Agent 구조를 통한 direct-to-host OIDC 인증 체계 설계
- Bearer Token의 탈취 및 Replay Attack 방지를 위해 RFC 9449 기반 DPoP(Proof-of-Possession) 도입
- Token 내 cnf.jkt 필드에 공개키 썸프린트를 바인딩하여 토큰과 프라이빗 키의 쌍을 검증하는 구조 채택
- Rust 언어로 구현된 prmana-core를 통해 OIDC Discovery 및 JWKS 캐싱의 메모리 안전성 확보
- YubiKey(PKCS#11) 및 TPM 2.0 연동을 통한 프라이빗 키의 하드웨어 격리로 Key Export 가능성 원천 차단
- OpenSSH의 기존 스택을 유지하며 PAM 계층에서 인증을 처리하여 sshd 패치 없는 유연한 배포 구조 실현
실천 포인트
1. 정적 SSH Key 관리 비용이 임계점을 넘었는지 검토
2. OIDC 도입 시 단순 Token 검증을 넘어 DPoP와 같은 Sender-Constrained Token 적용 가능성 분석
3. 하드웨어 보안 모듈(TPM, HSM)을 활용한 인증 키의 하드웨어 바인딩 설계 고려
4. 인프라 변경 최소화를 위해 PAM(Pluggable Authentication Modules) 표준 활용 방안 모색