개요
httpd[3636944]: SSLCertificateFile: file ‘/etc/httpd/SSL/ilaya.com.crt’ does not exist or is empty
에러 발생 원인 추정
2. 파일이 존재하고 내용도 정상인 경우
- 권한(Permissions)
- SELinux 보안 정책 문제
서버 상태
- OS : Linux
- SELINUX : ON
- httpd 설정 정상 여부 : PASS
- ilaya.com.crt 파일 존재 : PASS
- 인증서 경로 및 인증서 파일의 권한 : PASS
- 파일 내용 정상 여부 : PASS
SELINUX 보안 설정 확인
# ls -Z /etc/httpd/SSL/ilaya.com.crt
unconfined_u:object_r:admin_home_t:s0 ilaya.com.crt
# restorecon -v /etc/httpd/SSL/ilaya.com.crt
# ls -Z /etc/httpd/SSL/ilaya.com.crt
unconfined_u:object_r:cert_t:s0 ilaya.com.crt
왜 이 명령어가 필요한가?
SELinux 시스템은 각 파일이 어디에 있어야 하는지(경로)에 따라 가질 수 있는 역할(Type)을 미리 지정
- /root에서 파일을 만들어 /etc/httpd/SSL로 mv 를 통해 “이동” 시
- 파일은 원래 가지고 있던 admin_home_t 라벨을 그대로 유지하게 됨
- Apache는 보안상 admin_home_t 라벨이 붙은 파일은 읽을 수 없도록 설계
보완
semanage fcontext -a -t cert_t “/etc/httpd/SSL(/.*)?”
restorecon -Rv /etc/httpd/SSL
- mv 가 아닌
- cp 혹은 vi 등으로 /etc/httpd/SSL 에서 직접 생성
restorecon -v /etc/httpd/SSL/ilaya.com.crt
- -v 옵션 : 작업 내용 출력
restorecon -Rv /etc/httpd/SSL
- -v 옵션 : 작업 내용 출력
- -R 옵션 : 지정디렉토리 및 하위 모든 디렉토리와 파일들을 지정
Leave a Reply