[sql] 취약한 액세스 포인트 제거 및 보안 변경

이번 포스트에서는 SQL 데이터베이스에서 발생할 수 있는 취약점과 보안 위협에 대해 알아보고, 이를 방지하고 보호하기 위한 조치에 대해 살펴보겠습니다.

1. 취약한 액세스 포인트 식별

SQL 데이터베이스는 여러 액세스 포인트를 가지고 있기 때문에, 취약점이 발생할 수 있는 가능성이 높습니다. 보안을 강화하기 위해서는 먼저 식별된 취약한 액세스 포인트를 제거해야 합니다. 다음은 취약한 액세스 포인트를 식별하고 제거하는 절차입니다.

SELECT * FROM sys.server_permissions WHERE permission_name = 'CONTROL SERVER';

2. 보안 변경

보안을 강화하기 위해서는 SQL 데이터베이스의 보안 설정을 변경해야 합니다. 보안 변경을 위한 일반적인 절차는 다음과 같습니다.

2.1 로그인 보안

기존 로그인 계정의 보안 설정을 강화하거나 새로운 보안 정책을 적용하여 안전한 로그인 인증을 유지해야 합니다.

ALTER LOGIN [login_name] WITH CHECK_EXPIRATION=ON;

2.2 접근 제어

문자열 연산자 혹은 비교연산자 사용을 지양하고, 대신 스토어드 프로시저를 사용하는 등의 방법으로 접근을 제어해야 합니다.

CREATE PROCEDURE [procedure_name]
AS
BEGIN
    -- procedure logic here
END

결론

SQL 데이터베이스는 보안을 강화해야 할 중요한 시스템입니다. 취약점을 식별하고, 보안 변경을 통해 데이터베이스를 보호하는 것은 중요한 작업입니다. 이를 통해 시스템의 안정성을 유지하고 보안 위협으로부터 안전한 환경을 유지할 수 있습니다.

이상으로 SQL 취약점 제거와 보안 변경에 대해 살펴보았습니다.

참고문헌: Microsoft Docs SQL Server 보안 가이드