SQL Server 2000 보안 설정

SQL Server 2000 의 안전 설정 은 SQL Server 2000 데이터베이스 의 안전 설정 을 하기 전에 먼저 운영 체제 에 대해 안전 설정 을 해 야 합 니 다.운영 체제 가 안전 상태 에 있 도록 해 야 합 니 다.그 다음 에 사용 할 데이터베이스 소프트웨어(프로그램)에 대해 필요 한 안전 심 사 를 실시 합 니 다.예 를 들 어 ASP,PHP 등 스 크 립 트 입 니 다.이것 은 데이터 베 이 스 를 기반 으로 하 는 WEB 응용 프로그램 에서 자주 발생 하 는 안전 위험 입 니 다.스 크 립 트 는 주로 여과 문제 이 므 로 유사 한 것 을 걸 러 야 합 니 다.'@/등 문자,파괴 자가 악의 적 인 SQL 문 구 를 만 드 는 것 을 방지 합 니 다.이 어 SQL Server 2000 을 설치 한 후 패 치 sp1 과 최신 sp2 를 설치 하 십시오.다운로드 주 소 는:http://www.microsoft.com/sql/downloads/2000/sp1.asphttp://www.microsoft.com/sql/downloads/2000/sp2.asp위의 세 단계 기 초 를 다 한 후에 SQL Server 의 안전 설정 에 대해 토론 합 니 다.1.안전 한 암호 정책 을 사용 하여 우 리 는 암호 정책 을 모든 안전 설정 의 첫 번 째 단계 에 놓 았 습 니 다.많은 데이터 베이스 계 정의 비밀 번 호 는 너무 간단 합 니 다.이것 은 시스템 비밀번호 와 너무 간단 한 것 이 이치 입 니 다.sa 에 대해 서 는 더욱 주의해 야 하 며,동시에 sa 계 정의 비밀 번 호 를 응용 프로그램 이나 스 크 립 트 에 쓰 지 않도록 해 야 합 니 다.건장 한 비밀 번 호 는 안전 의 첫걸음!SQL Server 2000 을 설치 할 때 혼합 모드 를 사용한다 면 빈 암 호 를 사용 해 야 한 다 는 것 을 확인 하지 않 으 면 sa 의 암 호 를 입력 해 야 합 니 다.이것 은 이전 버 전보 다 개선 되 었 다.동시에 정기 적 으로 비밀 번 호 를 수정 하 는 좋 은 습관 을 기 르 세 요.데이터베이스 관리 자 는 비밀번호 요구 에 부합 되 지 않 는 계 정 이 있 는 지 정기 적 으로 확인 해 야 한다.예 를 들 어 아래 SQL 문 구 를 사용 합 니 다:Use master Select name,Password from syslogins where password is null 2,안전 한 계 정 정책 을 사용 합 니 다.SQL Server 에서 sa 사용자 이름 을 변경 할 수 없고 이 슈퍼 사용 자 를 삭제 할 수 없 기 때문에 우 리 는 이 계 정 을 가장 강하 게 보호해 야 합 니 다.물론,매우 강력 한 비밀 번 호 를 사용 하 는 것 을 포함 하여 데이터베이스 응용 프로그램 에서 sa 계 정 을 사용 하지 않 는 것 이 좋 습 니 다.SQL Server 인 스 턴 스(예 를 들 어 다른 시스템 관리자 가 사용 할 수 없 거나 비밀 번 호 를 잊 었 을 때)에 만 sa 를 사용 하 는 것 이 좋 습 니 다.데이터베이스 관리자 에 게 sa 와 같은 권한 을 가 진 슈퍼 사용 자 를 새로 만들어 데이터 베 이 스 를 관리 하 는 것 을 권장 합 니 다.안전 한 계 정 정책 에는 관리자 권한 의 계 정 이 범람 하지 않도록 하 는 것 도 포함 되 어 있다.SQL Server 의 인증 모드 는 Windows 인증 과 혼합 인증 두 가지 가 있 습 니 다.데이터베이스 관리자 가 운영 체제 관리자 가 운영 체제 로그 인 을 통 해 데이터 베 이 스 를 접촉 하 는 것 을 원 하지 않 는 다 면 계 정 관리 에서 시스템 계 정'BUILTIN\Administrators'를 삭제 할 수 있다.그러나 이렇게 한 결 과 는 sa 계 정 이 비밀 번 호 를 잊 어 버 리 면 회복 할 방법 이 없다 는 것 이다.많은 호스트 들 이 데이터 베 이 스 를 사용 하 는 것 은 조회,수정 등 간단 한 기능 을 하 는 것 일 뿐 실제 수요 에 따라 계 정 을 분배 하고 응용 요구 와 수 요 를 만족 시 킬 수 있 는 권한 을 부여 하 십시오.예 를 들 어 검색 기능 만 있 으 면 간단 한 Public 계 정 을 사용 하면 select 를 할 수 있 습 니 다.3.데이터베이스 로그 의 기록 을 강화 하여 데이터베이스 로그 인 이벤트 의'실패 와 성공'을 심사 하고 인 스 턴 스 속성 에서'안전성'을 선택 하여 그 중의 심사 단 계 를 전부 로 선정 합 니 다.그러면 데이터베이스 시스템 과 운영 체제 로그 에 모든 계 정의 로그 인 이 벤트 를 상세 하 게 기록 합 니 다.SQL Server 로그 에서 의 심 스 러 운 로그 인 이벤트 가 발생 했 는 지 확인 하거나 DOS 명령 을 사용 하 십시오.findstr/C:"로그 인"d:\Microsoft SQL Server\MSSQL\\LOG\*.*4.확장 저장 프로 세 스 를 관리 하여 저장 프로 세 스 를 대수술 하고 계 정 호출 확장 저장 프로 세 스 의 권한 을 신중하게 해 야 합 니 다.사실은 대부분의 응용 에서 시스템 의 저장 과정 을 별로 사용 하지 않 습 니 다.SQL Server 의 이렇게 많은 시스템 저장 과정 은 많은 사용자 의 수요 에 적응 하 는 데 사 용 될 뿐 이 므 로 불필요 한 저장 과정 을 삭제 하 십시오.일부 시스템 의 저장 과정 은 쉽게 사용 되 어 권한 을 향상 시 키 거나 파괴 할 수 있 기 때 문 입 니 다.저장 프로시저 확장 이 필요 없다 면 xpcmdshell 제거 해 주세요.이 SQL 문장 사용:use master spdropextendedproc 'xp_cmdshell'xp_cmdshell 은 운영 체제 에 들 어 가 는 가장 좋 은 지름길 로 데이터 베 이 스 를 운영 체제 에 남 겨 주 는 큰 뒷문 이다.만약 당신 이 이 저장 과정 이 필요 하 다 면,이 문장 으로 도 회복 할 수 있 습 니 다.sp_addextendedproc 'xp_cmdshell','xpsql 70.dll'이 필요 하지 않 으 면 OLE 자동 저장 프로 세 스 를 버 리 십시오(관리자 의 일부 특징 을 사용 할 수 없습니다).이 과정 은 다음 과 같 습 니 다:SpOACreate Sp_OADestroy Sp_OAGetErrorInfo Sp_OAGetPropertySp_OAMethod Sp_OASetProperty Sp_OAstop 은 필요 하지 않 은 레 지 스 트 에 접근 하 는 저장 과정 을 제거 하고 레 지 스 트 저장 과정 은 운영 체제 관리자 의 비밀 번 호 를 읽 을 수 있 습 니 다.다음 과 같 습 니 다:Xpregaddmultistring Xp_regdeletekey Xp_regdeletevalue Xp_regenumvalues Xp_regread Xp_regremovemultistring Xp_regwrite 는 또 다른 확장 저장 과정 이 있 으 니 검사 하 는 것 이 좋 습 니 다.저장 과정 을 처리 할 때 데이터베이스 나 응용 프로그램 에 피 해 를 주지 않도록 확인 하 십시오.5.프로 토 콜 암호 화 SQL Server 2000 에서 사용 하 는 Tabular Data Stream 프로 토 콜 을 사용 하여 네트워크 데이터 교환 을 합 니 다.암호 화 되 지 않 으 면 모든 네트워크 전송 은 명문 화 되 고 암호,데이터 베이스 내용 등 을 포함 하여 매우 큰 안전 위협 입 니 다.데이터베이스 계 정과 비밀 번 호 를 포함 하여 인터넷 에서 그들 이 필요 로 하 는 물건 을 캡 처 할 수 있다.따라서 조건 이 허용 되 는 상황 에서 SSL 로 프로 토 콜 을 암호 화 하 는 것 이 좋 습 니 다.물론 인증서 가 필요 합 니 다.6.TCP/IP 포트 의 기본 상황 에서 SQL Server 는 1433 포트 감청 을 사용 합 니 다.많은 사람들 이 SQL Server 설정 을 할 때 이 포트 를 바 꿔 야 한다 고 말 합 니 다.그러면 다른 사람들 이 어떤 포트 를 사용 하 는 지 쉽게 알 수 없습니다.안 타 깝 게 도 마이크로소프트 가 공개 하지 않 은 1434 포트 의 UDP 탐 사 를 통 해 SQL Server 가 어떤 TCP/IP 포트 를 사용 하 는 지 쉽게 알 수 있다.그러나 마이크로소프트 는 이 문 제 를 고려 했다.공개 적 이 고 열 린 포트 는 불필요 한 문 제 를 일 으 킬 수 있 기 때문이다.인 스 턴 스 속성 에서 TCP/IP 프로 토 콜 의 속성 을 선택 하 십시오.SQL Server 인 스 턴 스 숨 기기 를 선택 하 십시오.SQL Server 인 스 턴 스 를 숨 기 면 네트워크 에 있 는 SQL Server 인 스 턴 스 를 매 거 하려 는 클 라 이언 트 가 보 내 는 방송 에 응답 하 는 것 을 금지 합 니 다.이렇게 하면 다른 사람 이 1434 로 당신 의 TCP/IP 포트 를 탐지 할 수 없습니다(Port Scan 을 사용 하지 않 는 한).7.TCP/IP 에서 사용 하 는 포트 를 수정 하려 면 이전 설정 을 바탕 으로 기본 1433 포트 를 변경 하 십시오.인 스 턴 스 속성 에서 네트워크 설정 에 있 는 TCP/IP 프로 토 콜 의 속성 을 선택 하여 TCP/IP 가 사용 하 는 기본 포트 를 다른 포트 로 변경 합 니 다.9.1434 포트 에서 의 탐 사 를 거부 합 니 다.1434 포트 탐지 에 제한 이 없 기 때문에 다른 사람 에 게 데이터 베이스 정 보 를 감지 할 수 있 고 DOS 공격 을 받 아 데이터 베이스 서버 의 CPU 부하 가 커 질 수 있 습 니 다.따라서 윈도 2000 운영 체제 에 있어 서 IPSec 필터 에서 1434 포트 의 UDP 통신 을 거부 하면 가능 한 한 SQL Server 를 숨 길 수 있 습 니 다.10.네트워크 연결 에 대해 IP 제한 SQL Server 2000 데이터베이스 시스템 자체 가 네트워크 연결 의 안전 한 해결 방법 을 제공 하지 않 았 지만 Windows 2000 은 이러한 안전 체 제 를 제공 했다.운영 체제 자체 의 IPSec 를 사용 하면 IP 패 킷 의 안전성 을 실현 할 수 있다.IP 연결 을 제한 하고 자신의 IP 만 접근 할 수 있 도록 하 며 다른 IP 가 진행 하 는 포트 연결 도 거부 하여 네트워크 에서 온 안전 위협 을 효과적으로 제어 하 십시오.IPSec 의 사용 에 대해 서 는 다음 을 참조 하 십시오.http://www.microsoft.com/china/technet/security/ipsecloc.asp위 에 소 개 된 SQL Server 의 안전 설정 은 상기 설정 을 통 해 SQL Server 자체 가 충분 한 안전 예방 능력 을 갖 출 수 있 습 니 다.물론 더욱 중요 한 것 은 내부 의 안전 통제 와 관리자 의 안전 교육 을 강화 해 야 한다.그리고 안전성 문 제 는 장기 적 인 해결 과정 이 고 앞으로 더 많은 안전 유 지 를 해 야 한다.

좋은 웹페이지 즐겨찾기