답변:
인터넷에서 SQL 서버를 공개해야합니까? 일반적으로 그렇지 않습니다. 이 방법이 꼭 필요한 경우 IP 주소로 액세스를 제한하거나 VPN을 설정할 수 있습니다. 분명히, sa 암호를 알아볼 수 없게 만들거나 LAN IP 주소에서만 sa 로그인 위치를 제한하는 방법을 참조하십시오. 다른 사람들이 더 나은 솔루션을 제공 할 수 있도록 자세한 내용을 알려주십시오.
가장 먼저 할 수있는 일은 해당 IP 주소를 블랙리스트에 추가하고 방화벽에서 IP의 모든 트래픽을 완전히 거부하는 것입니다. 물론 IP를 변경할 수도 있지만 최소한 트래픽과 로그로 서버를 공격하는 것을 막을 수 있습니다.
로그인시 악성 코드를 삽입하려고 시도합니다. 서버의 방화벽 소프트웨어 또는 타사 외부 방화벽을 사용하여 영구 블랙리스트로이 활동을 차단하는 것이 좋습니다.
또한 침입자의 IP 주소를 자동으로 차단하므로 허용되는 로그인 실패 횟수를 줄이십시오.
위는 이것을 최소화합니다.
네트워크 외부에서 SQL Server에 액세스 할 수 있어야하는 경우 액세스가 필요한 외부 IP 주소를 화이트리스트에 추가 할 수 있습니다. VPN은 더 나은 솔루션이지만 항상 사용 가능한 것은 아니며 최상의 솔루션은 외부 액세스가 아닙니다.
화이트리스트를 작성하려면 더 많은 관리가 필요하지만 이러한 어리 석음을 제거합니다. 누군가 액세스가 필요하고 자주 변경되는 IP가있는 경우 RDP를 통해 다른 시스템에 로그인하여 SQL Server에 연결할 수 있습니다.
sa 계정의 이름을 바꾸고 가짜 sa 계정을 만든 다음 비활성화하십시오.
모든 SQL Server 사용자 계정에 대한 권한 감사 및 암호 업데이트 트리거 암호 강도 요구 사항을 높일 수 있습니다.
SQL Server IP 수신 포트의 번호를 다시 지정하십시오. 이는 클라이언트 구성 또는 응용 프로그램 구성 파일을 업데이트하는 것을 의미합니다.
가능한 다음 공격 경로에 관한 다른 포스터에 동의하며 아마도 스크립트를 실행하는 사람 일 것입니다.
IPSEC 정책, 필터 등을 생성하고 이벤트 로그를 자동으로 스캔하고 차단 목록에 IP를 추가하는 프로그램을 찾는 사람이라면 누구나 그렇게하는 작은 프로그램을 작성했습니다.
이 문제는 해커가 'sa'로그인으로 MSSQL 인스턴스에 로그인하려고 시도하는 수천 개의 항목으로 이벤트 로그가 채워지는 곳에서도 발생했습니다. 많은 검색을 한 후, 나는 내 자신의 프로그램을 작성하고 필요한 IPSEC 항목을 생성 한 다음 60 초마다 이벤트 로그를 스캔하여 새 IP 주소의 공격이 있는지 확인했습니다. 그런 다음 IP 주소를 IPSEC 필터에 추가하고 IP와의 모든 트래픽을 차단합니다. 나는 이것을 Windows Server 2008에서만 테스트했지만 다른 버전에서도 작동한다고 생각합니다.
아래 링크를 사용하여 프로그램을 다운로드하십시오. 작업 관리자 아이콘의 오른쪽 클릭 메뉴에있는 링크를 사용하여 항상 기부에 감사드립니다.
http://www.cgdesign.net/programs/AutoBlockIp.zip
이것은 'sa'로그인을 사용한 SQL 로그인 시도에만 작동하지만 다른 로그 이벤트에서도 작동하도록 수정할 수 있습니다. 또한 차단 된 IP를 볼 수 있지만 프로그램은 60 초마다 실행되므로 이벤트 로그에 일부 항목이 계속 표시됩니다. 단일 이벤트 로그 항목을 삭제할 수 없기 때문에 전체 로그를 삭제하는 것이 좋습니다 생각하지 않았습니다.
면책 조항 -위에서 언급 한 프로그램을 다운로드하여 설치함으로써, 귀하는 소프트웨어의 사용으로 인한 손상, 데이터 손실, 손상 또는 기타 기능 문제에 대해 무해한 것으로 간주합니다. 이 프로그램을 최선을 다해 테스트했으며 현재 2 대의 서버에서 실행하고 있지만 사용자는 자신의 책임하에 사용하도록 경고했습니다.
질문이나 의견이 있으면 내 웹 사이트 www.cgdesign.net의 연락처 양식을 사용하여 언제든지 연락하십시오.
크리스
로그인 시도를 제한해야하므로 동일한 사용자가 5 회 이상 로그인을 시도하면 몇 시간 또는 하루 동안 추가 시도가 차단됩니다. 적어도 그들은 백만 번의 시도 후에 강제로 로그인 할 수 없습니다.
다른 사람들이 말했듯이 공개 액세스가 필요하지 않은 경우 허용하지 마십시오. 일부 사용자가 외부 액세스가 필요한 경우 알려진 IP 세트에 대한 액세스를 제한 할 수 있습니다.