최근 우리는 Linux 호스트에서 TPM을 설정하는 방법을 살펴보았습니다. 부팅할 때 grub 매개변수와 커널이 체크섬되고, 체크섬이 예상한 대로이면 TPM 모듈이 루트 파일 시스템과 시스템의 키 부팅을 압축 해제합니다. 변조된 경우 키가 열리지 않고 컴퓨터가 부팅되지 않습니다. 좋고 안전합니다.
마찬가지로 FreeIPA 서버에 기밀 정보(예: TLS 인증서 키 또는 심지어 TLS 인증서 자체)를 저장하고 호스트가 인증된 후에만 이를 호스트에 전달하고 싶습니다. 목적은 nginx 웹사이트(Google "NGINX를 사용하여 SSL 개인 키를 안전하게 배포")에 설명된 대로 인증서를 디스크에 저장하지 않고 Nginx(또는 다른 웹 서버)에 제공하는 것입니다(램디스크도 작동함).
또한 SSH 공개 키를 사용하여 파일을 암호화하는 방법(Google 'SSH 키를 사용하여 파일 암호화 및 해독')에 대한 기사를 찾았는데, 여기서도 Kerberos의 보안과 무료 IPA를 활용하여 동일한 작업을 수행할 수 있는지 궁금해졌습니다. .
ipa
간단히 말해서, 기존 명령을 사용하여 이를 수행하고, 호스트의 /etc/krb5.keytab
파일을 사용하여 작업을 확인함으로써 무인 방식으로 수행될 수 있도록 하는 방법이 있습니까 ?
감사해요!
편집: 더 구체적으로 말하면 LetsEncrypt로 서명된 와일드카드 TLS 인증서와 해당 암호화 키(그런 다음 Nginx 서버에 로드할 수 있음)가 포함된 문자열을 수동으로 해독하지 않고도 검색하고 싶습니다.
- 1단계: 호스트가 자동으로 LDAP 서버에 인증하도록 합니다(문자열이 암호화된 경우 선택 사항). 이미 그렇게 하고 있지만 내 응용 프로그램에 어떻게 사용하는지 잘 모르겠습니다.
- 2단계: LDAP에 저장된 문자열 가져오기(jpegPhoto 또는 오디오일 수도 있고 호스트 개체에 저장된 경우 다른 속성에 있음)
- 3단계: 문자열 암호 해독(한 가지 방법은 예상치 못한 방식으로 SSH 키 쌍을 사용하는 것입니다.https://www.bjornjohansen.com/encrypt-file-using-ssh-key. Kerberos도 비슷한 방식으로 사용될 수 있을까요? )
- 4단계: 올바른 위치에 로프를 놓습니다. nginx 블로그 게시물에서는 tempfs 파일 시스템의 파일 사용을 권장하지만 저는 커널 키체인을 선호합니다.
- 5단계: 다음 설명에 따라 구성된 Nginx를 시작합니다.https://www.nginx.com/blog/secure-distribution-ssl-private-keys-nginx/
FreeIPA는 이미 인증서와 함께 작동하므로(참고자료 참조 ipa help cert
) 임의의 인증서(FreeIPA 생성 인증서와 반대)를 사용하는 것이 그리 어렵지 않을 것이라고 예상했습니다.
편집^2: FreeIPA에는 이와 같은 비밀을 처리하는 기능이 있는 것으로 나타났습니다.피난. 관련 없는 LDAP 속성에 데이터를 채울 필요가 없고 일부 암호화를 수행할 필요도 없으며 비밀을 서비스 주체, 사용자 또는 그룹에 연결할 수 있습니다! 도움말( ipa help vault
)에 다 나와 있는데, 알파벳 끝부분에 있어서 그렇게까지 읽은 적은 없습니다. 그들은 "하나의 CLI에서 대부분의 기능"을 자랑하기 위해 AWS와 경쟁하고 있습니다. :-)
답변1
FreeIPA에는 Vault라고 불리는 이러한 비밀을 처리하는 기능이 있는 것으로 나타났습니다. 관련 없는 LDAP 속성에 데이터를 채울 필요가 없고 일부 암호화를 수행할 필요도 없으며 비밀을 서비스 주체, 사용자 또는 그룹에 연결할 수 있습니다!
도움말( ipa help vault
)에 다 나와 있는데, 알파벳 끝부분에 있어서 그렇게까지 읽은 적은 없습니다. FreeIPA는 "대부분의 기능을 단일 CLI에 담는 것"을 자랑하기 위해 AWS와 경쟁하고 있습니다. :-)
아직 정확한 CLI 매개변수를 파악해야 하기 때문에 아직 답변으로 추가하는 것을 고려하지 않았습니다.