피드로 돌아가기
Dev.toSecurity
원문 읽기
Ansible와 PAM 기반의 SSH 2FA 자동화로 인프라 보안 강화 및 설정 오류 제거
Automate SSH 2FA Hardening with Google Authenticator
AI 요약
Context
SSH Key 기반 인증의 단일 지점 장애 및 워크스테이션 침해 시 전체 서버 노출 위험 존재. 수동 기반의 PAM 설정 방식은 설정 오류로 인한 Lock-out 위험과 서버 규모 확장에 따른 운영 오버헤드 증가라는 한계를 가짐.
Technical Solution
- PAM 모듈(
pam_google_authenticator.so) 도입을 통한 TOTP 기반의 다중 인증 계층 설계 /etc/pam.d/sshd설정 내nullok옵션을 활용한 점진적 2FA 강제화 전략 적용ChallengeResponseAuthentication및UsePAM활성화를 통한 SSH Daemon의 PAM 연동 체계 구축~/.google_authenticator파일의 권한을 0400/0600으로 제한하여 Secret 유출 및 읽기 오류 방지- Ansible 등 Configuration Management 도구를 통한 일관된 설정 배포 및 롤백 메커니즘 확보
- NTP/Chrony를 통한 서버 간 Time Synchronization으로 TOTP 시간 드리프트로 인한 인증 실패 원천 차단
실천 포인트
- PAM 설정 변경 시 기존 세션을 유지한 상태에서 새 세션 접속 테스트 수행 - HashiCorp Vault 등 전문 Secret Management 시스템을 통한 TOTP Secret 배포 체계 검토 - 2FA 우회 가능 IP를 지정한 별도의 Break-glass 계정 및 로깅 체계 구축 - 정기적인 `/etc/ssh/sshd_config` 및 사용자 Secret 파일 권한 감사 수행