티스토리 뷰

http://www.ntfaq.co.kr/4307

 

USE master
DENY  EXECUTE  ON [master].[dbo].[xp_availablemedia] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_dirtree] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_fileexist] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_fixeddrives] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_getfiledetails] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regaddmultistring] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regdeletekey] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regdeletevalue] TO [guest] CASCADE 
DENY  EXECUTE  ON [master].[dbo].[xp_regread] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regremovemultistring] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regwrite] TO [guest] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_subdirs] TO [guest] CASCADE

DENY  EXECUTE  ON [master].[dbo].[xp_availablemedia] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_dirtree] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_fileexist] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_fixeddrives] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_getfiledetails] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regaddmultistring] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regdeletekey] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regdeletevalue] TO [public] CASCADE 
DENY  EXECUTE  ON [master].[dbo].[xp_regread] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regremovemultistring] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_regwrite] TO [public] CASCADE
DENY  EXECUTE  ON [master].[dbo].[xp_subdirs] TO [public] CASCADE

USE msdb
REVOKE ALL ON dbo.mswebtasks FROM public
REVOKE EXECUTE ON sp_add_job FROM public
REVOKE EXECUTE ON sp_add_jobserver FROM public
REVOKE EXECUTE ON sp_add_jobstep FROM public
REVOKE EXECUTE ON sp_enum_dtspackages FROM public
REVOKE EXECUTE ON sp_get_dtspackage FROM public
REVOKE EXECUTE ON sp_get_sqlagent_properties FROM public
REVOKE EXECUTE ON sp_start_job FROM public

위에 있는 쿼리는 SQL 서버에 쿼리 분석기로 연결한 후 한번 실행해주면 간단하게 할 수 있는 부분입니다만, 실제 서버에 바로 적용하면 돌이킬수 없는 상황이 되버릴 수도 있습니다. 특히 스케줄 부분에 대한 확장 프로시저를 건드리기 때문에 복잡한 구성을 가진 SQL 서버라면 적용시 장애로 이어질 수도 있습니다.

더구나, 위에 있는 쿼리를 실행한다고 해서 서버가 완벽하게 보호되는건 아닙니다. SELECT 나 UPDATE 같은 쿼리를 통해서 DB의 내용 자체를 변조하는 공격을 막을 수는 없기 때문입니다.

'SQL > MS-SQL' 카테고리의 다른 글

IF Exists Table or Procedure  (0) 2010.02.01
SQL Server 설치 후 꼭 해줘야할 12가지 작업  (0) 2010.01.19
xp_cmdshell 활성/비활성  (0) 2010.01.04
DB복원후 사용자 계정 복구  (0) 2009.12.10
MS-SQL 테이블 백업  (0) 2009.11.28
댓글