API de Kubernetes Accesibles (Accessible Kubernetes API Server Report)

Introducción

Este informe identifica instancias de la API de Kubernetes accesibles que responden con un 200 OK HTTP a nuestras sondas. Si bien esto no significa que estas instancias estén completamente abiertas o sean vulnerables a un ataque, es probable que este nivel de acceso no fuera intencionado y que estas instancias sean una superficie de ataque innecesariamente expuesta. También permiten la fuga de información sobre versiones y compilaciones.

Proceso de escaneo

Se escanea con una solicitud HTTP utilizando el URI /versiónExplorando todo el espacio de IPv4 en los puertos 6443 y 443. Se incluyen solo los servidores de Kubernetes que responden con un 200 OK (con la respuesta JSON adjunta) y, por lo tanto, se divulga la información de la versión en su respuesta. Para obtener un mapeo de todos los servicios de la API de Kubernetes en su red o circunscripción (incluidos los que no permiten el acceso), consulte el Informe de identificación de dispositivos .

Mitigación

Si recibe una notificación de una instancia a la que se puede acceder, considere implementar la autorización de acceso o bloqueo en el nivel del firewall para reducir su superficie de ataque expuesta.

Puede leer más sobre cómo asegurar el acceso a la API de Kubernetes en esta guía oficial .

Para obtener más información sobre los esfuerzos de escaneo, consulte la página de resumen de escaneo de Internet.

Nombre de archivo: scan_kubernetes

CAMPOS

timestampHora en que se sondeó la IP en UTC+0
ipLa dirección IP del dispositivo en cuestión.
protocolProtocolo en el que se produjo la respuesta HTTP (siempre TCP)
portPuerto que se está consultando (puerto 6443 y puerto 443)
hostnameNombre DNS inverso del dispositivo en cuestión
tagEtiqueta configurada como «kubernetes»
versionInformación de la versión si la hay
asnASN de donde reside el dispositivo en cuestión
geoPaís donde reside el dispositivo en cuestión
regionEstado/Provincia/Región administrativa donde reside el dispositivo en cuestión
cityCiudad en la que reside el dispositivo en cuestión
naicsCódigo del sistema de clasificación de la industria de América del Norte
sicCódigo del sistema de clasificación industrial estándar
httpversión http
http_codeCódigo de respuesta HTTP: en este caso siempre 200
http_reasonEl motivo del texto para ir con el código HTTP; en este caso, siempre «OK»
content_typeEl tipo MIME del cuerpo de la solicitud.
serverTipo de servidor HTTP
dateLa fecha y hora en que se envió el mensaje.
majorVersión principal de Kubernetes
minorVersión secundaria de Kubernetes
git_versionVersión Git de Kubernetes
git_commitEtiqueta cuando se construye desde la fuente
git_tree_stateEstado del árbol Git
build_dateFecha de compilación de Kubernetes
go_versionIr a la versión
compilerCompilador
platformPlataforma sobre la que se construyó
handshakeVersión TLS negociada
cipher_suiteEl CipherSuite más alto que se pudo negociar
cert_lengthLongitud de la clave del certificado (1024 bits, 2048 bits, etc.)
subject_common_nameEl nombre común (CN) del certificado SSL
issuer_common_nameEl nombre común de la entidad que firmó el certificado SSL
cert_issue_dateFecha en que el certificado SSL entró en vigencia
cert_expiration_dateFecha en que caduca el certificado SSL
sha1_fingerprintHuella digital SHA1 del certificado
cert_serial_numberNúmero de serie del certificado
ssl_versionVersión SSL/TLS
signature_algorithmAlgoritmo de firma utilizado
key_algorithmAlgoritmo clave utilizado
subject_organization_nameEl nombre de la organización del sujeto (ON) del certificado
subject_organization_unit_nameEl nombre de la unidad organizativa del sujeto del certificado.
subject_countryEl país del sujeto del certificado.
subject_state_or_province_nameEl nombre del estado o provincia del sujeto del certificado.
subject_locality_nameEl nombre de la localidad del sujeto del certificado.
subject_street_addressLa dirección postal del sujeto del certificado.
subject_postal_codeEl código postal del sujeto del certificado.
subject_surnameEl apellido del sujeto del certificado.
subject_given_nameEl nombre de pila del sujeto del certificado.
subject_email_addressLa dirección de correo electrónico del sujeto del certificado.
subject_business_categoryLa categoría empresarial del sujeto del certificado.
subject_serial_numberNúmero de serie del sujeto del certificado
issuer_organization_nameNombre de la organización emisora
issuer_organization_unit_nameNombre de la unidad organizativa emisora
issuer_countryPaís del emisor
issuer_state_or_province_nameEstado o provincia del emisor
issuer_locality_nameLocalidad del emisor
issuer_street_addressDirección postal del emisor
issuer_postal_codeCódigo postal del emisor
issuer_surnameApellido del emisor
issuer_given_nameNombre del emisor
issuer_email_addressDirección de correo electrónico del emisor
issuer_business_categoryCategoría de negocio del emisor
issuer_serial_numberNúmero de serie del emisor
sha256_fingerprintHuella digital SHA256 del certificado
sha512_fingerprintHuella digital SHA512 del certificado
md5_fingerprintMD5 huella dactilar del certificado
cert_valid¿Es válido el certificado (S/N)?
self_signed¿El certificado está autofirmado (S/N)?
cert_expiredSi el certificado ha caducado (S/N)
validation_levelNivel de validación del certificado, por ejemplo, DV, OV, EV
browser_trusted¿Certificado de confianza del navegador (S/N)?
browser_errorErrores de certificado del navegador encontrados al escanear
raw_certCopia del certificado sin procesar
raw_cert_chainCopia de la cadena de certificados sin procesar

EJEMPLO

"timestamp","ip","protocol","port","hostname","tag","version","asn","geo","region","city","naics","sic","sector","http","http_code","http_reason","content_type","server","date","major","minor","git_version","git_commit","git_tree_state","build_date","go_version","compiler","platform","handshake","cipher_suite","cert_length","subject_common_name","issuer_common_name","cert_issue_date","cert_expiration_date","sha1_fingerprint","cert_serial_number","ssl_version","signature_algorithm","key_algorithm","subject_organization_name","subject_organization_unit_name","subject_country","subject_state_or_province_name","subject_locality_name","subject_street_address","subject_postal_code","subject_surname","subject_given_name","subject_email_address","subject_business_category","subject_serial_number","issuer_organization_name","issuer_organization_unit_name","issuer_country","issuer_state_or_province_name","issuer_locality_name","issuer_street_address","issuer_postal_code","issuer_surname","issuer_given_name","issuer_email_address","issuer_business_category","issuer_serial_number","sha256_fingerprint","sha512_fingerprint","md5_fingerprint","cert_valid","self_signed","cert_expired","validation_level","browser_trusted","browser_error","raw_cert","raw_cert_chain"
"2010-02-10 00:00:00",192.168.0.1,tcp,6443,node01.example.com,kubernetes,,64512,ZZ,Region,City,0,0,,HTTP/1.1,200,OK,application/json,,"Tue, 10 May 2022 14:24:13 GMT",1,20,v1.20.13,2444b3347a2c45eb965b182fb836e1f51dc61b70,clean,2021-11-17T13:00:29Z,go1.15.15,gc,linux/amd64,TLSv1.2,TLS_AES_256_GCM_SHA384,2048,example.com,example.com,"2012-11-14 11:18:27","2021-11-12 11:18:27",03:39:9E:5D:77:19:38:C4:49:DE:C3:3D:9B:E6:13:ED:5A:F1:42:55,B3F13DFBDBA2D8B2,2,sha256WithRSAEncryption,rsaEncryption,,,US,,,,,,,,,,,,,,,,,,,,,,E1:D1:6E:87:49:B9:AC:74:B4:AC:9B:77:85:27:69:97:0D:16:B1:F6:63:F0:26:51:AA:89:42:39:66:BD:47:D0,1C:E9:04:22:90:46:68:0B:8B:54:33:38:C6:20:5F:EE:A6:73:A6:B5:2C:7D:12:94:DE:F1:CC:11:2E:72:0B:97:C2:7D:19:BF:E0:6B:98:A9:21:D9:9D:5A:CB:38:0B:D8:7E:E2:8E:2B:EA:15:EC:60:11:1E:41:E3:FB:4C:20:9F,F1:8A:02:48:3C:6B:F4:00:CC:5C:D5:B0:71:E4:FA:00,N,N,Y,unknown,N,"x509: failed to load system roots and no roots provided",,
"2010-02-10 00:00:01",192.168.0.2,tcp,6443,node02.example.com,kubernetes,,64512,ZZ,Region,City,0,0,"Retail Trade",HTTP/1.1,200,OK,application/json,,"Tue, 10 May 2022 14:24:12 GMT",1,23,v1.23.3+e419edf,6f5a5295923a614a4202a7ad274b38b69f9ca8c0,clean,2022-02-25T06:26:46Z,go1.17.5,gc,linux/amd64,TLSv1.2,TLS_AES_256_GCM_SHA384,2048,example.com,example.com,"2012-11-14 11:18:27","2021-11-12 11:18:27",03:39:9E:5D:77:19:38:C4:49:DE:C3:3D:9B:E6:13:ED:5A:F1:42:55,B3F13DFBDBA2D8B2,2,sha256WithRSAEncryption,rsaEncryption,,,US,,,,,,,,,,,,,,,,,,,,,,E1:D1:6E:87:49:B9:AC:74:B4:AC:9B:77:85:27:69:97:0D:16:B1:F6:63:F0:26:51:AA:89:42:39:66:BD:47:D0,1C:E9:04:22:90:46:68:0B:8B:54:33:38:C6:20:5F:EE:A6:73:A6:B5:2C:7D:12:94:DE:F1:CC:11:2E:72:0B:97:C2:7D:19:BF:E0:6B:98:A9:21:D9:9D:5A:CB:38:0B:D8:7E:E2:8E:2B:EA:15:EC:60:11:1E:41:E3:FB:4C:20:9F,F1:8A:02:48:3C:6B:F4:00:CC:5C:D5:B0:71:E4:FA:00,N,N,Y,unknown,N,"x509: failed to load system roots and no roots provided",,
"2010-02-10 00:00:02",192.168.0.3,tcp,6443,node03.example.com,kubernetes,,64512,ZZ,Region,City,0,0,,HTTP/1.1,200,OK,application/json,,"Tue, 10 May 2022 14:24:12 GMT",1,16+,v1.16.9-aliyun.1,4f7ea78,,2020-05-08T07:29:59Z,go1.13.9,gc,linux/amd64,TLSv1.2,TLS_AES_256_GCM_SHA384,2048,example.com,example.com,"2012-11-14 11:18:27","2021-11-12 11:18:27",03:39:9E:5D:77:19:38:C4:49:DE:C3:3D:9B:E6:13:ED:5A:F1:42:55,B3F13DFBDBA2D8B2,2,sha256WithRSAEncryption,rsaEncryption,,,US,,,,,,,,,,,,,,,,,,,,,,E1:D1:6E:87:49:B9:AC:74:B4:AC:9B:77:85:27:69:97:0D:16:B1:F6:63:F0:26:51:AA:89:42:39:66:BD:47:D0,1C:E9:04:22:90:46:68:0B:8B:54:33:38:C6:20:5F:EE:A6:73:A6:B5:2C:7D:12:94:DE:F1:CC:11:2E:72:0B:97:C2:7D:19:BF:E0:6B:98:A9:21:D9:9D:5A:CB:38:0B:D8:7E:E2:8E:2B:EA:15:EC:60:11:1E:41:E3:FB:4C:20:9F,F1:8A:02:48:3C:6B:F4:00:CC:5C:D5:B0:71:E4:FA:00,N,N,Y,unknown,N,"x509: failed to load system roots and no roots provided",,

Fuente: https://www.shadowserver.org/what-we-do/network-reporting/accessible-kubernetes-api-server-report/