무차별 무차별 대입 공격 보호는 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에서 무차별 대입 액세스 시도를 감지했지만 로그인이 실패한 경우 승인된 네트워크에서 식별된 IP 주소를 삭제하여 이러한 IP에서 향후 로그인 시도를 방지합니다. 이렇게 하려면 인스턴스의 승인된 네트워크에서 좁은 IP 범위를 사용하거나 승인된 네트워크 목록에서 IP 주소를 삭제합니다.
- Cloud SQL에서 무차별 대입 액세스 시도를 감지하고 식별된 IP 주소와 사용자 이름으로 로그인에 성공한 경우 사용자 계정의 비밀번호를 변경하고 승인된 네트워크 목록에서 IP를 삭제합니다.
또한 승인된 네트워크 대신 인증 프록시 또는 Cloud SQL 언어 커넥터를 사용하여 인스턴스에 연결할 수도 있습니다. 인증 프록시 및 Cloud SQL 언어 커넥터는 Identity and Access Management 인증을 사용하여 인스턴스에 대한 연결을 관리합니다. 이를 통해 더 안전한 연결을 제공하며 인스턴스 승인 네트워크 목록에 특정 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 이상에서만 사용할 수 있습니다.