데이터베이스 엔진 액세스에 대한 Windows 방화벽 구성
적용 대상: SQL Server
이 문서에서는 SQL Server 구성 관리자를 사용하여 SQL Server에서 데이터베이스 엔진에 액세스할 수 있도록 Windows 방화벽을 구성하는 방법을 설명합니다. 방화벽 시스템은 컴퓨터 리소스에 대한 무단 액세스를 방지합니다. 방화벽을 통해 SQL Server 데이터베이스 엔진의 인스턴스에 액세스하려면 SQL Server를 실행하는 컴퓨터의 방화벽에서 액세스를 허용하도록 구성해야 합니다.
기본 Windows 방화벽 설정 방법과 데이터베이스 엔진, Analysis Services, Reporting Services 및 Integration Services에 영향을 주는 TCP 포트에 대한 설명은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하세요. 사용할 수 있는 방화벽 시스템은 여러 가지가 있습니다. 시스템에 대한 자세한 내용은 방화벽 설명서를 참조하세요.
액세스를 허용하는 주요 단계는 다음과 같습니다.
특정 TCP/IP 포트를 사용하도록 데이터베이스 엔진을 구성합니다. 데이터베이스 엔진의 기본 인스턴스는 포트 1433을 사용하지만 이 포트는 변경할 수 있습니다. SQL Server 오류 로그에 데이터베이스 엔진이 사용하는 포트가 나열됩니다. SQL Server Express 및 SQL Server Compact의 인스턴스와 데이터베이스 엔진의 명명된 인스턴스는 동적 포트를 사용합니다. 특정 포트를 사용하도록 이러한 인스턴스를 구성하려면 특정 TCP 포트에서 수신 대기하도록 서버 구성(SQL Server 구성 관리자)을 참조하세요.
권한 있는 사용자 또는 컴퓨터에 대해 해당 포트에 대한 액세스를 허용하도록 방화벽을 구성합니다.
SQL Server Browser 서비스를 사용하면 사용자가 포트 번호를 모르더라도 포트 1433을 수신 대기하지 않는 데이터베이스 엔진 인스턴스에 연결할 수 있습니다. SQL Server Browser를 사용하려면 UDP 포트 1434를 열어야 합니다. 가장 안전한 환경을 만들려면 SQL Server Browser 서비스를 중지한 상태로 두고 포트 번호를 사용하여 연결하도록 클라이언트를 구성합니다.
기본적으로 Microsoft Windows는 인터넷 컴퓨터가 컴퓨터의 SQL Server 기본 인스턴스에 연결하지 못하도록 포트 1433을 닫는 Windows 방화벽을 활성화합니다. 포트 1433을 열지 않으면 TCP/IP를 사용하여 기본 인스턴스에 연결할 수 없습니다. Windows 방화벽을 구성하는 기본 단계는 다음 절차에서 설명합니다. 자세한 내용은 Windows 설명서를 참조하십시오.
고정 포트에서 수신 대기하도록 SQL Server를 구성하고 포트를 여는 대신, 차단된 프로그램의 예외로 SQL Server 실행 파일(Sqlservr.exe)을 나열할 수 있습니다. 동적 포트를 계속 사용하려는 경우 이 메서드를 사용합니다. 이렇게 하면 하나의 SQL Server 인스턴스에만 액세스할 수 있습니다.
보안
방화벽에서 포트를 열면 서버가 악의적인 공격에 노출될 수 있습니다. 포트를 열기 전에 방화벽 시스템에 대해 알고 있어야 합니다. 자세한 내용은 Security Considerations for a SQL Server Installation을 참조하세요.
고급 보안이 포함된 Windows 방화벽 사용
다음 절차에서는 고급 보안이 설정된 Windows 방화벽 MMC(Microsoft Management Console) 스냅인을 사용하여 Windows 방화벽을 구성합니다. 고급 보안이 설정된 Windows 방화벽은 현재 프로필만 구성할 수 있습니다. 고급 보안이 포함된 Windows 방화벽에 대한 자세한 내용은 SQL Server 액세스를 허용하도록 Windows 방화벽 구성을 참조하세요.
Windows 방화벽에서 TCP 액세스를 위한 포트 열기
시작 메뉴에서 실행을 선택한 다음 WF.msc를 입력하고 확인을 선택합니다.
고급 보안이 포함된 Windows 방화벽 응용 프로그램의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 새 규칙을 선택합니다.
규칙 유형 대화 상자에서 포트를 선택하고 다음을 선택합니다.
프로토콜 및 포트 대화 상자에서 TCP를 선택합니다. 특정 로컬 포트를 선택한 다음 데이터베이스 엔진 인스턴스의 포트 번호(예: 기본 인스턴스의 경우
1433
)를 입력합니다. 다음을 선택합니다.동작 대화 상자에서 연결 허용을 선택하고 다음을 선택합니다.
프로필 대화 상자에서 데이터베이스 엔진에 연결할 때의 컴퓨터 연결 환경을 설명하는 프로필을 선택하고 다음을 선택합니다.
이름 대화 상자에서 이 규칙의 이름 및 설명을 입력한 다음 마침을 선택합니다.
동적 포트를 사용할 경우 SQL Server에 대한 액세스 열기
시작 메뉴에서 실행을 선택한 다음 WF.msc를 입력하고 확인을 선택합니다.
고급 보안이 포함된 Windows 방화벽의 왼쪽 창에서 인바운드 규칙을 마우스 오른쪽 단추로 클릭한 다음 작업 창에서 새 규칙을 선택합니다.
규칙 유형 대화 상자에서 프로그램을 선택하고 다음을 선택합니다.
프로그램 대화 상자에서 이 프로그램 경로를 선택합니다. 찾아보기를 선택하여 방화벽을 통해 액세스할 SQL Server 인스턴스를 찾은 다음 열기를 선택합니다. 기본적으로 SQL Server의 위치는
C:\Program Files\Microsoft SQL Server\MSSQLXX.MSSQLSERVER\MSSQL\Binn\Sqlservr.exe
입니다. 다음을 선택합니다.MSSQLXX
버전은 사용자의 SQL Server 버전에 따라 다릅니다.동작 대화 상자에서 연결 허용을 선택하고 다음을 선택합니다.
프로필 대화 상자에서 데이터베이스 엔진에 연결할 때의 컴퓨터 연결 환경을 설명하는 프로필을 선택하고 다음을 선택합니다.
이름 대화 상자에서 이 규칙의 이름 및 설명을 입력한 다음 마침을 선택합니다.