Skip to main content

Invoervalidatiefilter

Het Input Validation Filter fungeert als een eerste verdedigingslinie met configureerbare regels om Blackboard te beschermen. Het is in zekere zin een soort firewall voor Blackboard. Het controleert of binnenkomende gebruikersaanvragen veilig zijn door de gegevens langs een standaardset met regels te laten lopen.

Eén Blackboard-exemplaar kan dagelijks veel HTTP-aanvragen van toepassingen verwerken (zoals het verzenden van een Opdracht, het opslaan van een Opdracht, het aanmelden bij het systeem, het uitloggen bij het systeem, enzovoort). Voor elke aanvraag is Blackboard verantwoordelijk om te controleren of de code die deze aanvragen verwerkt de juiste waarden bevat. Door middel van regelsets geeft het filter voor invoervalidatie een overzicht van een reeks goed gedefinieerde gegevensvelden in Blackboard (bijvoorbeeld het veld Cursus-id) en worden criteria en patronen expliciet vermeld die acceptabele invoer zijn voor elk veld. Deze zijn gedefinieerd in de standaardset met regels. Als ingevoerde gegevens niet voldoen aan de regelcriteria, reageert het systeem hierop volgens de waarde die is ingesteld voor het kenmerk 'on-fail'.

De standaardset met regels kan niet worden aangepast, maar je kunt een aangepaste set met regels maken op basis van de standaardset met regels om eigen Building Blocks of Building Blocks van derden te beschermen. Je kunt de standaardset met regels bekijken om te zien met welke regels het systeem wordt beveiligd. Je kunt parameters voor verschillende Blackboard-pagina's bekijken, de waarden die hiervoor zijn toegestaan en wat er gebeurt als niet aan de beperkingen wordt voldaan. Sets met aangepaste regels maken het mogelijk om te definiëren op welke Building Blocks het filter moet worden toegepast en om snel beveiligingsproblemen op te lossen zonder te hoeven wachten op een nieuwe versie van het betreffende Building Block.

Je vindt de functie Invoervalidatiefilter hier: Configuratiescherm voor systeembeheer > Beveiliging > Invoervalidatiefilter.

Standaard regelset

Blackboard gebruikt de standaardregelset om beveiligingsproblemen snel op te lossen. De standaardregelset definieert beperkingen voor welke parameters en gegevenstypen vereist zijn voor een bepaald pad op verschillende Blackboard-pagina's. Daarnaast bepaalt de set hoe het systeem reageert als er onjuiste waardetypen worden ingevoerd. Stel dat een student een cursus-ID invoert. Volgens de regel mogen cursus-ID's alleen numerieke tekens bevatten, maar de student past de aanvraag bewust aan om een alfanumerieke waarde of een script te versturen. De manier waarop Blackboard reageert op deze schadelijke invoer wordt gedefinieerd in het "on-fail"-attribuut van de regel.

Ga naar Configuratiescherm voor beheerders > beveiliging > validatiefilter voor invoer en selecteer Standaardregelset. Je hebt nu de volgende mogelijkheden:

  • Selecteer Set met regels downloaden (xml) om de standaardset met regels te downloaden en te bekijken. Gebruik deze set als uitgangspunt voor het maken van een set met aangepaste regels.

  • Selecteer Schema downloaden (xsd) om de schemadefinitie voor de standaardset met regels te downloaden. Dit schema bepaalt de indeling die vereist is voor het maken van een set met aangepaste regels.

  • Kijk naar de datum boven aan de pagina Standaard set met regels. Dit is de datum waarop de standaardset met regels het laatst is bijgewerkt in het systeem.

Regels in de standaardset met regels zijn ontwikkeld in overeenstemming met de volgende standaarden. Je moet een set met aangepaste regels ontwikkelen op basis van deze standaarden evenals voor aangepaste regels die door het systeem moeten worden verwerkt.

Vereiste en optionele regelkenmerken

tabel 18. Regelkenmerken

Vereist vs. optioneel

Indeling

Vereiste kenmerken

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

Optionele (maar gewenste) kenmerken

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

of:

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

Optionele kenmerken

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

of:

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



Kenmerken en beschrijvingen

Sets met aangepaste regels zijn optioneel. Je kunt een set met aangepaste regels maken op basis van de set met standaardregels om beveiliging toe te voegen voor eigen Building Blocks of Building Blocks van derden, of om een regel in de set met standaardregels te vervangen met behulp van de functie voor prioriteitsbepaling.

Sets met aangepaste regels maken het mogelijk om te definiëren op welke Building Blocks het filter moet worden toegepast in het systeem en om problemen op te lossen die specifiek zijn voor je systeem voordat er een oplossing van Blackboard beschikbaar komt. Als je besluit om een set met aangepaste regels te maken, wordt deze samen met de set met standaardregels toegepast.

Een aangepaste regelset maken

  1. Ga naar het configuratiescherm voor systeembeheer en selecteer Invoervalidatiefilter onder Beveiliging.

  2. Selecteer Set met aangepaste regels.

  3. Selecteer Set met regels downloaden (xml) om de set met standaardregels op te slaan op het lokale systeem. Je kunt deze set op de gewenste manier aanpassen en gebruiken als uitgangspunt voor de set met aangepaste regels.

  4. Selecteer Schema downloaden (xsd) om het schema op te slaan en dit te gebruiken als sjabloon voor het opmaken van regels in de set met aangepaste regels. Zie Set met standaardregels voor meer informatie.

  5. Ga naar de pagina Set met aangepaste regels en selecteer Uploaden om naar de nieuwe set met aangepaste regels te gaan en deze te uploaden.

  6. Nadat de set met aangepaste regels is geüpload, kun je drie nieuwe opties kiezen:

    1. Vervangen Hiermee kun je een actieve set met aangepaste regels vervangen en een nieuwe set uploaden. Met deze optie ga je naar de pagina Set met aangepaste regels uploaden.

    2. Verwijderen: Hiermee kunt u uw aangepaste regelset verwijderen.

    3. Downloaden: Hiermee kunt u uw aangepaste regelset opslaan op uw lokale systeem en doorgaan met bewerken.

Behoud van aangepaste regelset

  • Beheerders moeten een afzonderlijke back-up onderhouden van sets met aangepaste regels.

  • Als het Building Block Invoervalidatiefilter wordt verwijderd en vervolgens opnieuw wordt geïnstalleerd, blijven sets met aangepaste regels niet behouden.

  • Als het Building Block Invoervalidatiefilter wordt bijgewerkt, blijft de bestaande set met aangepaste regels behouden en is deze nog steeds actief.

Regel prioriteit

Er is sprake van een regelconflict als twee regels dezelfde waarde hebben voor de kenmerken 'path' en 'parameter'. De set met standaardregels wordt tegelijkertijd met de set met aangepaste regels toegepast. In het geval van een regelconflict tussen sets met regels krijgt de set met aangepaste regels prioriteit boven de set met standaardregels. Als een aangepaste regel en een standaardregel zijn gedefinieerd voor dezelfde kenmerken 'path' en 'parameter', heeft de regel die het laatst is gedeclareerd prioriteit, ongeacht andere kenmerken zoals 'on-fail'.

Er is bijna nooit sprake van conflicten en als ze al optreden, zijn ze het gevolg van het toevoegen van een set met aangepaste regels. Om een conflict te voorkomen en het systeem naar verwachting te laten werken, moet je ervoor zorgen dat de kenmerken 'path' en 'parameter' van de aangepaste regel niet hetzelfde zijn als die van een andere regel in de set met standaardregels of de set met aangepaste regels. Als je regelprioriteit wilt gebruiken om conflicten op te lossen, definieer je een regel in de set met aangepaste regels om het gedrag van de set met standaardregels te vervangen.

Opmerking

Er wordt geen systeemwaarschuwing weergegeven in het geval van een conflict omdat dan een regel dichter bij het einde van het bestand wordt gebruikt.

tabel 19. Conflictscenario's

Scenario

Actie van systeem

Een regel in de set met aangepaste regels veroorzaakt een conflict met een regel in de set met aangepaste regels...

  • De conflicterende regel dichter bij het einde van het bestand wordt gebruikt.

  • De conflicterende regel in de set met aangepaste regels, boven de andere conflicterende regel in de set met aangepaste regels, wordt genegeerd.

Een regel in de set met aangepaste regels veroorzaakt een conflict met een regel in de set met standaardregels...

  • De conflicterende regel in de set met aangepaste regels wordt gebruikt.

  • De conflicterende regel in de set met standaardregels wordt genegeerd.