Dela via


Felsöka Web Application Firewall (WAF) för Azure Application Gateway

Om brandväggen för webbaserade program (WAF) blockerar begäranden som ska tillåtas finns det några steg du kan vidta.

Börja med att granska WAF-översikten och WAF-konfigurationsdokumentationen och se till att WAF-övervakning är aktiverat. I de här artiklarna beskrivs hur WAF fungerar, hur regeluppsättningarna fungerar och hur du får åtkomst till WAF-loggar.

OWASP-regeluppsättningarna är utformade för att vara strikta och finjusteras så att de passar programmets eller organisationens specifika behov med hjälp av WAF. Det är helt normalt och förväntat i många fall att skapa undantag, anpassade regler och till och med inaktivera regler som kan orsaka problem eller ge falska positiva resultat. Med principer per webbplats och per URI kan dessa ändringar endast påverka specifika webbplatser/URI:er. Ändringar bör därför inte behöva påverka andra webbplatser som kanske inte stöter på samma problem.

Förstå WAF-loggar

Syftet med WAF-loggar är att visa varje begäran som WAF matchar eller blockerar. Det är en transaktionsbok för alla utvärderade begäranden som matchas eller blockeras. Om du märker att WAF blockerar en begäran som den inte borde (ett falskt positivt) kan du göra några saker. Börja med att begränsa och hitta den specifika begäran. Titta igenom loggarna för att hitta den specifika URI:n, tidsstämpeln eller transaktions-ID:t för begäran. När du hittar de associerade loggposterna kan du börja hantera falska positiva resultat.

Anta till exempel att du har en legitim trafik som innehåller strängen 1=1 som du vill skicka genom din WAF. Om du provar begäran blockerar WAF trafik som innehåller din 1=1 sträng i valfri parameter eller fält. Det här är en sträng som ofta associeras med en SQL-inmatningsattack. Du kan titta igenom loggarna och se tidsstämpeln för begäran och reglerna som blockerade/matchade.

I följande exempel kan du se att fyra regler utlöses under samma begäran (med fältet TransactionId). Den första säger att den matchade eftersom användaren använde en numerisk/IP-URL för begäran, vilket ökar avvikelsepoängen med tre eftersom det är en varning. Nästa regel som matchade är 942130, som är den du letar efter. Du kan se 1=1 i fältet details.data. Detta ökar avvikelsepoängen ytterligare med tre igen, eftersom det också är en varning. I allmänhet ökar varje regel som har åtgärden Matchad avvikelsepoängen, och vid den här tidpunkten skulle avvikelsepoängen vara sex. Mer information finns i Avvikelsebedömningsläge.

De sista två loggposterna visar att begäran blockerades eftersom avvikelsepoängen var tillräckligt hög. Dessa poster har en annan åtgärd än de andra två. De visar att de faktiskt blockerade begäran. Dessa regler är obligatoriska och kan inte inaktiveras. De bör inte betraktas som regler, utan mer som kärninfrastrukturen för WAF internals.

{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": { 
            "message": "Warning. Pattern match \\\"^[\\\\\\\\d.:]+$\\\" at REQUEST_HEADERS:Host. ",
            "data": "40.90.218.160",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf\\\"",
            "line": "791" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    } 
} 
{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "942130",
        "message": "SQL Injection Attack: SQL Tautology Detected.",
        "action": "Matched",
        "site": "Global",
        "details": { 
            "message": "Warning. Pattern match \\\"(?i:([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)([\\\\\\\\d\\\\\\\\w]++)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?:(?:=|\\u003c=\\u003e|r?like|sounds\\\\\\\\s+like|regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)\\\\\\\\2|(?:!=|\\u003c=|\\u003e=|\\u003c\\u003e|\\u003c|\\u003e|\\\\\\\\^|is\\\\\\\\s+not|not\\\\\\\\s+like|not\\\\\\\\s+regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?!\\\\\\\\2)([\\\\\\\\d\\\\\\\\w]+)))\\\" at ARGS:text1. ",
            "data": "Matched Data: 1=1 found within ARGS:text1: 1=1",
            "file": "rules\/REQUEST-942-APPLICATION-ATTACK-SQLI.conf\\\"",
            "line": "554" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    } 
} 
{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Score: 8)",
        "action": "Blocked",
        "site": "Global",
        "details": { 
            "message": "Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. ",
            "data": "",
            "file": "rules\/REQUEST-949-BLOCKING-EVALUATION.conf\\\"",
            "line": "57" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    } 
} 
{ 
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": { 
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Inbound Score: 8 - SQLI=5,XSS=0,RFI=0,LFI=0,RCE=0,PHPI=0,HTTP=0,SESS=0): SQL Injection Attack: SQL Tautology Detected.",
        "action": "Blocked",
        "site": "Global",
        "details": { 
            "message": "Warning. Operator GE matched 5 at TX:inbound_anomaly_score. ",
            "data": "",
            "file": "rules\/RESPONSE-980-CORRELATION.conf\\\"",
            "line": "73" 
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt" 
    }
}

Åtgärda falska positiva identifieringar

Med den här informationen, och vetskapen om att regel 942130 är den som matchade strängen 1=1 , kan du göra några saker för att hindra detta från att blockera trafiken:

  • Använd en undantagslista. Mer information om undantagslistor finns i WAF-undantagslistor.

  • Inaktivera regeln.

Använda en undantagslista

Om du vill fatta ett välgrundat beslut om att hantera falska positiva identifieringar är det viktigt att bekanta dig med de tekniker som programmet använder. Anta till exempel att det inte finns någon SQL-server i din teknikstack och att du får falska positiva resultat relaterade till dessa regler. Att inaktivera dessa regler försvagar inte nödvändigtvis din säkerhet.

En fördel med att använda en undantagslista är att endast en viss del av en begäran inaktiveras. Det innebär dock att ett specifikt undantag gäller för all trafik som passerar genom din WAF eftersom det är en global inställning. Detta kan till exempel leda till ett problem om 1=1 är en giltig begäran i brödtexten för en viss app, men inte för andra. En annan fördel är att du kan välja mellan brödtext, huvuden och cookies som ska undantas om ett visst villkor uppfylls, i stället för att utesluta hela begäran.

Ibland finns det fall där specifika parametrar skickas till WAF på ett sätt som kanske inte är intuitivt. Det finns till exempel en token som skickas när du autentiserar med Microsoft Entra-ID. __RequestVerificationToken skickas vanligtvis som en cookie för begäran. Men i vissa fall där cookies är inaktiverade skickas denna token också som ett begärandeattribut eller arg. Om detta händer måste du se till att __RequestVerificationToken också läggs till i undantagslistan som ett namn på begärandeattributet.

Skärmbild som visar undantagslistan.

I det här exemplet vill du exkludera det namnattributet Request som är lika med text1. Detta är uppenbart eftersom du kan se attributnamnet i brandväggsloggarna: data: Matchade data: 1=1 som finns i ARGS:text1: 1=1. Attributet är text1. Du kan också hitta det här attributnamnet på några andra sätt, se Söka efter begärans attributnamn.

Skärmbild som visar hur du konfigurerar WAF-undantagslistor.

Du kan skapa undantag för WAF i Application Gateway på olika omfångsnivåer. Mer information finns i undantagslistor för brandvägg för webbaserade program.

Inaktivera regler

Ett annat sätt att komma runt ett falskt positivt resultat är att inaktivera regeln som matchade på indata som WAF trodde var skadlig. Eftersom du har parsat WAF-loggarna och har begränsat regeln till 942130 kan du inaktivera den i Azure Portal. Se Anpassa brandväggsregler för webbprogram via Azure Portal.

En fördel med att inaktivera en regel är att om du vet att all trafik som innehåller ett visst villkor som normalt blockeras är giltig trafik kan du inaktivera den regeln för hela WAF. Men om det bara är giltig trafik i ett specifikt användningsfall öppnar du en säkerhetsrisk genom att inaktivera regeln för hela WAF eftersom det är en global inställning.

Om du vill använda Azure PowerShell kan du läsa Anpassa brandväggsregler för webbprogram via PowerShell. Om du vill använda Azure CLI kan du läsa Anpassa brandväggsregler för webbprogram via Azure CLI.

Registrera HAR-filer

Du kan använda webbläsaren eller ett externt verktyg som Fiddler för att spela in HAR-filer (HTTP Archive). HAR-filer innehåller information om de begäranden och svar som webbläsaren gör när du läser in en webbsida. Den här informationen kan vara användbar för att felsöka WAF-problem.

Tips/Råd

Det är en bra idé att ha HAR-filen redo när du kontaktar supporten. Supportteamet kan använda HAR-filen för att diagnostisera problemet.

Följ dessa steg för att registrera och spara en HAR-fil i Microsoft Edge

  1. Tryck på F12 eller Ctrl+Skift+I för att starta Edge Developer-verktyg. Du kan också starta verktygen från verktygsfältsmenyn under Fler verktyg > Utvecklarverktyg.

  2. På fliken Konsol väljer du Rensa konsol eller trycker på Ctrl+L.

    Skärmbild av fliken Konsol i Microsoft Edge-utvecklarverktyg.

  3. Välj fliken Nätverk.

  4. Välj Rensa nätverkslogg eller tryck Ctrl+L, och välj sedan Spela in nätverkslogg om den inte spelas in.

    Skärmbild av fliken Nätverk i Microsoft Edge-utvecklarverktyg.

  5. Läs in den webbsida som skyddas av din WAF och som du vill felsöka.

  6. Stoppa inspelningen genom att välja Stoppa inspelning av nätverksloggen.

  7. Välj Exportera HAR (sanerat)... och spara HAR-filen.

    Skärmbild som visar hur du sparar HAR-filen i Microsoft Edge-utvecklarverktyg.

Hitta namn på begärandeattribut

Du kan använda Fiddler för att inspektera enskilda begäranden och avgöra vilka specifika fält på en webbsida som anropas. Om du använder den här informationen kan du exkludera vissa fält från inspektion med hjälp av undantagslistor.

I det här exemplet kan du se att fältet där strängen 1=1 angavs kallas text1.

Skärmbild av Fiddler Web Debugger. I fliken Rå är 1=1 synlig efter namnet text1.

Det här är ett fält som du kan exkludera. Mer information om undantagslistor finns i undantagslistor för brandvägg för webbprogram. Du kan exkludera utvärderingen i det här fallet genom att konfigurera följande undantag:

Skärmbild som visar WAF-exkludering.

Du kan också granska brandväggsloggarna för att hämta informationen för att se vad du behöver lägga till i undantagslistan. Information om hur du aktiverar loggning finns i Serverdelshälsa, resursloggar och mått för Application Gateway.

Granska brandväggsloggen och visa PT1H.json-filen för den timme som begäran som du vill inspektera inträffade.

I det här exemplet kan du se att du har fyra regler med samma TransactionID och att alla inträffade exakt samtidigt:

{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"^[\\\\\\\\d.:]+$\\\" at REQUEST_HEADERS:Host. ",
            "data": "40.90.218.160",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf\\\"",
            "line": "791"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}
{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "942130",
        "message": "SQL Injection Attack: SQL Tautology Detected.",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"(?i:([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)([\\\\\\\\d\\\\\\\\w]++)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?:(?:=|\\u003c=\\u003e|r?like|sounds\\\\\\\\s+like|regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)\\\\\\\\2|(?:!=|\\u003c=|\\u003e=|\\u003c\\u003e|\\u003c|\\u003e|\\\\\\\\^|is\\\\\\\\s+not|not\\\\\\\\s+like|not\\\\\\\\s+regexp)([\\\\\\\\s'\\\\\\\"`\\\\\\\\(\\\\\\\\)]*?)(?!\\\\\\\\2)([\\\\\\\\d\\\\\\\\w]+)))\\\" at ARGS:text1. ",
            "data": "Matched Data: 1=1 found within ARGS:text1: 1=1",
            "file": "rules\/REQUEST-942-APPLICATION-ATTACK-SQLI.conf\\\"",
            "line": "554"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}
{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Score: 8)",
        "action": "Blocked",
        "site": "Global",
        "details": {
            "message": "Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. ",
            "data": "",
            "file": "rules\/REQUEST-949-BLOCKING-EVALUATION.conf\\\"",
            "line": "57"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}
{
    "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/DEMOWAF-V2",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_3",
        "clientIp": "203.0.113.139",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "",
        "ruleSetVersion": "",
        "ruleId": "0",
        "message": "Mandatory rule. Cannot be disabled. Inbound Anomaly Score Exceeded (Total Inbound Score: 8 - SQLI=5,XSS=0,RFI=0,LFI=0,RCE=0,PHPI=0,HTTP=0,SESS=0): SQL Injection Attack: SQL Tautology Detected.",
        "action": "Blocked",
        "site": "Global",
        "details": {
            "message": "Warning. Operator GE matched 5 at TX:inbound_anomaly_score. ",
            "data": "",
            "file": "rules\/RESPONSE-980-CORRELATION.conf\\\"",
            "line": "73"
        },
        "hostname": "vm000003",
        "transactionId": "AcAcAcAcAKH@AcAcAcAcAyAt"
    }
}

Med dina kunskaper om hur CRS-regeluppsättningar fungerar och att CRS-regeluppsättningen 3.0 fungerar med ett system för avvikelsebedömning (se Brandvägg för webbaserade program för Azure Application Gateway) vet du att de två nedersta reglerna med åtgärden: Blockerad egenskap blockerar baserat på den totala avvikelsepoängen. Reglerna att fokusera på är de två främsta.

Den första posten loggas eftersom användaren använde en numerisk IP-adress för att navigera till Application Gateway, vilket kan ignoreras i det här fallet.

Den andra (regel 942130) är den intressanta. Du kan se i informationen att det matchade ett mönster (1=1)och att fältet heter text1. Följ samma föregående steg för att exkludera namnet på begärarattributet som är lika med 1=1.

Hitta namn på begärandehuvud

Du kan använda Fiddler för att hitta namn på begäranderubriker. I följande skärmbild kan du se rubrikerna för den här GET-begäran, som innehåller Content-Type, User-Agent och så vidare.

Skärmbild av Fiddler Web Debugger. På fliken

Ett annat sätt att visa begärande- och svarshuvuden är att använda utvecklarverktygen i Microsoft Edge eller Google Chrome. Mer information finns i Spela in HAR-filer.

Om begäran innehåller cookies kan fliken Cookies väljas för att visa dem i Fiddler.

Begränsa globala parametrar för att eliminera falska positiva resultat

  • Inaktivera granskning av begärandekropp

    Genom att ställa in Inspektera begärandetexten till av, utvärderas inte begärandetexterna för din trafik av din WAF. Detta kan vara användbart om du vet att begärans innehåll inte är skadliga för din applikation.

    När du inaktiverar det här alternativet kringgår endast begärandetexten kontrollen. Huvudena och cookies inspekteras fortfarande, såvida inte enskilda objekt exkluderas med hjälp av funktionen för undantagslistan.

  • Inaktivera maxgränsen för begärandetext

    Genom att inaktivera maxgränsen för begärandetexten kan WAF bearbeta stora begäranden utan att avvisa dem för att de överskrider storleksgränsen. Den här inställningen är användbar om du regelbundet har stora begäranden.

    När du inaktiverar det här alternativet kommer begärandetexten endast att inspekteras upp till den maximala kontrollgränsen för begärandetext. Om det finns skadligt innehåll i begäran utöver maxgränsen för kontroll av begärandetext identifierar waf inte det.

  • Inaktivera maximala filstorleksgränser

    Genom att inaktivera filstorleksgränserna för din WAF kan stora filer laddas upp utan att WAF avvisar dessa filuppladdningar. Genom att tillåta att stora filer laddas upp ökar risken för att serverdelen överbelastas. Om du vet den maximala storleken som en filuppladdning kan vara kan du ange en storleksgräns för filuppladdningar som är något över den förväntade maxstorleken. Att begränsa filstorleken till ett normalt användningsfall för ditt program är ett annat sätt att förhindra attacker. Men om dina filuppladdningar regelbundet överskrider den maximala gränsen för tvingande filuppladdningsstorlek kan du behöva inaktivera storleksbegränsningarna för filuppladdning helt för att undvika falska positiva identifieringar.

    Kommentar

    Om du vet att din app aldrig behöver någon filuppladdning över en viss storlek kan du begränsa det genom att ange en gräns.

    Varning

    När du tilldelar en ny hanterad regeluppsättning till en WAF-princip återställs alla tidigare anpassningar från befintliga hanterade regeluppsättningar, till exempel regeltillstånd, regelåtgärder och undantag på regelnivå till standardinställningarna för den nya hanterade regeluppsättningen. Anpassade regler, principinställningar och globala undantag påverkas dock inte under tilldelningen av den nya regeluppsättningen.

Brandväggsmått (endast WAF v1)

För v1 Web Application Firewalls är följande mått nu tillgängliga i portalen:

  1. Antal blockerade begäranden i brandväggen för webbaserade program Antalet begäranden som har blockerats
  2. Antal blockerade regler av Web Application Firewall Alla regler som matchades och där begäran blockerades
  3. Total regeldistribution för brandvägg för webbaserade program Alla regler som matchades under utvärderingen

Om du vill aktivera mått väljer du fliken Mått i portalen och väljer ett av de tre måtten.

Nästa steg