Campos confidenciales
Puede designar los campos de formulario web como confidenciales para proteger la información que los usuarios escriben en ellos. Normalmente, cualquier información que un usuario escriba en un formulario web en uno de sus servidores web protegidos se registra en los registros de NetScaler. Sin embargo, la información escrita en un campo de formulario web designado como confidencial no se registra. Esa información se guarda solo cuando el sitio web está configurado para guardar dichos datos, normalmente en una base de datos segura.
Los tipos comunes de información que puede desear proteger con una designación de campo confidencial incluyen:
- contraseñas
- Números de tarjetas de crédito, códigos de validación y fechas de caducidad
- Números de la seguridad social
- Números de identificación fiscal
- Domicilios
- Números de teléfono privados
Además de ser una buena práctica, el uso adecuado de las designaciones de campo confidenciales puede ser necesario para el cumplimiento de PCI-DSS en los servidores de comercio electrónico, el cumplimiento de la HIPAA en los servidores que administran información médica en los Estados Unidos y el cumplimiento de otras normas de protección de datos.
Importante:
En los dos casos siguientes, la designación de Campo confidencial no funciona como se esperaba:
- Si un formulario web tiene un campo confidencial o una URL de acción de más de 256 caracteres, la URL del campo o de la acción se trunca en los registros de NetScaler.
- Con ciertas transacciones SSL, los registros se truncan si el campo confidencial o la URL de la acción tienen más de 127 caracteres.
En cualquiera de estos casos, Web App Firewall enmascara una cadena de quince caracteres con la letra “x”, en lugar de la cadena normal de ocho caracteres. Para garantizar que se elimine cualquier información confidencial, el usuario debe usar expresiones de nombre de campo de formulario y URL de acción que coincidan con los primeros 256 o (en los casos en que se utilice SSL) con los primeros 127 caracteres.
Para configurar Web App Firewall para tratar un campo de formulario web en un sitio web protegido como confidencial, agregue ese campo a la lista Campos confidenciales. Puede escribir el nombre del campo como una cadena o puede escribir una expresión regular compatible con PCRE que especifique uno o más campos. Puede habilitar la designación de campo confidencial cuando agrega el campo o puede modificar la designación más adelante.
Nota
A partir de la versión 13.1 compilación 27.x, los campos confidenciales también se admiten en los perfiles WAF. Para obtener más información, consulte Campos confidenciales en el perfil WAF.
Para agregar un campo confidencial mediante la interfaz de línea de comandos
En el símbolo del sistema, escriba los comandos siguientes:
add appfw confidField <fieldName> <url> [-isRegex ( REGEX | NOTREGEX )] [-comment "<string>"] [-state ( ENABLED | DISABLED )]
save ns config
Ejemplo
El siguiente ejemplo agrega todos los campos de formulario web cuyos nombres comiencen por Contraseña a la lista de campos confidenciales.
add appfw confidField Password "https?://www[.]example[.]com/[^<>]\*[^a-z]password[0-9a-z._-]\*[.](asp|cgi|htm|html|htp|js|php)" -isRegex REGEX -state ENABLED
save ns config
<!--NeedCopy-->
Para modificar un campo confidencial mediante la interfaz de línea de comandos
En el símbolo del sistema, escriba los comandos siguientes:
set appfw confidField <fieldName> <url> [-isRegex ( REGEX | NOTREGEX )][-comment "<string>"] [-state ( ENABLED | DISABLED )]
save ns config
Ejemplo
El siguiente ejemplo modifica la designación del campo confidencial para agregar un comentario.
set appfw confidField Password "https?://www[.]example[.]com/[^<>]\*[^a-z]password[0-9a-z._-]\*[.](asp|cgi|htm|html|htp|js|php)" -comment "Protect password fields." -isRegex REGEX -state ENABLED
save ns config
<!--NeedCopy-->
Para eliminar un campo confidencial mediante la interfaz de línea de comandos
En el símbolo del sistema, escriba los comandos siguientes:
rm appfw confidField <fieldName> <url>
save ns config
Para configurar un campo confidencial mediante la GUI
- Vaya a Seguridad > Firewall de aplicaciones.
- En el panel de detalles, en Configuración, haga clic en Administrar campos confidenciales.
- En el cuadro de diálogo Administrar campos confidenciales, realice una de las siguientes acciones:
- Para agregar un nuevo campo de formulario a la lista, haga clic en Agregar.
- Para cambiar una designación de campo confidencial existente, seleccione el campo y, a continuación, haga clic en Modificar.
Aparece el cuadro de diálogo Campos confidenciales de Web App Firewall.
Nota:
Si selecciona una designación de campo confidencial existente y, a continuación, hace clic en Agregar, el cuadro de diálogo Crear campo de formulario confidencial muestra la información de ese campo confidencial. Puede modificar esa información para crear su nuevo campo confidencial.
- En el cuadro de diálogo, rellene los elementos. Se trata de:
- Casilla de verificación Activada. Seleccione o desactive para activar o desactivar esta designación de campo confidencial.
- Es una casilla de verificación del nombre del campo del formulario una expresión regular. Seleccione o desactive para habilitar las expresiones regulares con formato PCRE en el nombre del campo del formulario.
- Nombre de campo. Introduzca una cadena literal o una expresión regular con formato PCRE que represente un nombre de campo específico o que coincida con varios campos con nombres que sigan un patrón.
- URL de acción. Introduzca una URL literal o una expresión regular que defina una o más URL de las páginas web en las que se encuentran los formularios web que contienen el campo confidencial.
- Comentarios. Introduzca un comentario. Opcional.
- Haga clic en Crear o Aceptar.
- Para eliminar una designación de campo confidencial de la lista de campos confidenciales, seleccione la lista de campos confidenciales que desea eliminar y, a continuación, haga clic en Eliminar para eliminarla y, a continuación, haga clic en Aceptar para confirmar su elección.
- Cuando haya terminado de agregar, modificar y eliminar designaciones de campos confidenciales, haga clic en Cerrar.
Ejemplos
A continuación se presentan algunas expresiones regulares que definen nombres de campos de formulario que pueden resultarle útiles:
-
^passwd_ (Applies confidential-field status to all field names that begin with the “passwd_” string.)
-
^((\[0-9a-zA-Z._-]*||\\x\[0-9A-Fa-f][0-9A-Fa-f])+-)?passwd_ (Applies confidential-field status to all field names that begin with the string passwd_, or that contain the string -passwd_ after another string that might contain non-ASCII special characters.)
A continuación se muestran algunas expresiones regulares que definen tipos de URL específicos que pueden resultarle útiles. Sustituya sus propios servidores web y dominios por los de los ejemplos.
-
Si el formulario web aparece en varias páginas web del servidor web www.example.com, pero todas esas páginas web se denominan logon.pl?, puede usar la siguiente expresión regular:
https?://www[.]example[.]com/([0-9A-Za-z][0-9A-Za-z_.-]*/)*logon[.]pl? <!--NeedCopy-->
-
Si el formulario web aparece en varias páginas web en el servidor web www.example-español.com, que contiene el carácter especial n-tilde (ñ), puede usar la siguiente expresión regular, que representa el carácter especial n-tilde como una cadena UTF-8 codificada que contiene C3 B1, el código hexadecimal asignado a esa en el conjunto de caracteres UTF-8:
https?://www[.]example-espa\xC3\xB1ol[.]com/([0-9A-Za-z][0-9A-Za-z_.-]\*/)\* logon[.]pl? <!--NeedCopy-->
-
Si el formulario web que contiene query.pl aparece en varias páginas web en diferentes hosts dentro del dominio example.com, puede usar la siguiente expresión regular:
https?://([0-9A-Za-z][0-9A-Za-z_-.]*[.])\*example[.]com/([0-9A-Za-z][0-9A-Za-z_-.]\*/)*logon[.]pl? <!--NeedCopy-->
-
Si el formulario web que contiene query.pl aparece en varias páginas web en diferentes hosts en diferentes dominios, puede usar la siguiente expresión regular:
https?://([0-9A-Za-z][0-9A-Za-z_-.]\*[.])\*[0-9A-Za-z][0-9A-Za-z_-.]+[.][a-z]{2,6}/([0-9A-Za-z][0-9A-Za-z_-.]*/)*logon[.]pl? <!--NeedCopy-->
-
Si el formulario web aparece en varias páginas web del servidor web www.example.com, pero todas esas páginas web se denominan logon.pl?, puede usar la siguiente expresión regular:
https?://www[.]example[.]com/([0-9A-Za-z][0-9A-Za-z_-.]*/)*logon[.]pl? <!--NeedCopy-->