Skip to main content

Filtro de validação de entrada

O Filtro de validação de entrada atua como uma primeira linha de defesa com regras configuráveis para proteger o Blackboard. É, de certa forma, como um firewall para o Blackboard. Ele verifica se as solicitações do usuário que entram estão seguras, corrigindo os dados por meio de um conjunto de regras padrão.

Uma única instância do Blackboard pode processar muitas solicitações HTTP de aplicativos diariamente (como enviar exercício, salvar exercício, acessar no sistema, fazer logout do sistema e assim por diante). Para cada solicitação, a Blackboard é responsável por verificar se o código que processa essas solicitações contém os valores corretos. Por meio de conjuntos de regras, o Filtro de validação de entrada descreve uma série de campos de dados bem definidos no Blackboard (por exemplo, o campo código do curso) e lista explicitamente os critérios e padrões que são entradas aceitáveis para cada campo. Estes são definidos no conjunto de regras padrão. Se os dados inseridos não corresponderem aos critérios da regra, o sistema reagirá a isso de acordo com o valor configurado para o atributo “em falha”.

O conjunto de regras padrão não é modificável, mas você pode criar um conjunto de regras personalizado com base no conjunto de regras padrão para proteger os seus Building Blocks ou de terceiros. Você pode visualizar o conjunto de regras padrão para ver as regras que estão protegendo seu sistema. Você pode visualizar os parâmetros de várias páginas do Blackboard, os valores permitidos para elas e o que acontece se as restrições não forem atendidas. Os conjuntos de regras personalizados permitem que você defina em quais Building Blocks aplicar o filtro nos sistemas e resolva rapidamente os problemas de segurança sem ter que esperar por uma nova versão do Building Block afetado.

Encontre o recurso Filtro de validação de entrada no Painel do administrador > Segurança > Filtro de validação de entrada.

Conjunto de regras padrão

A Blackboard usa o conjunto de regras padrão para resolver rapidamente problemas de segurança. O conjunto de regras padrão define restrições para quais parâmetros e tipos de dados são necessários para um determinado caminho em várias páginas do Blackboard. Também define como o sistema reagirá se tipos de valores incorretos forem inseridos. Por exemplo, um aluno está inserindo o código de um curso. De acordo com a regra, os códigos de cursos devem conter apenas caracteres numéricos, mas um aluno manipula de forma mal-intencionada a solicitação para enviar um valor alfanumérico ou um script. A maneira como a Blackboard reage a essa entrada maliciosa é definida no atributo "on-fail" da regra.

Vá para Painel do administrador > Segurança > Filtro de validação de entrada e selecione Conjunto de regras padrão. A partir daqui você pode:

  • Selecionar Baixar conjunto de regras (xml) para fazer download e visualizar o conjunto de regras padrão. Use isso como um modelo para criar um conjunto de regras personalizado.

  • Selecionar Baixar esquema (xsd) para fazer download da definição do esquema para o conjunto de regras padrão. Isso define o formato obrigatório para criar o conjunto de regras personalizado.

  • Visualizar a data na parte superior da página Conjunto de regras padrão. Isso informa quando o conjunto de regras padrão foi atualizado pela última vez no sistema.

As regras no conjunto de regras padrão foram desenvolvidas com base nos seguintes padrões. Você deve desenvolver um conjunto de regras personalizado com base nesses padrões, bem como para regras personalizadas a serem processadas pelo sistema.

Atributos de regra obrigatórios e opcionais

tabela 18. Atributos de regras

Obrigatório vs. Opcional

Formato

Atributos obrigatórios

<rule path="..." parameter="..."/>

Atributos opcionais (porém desejáveis)

<rule path="..." parameter="..." constraint="..." on-fail="..."/>

ou:

<rule path="..." parameter="..." constraint-name="..." on-fail="..."/>

Atributos opcionais

<rule path="..." parameter="..." constraint="..." on-fail="..." min-version="..." max-version="..."/>

ou:

<rule path="..." parameter="..." constraint-name="..." on-fail="..." min-version="..." max-version="..."/>



Atributos e descrições

Os conjuntos de regras personalizados são opcionais. Você pode criar um conjunto de regras personalizado com base no conjunto de regras padrão para adicionar proteção aos seus Building Blocks ou de terceiros ou para substituir uma regra no conjunto de regras padrão, aproveitando o recurso de priorização de regras.

Os conjuntos de regras personalizados permitem que você defina para quais Building Blocks aplicar o filtro em seu sistema e resolva problemas específicos do seu sistema ou antes de uma solução da Blackboard. Se você decidir criar um conjunto de regras personalizado, ele será executado juntamente com o conjunto de regras padrão.

Criar um conjunto de regras personalizado

  1. No Painel do administrador, em Segurança, selecione Filtro de validação de entrada.

  2. Clique em Conjunto de regras personalizado.

  3. Clique em Baixar conjunto de regras (xml) para salvar o conjunto de regras padrão em seu sistema local. Você pode modificar isso conforme necessário e usá-lo como base para criar seu conjunto de regras personalizado.

  4. Clique em Baixar esquema (xsd) para salvar o esquema, que será como um guia para saber como formatar as regras no seu conjunto de regras personalizado. Para saber mais, consulte conjunto de regras padrão.

  5. Vá para a página Conjunto de regras personalizado e selecione Carregar para procurar e carregar seu novo conjunto de regras personalizado.

  6. Depois de carregar seu conjunto de regras personalizado, três novas opções serão exibidas:

    1. Substituir Permite que você substitua um conjunto de regras personalizado ativo e carregue um novo. Essa opção levará você até a página Carregar conjunto de regras personalizado.

    2. Excluir: permite excluir seu conjunto de regras personalizado.

    3. Download: Permite salvar seu conjunto de regras personalizado em seu sistema local e continuar editando-o.

Preservação de conjunto de regras personalizado

  • Os administradores devem manter uma cópia de backup de qualquer conjunto de regras personalizado.

  • Se o Building Block do Filtro de validação de entrada for excluído e depois reinstalado, os conjuntos de regras personalizados não serão mantidos.

  • Se o Building Block do Filtro de validação de entrada for atualizado, o conjunto de regras personalizado existente será mantido e permanecerá ativo.

Prioridade da regra

Um conflito de regras é definido como duas regras que possuem os mesmos valores para o atributo de caminho e parâmetro. O conjunto de regras padrão e o conjunto de regras personalizado são executados em conjunto. Portanto, no caso de um conflito de regras entre os conjuntos de regras, a prioridade da regra é dada a um conjunto de regras personalizado, depois ao conjunto de regras padrão. Se uma regra personalizada e uma regra padrão forem definidas para o mesmo atributo de caminho e de parâmetro, a regra declarada por último, independentemente de outros atributos, como “em falha”, será a ativa.

Os conflitos são considerados extremamente raros e só seriam introduzidos por um conjunto de regras personalizado. Para evitar um conflito e corresponder à sua expectativa de como o sistema funcionará, certifique-se de que o atributo de caminho e de parâmetro da regra personalizada não sejam iguais a outra regra no conjunto de regras padrão ou no conjunto de regras personalizado. Como alternativa, para aproveitar o uso de prioridades e conflitos de regras, defina uma regra no conjunto de regras personalizado para substituir o comportamento em um conjunto de regras padrão.

Nota

Nenhum aviso de sistema ocorrerá se um conflito for definido porque ele usará a regra mais próxima da parte inferior do arquivo.

tabela 19. Cenários de conflitos

Cenário

Ação do sistema

Se uma regra no conjunto de regras personalizado entrar em conflito com uma regra no conjunto de regras personalizado...

  • A regra conflitante mais próxima da parte inferior do arquivo será usada.

  • A regra conflitante no conjunto de regras personalizado acima da outra regra conflitante no conjunto de regras personalizado será ignorada.

Se uma regra no conjunto de regras personalizado entrar em conflito com uma regra no conjunto de regras padrão...

  • A regra conflitante no conjunto de regras personalizado será usada.

  • A regra conflitante no conjunto de regras padrão será ignorada.