보안상 위협이 될 수 있는 개체들에 대하여 일반 사용자 그룹의 사용권한을 제한한다.
위험한 sp들을 등록 해제한다.
- use master
exec sp_dropextendedproc 'xp_cmdshell'
exec sp_dropextendedproc 'xp_dirtree'
exec sp_dropextendedproc 'xp_enumgroups'
exec sp_dropextendedproc 'xp_fixeddrives'
exec sp_dropextendedproc 'xp_loginconfig'
exec sp_dropextendedproc 'xp_enumerrorlogs'
exec sp_dropextendedproc 'xp_getfiledetails'
exec sp_dropextendedproc 'Sp_OACreate'
exec sp_dropextendedproc 'Sp_OADestroy'
exec sp_dropextendedproc 'Sp_OAGetErrorInfo'
exec sp_dropextendedproc 'Sp_OAGetProperty'
exec sp_dropextendedproc 'Sp_OAMethod'
exec sp_dropextendedproc 'Sp_OASetProperty'
exec sp_dropextendedproc 'Sp_OAStop'
exec sp_dropextendedproc 'Xp_regaddmultistring'
exec sp_dropextendedproc 'Xp_regdeletekey'
exec sp_dropextendedproc 'Xp_regdeletevalue'
exec sp_dropextendedproc 'Xp_regenumvalues'
exec sp_dropextendedproc 'Xp_regread'
exec sp_dropextendedproc 'Xp_regremovemultistring'
exec sp_dropextendedproc 'Xp_regwrite'
drop procedure sp_makewebtask
go
주의: 위의 SP들을 다 제거할 경우 SP4 및 핫픽스 등의 인스톨이 실패할 수 있다. 그 경우 복구를 위해서는 (잘 보니 sp_oa시리즈가 없네 ㅡ_ㅡ)
- use master
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
exec sp_addextendedproc 'xp_dirtree', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumgroups', 'xplog70.dll'
exec sp_addextendedproc 'xp_fixeddrives', 'xpstar.dll'
exec sp_addextendedproc 'xp_loginconfig', 'xplog70.dll'
exec sp_addextendedproc 'xp_regaddmultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletekey', 'xpstar.dll'
exec sp_addextendedproc 'xp_regdeletevalue', 'xpstar.dll'
exec sp_addextendedproc 'xp_regread', 'xpstar.dll'
exec sp_addextendedproc 'xp_regremovemultistring', 'xpstar.dll'
exec sp_addextendedproc 'xp_regwrite', 'xpstar.dll'
exec sp_addextendedproc 'xp_enumerrorlogs', 'xpstar.dll'
exec sp_addextendedproc 'xp_getfiledetails', 'xpstar.dll'
exec sp_addextendedproc 'xp_regenumvalues', 'xpstar.dll'
go
메모리에서 위험한 sp들을 내린다.
- dbcc xp_cmdshell(free)
dbcc xp_dirtree(free)
dbcc xp_regdeletekey(free)
dbcc xp_regenumvalues(free)
dbcc xp_regread(free)
dbcc xp_regwrite(free)
dbcc sp_makewebtask(free)
필요하지 않은 dll의 경우 아예 내려버리고 지울 수도 있다.
- 주의: 부작용 ( Implications of removing the xp_cmdshell stored procedure from SQL Server 2000 )
- xp_dirtree, xp_regread를 없앨 경우 로그 읽기 등에서 문제 발생.
- xp_regread를 없앨 경우 백업 / 리스토어 또는 SQL Server Agent 작업에서 문제 발생.
- 서비스 팩 및 누적 패치 설치 전에는 위의 프로시저가 원래대로 복구되어 있어야 함.
- 참조글: Moving to SQL Server 2005 at Microsoft -> SQL Server 2005 전개 및 기능 구현 백서
- 참조글: Lockdown Script -> 주의: 바로 적용하지 말 것!!!!!!! 보조 서비스 다 내려버리는 등의 부작용이 있으므로 코드 부분참조.
- 참조글: SQL Server Checklist (6.5용이지만 확장 프로시저 리스트 등은 유심히 볼 것)
** 일부 보안 모델, 확장 프로시저 보안 설정, DBCC 명령 등이 2005에서 많이 바뀌었으므로 유의.
출처:http://blahblah.springnote.com/pages/351077
'SQL' 카테고리의 다른 글
SQL Server Stress Test (0) | 2011.10.31 |
---|---|
분산쿼리에 대해... (0) | 2010.10.28 |
SQL Server 확장 저장프로시저 (0) | 2010.04.28 |
문서화 되지 않은 시스템 저장 프로시저 (0) | 2010.04.28 |
문서화 되지 않은 확장프로시저 그리고 저장프로시저 (0) | 2010.04.28 |