내 SQL 서버에 대한 가능한 공격?


15

내 SQL Server 로그를 확인하면 다음과 같은 몇 가지 항목이 표시됩니다.

Date: 08-11-2011 11:40:42
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:42
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.


Date: 08-11-2011 11:40:41
Source: Logon
Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50]
Date: 08-11-2011 11:40:41
Source: Logon
Message: Error: 18456. Severity: 14. State: 8.

그리고 .. 이것은 중국 사람에게서 나의 SQL Server에 가능한 공격인가 ???! ip-lookup.net에서 IP 주소를 찾은 것으로 중국이라고했습니다.

그리고 무엇을해야합니까?

  • 방화벽에서 IP 주소를 차단 하시겠습니까?
  • 사용자 sa를 삭제 하시겠습니까?

웹 서버를 가장 잘 보호하려면 어떻게해야합니까?!

미리 감사드립니다!

답변:


30

방화벽이있는 경우 데이터베이스 서버가 인터넷에 노출되는 이유는 무엇입니까?

  • 방화벽은 필요한 포트를 제외하고 두 서버 모두에 대한 모든 액세스를 차단해야합니다. 일반적으로 이것은 웹 서버에만 80 (http) 및 443 (https)입니다.
  • 외부 서비스에서 SQL Server에 액세스해야하는 경우 방화벽에 필요한 특정 IP 주소에 대한 액세스를 허용하십시오. 1433은 공개적으로 노출되지 않은 VPN 연결을 통해 발생해야합니다.
  • 새 관리자 계정을 만들고 기본 'sa'를 비활성화하십시오.
  • "혼합 모드"인증 사용에서 Windows 계정으로 전환하는 것이 좋습니다.

10

가장 먼저해야 할 일은 회사의 네트워크 및 시스템 보안 담당자에게이를보고하는 것입니다. 그러한 사람이 없으면 네트워크 관리자에게 문의하십시오. 그러한 사람이 없다면 지금 CIO / CTO에 전화하십시오-더 나은면을 요구하십시오-상황을 설명하십시오.

가장 먼저해야 할 일은 방화벽에서 IP를 차단하는 것입니다. 이것은 당신에게 약간의 시간을 사지 않을 것입니다. WhoIs.net에 의해보고 된대로 IP가 IP 범위에 매핑되면 WhoIs가 제공 한 전체 IP 범위를 차단하십시오. 이것은 그 남자가 ISP로부터 새로운 IP를 요청하고 새로운 IP로 들어가는 것을 막을 것입니다. 아마 몇 분 동안.

그런 다음 Mark-Storey Smith가 말한 것을 수행하십시오.

그런 다음 방화벽을 추가하거나 DMZ에서 db를 이동하십시오. 방화벽이 이미 있고 db가 DMZ에없는 경우, 방화벽과 방화벽 사이에있는 중간 서버가 손상되었는지 여부를 확인하기 위해 즉각적인 포렌식 검사가 필요합니다. 모든 관리자 비밀번호를 매우 긴 복잡한 비밀번호 (sa, Windows 관리자, 도메인 관리자, 로컬 관리자, ALL OF THEM)로 변경하십시오. 그런 다음 네트워크의 모든 곳에서 모든 서버를 검토하고 알지 못하는 관리자 계정이나 회사를 떠난 전직 직원 또는 컨설턴트의 계정을 삭제하십시오. 그런 다음 바이러스 및 맬웨어가 모든 서버의 모든 것을 검사합니다.

그런 다음 두 번째 패스를 만들고 위의 모든 사항을 다시 한 번 더 확인하십시오.

행운을 빕니다.


2
서버를 공격하는 사람이 자신의 컴퓨터 앞에 앉아 암호를 하나씩 시도하지 않을 가능성이 높습니다. 아마도 구멍을 찾는 분산 봇넷 일 것입니다. 이 유형의 공격은 인터넷에 노출되는 모든 종류의 서비스에 공통적입니다. 따라서 첫 번째 단계는 단일 IP를 차단하는 것이 아니라 관리자 암호와 사용자 이름을 변경하는 것입니다. 좋은 암호라면 간단한 단계만으로 몇 분이 아닌 몇 년을 살 수 있습니다.
Phil


8

무단 트래픽을 차단하도록 방화벽을 구성하는 것 외에도 Windows 계정을 sysadmin 역할에 추가하고 SA 계정을 비활성화하는 것을 잊지 마십시오! SQL 인증도 비활성화하십시오.


8

인터넷에서 SQL Server 로의 모든 네트워크 액세스를 차단하는 방화벽이 없으면 공용 인터넷에 서버가 없어야합니다. 포트 1433이 있다면 다른 포트를 열어야합니까? 내 생각 엔 인터넷에 많은 포트가 열려있을 것입니다. 그렇다면 원하지 않는 일에 SQL Server를 사용하는 사람들이있을 것입니다.

시스템을 살펴보고 보안을 최대한 빨리 확보하려면 전문가를 고용해야합니다. 하나님은 사람들이 체계에 성공적으로 침입했는지 아닌지를 아십니다. (예, 컨설턴트입니다 . 예, 일을 할 수 있습니다. 아니오 당신이 저를 고용해야한다는 말은 아닙니다.)

최소한 네트워크 보안 및 데이터베이스 보안에 대한 내용을 읽고 ( 주제에 관한 을 보유하고 있음) 시스템을 보호해야합니다.

이 시점에서 기본적으로 수행해야 할 단계는 다음과 같습니다.

  1. 실제로 필요한 연결을 제외한 모든 인바운드 연결을 차단하도록 방화벽을 설정하십시오.
  2. SQL Server에 대해 매우 좋은 바이러스 검사를 수행하십시오. SQL Server에 아직 바이러스 스캐너가 설치되어 있지 않은 경우 감염된 것으로 가정하고 시스템을 포맷하십시오.
  3. 강력한 암호, 최소 권한 등 모범 사례에 따라 데이터베이스 보안을 설정하십시오.
  4. 회사의 다른 모든 서버에 대한 바이러스 검사를 수행하십시오. 바이러스 스캐너가 설치되어 있지 않으면 감염된 것으로 가정하고 형식을 지정합니다.

문제는 내가 필요한 인바운드 연결을 실제로 알지 못하고 예산으로 인해 전문가를 고용 할 수 없다는 것입니다. --- 내 서버를 메일 서버로 사용하고 있기 때문에 pop3, imap 및 smtp 포트가 필요합니다. FTP를 사용하여 웹 페이지를 업로드하고 있으며 SQL Server와 같은 MSSQL 및 PLESK가 설치되어 있습니다 (HORDE 웹 메일 포함). --- 기본적으로 내 설정입니다. -SQLs SA acc의 이름을 바꾸고 비활성화했으며 Windows Administrator acc의 이름을 바꿨습니다.
Behrens

내 방화벽 설정은 다음과 같습니다. oltm.dk/x/settings.jpg- 내 인바운드 규칙 : oltm.dk/x/inbound.txt- 내 아웃 바운드 규칙 : oltm.dk/x/outbound.txt- 아마도 설정을 확인하고 필요하지 않은 규칙을 제거하도록 도와주세요. --- 나열된 규칙 만 활성화 된 규칙입니다. 모든 장애인이 표시되지 않습니다 (어쨌든 활성화되지 않았습니까?)
Behrens

방화벽을 설정하는 데 도움이 필요한 경우 @erizias 수퍼 유저 또는 서버 오류 또는 정보 보안
jcolebrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.