설명
Azure SQL의 관리자 로그인 이름이 흔한 값이면 공격자가 로그인 대상을 추측하기 쉬울 수 있습니다. 하지만 사용자 이름 자체는 비밀정보가 아니며, 복잡한 이름만으로 계정을 보호할 수는 없습니다.
admin_username에는 Azure의 명명 제한과 조직의 계정 관리 기준을 충족하는 값을 사용하세요. 강한 자격 증명과 제한된 네트워크 접근, 적절한 데이터베이스 권한이 함께 필요합니다.
잠재적 영향
- 일반적인 이름은 관리자 계정을 대상으로 하는 로그인 시도에 단서가 될 수 있습니다.
- 자격 증명이 유출되거나 인증 통제가 약하면 관리자 권한이 악용될 수 있습니다.
해결 방법
- Azure가 허용하는 관리자 로그인 이름을 조직 기준에 따라 선택하세요. 이름을 숨기는 것을 인증 통제로 간주하지 마세요.
- 강한 비밀번호를 안전하게 제공하고, 지원되는 Microsoft Entra 인증 사용도 검토하세요.
- 관리용 접속 경로와 권한을 제한하고 로그인 기록을 점검하세요.
예시
계정 이름 비교를 위한 부분 예시입니다. 이름은 Azure의 제한을 충족해야 하며, sql_server_name에는 사용할 수 있는 서버 이름을, sql_admin_password에는 안전한 입력 경로로 제공한 강한 비밀번호를 지정하세요. 인증과 네트워크 설정은 별도로 필요합니다.
변경 전
yaml
- name: SQL Server 생성
azure_rm_sqlserver:
resource_group: myResourceGroup
name: "{{ sql_server_name }}"
location: westus
admin_username: admin
admin_password: "{{ sql_admin_password }}"
흔한 admin 이름을 사용하려는 구성입니다. 해당 이름의 허용 여부와 계정 보호 수단을 확인해야 합니다.
변경 후
yaml
- name: SQL Server 생성
azure_rm_sqlserver:
resource_group: myResourceGroup
name: "{{ sql_server_name }}"
location: westus
admin_username: mylogin
admin_password: "{{ sql_admin_password }}"
이름을 mylogin으로 바꾼 비교 예시입니다. 이 변경만으로 로그인 시도가 차단되거나 인증이 강화되지는 않습니다.