웹 어플리케이션 보안 2016년 2학기 11. Enhancing Security
11. Enhancing Security https 서비스 운영
1. 보안 웹서비스(HTTPS) 운영하기 웹 프로토콜의 종류 SSL/TLS 인증서 (Certificate) HTTP:80 - 일반 평문 연결 HTTPS:443 - SSL을 이용한 보안 연결 SSL/TLS 인증서를 이용한 서버 인증 인증서를 이용한 클라이언트 인증 세션키 합의 및 보안채널 연결 인증서 (Certificate) 공인인증서 사설인증서 서버인증서 공개키기반구조 (Public Key Infrastructure)
인증서 인증서 표준 공개키기반구조 표준 X.509 : 인증서 양식에 대한 표준 PKIX : https://datatracker.ietf.org/wg/pkix/charter/
사설인증서 만들기 OpenSSL 설치 개인키 생성 인증서 생성 개인키와 인증서 파일을 저장하기 https://code.google.com/archive/p/openssl-for- windows/downloads 개인키 생성 $ openssl genrsa 1024 > key.pem 인증서 생성 $ openssl req -x509 -new -key key.pem > cert.pem 개인키와 인증서 파일을 저장하기 sslcert 폴더를 생성하고 이곳에 key.pem, cert.pem을 저장
사설인증서 만들기
Server.js 파일을 수정 var express = require('express'); var https = require('https'); var fs = require('fs'); var app = express(); .... https.createServer({ key: fs.readFileSync('sslcert/key.pem'), cert: fs.readFileSync('sslcert/cert.pem') }, app).listen(config.port); // START THE SERVER // ==================================== // app.listen(config.port); https, fs 모듈 필요 개인키, 인증서 파일을 읽어오고 Express app에 https로 연결
접속 테스트 https://localhost:8080