이 페이지에서는 Cloud SQL이 무단 액세스를 목적으로 하는 무차별 대입 액세스 시도로부터 인스턴스를 보호하기 위해 제공하는 감지 및 보호 기능과 이러한 시도로부터 인스턴스를 보호하는 방법을 설명합니다.
무차별 대입 공격 방지는 승인되지 않은 Cloud SQL 리소스 액세스를 방지하여 인스턴스를 무차별 대입 공격 액세스 시도로부터 보호하는 데 도움이 되는 기본 제공 보안 기능입니다. 무차별 대입 액세스 시도는 악의적인 사용자가 반복적인 로그인 시도를 자동화하고 데이터베이스에 액세스하기 위해 다양한 사용자 이름과 비밀번호 조합을 체계적으로 시도할 때 발생합니다.
Cloud SQL은 무차별 대입 액세스 시도로부터 데이터베이스를 보호하기 위해 다음 옵션을 제공합니다.
무차별 대입 액세스 감지: Cloud SQL은 각 인스턴스의 로그인 실패 시도를 지속적으로 모니터링하고 첫 번째 로그인 성공을 감지합니다. 연속 로그인 시도 횟수가 Cloud SQL에서 정의한 기준점을 초과하면 Cloud SQL이 인스턴스 로그에 경고 메시지를 생성합니다. 이 로그 메시지는 무차별 대입 액세스 시도와 연결된 IP 주소 및 사용자 이름을 식별합니다.
무차별 대입 액세스 감지는 모든 Cloud SQL 버전에서 사용할 수 있습니다.
무차별 대입 액세스 보호: Cloud SQL이 무차별 대입 액세스 시도를 감지하면 로그인 응답에 지연을 추가하고 실시간으로 제한하여 로그인 시도를 자동으로 늦춥니다. Cloud SQL에서 연결을 무차별 대입 액세스 시도로 식별하고 해당 연결로 로그인이 성공하면 Cloud SQL에서 연결을 제한하고 이 성공적인 로그인을 식별하는 로그 이벤트를 생성합니다. 이 로그 이벤트는 무차별 대입 액세스 시도와 연결된 IP 주소 및 사용자 이름을 식별합니다.
무차별 대입 액세스 보호는 Cloud SQL Enterprise Plus 버전에서만 사용할 수 있습니다.
Cloud SQL은 인스턴스에 대한 무차별 대입 액세스 감지 및 보호를 제공하여 이러한 무차별 대입 액세스 시도로 인한 위험을 식별하고 완화하는 데 도움을 줍니다. 이러한 무차별 대입 액세스 시도에서 확인된 IP 주소와 사용자 이름을 사용하여 인스턴스를 보호하고 향후 무차별 대입 액세스 시도로부터 인스턴스를 보호하세요. 인스턴스의 무차별 대입 시도를 확인하려면 무차별 대입 시도 로그 보기를 참고하세요.
무차별 대입 액세스 시도 로그 보기
Cloud SQL에서 무차별 대입 액세스 시도를 감지하면 인스턴스 로그에 an anomaly was found라는 텍스트와 함께 이벤트가 기록됩니다. Cloud SQL은 다음 세부 이벤트를 로깅합니다.
| 이벤트 | 설명 |
|---|---|
| 무작위 대입 액세스 시도 감지 | IP IP에서 user 계정에 로그인하려는 시도가 실패했습니다. 이 IP에서 반복적으로 로그인 시도가 실패하는 이상이 발견되었습니다. |
| 무차별 대입 액세스 시도를 완화하기 위한 자동 제한 (Enterprise Plus 버전만 해당) | IP IP에서 user 계정에 로그인하려는 시도가 실패했습니다. 이 IP에서 반복적으로 로그인 시도가 실패하는 비정상적인 활동이 발견되었습니다. Cloud SQL에서 무차별 대입 시도를 방지하기 위해 응답을 제한했습니다. |
| 반복된 로그인 실패 후 첫 번째 로그인 성공 감지 | 반복된 로그인 시도 실패 후 IP IP에서 계정 user으로의 로그인에 성공한 것으로 확인되었습니다. 이 활동이 예상치 못한 경우 사용자 비밀번호를 변경하는 것이 좋습니다. |
| 반복된 로그인 실패 후 첫 번째 성공적인 로그인 자동 제한 (Enterprise Plus 버전만 해당) | 반복된 로그인 시도 실패 후 IP IP에서 계정 user으로의 로그인이 성공한 것으로 확인되었습니다. Cloud SQL에서 무차별 대입 시도를 방지하기 위해 응답을 제한했습니다. 이 활동이 예상치 못한 경우 사용자 비밀번호를 변경합니다. |
무차별 대입 시도에 관한 세부정보를 확인하려면 인스턴스의 로그를 확인 하고 각 로그의 텍스트에서 An anomaly was found를 찾으세요.
로그 기반 알림 정책 설정
무차별 대입 액세스 시도가 감지되거나 Cloud SQL 인스턴스가 제한될 때 알림을 받도록 로그 기반 알림 정책을 설정할 수 있습니다. 이 알림을 설정하는 방법에 대한 자세한 내용은 로그 탐색기를 사용하여 로그 기반 알림 정책 구성을 참고하세요.
예를 들어 알림 정책에서 다음 쿼리를 사용하여 무차별 대입 액세스 시도 성공 로그를 식별할 수 있습니다.
resource.type="cloudsql_database"
textPayload =~ "An anomaly was found, successful login into the account"
인스턴스 보호
무차별 대입 액세스 시도가 확인되면 Cloud SQL은 인스턴스를 보호할 것을 권장합니다. 무차별 대입 공격 액세스 시도를 확인하려면 무차별 대입 공격 액세스 시도 로그 보기를 참고하세요.
Cloud SQL에서 인스턴스에 대한 무차별 대입 액세스 시도를 식별하면 다음 단계를 따르세요.
- Cloud SQL에서 무차별 대입 액세스 시도를 감지했지만 로그인이 실패한 경우, 식별된 IP 주소를 승인된 네트워크에서 삭제하여 이러한 IP에서 향후 로그인 시도를 방지하세요. 이렇게 하려면 인스턴스의 승인된 네트워크에서 좁은 IP 범위를 사용하거나 승인된 네트워크 목록에서 IP 주소를 삭제하세요.
- Cloud SQL에서 무차별 대입 액세스 시도를 감지하고 식별된 IP 주소와 사용자 이름으로 로그인에 성공한 경우 사용자 계정의 비밀번호를 변경하고 승인된 네트워크 목록에서 IP를 삭제합니다.
또한 승인된 네트워크 대신 인증 프록시 또는 Cloud SQL 언어 커넥터를 사용하여 인스턴스에 연결할 수도 있습니다. 인증 프록시와 Cloud SQL 언어 커넥터는 ID 및 액세스 관리 인증을 사용하여 인스턴스에 대한 연결을 관리하므로 더 안전한 연결을 제공하며 인스턴스 승인된 네트워크 목록에 특정 IP 주소를 추가할 필요가 없습니다.
Cloud SQL 인스턴스를 더욱 보호하려면 공개 IP 대신 비공개 IP를 사용하고 사용자 이름 및 비밀번호 기반 인증 대신 IAM 기반 데이터베이스 인증을 사용하세요.
무차별 대입 액세스 시도 모니터링
무차별 대입 액세스 시도를 모니터링하기 위해 Cloud SQL은 /database/network/connection_attempt_count 측정항목을 사용하여 인스턴스에 대한 각 유형의 연결 이벤트 발생 횟수를 집계합니다. 이 측정항목은 다음 필드를 사용하여 연결이 무차별 대입 액세스 시도인지 확인합니다.
login_status: 연결로 인해 로그인이 성공했는지 추적합니다.anomaly_detected: 연결이 Cloud SQL에서 설정한 로그인 시도 기준점을 초과했는지 여부에 따라 연결이 무차별 대입 액세스 시도인지 추적합니다.anomalous_connection_throttled: 무차별 대입 액세스 시도 연결이 제한되는지 추적합니다.
이 측정항목을 모니터링하여 각 유형의 연결 이벤트 수를 확인할 수 있습니다. 다음 표에는 측정항목에서 추적하는 연결 이벤트와 해당 필드 값이 나와 있습니다.
| 이벤트 | 설명 |
|---|---|
| 로그인 완료 | 무차별 대입 액세스 시도가 감지되지 않은 인스턴스로의 로그인이 성공했습니다. 추적된 필드 값: login_status: succeeded
anomaly_detected: none
anomalous_connection_throttled: false
|
| 로그인 실패 | 무차별 대입 액세스 시도가 감지되지 않은 인스턴스로의 로그인 실패 추적된 필드 값: login_status: failed
anomaly_detected: none
anomalous_connection_throttled: false
|
| 무차별 대입 로그인 시도가 감지됨 (제한되지 않음) | Cloud SQL에서 설정한 로그인 시도 한도를 초과하여 무차별 대입 액세스 시도로 식별된 로그인 시도 실패입니다. 연결이 제한되지 않았습니다. 추적된 필드 값: login_status: failed
anomaly_detected: brute-force login
anomalous_connection_throttled: false
|
| 무차별 대입 로그인 시도가 감지되어 제한됨 | Cloud SQL에서 설정한 로그인 시도 한도를 초과하여 무작위 대입 공격 액세스 시도로 식별되고 로그인을 방지하기 위해 제한된 로그인 시도 실패입니다.
추적된 필드 값: login_status: failed
anomaly_detected: brute-force login
anomalous_connection_throttled: true
|
| 무차별 대입 액세스 시도가 감지된 후 로그인 성공 (제한되지 않음) | 연결이 무차별 대입 액세스 시도로 식별된 후 인스턴스에 로그인한 경우 연결이 제한되지 않았습니다.
추적된 필드 값: login_status: succeeded
anomaly_detected: brute-force login
anomalous_connection_throttled: false
|
| 무차별 대입 액세스 시도가 감지되고 제한된 후 로그인에 성공함 | 연결이 무차별 대입 액세스 시도로 식별되어 제한된 후 인스턴스에 로그인한 경우
추적된 필드 값: login_status: succeeded
anomaly_detected: brute-force login
anomalous_connection_throttled: true
|
제한사항
- 무차별 대입 공격 보호를 사용하려면 최소 유지보수 버전이
MYSQL_$version.R20250531.01_23이어야 합니다. 자세한 내용은 셀프 서비스 유지보수 실행을 참고하세요. - 무차별 대입 공격 방지는 MySQL 버전 5.7 이상에서만 사용할 수 있습니다.