※ 배경
: 모해묵지의 온프레미스 서버가 생겨 세팅을 하던 도중
외부네트워크에서 HTTP를 통한 웹 서버 접속이 안되는 문제를 발견했다.
수많은 시도를 해본 결과, ISP에서 HTTP를 통한 INPUT 접속을 차단시킨것 같다.
그래서 HTTP 대신 HTTPS를 열어 적용시켰더니 443포트가 open됨을 알 수 있었다.
(80과 8080은 방화벽 설정을 아무리 해도 열리지 않았음)
※ 포트 열림 확인 사이트
: https://www.yougetsignal.com/tools/open-ports/
1. SSL 공식 홈페이지 및 깃허브
: https://www.openssl.org/source/
: https://github.com/openssl/openssl
2. SSL 인증서 발급
: 웹 서버에서 SSL을 이용하기 위해서는 SSL인증서 발급이 필요
: 인증서는 호스팅 사이트, 한국정보인증 에서 구매가능
: Lets Encrypt의 경우 무료로 SSL인증서 발급
ㆍ무료 SSL 인증서 발급
: (SSL for Free) https://www.sslforfree.com/
: (Zero SSL) https://zerossl.com/
: (Lets Encryption) https://letsencrypt.org/
3. 리눅스 OpenSSL 설치 및 적용 (Apache를 이용한 HTTP 서버 기준)
ㆍopenssl 설치 (기본적으로 설치되있음)
: yum install -y openssl
ㆍ인증파일을 생성할 디렉터리로 이동
: cd /etc/pki/tls/certs/
ㆍ키 생성
: openssl genrsa -out http.key 2048
ㆍ인증서 생성
: openssl req -new -key http.key -out http.csr
: Country Name : kr
: State or Province Name : 지역명
: Locally NAme : 지역명
: Organizational Unit Name : 회사명
: Organizational Unit Name : 부서명
: Common Name : 호스트 네임
: Email Address : 이메일
: A Challenge password : 생략
: An optional company name : 생략
ㆍ키와 인증서 병합
: openssl x509 -req -days 365 -in http.csr -signkey http.key -out http.crt
ㆍssl 모듈 설치
: yum -y install mod_ssl
ㆍssl 파일 설정
: vi /etc/httpd/conf.d/ssl.conf
: 59번째 DocumentRoot "/var/www/html" 주석 해제
: 100번째 줄을 SSLCertificateFile /etc/pki/tls/certs/http.crt로 변경
: 107번째 줄을 SSLCertificateKeyFile /etc/pki/certs/http.key로 변경 후 저장(wq)
ㆍhttp 데몬 재시작
: systemctl restart httpd
ㆍ정상작동 확인
: netstat -tlp
4. nodeJS 서버 적용
ㆍDNS에 SSL 인증 등록 (ssl for free는 zero ssl과 연동됨)
ㆍ웹 서버 주소 입력 후 CNAME으로 설정 (Route53을 DNS로 사용하는 경우 기준)
: Route53에 CNAME 레코드 생성 후 값 입력
: 약 5분 후 Verify
: Certification 다운로드 (웹 서버에 다운 / 필자의 경우 git hub private repository 이용)
: CheckInstallation 클릭
=> 3개월 주기로 갱신
Refference
'Computer Science > Linux' 카테고리의 다른 글
리눅스 커널 버전 확인하기 (0) | 2021.12.23 |
---|---|
리눅스 리다이렉트 설정 방법 (0) | 2021.09.08 |
리눅스 네트워크 보안 설정 - firewall / iptables / SELinux (0) | 2021.09.08 |
CentOS7 npm 설치 방법 (0) | 2021.09.07 |
vi 전체 선택 / 복사 / 붙여넣기 (0) | 2021.09.07 |