우리 데이터베이스에는 감사 테이블이 있습니다. 이 테이블에 대한 레코드는 트리거를 사용하여 수행됩니다.감사 테이블 변조 방지
현재 사용자가 데이터베이스 서버에 로그온하고 관리 스튜디오에서 테이블을 열고 감사 테이블에서 데이터를 변경할 수 없도록하는 방법은 없습니다.
감사 데이터 변조를 방지하거나 (적어도 감지 할 수있는) 가능한 메커니즘은 무엇입니까?
감사 테이블에 해당 행에 입력 된 값을 기반으로 계산 된 일부 해시를 포함해야하는 하나의 열을 추가하려고합니다. 그러나 트리거를 사용하여 감사가 수행되므로 악의적 인 사용자는 트리거를 열어이 해시가 계산되는 논리를 볼 수 있습니다.
편집 :
충분히 명확하지 않았습니다. 응용 프로그램 사용자는 데이터베이스에 액세스 할 수 없습니다. DB에 대한 적절한 권한을 가진 DB 관리자와 같은 사용자를 언급했습니다. 그래도이 DB 관리자가 로그인하여 감사 테이블에 기질을 떨칠 수있는 권한이있는 경우이 변경을 감지 할 수있는 메커니즘이 필요합니다.
악성 사용자에게 해당 테이블에 대한 쓰기 권한을 부여하지 않는 것은 어떻습니까? 또는 데이터베이스에 테이블을 사용하는 대신 액세스 할 수있는 사람이 거의없는 다른 컴퓨터로 편집증을 보내십시오. – CodesInChaos
특정 로그인에만 해당 테이블에 대한 삽입/업데이트/삭제 권한이 있도록 사용 권한을 제한하면됩니다. – LukeH
관리자는 Windows에 관리자로 로그인하는 등의 방법으로 명시 적 또는 묵시적으로 sysadmin으로 로그인하는 경우에만 Management Studio를 사용하여 사용 권한을 무시할 수 있습니다. 강력한 SQL 보안은 좋은 네트워크 보안 습관에 달려 있습니다. – Bruce