피드로 돌아가기
NixOS와 비밀값
GeekNewsGeekNews
Security

NixOS와 비밀값

Nix store 평문 노출 해결을 위한 tmpfs 기반 Secret 관리 전략

neo2026년 5월 10일11intermediate

Context

NixOS의 Nix store가 전역 읽기 권한을 가짐에 따라 설정 파일 내 평문 비밀값 노출 위험 존재. builtins.readFile 사용 시 평가 단계에서 값이 store에 포함되어 보안 취약점이 발생하는 구조적 한계 분석.

Technical Solution

  • SSH 공개키 기반의 비대칭 암호화 체계를 도입하여 Git 저장소 내 비밀값 암호화 저장
  • 부팅 및 활성화 시점에 호스트 SSH 개인키를 이용해 암호화된 값을 복호화하는 프로세스 설계
  • 복호화된 평문 데이터를 디스크가 아닌 tmpfs 기반의 /run/secrets 또는 /run/agenix 경로에 마운트하여 휘발성 저장
  • sops-nix를 통한 YAML 기반의 다중 비밀값 그룹화로 대규모 설정 관리 효율성 확보
  • agenix를 활용한 '1비밀값-1파일' 매핑 구조로 서비스별 최소 권한 접근 제어 구현
  • 템플릿 기능을 활용해 평문 설정과 비밀값 자리표시자를 결합한 동적 설정 파일 생성

- NixOS 환경에서 builtins.readFile을 통한 비밀값 로드 금지 - 비밀값의 개수가 적고 단순한 구조라면 agenix를 우선 검토 - 메일 서버 등 관리해야 할 비밀값이 많은 경우 sops-nix의 그룹화 기능 활용 - 복구 자동화를 위해 파일시스템 직접 저장 방식보다 암호화 도구 기반의 선언적 관리 채택 - 더 높은 보안 수준이 필요할 경우 SSH 개인키를 TPM 또는 HSM으로 보호하는 구성 검토

원문 읽기