Microsoft Drivers for PHP for SQL Server에 대한 보안 고려 사항

PHP 드라이버 다운로드

이 항목에서는 Microsoft Drivers for PHP for SQL Server를 사용하는 애플리케이션의 개발, 배포 및 실행과 관련된 보안 고려 사항에 대해 설명합니다. SQL Server 보안에 대한 자세한 내용은 SQL Server 보안 개요를 참조하세요.

Windows 인증을 사용하여 연결

Windows 인증은 다음과 같은 이유로 가능하면 SQL Server에 연결하는 데 사용해야 합니다.

  • 인증하는 동안에는 네트워크를 통해 자격 증명이 전달되지 않습니다. 사용자 이름 및 비밀번호는 데이터베이스 연결 문자열에 포함되지 않습니다. 그러므로, 구성 파일 내의 연결 문자열을 보거나 네트워크를 모니터링하여 악성 사용자 또는 공격자가 자격 증명을 획득할 수 없습니다.

  • 사용자가 중앙 집중식 계정 관리를 받습니다. 비밀번호 만료 기간, 최소 비밀번호 길이, 수 차례의 잘못된 로그온 요청 후 계정 잠금과 같은 보안 정책이 적용됩니다.

Windows 인증을 사용하여 서버에 연결하는 방법에 대한 자세한 내용은 방법: Windows 인증을 사용하여 연결을 참조하세요.

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

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

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

매개 변수가 있는 쿼리 사용

매개 변수가 있는 쿼리를 사용하여 SQL 삽입 공격의 위험을 줄입니다. 매개 변수가 있는 쿼리를 실행하는 예시를 보려면 How to: Perform Parameterized Queries을 참조하세요.

SQL 삽입 공격 및 관련된 보안 고려 사항에 대한 자세한 내용은 SQL 삽입을 참조하세요.

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

최종 사용자가 서버 또는 연결 문자열 정보를 애플리케이션에 제출할 수 없도록 애플리케이션을 작성합니다. 서버 및 연결 문자열 정보를 엄격하게 제어하면 악의적인 활동이 발생할 여지가 줄어듭니다.

애플리케이션 개발 중 WarningsAsErrors 활성화

드라이버에서 표시하는 경고가 오류로 간주되도록 WarningsAsErrors 설정이 true 로 설정된 애플리케이션을 개발합니다. 이를 통해 애플리케이션을 배포하기 전에 경고를 해결할 수 있습니다. 자세한 내용은 오류 및 경고 처리를 참조하세요.

배포된 애플리케이션에 대한 보안 로그

배포된 애플리케이션의 경우 로그가 안전한 위치에 기록되거나 로깅이 비활성화되어 있는지 확인합니다. 이는 최종 사용자가 로그 파일에 기록된 정보에 액세스할 가능성을 방지하는 데 도움이 됩니다. 자세한 내용은 활동 로깅을 참조하세요.

참고 항목

Microsoft Drivers for PHP for SQL Server 프로그래밍 가이드