[HTTPD] SELINUX & SSLCertificateFile does not exist or is empty

2026-05-08 KENNETH 0

개요 도메인 : ilaya.com 상황 : 인증서 설치 후 서비스 재시작 불가 및 오류 발생 httpd error log httpd[3636944]: SSLCertificateFile: file ‘/etc/httpd/SSL/ilaya.com.crt’ does not exist or is empty 에러 발생 원인 추정 1. Apache(httpd)가 설정 파일에 지정된 경로에서 인증서 파일을 찾지 못하는 경우 2. 파일이 존재하고 내용도 정상인 경우 권한(Permissions) SELinux 보안 정책 문제 서버 상태 1. 서버 환경 OS : Linux SELINUX : ON 2. 점검 항목 httpd 설정 정상 여부 : PASS ilaya.com.crt 파일 존재 : PASS 인증서 경로 및 인증서 파일의 권한 : PASS 파일 내용 정상 여부 : PASS SELINUX 작동에 의한 결과로 추정 SELINUX 보안 설정 확인 1. 파일 상태 확인 # ls -Z /etc/httpd/SSL/ilaya.com.crt unconfined_u:object_r:admin_home_t:s0 ilaya.com.crt httpd_config_t 또는 cert_t가 포함되어야 하지만 결과에 있지 않음 2. 파일이나 디렉토리의 보안 문맥(Security Context)을 시스템에 정의된 기본값으로 되돌리기 # 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 cert_t 문자열이 포함되어 [ more… ]

[LINUX] DB access fails on PHP webpage, but CLI succecess on rhel (by selinux)

2024-09-03 KENNETH 0

  증상 PHP스크립트 내에 DB(mysql) 커넥션을 수행시 오류 발생 터미널 상에서 CLI를 이용한 실행 : OK 웹페이지(웹서버)를 통한 실행 : FAIL CLI실행시 문제가 없음 → PHP 코드 내의 “DB접속정보 (host/id/pass/dbname)”는 오류가 없음       원인 및 문제 여부 확인 SELinux 정책에 의한 문제 기본적으로 제한되어 있는것으로 보여짐 결과적으로 문제는 발생하였으나, 이것이 httpd, php 측에서 발생한 에러가 아니다보니 웹서버 및 브라우저 측면에서는 정확하거나 신속하게 확인이 되지 않음 때문에 “감사시스템로그(audit.log)” 에서 확인해야 함 1. 로그 file : /var/log/audit/audit.log     2. 로그확인 exec : audit2why       해결   1. SELinux 의 정책 설정 변경 exec : setsebool setsebool -P httpd_can_network_connect 1 setsebool -P httpd_can_network_connect_db 1   httpd_can_network_connect : HTTP 스크립트 및 모듈의 네트워크 또는 원격 포트에 대한 연결 허용 여부 httpd_can_network_connect_db : HTTP 스크립트 및 모듈의 DB서버에 대한 연결 허용 여부 httpd_can_network_connect 항목을 활성화 해주면 httpd_can_network_connect_db 항목이 “off” 상태로 [ more… ]

No Image

centos7 rhel7 환경에서 싱글 모드 부팅

2015-05-06 KENNETH 0

centos6 까지는 싱글모드 부팅시 grub의 편집모드에서 마지막에 single만 추가를 해주면 되었으나.. centos7(rhel7)에서는 grub2 로 업데이트 되면서, 싱글모드 부팅 방법도 달라지게 되었다.   1. grub 편집모드 진입 까지는 똑같다. 부팅하고자 하는 커널항목에서 ’e’ 키를 이용해서 편집모드로 진입. 2. 수정 대략 내용이 아래와 같은 부분을 찾아서.. linux16 /boot/vmlinuz-3.10.0-123.13.2.el7.x86_64 root=UUID=7044f1fb-8388-4cb1-a08f-90fbff74f910 ro vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 rhgb quiet LANG=en_US.utf8 이렇게 수정하자 linux16 /boot/vmlinuz-3.10.0-123.13.2.el7.x86_64 root=UUID=7044f1fb-8388-4cb1-a08f-90fbff74f910 rw vconsole.keymap=us crashkernel=auto vconsole.font=latarcyrheb-sun16 quiet LANG=en_US.utf8 init=/bin/bash 무엇이 바뀌었냐하면.. ro => rw (루트 패스워드라도 변경하기 위해서는 이걸 해줘야 한다.) rhgb => 삭제 init=/bin/bash 추가 되었다. 깜빡하고 ro를 rw로 변경하지 않은 상태에서 루트패스워드를 변경하거나..  기타 파일의 갱신이 필요한 경우에는 mount -oremount,rw / 라고 실행해주면 된다. rhgb를 삭제하지 않았을 경우, 내가 가진 시스템에서는 정상적으로 키보드 입력이 되지 않는 상황이었다..   3. 부팅 control + x 키를 이용해서 부팅하자…