0

알 수없는 사용자의 로그인 시도가 여러 번 실패하여 sa 계정이 최근에 회사의 공용 데이터베이스에서 잠겼습니다. 로그에 IP 주소가 있지만 내게 겁 먹었어.SQL Server는 선택된 저장 프로 시저로만 사용자를 제한합니다.

모든 비밀번호를 변경했으며 모든 중요한 데이터를 암호화하는 과정에 있습니다.

SQL Server Authentication 사용자가 특정 저장 프로 시저 만 실행할 수 있도록 제한하고 다른 작업을 수행하지 마십시오 (아무 것도 보이지 않거나 Select * From [SomeTable]도 수행 할 수 없음).

업데이트 : db_denydatawriterdb_denydatareader을 설정하고 특정 사용자의 특정 저장 프로 시저 Execute을 부여하는 임의의 90 문자 암호를 생성, 방화벽에 대한 IP를의 화이트리스트를 설정 결국

.

+5

아마도 주제에서 벗어나지 만, 일반적으로 공용 인터넷에 데이터베이스를 공개하는 것이 좋지는 않습니다. 보안 여부. –

+0

주제가 아닙니다. 그것은 죽었다. 네트워크 관리자에게 문의하십시오. 간단히 말하면, 그것의 안쪽에있는 VPN이나 ​​내부 네트워크가 아니라면 SQL Server에 직접 연결되지 않습니다. 또한 'sa'는 모든 SQL Server에서 비활성화되어야합니다. – jerry

답변

0

SQL Server를 인터넷에 열어도 안전하지 않습니다. 최소한 책임감있는 솔루션은 VPN 또는 웹 서버를 중간에 배치합니다.

그렇다면 모든 그룹 (공용 포함)에서 사용자를 제거한 다음 특정 저장 프로 시저에 대한 권한 만 부여 할 수 있습니다. db_datareader이 없으면 사용자는 select * from SomeTable이 될 수 없습니다.

3

보호되지 않은 sa에 대한 공격은 항상 이 발생하고 모든 봇넷 및 맬웨어 검사 키트의 무기 중 일부입니다.

귀하가 처분 할 수있는 유일한 제한은 사용 권한과 허가입니다. 로그인에서 실행되는 것을 제한 할 수있는 메커니즘이 없습니다 (예 : ssh 터널이 특정 명령에만 어떻게 제한 될 수 있는지와 유사한 메커니즘은 없습니다). 따라서 권한 및 강력한 암호로 귀결됩니다.