일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- virsualhost
- php8.3
- 애니메이트
- MySQL
- 우분투 서버세팅
- post_type
- Ajax
- 글자 수 제한
- 비동기호출
- 날짜변환
- 날짜비교
- 배열
- Vanilla JS
- selinux
- JavaScript
- 정규식
- .htaccess
- 정부 서비스 가이드라인
- 보안인증서
- 301 리다이렉트
- 자바스크립트
- 리사이즈
- iframe
- SSL
- JS
- 구글뷰어
- 디지털 정부서비스ui/ux
- 글자수제한
- krds
- ip직접접근차단
- Today
- Total
더 나은 프로그래머가 되자
SSL보안서버인증서 설치방법 CentOS Apache 본문
출처 : https://blog.naver.com/phongdaegi/221988174349 써트코리아
1. Apache 버전 및 환경 확인하기
● Apache 프로세스 확인
# ps -ef | grep httpd

위와 같이 /usr/sbin/httpd 경로에 있을 경우, 환경설정 파일은
/etc/httpd/conf , /etc/httpd/conf.d 폴더에 위치함.
● Apache 버전 확인
# httpd -v

이 때, Apache 1.X ~ 2.0 버전 사용중이시라면, 2.2 이상으로
버전 업그레이드를 권장 드립니다.
● SSL 모듈 설치 확인
# httpd -l

위와 같이 mod_so.c 가 있고, mod_ssl 이 없을 경우 동적 모듈(DSO)로
설치된 Apache 입니다.
이 경우, modules 폴더 내에 mod_ssl.so 파일이 있는지 확인합니다.

만약 mod_ssl.so 파일이 없다면, CentOS 기준으로 아래와 같이 mod_ssl 을 설치합니다.
# yum install mod_ssl

정적 모듈(Statically)로 설치된 경우, 아래와 같이 mod_ssl.c 파일이 나타납니다.

만일 mod_ssl.c 파일이 없다면, Apache를 다시 컴파일하셔야 합니다.
2. OpenSSL 버전 확인
명령어로 간단하게 확인 가능합니다.
# openssl version

1.0.1e 이상 권장 드립니다.
만약 openssl 이 설치되지 않은 경우, CentOS 기준으로 yum install openssl 명령어 등을 사용하여 설치합니다.
3. 인증서 파일 확인 및 저장
써트코리아에서 받으신 경우 아래와 같은 파일로 구성되어 있습니다.
◆ www.domain.com.crt : 인증서 파일(공개키)
◆ www.domain.com.key : 개인키 파일(비밀키)
◆ chainca.crt : 루트/중개 인증서 파일
위 3개 파일을 Apache 폴더 내 임의의 폴더로 옮겨줍니다.
(ex : /etc/httpd/conf/ssl )
4. SSL 인증서 설치
httpd.conf 파일에서 mod_ssl 모듈을 Load 하고 있는지 확인합니다.

주석처리 되어 있다면 주석을 풀어줍니다.
만약 DSO 환경에서 LoadModule 하는 부분이 없다면, 아래와 같은 구성일 것입니다.

위에서 Include하고 있는 conf.modules.d/ 폴더로 이동하여
00-ssl.conf 파일이 있는지 확인하고
해당 파일 내용에 LoadModule 하고 있는지 확인합니다.

mod_ssl 을 Load 하는지 확인하였다면, 이제 SSL conf 파일을 찾아
내용을 수정할 차례입니다.

SSL conf 파일은 대체로 아래와 같은 경로에 있습니다.
◆ /etc/httpd/conf.d/ssl.conf (yum 으로 설치한 케이스)
◆ /usr/local/apache/conf/extra/httpd-ssl.conf (직접 컴파일 한 케이스)
이제 SSL conf 파일을 열어서 내용을 수정합니다.

DocumentRoot : 페이지가 열릴 기본 루트 경로
ServerName : 사이트 기본 도메인
ServerAlias : 해당 사이트의 Alias 도메인들이 있다면 추가합니다.

SSLCertificateFile : 인증서 파일 경로
SSLCertificateKeyFile : 비밀키 파일 경로
SSLCACertificateFile : 루트/중개 인증서 파일 경로
이제 해당 파일을 저장합니다.
※ Tip
- 만약 보안 강도를 높게 설정하고 싶으시다면 아래 URL 에 접속하여 Apache와
OpenSSL 버전을 입력하여생성된 Conf 내용을 참고하여 설정하시면 좋습니다.
- Mozilla(파이어폭스 개발 재단)에서 권장하는 표준 SSL 보안을 적용할 수 있습니다.
https://mozilla.github.io/server-side-tls/ssl-config-generator/

5. 서비스 재시작
SSL conf 설정을 마쳤다면 이제 구문 오류가 없는지 확인합니다.
# httpd –t

문제가 없다면 Apache를 재시작 합니다.
# systemctl restart httpd
# systemctl status httpd

이제 443 포트가 정상적으로 올라왔는지 확인합니다.
# netstat -anp | grep httpd

※ Tip
openssl 명령어를 통하여 443 포트에 직접 접근하여 인증서 정보도 확인 가능합니다.
#openssl s_client -connect 127.0.0.1:443 | openssl x509 -noout -dates -subject

▲ 유효 기간과 인증서에 등록된 도메인 명 확인 가능
이제 https 으로 사이트에 접속하여 자물쇠 및 인증서를 최종 확인합니다.

'리눅스' 카테고리의 다른 글
리눅스 계정 만료시 해제 방법 (0) | 2023.10.11 |
---|---|
ssl 인증서 설치후 Permission denied: AH02201: Init: Can't open server certificate file 오류 관련(selinux) (0) | 2023.04.07 |
리눅스(CentOS7) 파일 접근 에러 관련 권한 설정(access denied) (0) | 2022.10.12 |
아파치 ssl 인증서(보안서버) 설치 (0) | 2021.12.10 |
http 접속시 https 301 리다이렉트 .htaccess 세팅 (0) | 2019.10.31 |