반응형
원인
- 관리자 권한이 없는 Tomcat에서 well Known Port인 0~1023의 Port를 접근할때 발생
해결책
- 가장 간단한 방법으로는 실제 실행하려는 프로세스(Tomcat)을 관리자 권한으로 실행하면된다.
- Exam) sudo ./startup.sh(실행스크립트)
- Apache 또는 Nginx 같은 웹서버를 이용해 역방향 프록시 서버를 구현한다.
- 관리자 권한이 있는 웹서버를 통해 443 Port Request를 수행하고, 해당 요청을 관리자 권한이 없는 Tomcat으로 전달한다.
문제점
- 가장 간단한 방법으로는 실제 실행하려는 프로세스(Tomcat)을 관리자 권한으로 실행하면된다.
- 일반적으로는 Tomcat을 관리자 권한으로 실행하지 않는다.(보안적 이유)
- 알 수 없는 코드나, 신뢰할 수 없는 코드로 웹 응용프로그램이 실행될 경우 서버가 위험해질수있다.
- 일반적으로는 Tomcat을 관리자 권한으로 실행하지 않는다.(보안적 이유)
해결과정(Ubuntu환경)
- 이 과정에서는 Apache를 이용해 역뱡향 프록시 서버를 구현한다. (관련 프로그램 설치)
sudo apt-get update
sudo apt-get install apache2
sudo a2enmod proxy proxy_http
- 설치된 apache2 관련 폴더로 이동후 에디터로 열기
cd /etc/apache2
sudo vi apache2.conf (관리자권한으로 실행)
- 역방향 프록시에 대한 설정 진행
<VirtualHost *:443>
ServerAdmin {관리자 이메일주소}
DocumentRoot /var/www/
ServerName {도메인 주소 Exam) example.com}
ErrorLog /www/home/logs/error_log {에러로그 폴더}
SSLEngine on
SSLCertificateFile {인증서경로}
SSLCertificateKeyFile {개인키경로}
SSLCertificateChainFile {인증서체인파일 경로}
ProxyPass / <http://localhost:8080/>
ProxyPassReverse / <http://localhost:8080/>
</VirtualHost>
- SSL관련 파일들의 역할 알아보기
- SSLCertificateFile
- 웹 사이트의 공용 키를 포함하는 SSL/TLS 인증서 파일의 경로를 지정합니다. 이 인증서는 일반적으로 신뢰할 수 있는 제3자 CA(인증 기관)에서 발급하며 방문자에게 웹 사이트의 ID를 확인하는 데 사용됩니다.
- SSLCertificateKeyFile
- 서버와 클라이언트 간의 트래픽을 암호화하고 해독하는 데 사용되는 SSL/TLS 개인 키 파일의 경로를 지정합니다. 이 개인 키는 안전하게 유지되어야 하며 다른 사람과 공유해서는 안 됩니다.
- SSLCertificateChainFile
- SSL/TLS 인증서에 서명한 중간 인증 기관의 공용 키가 들어 있는 SSL/TLS 중간 인증서 파일의 경로를 지정합니다. 이 파일은 SSL/TLS 인증서와 루트 인증 기관 간의 신뢰 체인을 설정하는 데 사용됩니다.
- SSLCertificateFile
- apache2 재시작
- sudo service apache2 restart
- http && https 접속테스트
에러내용
- AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK (127.0.1.1을 이용하여 서버의 정규화된 도메인 이름을 확인할수 없습니다.)
- Apache2의 구성파일인 apache2.conf 내에서 도메인 정보를 올바르게 입력해도 해당 이슈는 사라지지 않았다.
- /etc/apache2/envars 파일에서 ServerName 지시문을 전체적으로 설정 후 apache2 restart를 진행하여 이슈사항을 해결하였다.
마치며
SSL 관련 인증서파일에 대한 지식이 전무하다 보니 내가 가지고 있는 인증서 확장자 파일과 여러 커뮤니티에서 가이드해주는 인증서 파일의 확장자가 달라 학습에 힘이 들었는데, SSL 속성들의 역할을 정리하고 나니 한결 쉬워졌다.
반응형
'Linux,Unix' 카테고리의 다른 글
[Unix]언마운트 되어있는 디스크 (0) | 2021.05.13 |
---|