데이터베이스 포트가 인터넷에 노출되어 있는지 확인하기

호스트
소유하거나 명시적 허가를 받은 호스트에만 검사하세요. 이 검사는 널리 알려진 TCP 포트 약 20개를 확인합니다.
다음

공용 인터넷에서 응답하는 데이터베이스는 가장 흔한 서버 실수 중 하나입니다. 서버 주소를 입력하면 MySQL(3306), PostgreSQL(5432), Redis(6379) 중 어느 것이 외부 연결을 받아들이는지 확인할 수 있습니다. 목록에 아무것도 나타나지 않으면 여기에서는 접근할 수 없다는 뜻입니다.

노출된 데이터베이스를 확인하는 방법

  1. 1

    서버 주소 입력

    데이터베이스가 실행되는 장비의 공용 호스트 이름 또는 IP 주소를 사용하세요.

  2. 2

    검사 실행

    다음을 누른 다음 "일반 포트 검사"를 클릭하세요.

  3. 3

    3306, 5432, 6379 확인

    이 중 하나라도 목록에 있으면 해당 서비스가 인터넷에서 오는 연결을 받아들이고 있는 것입니다.

  4. 4

    비공개여야 할 항목 수정

    서비스를 사설 주소에 바인딩하거나 방화벽에서 포트를 닫은 다음 다시 검사하세요.

노출이 중요한 이유

데이터베이스와 캐시는 낯선 사람이 아니라 여러분의 애플리케이션이 접근하도록 설계되어 있습니다. 특히 Redis는 기본 설정에서 비밀번호 없이 실행되는 경우가 많고, MySQL이나 PostgreSQL 포트가 접근 가능하면 비밀번호 추측 공격을 부추깁니다. 이 포트들을 공용 인터넷에서 차단하는 것은 기본적인 예방 조치입니다.

각 결과의 의미

포트 서비스 목록에 표시된 경우
3306 MySQL 서버가 인터넷에서 오는 TCP 연결을 받아들임
5432 PostgreSQL 동일합니다. 접근 규칙과 바인딩 주소를 검토하세요
6379 Redis 동일합니다. 비밀번호와 사설 바인딩 주소를 확인하세요

포트가 열려 있다고 해서 데이터베이스가 보호되지 않는다는 뜻은 아닙니다. 인증이나 호스트 규칙이 로그인을 거부할 수도 있습니다. 하지만 해당 서비스에 접근할 수 있다는 뜻이므로 더 자세히 살펴볼 가치가 있습니다.

일반적인 해결 방법

  1. 데이터베이스를 localhost 또는 사설 네트워크 주소에 바인딩하세요.
  2. 애플리케이션 서버에서만 해당 포트를 허용하는 방화벽 규칙을 추가하세요.
  3. 클라우드 서버라면 호스트 방화벽과 함께 보안 그룹 또는 네트워크 ACL도 검토하세요.
  4. 다시 검사하여 포트가 더 이상 나타나지 않는지 확인하세요.

이 검사의 한계

기본 포트 세 개만 테스트합니다. 사용자 지정 포트에서 실행되는 데이터베이스는 감지되지 않습니다. 닫힘, 필터링됨, 접근 불가 상태는 모두 빈 결과로 나타나므로, 검사 결과가 깨끗하다는 것은 이 위치에서 이 포트들이 연결을 받아들이지 않았다는 의미일 뿐입니다. 여러분이 소유하거나 관리하는 서버만 검사하세요.

노출이 의도된 경우

관리형 서비스가 허용 목록에 있는 주소의 연결만 받아들이거나, 다른 지역에서 연결하는 복제본처럼 데이터베이스를 의도적으로 노출하는 구성도 있습니다. 이런 경우에는 이 검사에서 포트가 열려 보이는 것이 예상된 결과입니다. 확인해야 할 질문은 허용 목록이 실제로 접근을 제한하고 있는지 여부이며, 그 방법은 허용 목록 밖의 주소에서 포트가 의도한 대로 동작하는지 확인하는 것입니다.

노출을 의도하지 않았다면, 열려 있는 데이터베이스 포트는 오늘 바로 고쳐야 할 문제로 취급하세요. 그다음 알 수 없는 주소에서 온 연결 시도가 있는지 데이터베이스 로그를 확인하세요.

자주 묻는 질문

아닙니다. 포트에 TCP 연결을 열고 연결이 수락되었는지만 보고합니다. 자격 증명을 보내지 않으며 쿼리도 실행하지 않습니다.

아닙니다. 고정 목록에 있는 기본 포트만 테스트하므로 다른 포트의 데이터베이스는 확인되지 않습니다.

항상 그렇지는 않습니다. 인증이나 암호화가 여전히 보호할 수 있습니다. 하지만 노출되면 공격 표면이 넓어지므로 대부분의 구성에서는 이 포트들을 비공개로 유지합니다.

방화벽이 사무실 주소만 허용하고 있을 수 있습니다. 검사는 다른 공용 주소에서 실행되므로 다른 모든 사람이 보는 것을 보게 되며, 이것이 이 검사의 목적입니다.

관련 도구

이 도구는 다른 언어로도 제공됩니다

사용 가이드와 활용 사례