Excel makrosäkerhet: Så skyddar du dina VBA-projekt

Förra veckan ringde en kund i panik. De hade öppnat en Excel-fil från ett okänt mail och aktiverat makron. Nu kördes konstiga processer på datorn och IT-avdelningen höll på att isolera systemet.

Makron är kraftfulla verktyg – och precis därför kan de vara farliga i fel händer. En VBA-kod kan göra nästan vad som helst på din dator: radera filer, skicka mail, ladda ner program, stjäla data.

Men rätt använt är makron inte farligare än vilken Excel-formel som helst. Det handlar om att förstå riskerna och sätta upp rätt skydd.

Förstå risken

VBA-kod körs med samma rättigheter som du själv har på datorn. Om du kan radera filer kan ett makro göra det. Om du kan läsa dokument kan ett makro göra det. Om du kan skicka mail kan ett makro göra det.

Vanliga hot:Macro virus: Kod som sprider sig till andra filer – Data stöld: Kod som skickar känslig information utåt – Ransomware: Kod som krypterar dina filer och kräver lösensumma – Destruktiv kod: Kod som raderar eller förstör filer – Spionprogram: Kod som loggar tangenttryckningar eller skärmdumpar

Det här är inte teoretiska risker. De händer verkligen, och Excel-makron är en vanlig angreppsvektor.

Grundläggande säkerhetsinställningar

Excel har inbyggda säkerhetslager. Här är hur du konfigurerar dem rätt.

Säkerhetsnivåer i Excel

Steg 1: Gå till File > Options

Steg 2: Välj Trust Center i vänstermenyn

Steg 3: Klicka på “Trust Center Settings”

Steg 4: Välj “Macro Settings” i vänstermenyn

Du ser nu fyra alternativ:

1. Disable all macros without notification – Högsta säkerhet – Inga makron körs överhuvudtaget – Ens dina egna makron fungerar inte – Använd om: Du aldrig arbetar med makron

2. Disable all macros with notification (REKOMMENDERAD) – Makron blockeras som standard – Du får en varning och kan välja att aktivera – Balans mellan säkerhet och användbarhet – Använd om: Du arbetar med makron regelbundet

3. Disable all macros except digitally signed macros – Endast makron från betrodda källor tillåts – Kräver digitala certifikat – Använd om: Du har företagsstandard med signerade makron

4. Enable all macros (not recommended) – Ingen säkerhet alls – Alla makron körs automatiskt – Använd aldrig utom i isolerad testmiljö

Vår rekommendation: Använd alternativ 2 för de flesta användare, alternativ 3 för företagsmiljöer med IT-infrastruktur.

Betrodda platser

Du kan ange mappar där Excel automatiskt litar på makron. Detta är praktiskt för dina egna utvecklingsfiler.

Steg 1: Trust Center > Trusted Locations

Steg 2: Klicka “Add new location”

Steg 3: Välj en mapp (t.ex. C:)

Steg 4: Bocka i “Subfolders of this location are also trusted” om du vill

VIKTIGT: Lägg endast filer DU skapat eller filer från HELT betrodda källor i dessa mappar. Allt i en betrodd plats körs utan säkerhetskontroll.

Identifiera säkra vs osäkra filer

När du öppnar en fil med makron visas en gul varningsbar: “Security Warning: Macros have been disabled.”

Frågor att ställa innan du klickar “Enable Content”:

1. Känner jag avsändaren? – Ja, det är min kollega → Troligen säkert – Nej, okänt mail → AKTIVERA INTE

2. Förväntade jag denna fil? – Ja, jag bad om rapporten → Troligen säkert – Nej, oväntad bilaga → AKTIVERA INTE

3. Verkar filnamnet legitimt? – “Månadsrapport_Januari.xlsm” → Troligen säkert – “BRÅDSKANDE_faktura_betala_nu.xlsm” → Misstänkt

4. Kommer filen från en betrodd källa? – Från företagets intranät → Troligen säkert – Från okänd hemsida → AKTIVERA INTE

Gyllene regel: Vid minsta tvivel, aktivera INTE makron. Kontakta avsändaren via annan kanal (ring, skicka nytt mail) och bekräfta att filen är äkta.

Granska VBA-kod innan du kör den

Om du har grundläggande VBA-kunskap kan du granska koden innan du aktiverar den.

Steg 1: Öppna filen UTAN att aktivera makron

Steg 2: Tryck Alt + F11 för att öppna VBA-editorn

Steg 3: Granska alla moduler och koden

Röda flaggor att leta efter:

' MISSTÄNKT: Köra externa program
Shell "cmd.exe /c ..."
CreateObject("WScript.Shell").Run

' MISSTÄNKT: Filoperationer på systemfiler
Kill "C:\Windows\..."
Name "C:\..." As "C:\..."

' MISSTÄNKT: Nätverksaktivitet
CreateObject("MSXML2.XMLHTTP")
CreateObject("Microsoft.XMLHTTP")

' MISSTÄNKT: Dölja aktivitet
Application.ScreenUpdating = False
Application.DisplayAlerts = False

' MISSTÄNKT: Självkopiering
ThisWorkbook.VBProject.VBComponents(...)

Legitimt men kraftfullt:

' OK i rätt sammanhang: Outlook-integration
CreateObject("Outlook.Application")

' OK: Filoperationer i användarens mappar
Kill ThisWorkbook.Path & "\temp.txt"

' OK: Performance-optimering
Application.ScreenUpdating = False

Om du ser kod du inte förstår eller som verkar göra konstiga saker – aktivera INTE makron. Kontakta en expert.

Skydda din egen VBA-kod

Om du utvecklar makron vill du ofta skydda dem från att ändras av andra eller från att visas för obehöriga.

Lösenordsskydda VBA-projektet

Steg 1: Öppna VBA-editorn (Alt + F11)

Steg 2: Gå till Tools > VBAProject Properties

Steg 3: Gå till fliken “Protection”

Steg 4: Bocka i “Lock project for viewing”

Steg 5: Ange lösenord (två gånger)

Steg 6: Klicka OK och spara filen

Nu kan ingen öppna VBA-editorn utan lösenord.

VIKTIGT: – Glöm inte lösenordet – det finns ingen “återställ”-funktion – Detta skydd är inte militärt starkt men stoppar de flesta användare – Dokumentera lösenordet säkert för företagsfiler

Digitalt signera dina makron

För företagsmiljöer rekommenderas digital signering av makron.

Fördelar: – Användare kan verifiera att makrot kommer från dig – Makrot har inte ändrats efter signering – Kan konfigureras att automatiskt tillåtas i företaget

Hur du gör:

Steg 1: Skaffa ett digitalt certifikat – För test: Använd SelfCert.exe (kommer med Office) – För företag: Köp certifikat från certifikatutfärdare

Steg 2: I VBA-editorn, gå till Tools > Digital Signature

Steg 3: Välj ditt certifikat

Steg 4: Klicka OK

Nu är makrot signerat. När någon öppnar filen kan de se att den är signerad av dig och verifiera att den inte ändrats.

Bästa praxis för säker makroanvändning

För användare

1. Håll Excel uppdaterat Säkerhetsuppdateringar fixar kända sårbarheter. Installera uppdateringar regelbundet.

2. Använd antivirus Modern antivirus scannar Excel-filer och kan upptäcka känd skadlig kod.

3. Backup regelbundet Om något går fel har du åtminstone en backup. Automatisera gärna detta (se vår artikel om automation).

4. Isolera testning Testa aldrig okända makron på din huvuddator. Använd en virtuell maskin eller testenhet.

5. Utbilda teamet Se till att alla som arbetar med Excel förstår riskerna och vet hur man identifierar hot.

För utvecklare

1. Kommentera din kod Gör det tydligt vad koden gör. Detta hjälper andra att granska den.

2. Undvik onödigt kraftfulla funktioner Om du inte behöver Shell-kommandon eller filsystemsåtkomst, använd dem inte.

3. Lägg till bekräftelser För destruktiva operationer (radera data, skicka mail), fråga användaren först:

If MsgBox("Detta raderar all data. Fortsätt?", vbYesNo) = vbNo Then
    Exit Sub
End If

4. Logga aktivitet För företagskritiska makron, logga vad som händer:

Open ThisWorkbook.Path & "\log.txt" For Append As #1
Print #1, Now & " - Rapport genererad av " & Environ("USERNAME")
Close #1

5. Testa noggrant Testa alltid på exempeldata innan du kör på produktionsdata. Buggar kan vara lika skadliga som avsiktligt skadlig kod.

IT-policy för företag

Om du är IT-ansvarig eller beslutar om säkerhetspolicy rekommenderar vi:

1. Centraliserad makroadministration – Signera alla företagsmakron med företagscertifikat – Konfigurera Group Policy för att endast tillåta signerade makron – Underhåll en katalog över godkända makron

2. Användarutbildning – Årlig säkerhetsutbildning som inkluderar makrorisker – Tydliga instruktioner för vad man ska göra vid misstänkta filer – Rapporteringsrutin för säkerhetsincidenter

3. Monitorering – Logga när makron aktiveras (om möjligt) – Håll koll på onormala aktiviteter – Regelbunden säkerhetsgranskning

4. Begränsningar – Överväg att helt blockera makron för användare som inte behöver dem – Använd betrodda platser endast för centralt godkända filer – Begränsa fildelning av .xlsm-filer via mail

Vad du gör om något går fel

Om du av misstag aktiverade makron i en misstänkt fil:

Steg 1: Isolera – Koppla loss nätverkskabeln eller stäng av WiFi omedelbart – Detta förhindrar att skadlig kod kommunicerar utåt eller sprids

Steg 2: Stäng Excel – Ctrl + Alt + Delete > Task Manager – Avsluta alla Excel-processer

Steg 3: Scanna systemet – Kör fullständig antivirusscan – Använd gärna ett online-verktyg som andra mening

Steg 4: Informera IT – Om det är en företagsdator, kontakta IT-avdelningen omedelbart – De kan behöva isolera din dator från nätverket

Steg 5: Ändra lösenord – Om filen potentiellt hade tillgång till känslig information, ändra relevanta lösenord – Särskilt viktigt om du har lösenord sparade i webbläsaren

Steg 6: Övervaka – Håll koll på ovanlig aktivitet på ditt konto – Kontrollera att inga oväntade mail skickats från din adress

Sammanfattning

Makrosäkerhet handlar om balans. För mycket säkerhet och du kan inte arbeta effektivt. För lite och du riskerar allvarliga säkerhetsproblem.

Följ dessa grundregler: – Använd säkerhetsinställning “Disable with notification” – Aktivera endast makron från kända och betrodda källor – Granska kod om du har kunskap – Lösenordsskydda och signera dina egna makron – Utbilda teamet i säker hantering – Håll system och antivirus uppdaterade

Med dessa rutiner kan du dra nytta av makrons kraft utan att utsätta dig för onödiga risker.

Behöver du hjälp med säker makroutveckling?

På Excel Department följer vi strikta säkerhetsstandarder i all VBA-utveckling. Vi signerar all kod, dokumenterar noggrant och utbildar användare i säker hantering.

Kontakta oss för konsultation om säker Excel-automation för ditt företag.


Skriven av Lukas Lilja, Excel Department. Vi hjälper företag bygga säkra, effektiva Excel-lösningar som fungerar utan att kompromissa säkerheten.