개발 메모장

[보안-Windows] 방화벽 포트 열기 본문

보안

[보안-Windows] 방화벽 포트 열기

yyyyMMdd 2023. 11. 27. 14:41
728x90

#. 기존 서비스의 Java 버전을 올리면서 운영 서비스는 정상적으로 작동하나 개발 서비스 접근이 되지 않았습니다.

 

#. 버전 올리기 전의 개발 서비스는 HTTP 프로토콜을 사용하였고 그 포트는 8888이라고 칭하였습니다.

 

#. 버전을 올리면서 SSL을 이용한 HTTPS 프로토콜 사용을 위해 포트 8443으로 설정했었습니다.

 

#. 해결을 위한 여러 가지 삽질한 내용과 해결방법을 아래에 정리해 봤습니다.

 


  • Try 1. HTTP 포트로 접속해 보기

- 이 서비스는 HTTP 포트와 HTTPS 포트를 동시에 사용하고 있었습니다.

- HTTP로 접속 시 HTTPS 포트를 리다이렉트 하여 HTTPS로 연결되게끔 설정하였습니다.

- 8443 포트로 접근 시 반응이 없었고 8888 포트로 접근 시 아래와 같이 HTTPS로 접근하려 할 때 파싱에러가 납니다.
(아래 에러는 HTTPS 사이트를 HTTP로 접근 시 발생하는 에러임)

 


  • Try 2. 서버 브라우저로 접속해 보기

- 클라이언트인 내 로컬에서 접속이 안되니 서버에서 서버로 접근해 봤습니다.

- 서버 브라우저로 8443에 접근해 보니 정상적으로 서비스가 실행됐습니다.

- 클라이언트 -> 서버로의 접근이 막혀있는 것은 방화벽이라는 생각이 들었습니다.

 


  • Try 3. 서버 방화벽 확인하기

- 제어판 > Windows Defender 방화벽 > 고급 설정 > 인바운드 규칙

- 기존 서비스 접근을 위해 지정해 놓은 포트들이 설정되어 있었으나 버전을 올리면서 추가한 8443 포트에 대한 방화벽 설정은 없었습니다.

- 이로서 원인 파악은 확실하게 하였고 아래와 같이 해결하였습니다.

 


#. 해결방법

  • Step 1. 방화벽 설정 들어가기

- 위와 같이 제어판 > Windows Defender 방화벽 > 고급 설정에 들어가 줍니다.


 

  • Step 2. 인바운드 규칙 생성

- 서비스가 잘 실행되고 있는 포트를 참고하여 새 규칙을 생성합니다.







 


  • Step 3. 8443 포트로 접속해 보기

- 위와 같이 설정 후 접속해 보니 정상적으로 서비스에 접근할 수 있었습니다.

 


 

#. 신규 서비스를 처음부터 배포하는 것이었다면 먼저 신경 쓸 수 있었던 부분이었으나 기존 서비스를 업그레이드하며 여러 가지가 변경되다 보니 놓치게 됐었습니다.

 

#. 소스든 설정이든 꼼꼼하게 살펴봐야 하는 필요성을 다시 한번 더 느끼게 됐습니다.

 

 

===========================================================
틀린 내용이 있거나 이견 있으시면 언제든 가감 없이 말씀 부탁드립니다!
===========================================================

728x90