다음을 통해 공유


보안 고려 사항

이 항목에서는 SQL Server Driver for PHP를 사용하는 응용 프로그램의 개발, 배포 및 실행과 관련된 보안 고려 사항에 대해 설명합니다. SQL Server 보안에 대한 자세한 내용은 SQL Server 2005 Security 또는 SQL Server 2008 Security을 참조하십시오.

Windows 인증을 사용하여 연결

가능한 경우 항상 Windows 인증을 사용하여 SQL Server에 연결해야 하는 이유는 다음과 같습니다.

  • 인증하는 동안 네트워크를 통해 자격 증명이 전달되지 않으므로 사용자 이름과 암호가 데이터베이스 연결 문자열에 포함되지 않습니다. 이는 악의적인 사용자나 공격자가 네트워크를 모니터링하거나 구성 파일 내의 연결 문자열을 확인하는 방법으로 자격 증명을 얻을 수 없음을 의미합니다.
  • 사용자가 중앙 계정 관리의 영향을 받으므로 암호 만료 기간, 최소 암호 길이 및 잘못된 로그인 요청이 여러 번 있을 경우의 계정 잠금과 같은 보안 정책이 적용됩니다.

Windows 인증을 사용하여 서버에 연결하는 방법은 방법: Windows 인증을 사용하여 연결을 참조하십시오.

Windows 인증을 사용하여 연결할 때 SQL Server가 Kerberos 인증 프로토콜을 사용할 수 있도록 환경을 구성하는 것이 좋습니다. 자세한 내용은 SQL Server 2005의 인스턴스에 원격 연결을 만들 때 Kerberos 인증을 사용하고 있는지 확인하는 방법 또는 Kerberos 인증 및 SQL Server를 참조하십시오.

중요한 데이터를 전송할 때 암호화된 연결 사용

중요한 데이터를 SQL Server로 전송하거나 SQL Server에서 검색할 때 암호화된 연결을 사용해야 합니다. 암호화된 연결을 설정하는 방법은 방법: 데이터베이스 엔진에 암호화 연결 사용(SQL Server 구성 관리자)을 참조하십시오. SQL Server Driver for PHP와 보안 연결을 설정하려면 서버에 연결할 때 Encrypt 연결 특성을 사용합니다. 연결 특성에 대한 자세한 내용은 sqlsrv_connect를 참조하십시오.

매개 변수가 있는 쿼리 사용

매개 변수가 있는 쿼리를 사용하여 SQL 삽입 공격의 위험을 줄일 수 있습니다. 매개 변수가 있는 쿼리를 실행하는 예제는 방법 매개 변수가 있는 쿼리 수행, 방법: 단일 쿼리 실행방법: 쿼리 다중 실행을 참조하십시오.

SQL 삽입 공격 및 보안 관련 사항에 대한 자세한 내용은 SQL 삽입을 참조하십시오.

최종 사용자를 통한 서버 또는 연결 문자열 정보를 허용하지 않음

최종 사용자가 서버 또는 연결 문자열 정보를 응용 프로그램에 전송하지 못하도록 응용 프로그램을 작성합니다. 서버 및 연결 문자열 정보를 계속 엄격하게 제어하면 위험한 작업에 대한 노출 영역을 줄일 수 있습니다.

응용 프로그램을 개발하는 동안 WarningsAsErrors 설정

응용 프로그램을 개발할 때 WarningsAsErrors 설정을 true로 설정하여 드라이버에서 발생한 경고가 오류로 처리되도록 합니다. 이렇게 하면 응용 프로그램을 배포하기 전에 경고를 처리할 수 있습니다. 자세한 내용은 오류 및 경고 처리를 참조하십시오.

배포된 응용 프로그램에 대한 로그 보안 설정

배포된 응용 프로그램의 경우 로그가 안전한 위치에 기록되었거나 로깅이 해제되었는지 확인합니다. 이렇게 하면 최종 사용자가 로그 파일에 기록된 정보에 액세스하는 것을 방지할 수 있습니다. 자세한 내용은 로깅 작업을 참조하십시오.

참고 항목

관련 자료

프로그래밍 가이드
디자인 고려 사항