stringtranslate.com

Protocolo de aprovisionamiento extensible

El Protocolo de Aprovisionamiento Extensible ( EPP ) es un protocolo flexible diseñado para asignar objetos dentro de los registros a través de Internet . La motivación para la creación de EPP fue crear un protocolo robusto y flexible que pudiera proporcionar comunicación entre los registros de nombres de dominio y los registradores de nombres de dominio . Estas transacciones son necesarias siempre que se registra o renueva un nombre de dominio , lo que también evita el secuestro de dominios . Antes de su introducción, los registros no tenían un enfoque uniforme y existían muchas interfaces propietarias diferentes. Si bien su uso para nombres de dominio fue el impulso inicial, el protocolo está diseñado para ser utilizable para cualquier tipo de sistema de pedidos y cumplimiento. [1]

El protocolo EPP se basa en XML , un formato estructurado basado en texto. El transporte de red subyacente no es fijo, aunque el único método especificado actualmente es TCP . El protocolo se ha diseñado con la flexibilidad necesaria para permitir el uso de otros transportes, como BEEP , SMTP , SOAP o HTTPS . [1] Sin embargo, solo se ha utilizado HTTPS, mientras que la gran mayoría utiliza TCP.

Historia

Los primeros borradores de protocolo fueron publicados como documentos de borrador de Internet de presentación individual de IETF por Scott Hollenbeck de Verisign en noviembre de 2000. [2] Los documentos de presentación individual fueron adoptados por el grupo de trabajo del Registro de Aprovisionamiento de IETF ( provreg ) , que se creó después de que se celebrara una sesión de BoF en IETF-49 en diciembre de 2000. [3] Los documentos de estándar propuestos (RFC 3730 - 3734) fueron publicados por el editor de RFC en marzo de 2004. [4] Los documentos de borrador de estándar (RFC 4930 - 4934) se publicaron en mayo de 2007. [5]

En agosto de 2009, la IETF otorgó a EPP el estatus de estándar completo como STD 69. [6]

La primera extensión del EPP que se convirtió en un estándar propuesto fue la extensión del período de gracia de redención del RFC 3915 en septiembre de 2004. [7] Desde entonces, se han propuesto varias extensiones estándar diferentes. [8]

Adopción

El protocolo ha sido adoptado por varios registros de nombres de dominio ccTLD, como: .ac , .ag , .ai , .as , .ar , .at , .au , .be , .br , .bz , .ca , .cat , .cc , .ch , .cl , .cn , .co , .cr , .cx , .cz , .dk , .dm , .ee , .es (sobre HTTPS), .eu , .fi , .fm , .fr , .gg , .gr (sobre HTTPS), .gs , .hn , .ht , .il , .im , .in , .io , .it (sobre HTTPS), .je , .ke , .ki. , .ky , .kz , .la , .lc , .li , .lt , .lu , .lv , .md , .me , .mk , .mn , .ms , .mu , .mx , .na , .nf , .ng , .nl , .no , .nu , .nz , .pe , .pk , .pl (sobre HTTPS), .ps , .pt , .ru , .ro , .sc , .se , .sh , .si , .su , .tl , .tm .tv , .tw , .ua , .uk , .us , .vc , .ve ​​y .za, así como registros ENUM como los que operan el Códigos de país +31, +41, +43, +44 y +48. [9]

La ICANN ha establecido como condición en su contrato de registro base ofrecer un servicio EPP, por lo que todos los gTLD han adoptado el protocolo. [10]

Existen múltiples implementaciones de código abierto de software de servidor EPP. El Consejo de Administradores de Códigos de País (CoCCA) mantiene un software de servidor EPP que es utilizado por alrededor de 59 ccTLD y 6 gTLD. [11] Otro software de código abierto es FRED (mantenido por CZ.NIC ) que cuenta con 11 ccTLD como sus usuarios. [12]

Comandos de protocolo

Existen tres clases de comandos: administración de sesiones, consulta y transformación de objetos. Estos comandos pueden luego asignarse a objetos que especifican con más precisión su funcionalidad. [1] Los objetos estandarizados más comunes son los hosts, [13] los contactos [14] y los dominios. [15] También existen otros objetos estandarizados como las organizaciones, [16] sin embargo, rara vez se utilizan.

Cuando el cliente se conecta a un servidor, el servidor envía inmediatamente un mensaje de "saludo" al cliente. Este mensaje contiene información sobre el servidor al que el cliente necesita conectarse. Incluye el nombre del servidor, la fecha y hora actuales del servidor en UTC, las funciones admitidas y una política de privacidad. Las funciones admitidas incluyen versiones de EPP, idiomas, objetos y extensiones. [1]

Los comandos de gestión de sesiones son: [1]

Los comandos de consulta son: [1]

Los comandos de transformación de objetos son: [1]

Ejemplo

Un ejemplo de comando para crear un dominio podría verse así:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns= "urn:ietf:params:xml:ns:epp-1.0" > <comando> <crear> <dominio:crear xmlns:dominio= "urn:ietf:params:xml:ns:dominio-1.0" > <dominio:nombre> ejemplo.com </dominio:nombre> <dominio:periodo unidad= "y" > 1 </dominio:periodo> <dominio:ns> <dominio:hostObj> ns1.ejemplo.net </dominio:hostObj> <dominio:hostObj> ns2.ejemplo.net </dominio:hostObj> </dominio:ns> <dominio:registrante> REG-1738 </dominio:registrante> <dominio:contacto tipo= "admin" > ADM-9374 </dominio:contacto> <dominio:contacto tipo= "tecnología" > OTH-2567 </dominio:contacto> <dominio:contacto tipo= "facturación" > OTH-2567 </dominio:contacto> <dominio:información de autenticación> <dominio:contraseña> y85NS%FJ4zeKuHXo </dominio:contraseña> </dominio:información de autenticación> </dominio:crear> </crear> <clTRID> uu28qbb2wo6o5bpk </clTRID> </comando> </epp>                          

Tenga en cuenta que los dos objetos host y los tres objetos de contacto diferentes se tuvieron que crear de antemano para poder usarlos y que el cliente ya tenía que haber iniciado sesión. La contraseña authInfo es un secreto que se requiere en la transferencia entre registradores. El clTRID es un identificador de transacción único para cada comando generado por el cliente. Una respuesta del servidor al comando anterior podría verse así:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> <epp xmlns= "urn:ietf:params:xml:ns:epp-1.0" > <response> <result code= "1000" > <msg> Comando completado correctamente </msg> </result> <resData> <domain:creData xmlns:domain= "urn:ietf:params:xml:ns:domain-1.0" > <domain:name> ejemplo.com </domain:name> <domain:crDate> 2023-03-12T12:00:00.0Z </domain:crDate> <domain:exDate> 2024-03-12T12:00:00.0Z </domain:exDate> </domain:creData> </resData> <trID> <clTRID> uu28qbb2wo6o5bpk </clTRID> <svTRID> ma3fuaeuh7bzpgv9 </svTRID> </trID> </response> </epp>                     

El clTRID es el mismo que el enviado por el cliente, mientras que el svTRID es un identificador de transacción único generado por el servidor. El servidor devuelve un código de resultado, un mensaje y datos de resultado adicionales, como la fecha de vencimiento del dominio recién creado.

Extensiones

El protocolo ofrece la posibilidad de enviar un objeto de extensión en casi todos los comandos posibles para permitir que los registros agreguen nueva funcionalidad sin cambiar los comandos base. [1]

Existen algunas extensiones estandarizadas que se utilizan en muchos registros. Entre ellas se incluyen las extensiones para DNSSEC , [17] IDN , [18] nombres de dominio premium, [19] restauración de dominios ( RGP ) [7] y extensiones para gestionar el lanzamiento de nuevos TLD [20], entre otras cosas. [8]

Algunos registros también desarrollaron extensiones específicas para sus TLD. Un caso de uso común de las extensiones no estandarizadas es la recopilación de datos adicionales necesarios para crear un dominio, por ejemplo, un número de identificación de IVA . [8]

Códigos de resultados

Todas las respuestas del servidor deben seguir un formato específico. Cada código de respuesta corresponde a un mensaje legible para humanos. Los códigos en el formato 1xxx son operaciones exitosas, mientras que los códigos en el formato 2xxx son errores. Los errores se dividen nuevamente en errores de sintaxis de protocolo en el formato 20xx, reglas específicas de implementación como 21xx, seguridad como 22xx, administración de datos como 23xx, sistema de servidor como 24xx y administración de conexión como 25xx. La mayoría de los resultados pueden incluir datos adicionales en el objeto resData, por ejemplo, qué parámetro requerido falta específicamente. [1]

El código de respuesta 1001 permite el procesamiento fuera de línea; un ejemplo de esto puede ser que un registro de nombre de dominio desee validar un registrante antes de que se registre el dominio. En este caso, el dominio se bloquea para otros clientes hasta que se complete el proceso y se notificará al cliente mediante un mensaje de sondeo que puede obtener mediante el comando de sondeo. Los códigos 1300 y 1301 son específicamente para el comando de sondeo y señalan si hay un mensaje o no. [1]

La lista completa de códigos de resultados estandarizados y mensajes de resultados es: [1]

Códigos de estado de objetos EPP

Existen dos tipos de códigos de estado: de servidor y de cliente. La diferencia es que todos los códigos de estado de servidor solo pueden ser establecidos y eliminados por el registro, mientras que los códigos de estado de cliente también pueden ser establecidos y eliminados por el registrador, a menos que un código de estado de servidor lo prohíba. [15]

Los códigos de estado del servidor se utilizan comúnmente para manejar casos de abuso de dominio, marcar la etapa del ciclo de vida del dominio u ofrecer seguridad adicional contra manipulación no autorizada, un servicio a menudo denominado Registry-Lock.

Los códigos de estado del cliente se utilizan comúnmente también para gestionar casos de abuso, falta de pago, datos de contacto no válidos o para una función de bloqueo del registrador .

Los códigos de estado del servidor estandarizados actualmente son: [15] [7]

Los códigos de estado de cliente estandarizados actualmente son: [15]

Consideraciones de seguridad

EPP solo ofrece contraseñas de texto sin formato; además, el tipo de contraseña de inicio de sesión de EPP se especifica como una cadena de entre 6 y 16 caracteres [1], lo que podría considerarse muy poco para los estándares actuales. Por lo tanto, las conexiones a través de TCP deben utilizar TLS y se recomienda encarecidamente el uso de certificados de cliente , así como la confirmación correcta de la identidad del cliente y del servidor. [21]

Además, muchos registros de nombres de dominio ofrecen configurar una lista blanca de IP para conectarse a sus servidores EPP.

El EPP ofrece cierta protección contra ataques de repetición a través del clTRID generado por el cliente, sin embargo, este elemento es opcional y, por lo tanto, no lo utiliza todo el software de servidor. Por lo tanto, el mecanismo de transporte utilizado debería implementar mecanismos antirreproducción adicionales. [1]

RFC relacionadas

RFC de objetos EPP

RFC de extensión del EPP

Véase también

Referencias

  1. ^ abcdefghijklm Hollenbeck, S. (agosto de 2009). "Protocolo de aprovisionamiento extensible (EPP)". doi :10.17487/RFC5730. ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  2. ^ "Protocolo de aprovisionamiento extensible". IETF Datatracker . Consultado el 13 de marzo de 2023 .
  3. ^ "Actas de la IETF de diciembre de 2000". www.ietf.org . Consultado el 13 de marzo de 2023 .
  4. ^ Hollenbeck, S. (marzo de 2004). "Protocolo de aprovisionamiento extensible (EPP)". doi : 10.17487/RFC3730 . ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  5. ^ Hollenbeck, S. (mayo de 2007). "Protocolo de aprovisionamiento extensible (EPP)". doi : 10.17487/RFC4930 . ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  6. ^ Hollenbeck, S. (agosto de 2009). "Protocolo de aprovisionamiento extensible (EPP)". {{cite journal}}: Requiere citar revista |journal=( ayuda )
  7. ^ abc Hollenbeck, S. (septiembre de 2004). "Mapeo del período de gracia del registro de dominios para el protocolo de aprovisionamiento extensible (EPP)". doi :10.17487/RFC3915. ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  8. ^ abc "Extensiones para el Protocolo de Aprovisionamiento Extensible (EPP)". www.iana.org . Consultado el 11 de marzo de 2023 .
  9. ^ "Informe de implementación de las RFC 4930-4934 - Wayback Machine". 15 de enero de 2012. Archivado desde el original el 15 de enero de 2012. Consultado el 12 de marzo de 2023 .{{cite web}}: CS1 maint: bot: estado de URL original desconocido ( enlace )
  10. ^ "Contrato de registro base de la ICANN". newgtlds.icann.org . Consultado el 12 de marzo de 2023 .
  11. ^ "Sitio web oficial de CoCCA" . Consultado el 12 de marzo de 2023 .
  12. ^ "Presentación de FRED - fred". fred.nic.cz . Consultado el 12 de marzo de 2023 .
  13. ^ Hollenbeck, S. (agosto de 2009). "Mapeo de host del protocolo de aprovisionamiento extensible (EPP)". doi : 10.17487/RFC5732 . ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  14. ^ Hollenbeck, S. (agosto de 2009). "Mapeo de contactos del Protocolo de aprovisionamiento extensible (EPP)". doi : 10.17487/RFC5733 . ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  15. ^ abcd Hollenbeck, S. (agosto de 2009). "Mapeo de nombres de dominio mediante protocolo de aprovisionamiento extensible (EPP)". doi :10.17487/RFC5731. ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  16. ^ Zhou, L.; Kong, N.; Yao, J.; Gould, J.; Zhou, G. (marzo de 2019). "Mapeo de organizaciones del Protocolo de aprovisionamiento extensible (EPP)". doi :10.17487/RFC8543. ISSN  2070-1721. S2CID  65065583. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  17. ^ Gould, J.; Hollenbeck, S. (mayo de 2010). "Mapeo de extensiones de seguridad del sistema de nombres de dominio (DNS) para el protocolo de aprovisionamiento extensible (EPP)". doi : 10.17487/RFC5910 . ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  18. ^ "Extensión de mapeo de nombres de dominio internacionalizado para el Protocolo de aprovisionamiento extensible (EPP)". IETF Datatracker . Consultado el 11 de marzo de 2023 .
  19. ^ Carney, Roger (marzo de 2020). "RFC 8748: Extensión de la tarifa de registro para el Protocolo de aprovisionamiento extensible (EPP)". www.rfc-editor.org . Consultado el 11 de marzo de 2023 .
  20. ^ Gould, J.; Tan, W.; Brown, G. (marzo de 2018). "Mapeo de la fase de lanzamiento para el Protocolo de aprovisionamiento extensible (EPP)". doi :10.17487/RFC8334. ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  21. ^ Hollenbeck, S. (agosto de 2009). "Transporte del protocolo de aprovisionamiento extensible (EPP) sobre TCP". doi :10.17487/RFC5734. ISSN  2070-1721. {{cite journal}}: Requiere citar revista |journal=( ayuda )