문제가 발생하여 처리 방법을 알 수 없습니다. Windows 2008 R2 서버에 SQL Server가 있습니다. 이 SQL Server 2005는 인터넷의 다른 곳에있는 다른 SQL Server에서 DB 구독을받는 데 사용됩니다. 방화벽을 통해 SQL 서버 포트가 열려 있지만 범위에서 다른 SQL Server의 IP를 입력했습니다. 그렇게하면 요청이 다른 SQL Server (방화벽 규칙의 범위에 IP가 나열되어 있음)에서 오는 경우가 아니면 해당 포트를 통한 연결 요청이 SQL Server에 도달하지 않기를 바랍니다. 그러나 로그를 볼 때 수백 개의 "로그인 실패한 사용자 sa"항목이 있습니다 (매 초마다옵니다). 일부 해커가 사용자 sa 암호를 추측하기 위해 무차별 대입을 시도하는 것 같습니다. 그러나 문제는 방화벽 범위에 나열된 IP 주소에서 나오지 않더라도 Windows가 이러한 요청을 SQL Server에 도달하게하는 이유는 무엇입니까? 이 SQL Server를 보호하는 올바른 방법은 무엇입니까? 다른 SQL Server의 IP 이외의 다른 IP는이 SQL Server에 연결할 필요가 없습니다.
편집-추가 정보 :
다른 컴퓨터의 SQL Server 포트에서 텔넷을 실행했습니다. 방화벽 범위에서 구체적으로 언급 된 시스템에서 실행할 경우를 제외하고 Telnet이 실패합니다. 방화벽이 SQL Server 포트를 잘 차단하고있는 것 같습니다. 그런데 왜 SQL Server 로그의 다른 IP 주소에서 사용자 "sa"에 대한 로그인 요청이 실패한 것을 볼 수 있습니까? 해커가 포트 80을 통해 컴퓨터에 들어간 다음 어떻게 든 SQL 서버에 연결하려고 시도 할 수 있습니까? 포트 80과 443은 모두에게 개방되어 있습니다. 다른 모든 포트는 SQL Server 포트를 제외하고 닫힙니다 (하나의 특정 IP에 대해서만 열려 있음). 웹 서버에서 포트 80의 아무것도 실행되지 않아 방문자가 SQL 서버로 연결될 수 있습니다. 실제로 웹 서버에는 index.html (SQL에 연결되지 않은 순수한 HTML) 파일이 하나만 있습니다. 이것은 나중에 사용하기 위해 설정되는 테스트 서버 일뿐입니다. SQL Server의 데이터 만 테스트하십시오.
편집하다:
연결 끊기와 성공 연결을 모두 포함하도록 방화벽 추적을 설정했습니다. 이제 모든 것을 추적하고 있습니다. 그런 다음 중국의 다른 IP 주소에서 실패한 로그인 시도를 볼 수있는 SQL Server 로그로 이동합니다. 그러나 방화벽 로그에는 이러한 IP 주소에 대한 항목이 없습니다. 이것이 어떻게 가능한지? 방화벽을 완전히 우회하여 SQL 서버에 접근 할 수 있습니까? 방화벽 포트가 열려 있다고 가정하면 방화벽 로그에 해당 IP 주소에 대한 항목이 표시되어야합니다. 나는 완전히 잃어 버렸다.