SSL 키에 대한 권한?


15

nginx에서 보안 연결 (https)을 설정하려고합니다.

그러나 개인 키의 권한에 대해서는 조금 걱정됩니다.이 자습서에서는 언급되지 않았습니다.

변경해야합니까? 무엇을?

답변:


15

개인 키는 크게 제한되어 있어야합니다. 에 대한 권한을 600소유하고 소유 root해야합니다. 그러나 다른 보안 권한 설정이 있습니다. Ubuntu는 소유자 root와 그룹 ssl-cert및 권한이 있는 디렉토리에 키를 저장합니다 710. 이는 구성원 만이 ssl-cert해당 디렉토리의 모든 파일에 액세스 할 수 있음을 의미합니다 . 개인 키에는 그룹 ssl-cert, 소유자 root및 권한이 640있습니다.


2
CentOS 7에서 nginx를 사용할 때 인증서 또는 개인 키를 nginx그룹의 사용자가 읽을 수 있도록 만들 필요는 없습니다 . 웹 서버는 읽을 수만 있어도 읽을 수있는 경우에도 사용할 수 root있습니다.

3

nginx 설정에 문제가 있었고이 질문을 발견했습니다. 여기에있는 다른 대답은 이미 질문에 직접 대답했지만 조금 더 많은 정보가 도움이 될 것이라고 생각했습니다.

일반적으로 nginx는 rootinit 스크립트 / systemd에 의해 사용자로 시작됩니다 . 그러나 nginx는 또한 정상적인 작업을 위해 권한이 적은 사용자로 전환 할 수 있습니다. 그래서 내 질문은 SSL 인증서 / 키를로드하는 데 어떤 사용자가 사용 되었습니까? 초기 특권 사용자 또는 전환 된 사용자?

다행히도 nginx는 초기 권한을 사용하여 사용자를 전환하기 전에 인증서와 키를 메모리로 읽습니다. 따라서 일반적으로 키가 여전히로 실행될 때 nginx에 의해로드 된 키는 매우 제한된 권한을 가진 채로 둘 수 있습니다 root.


내가 여기에 착륙 한 문제는 ssl_certificate에서 내 server블록 에서만 정의하고 있다는 것 입니다 nginx.conf. 나는 [error] 18606#18606: *311 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking열쇠를 제대로 알고 잘 알았을 때 와 같은 오류가 발생 했습니다. 그 문제는 ssl_certificatehttp수준에 없었습니다 nginx.conf.

이것이 누군가에게 도움이되기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.