HTTPS 구성

SunChan Kwon·2024년 6월 10일
0

Linux

목록 보기
17/20

HTTPS 동작 방식

package

$ dnf install httpd

# https 방식 설정위한 패키지
$ dnf install mod_ssl

$ dnf install php

$ dnf install mod_wsgi 

$ dnf install php-mysqlnd

인증서 생성

개인 키 생성

# 현재 위치에 localhost.key 이름으로 2048 길이의 키를 생성
$ openssl genrsa -out localhost.key 2048
$ ls
private.key

# ssl.conf 파일에 명시된 crt파일과 이름이 같도록 설정
$vi /etc/httpd/conf.d/ssl.conf
85 SSLCertificateFile /etc/pki/tls/certs/localhost.crt 

CSR 생성

# CSR을 앞서 생성한 개인키, 생성될 CSR파일 지정하여 생성
$ openssl req -new -key localhost.key -out localhost.csr

# 요구하는 값 입력하여 자필 서명 인증서 생성
Country Name (2 letter code) [XX]:KR
State or Province Name (full name) []:Seoul
Locality Name (eg, city) [Default City]:Seoul
Organization Name (eg, company) [Default Company Ltd]:sckwon
Organizational Unit Name (eg, section) []:Admin
Common Name (eg, your name or your server's hostname) []:webserver
Email Address []:root@localhost

Please enter the following 'extra' attributes        
to be sent with your certificate request
A challenge password []:
An optional company name []:
# x.509표준을 따르는 인증서 생성 
-req: CSR사용
-signkey: 앞서 생성한 개인키 지정
-out: 생성될 인증서 파일명

$ openssl x509 -req -signkey private/localhost.key -in localhost.csr -out cert.crt    
Certificate request self-signature ok
subject=C = KR, ST = Seoul, L = Seoul, O = sckwon, OU = Admin, CN = webserver, emailAddress = root@localhost

firewall-cmd

# firewall https 서비스 추가
$ firewall-cmd --add-service=https

PHP

# 확인을 위해 간단한 코드(phpinfo page) 작성
$ vi /var/www/html/index.php
<?php
        phpinfo();
?>

# 위치에 파일 생성 시 자동으로 context 적용
$ ls -lZ /var/www/html/index.php 
-rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 21 Jun 10 01:27 /var/www/html/index.php

0개의 댓글