본문 바로가기
IT

Windows 포트 개방으로 인한 보안 문제 해결

by Cyber_ 2025. 1. 8.

개요

Spring Boot 애플리케이션을 실행하기 위해 8080 포트를 열어야 했습니다. 과연 안전할까요

 

포트 개방으로 인한 보안 문제

  1. 전체 개방으로 인한 무분별한 접근
    포트를 개방함으로서 인터넷 또는 로컬 네트워크를 통해 누구나 애플리케이션에 접근할 수 있습니다.
  2. 서비스 거부 공격(DoS/DDoS)
    열린 포트로 과도한 요청이 들어오면 애플리케이션이 중단될 수 있습니다.
  3. 데이터 유출 위험
    HTTP를 사용하는 경우 민감한 정보가 노출될 가능성이 있습니다.
  4. 포트 스캐닝 공격
    공격자가 연린 포트를 찾아 취약점을 분석할 수 있습니다.

 

해결방법

  1. 특정 IP나 로컬 네트워크에서만 허용
    방화벽 규칙 추가 시 "로컬 서브넷" 또는 "특정 IP"만 허용하도록 구성합니다.
  2. Spring Security로 인증 설정
    Spring Boot에 Spring Security를 적용하여 애플리케이션에 접근하려면 로그인 등 인증 절차를 거치도록 설정합니다.
  3. HTTPS 설정
    SSL/TLS 인증서를 통해 HTTP 대신 HTTPS를 사용하여 데이터를 암호화 합니다.

application.properties 에 HTTPS 설정을 추가

server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=your-password
server.ssl.key-store-type=PKCS12
  1. IP 필터링
    애플리케이션이 외부에 노출되지 않도록 로컬에서만 접근 가능하게 설정합니다.
server.address-127.0.0.1
server.port=8080
  1. Docker 네트워크 관리
    Spring Boot 애플리케이션을 Docker를 통해 컨테이너화 하여 배포하였다면 네트워크를 bridge로 설정하여 외부 네트워크에 노출시키지 않을 수 있습니다.

 

bridge 네트워크
기본적으로 컨테이너 간에 격리된 환경을 제공하면서도, 동일한 네트워크 내의 컨테이니끼리 통신할 수 있도록 지원