Konfigurera security.txt för CRA-efterlevnad: En 10-minutersguide

En snabb, praktisk guide för att implementera security.txt för dina produkter. Inkluderar mallar, hostingalternativ och vanliga misstag att undvika.

CRA Evidence Team
Författare
6 februari 2026
Uppdaterad 25 februari 2026 00:00:00 UTC
7 min läsning
Konfigurera security.txt för CRA-efterlevnad: En 10-minutersguide
In this article

CRA kräver en offentligt tillgänglig kontaktpunkt för sårbarhetrapporter. Det enklaste sättet att efterleva? En security.txt-fil.

Den här 10-minutersguiden tar dig från noll till efterlevnad.

Sammanfattning

  • security.txt är en standardiserad fil (RFC 9116) som berättar för forskare hur de ska rapportera sårbarheter
  • Placera den på /.well-known/security.txt på din webbnärvaro
  • Minimikrav: Contact, Expires
  • Rekommenderat: Inkludera också Preferred-Languages, Policy, Canonical
  • För produkter utan webbgränssnitt, inkludera URL:en i dokumentationen

Vad är security.txt?

security.txt är en RFC-standard (RFC 9116) som tillhandahåller ett maskinläsbart och mänskligt läsbart sätt att publicera säkerhetskontaktinformation.

Varför det spelar roll för CRA:

  • CRA kräver kontaktpunkter för sårbarhetrapportering
  • security.txt är branschstandard
  • Automatiserade verktyg och forskare söker efter det
  • Visar myndigheter att du implementerat korrekta avslöjandekanaler

Det minimala security.txt

Här är den enklaste efterlevnadsfilen:

Contact: mailto:security@dittforetag.com
Expires: 2027-12-31T23:59:59.000Z

Det är allt. Två rader. Du är tekniskt efterlevande.

Men låt oss göra det bättre.

Det rekommenderade security.txt

Ett komplett, professionellt security.txt:

# Säkerhetskontaktinformation för [Ditt Företag]
# https://www.dittforetag.com/.well-known/security.txt

Contact: mailto:security@dittforetag.com
Contact: https://dittforetag.com/security/report
Expires: 2027-01-01T00:00:00.000Z
Encryption: https://dittforetag.com/.well-known/pgp-key.txt
Preferred-Languages: sv, en, de
Canonical: https://dittforetag.com/.well-known/security.txt
Policy: https://dittforetag.com/security/disclosure-policy
Hiring: https://dittforetag.com/careers/security
Acknowledgments: https://dittforetag.com/security/thanks

Fältvis förklaring

Contact (Obligatorisk)

Hur forskare ska nå dig.

Contact: mailto:security@dittforetag.com
Contact: https://dittforetag.com/security/report

Bästa praxis:

  • Inkludera både e-post OCH webbformulär
  • Använd ett teame-postalias, inte personlig e-post
  • Webbformulär ger strukturerat intag
  • Flera Contact-rader är tillåtna

Expires (Obligatorisk)

När den här filen bör anses vara inaktuell.

Expires: 2027-01-01T00:00:00.000Z

Bästa praxis:

  • Sätt 6–12 månader i framtiden
  • Använd ISO 8601-format med tidszon
  • Sätt en kalenderpåminnelse om att uppdatera innan utgångsdatum
  • Inaktuella filer ger intrycket av ett dåligt underhållet program

Encryption (Rekommenderas)

PGP-nyckel för krypterade rapporter.

Encryption: https://dittforetag.com/.well-known/pgp-key.txt

Bästa praxis:

  • Hosta din publika nyckel på den angivna URL:en
  • Använd en teamnyckel, inte individuell nyckel
  • Inkludera nyckelfingeravtryck i kommentarer
  • Håll privat nyckel säker (HSM om möjligt)

Preferred-Languages (Rekommenderas)

Språk som ditt team kan hantera rapporter på.

Preferred-Languages: sv, en, de

Bästa praxis:

  • Lista språk ditt säkerhetsteam faktiskt talar
  • Engelska bör vanligtvis inkluderas
  • Sortera efter preferens
  • Lista inte språk du faktiskt inte kan svara på

Canonical (Rekommenderas)

Den auktoritativa platsen för den här filen.

Canonical: https://dittforetag.com/.well-known/security.txt

Varför det spelar roll:

  • Förhindrar förfalskning
  • Klargör om filen är speglad
  • Hjälper forskare att verifiera äkthet

Policy (Rekommenderas)

Länk till din fullständiga policy för sårbarhetavslöjande.

Policy: https://dittforetag.com/security/disclosure-policy

Bästa praxis:

  • Länka till din fullständiga CVD-policy
  • Säkerställ att sidan finns och är tillgänglig
  • Håll policy och security.txt synkroniserade

Acknowledgments (Valfritt)

Länk till din säkerhets Hall of Fame.

Acknowledgments: https://dittforetag.com/security/thanks

Varför inkludera det:

  • Visar att du värdesätter forskare
  • Uppmuntrar rapporter (erkännande motiverar)
  • Demonstrerar ett moget säkerhetsprogram

Hiring (Valfritt)

Länk till säkerhetsjobbannonsering.

Hiring: https://dittforetag.com/careers/security

Varför inkludera det:

  • Forskare gör ofta bra anställningar
  • Visar investering i säkerhet
  • Goodwill i gemenskapen

Steg-för-steg-installation

Steg 1: Skapa filen

Skapa en ren textfil med din information:

# Skapa filen
cat > security.txt << 'EOF'
# Säkerhetskontaktinformation för DittFöretag
# Senast uppdaterad: 2026-01-15

Contact: mailto:security@dittforetag.com
Contact: https://dittforetag.com/security/report
Expires: 2027-01-15T00:00:00.000Z
Preferred-Languages: sv, en
Canonical: https://dittforetag.com/.well-known/security.txt
Policy: https://dittforetag.com/security/policy
EOF

Steg 2: Välj hostingplats

Filen måste finnas på /.well-known/security.txt

För webbplatser:

https://dittforetag.com/.well-known/security.txt

För produkter med webbgränssnitt:

https://product.local/.well-known/security.txt
https://192.168.1.1/.well-known/security.txt

Steg 3: Konfigurera din webbserver

Nginx:

location /.well-known/security.txt {
    alias /var/www/security.txt;
    default_type text/plain;
}

Apache:

Alias /.well-known/security.txt /var/www/security.txt
<Files "security.txt">
    ForceType text/plain
</Files>

Express.js:

const express = require('express');
const app = express();

app.get('/.well-known/security.txt', (req, res) => {
    res.type('text/plain');
    res.sendFile(__dirname + '/security.txt');
});

Statisk hosting (S3, GitHub Pages, etc.): Placera bara filen i katalogen .well-known.

Steg 4: Verifiera

Kontrollera att din fil är tillgänglig:

curl https://dittforetag.com/.well-known/security.txt

Använd en online-validerare:

Steg 5: Signera (Valfritt men rekommenderas)

Digital signering av security.txt för äkthet:

# Signera med GPG
gpg --clearsign security.txt

# Detta skapar security.txt.asc
# Byt namn och driftsätt
mv security.txt.asc security.txt

Signerad fil ser ut så här:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Contact: mailto:security@dittforetag.com
Expires: 2027-01-01T00:00:00.000Z
...

-----BEGIN PGP SIGNATURE-----
[signaturdata]
-----END PGP SIGNATURE-----

För produkter utan webbgränssnitt

Alla produkter har inte webbservrar. Här är hur du hanterar security.txt:

Inbyggda enheter

Alternativ 1: Om enheten har något webbgränssnitt (konfigurationssida, statussida):

  • Hosta security.txt på det gränssnittet
  • http://enhet-ip/.well-known/security.txt

Alternativ 2: Om inget webbgränssnitt:

  • Inkludera URL:en i produktdokumentationen
  • Referera till ditt företagets security.txt
  • Lägg till i snabbstartsguiden: "Rapportera säkerhetsproblem på: https://foretag.com/security"

Skrivbordsprogram

  • Inkludera säkerhetskontakt i Hjälp > Om
  • Lägg till i README/dokumentation
  • Referera URL till företagets security.txt

Mobilappar

  • Inkludera i appens Inställningar > Om > Säkerhet
  • Länka till företagets security.txt
  • Lägg till i app store-beskrivning

Dokumentationsreferens

Lägg till i din produktdokumentation:

## Rapportering av säkerhetssårbarheter

För att rapportera säkerhetssårbarheter i den här produkten:

- E-post: security@dittforetag.com
- Webb: https://dittforetag.com/security/report
- Policy: https://dittforetag.com/security/policy

Vår security.txt-fil: https://dittforetag.com/.well-known/security.txt

Vanliga misstag

Utgången fil

Problem: Expires-datum är passerat.

Expires: 2024-01-01T00:00:00.000Z  # UTGÅNGET!

Lösning: Sätt ett framtida datum. Lägg till kalenderpåminnelse.

Fel plats

Problem: Filen på fel sökväg.

/security.txt           # Fel
/security/security.txt  # Fel
/.well-known/security.txt  # Rätt

Lösning: Använd standardplatsen.

Ogiltigt format

Problem: Fel datumformat, saknade fält.

Expires: January 1, 2027  # Fel format
Contact: security team    # Inte en giltig URI

Lösning: Använd ISO 8601-datum, mailto:- eller https:-URI:er.

Döda länkar

Problem: Policy- eller Acknowledgments-URL:er returnerar 404.

Lösning: Verifiera att alla länkar fungerar. Kontrollera efter driftsättningar.

Personlig e-post

Problem: Använder individens e-post istället för teame-postalias.

Contact: mailto:anna.svensson@dittforetag.com  # Dåligt

Lösning: Använd teame-postalias som överlever personalförändringar.

Ingen HTTPS

Problem: Använder HTTP istället för HTTPS för Canonical/Policy-länkar.

Lösning: Använd alltid HTTPS för säkerhetsrelaterade URL:er.

Valideringschecklista

VALIDERINGSCHECKLISTA FÖR SECURITY.TXT

OBLIGATORISKA FÄLT:
[ ] Contact-fält finns (mailto: eller https:)
[ ] Expires-fält finns (framtida datum, ISO 8601)

REKOMMENDERADE FÄLT:
[ ] Preferred-Languages inkluderat
[ ] Canonical-URL matchar faktisk plats
[ ] Policy-länk fungerar och pekar  CVD-policy
[ ] Krypteringsnyckel-länk fungerar (om inkluderad)

HOSTING:
[ ] Filen  /.well-known/security.txt
[ ] HTTPS tillgänglig
[ ] Content-Type: text/plain
[ ] Ingen autentisering krävs

VERIFIERING:
[ ] curl-test framgångsrikt
[ ] Online-validerare godkänner
[ ] Alla länkar löser upp (inga 404:or)
[ ] PGP-signatur giltig (om signerad)

UNDERHÅLL:
[ ] Kalenderpåminnelse satt för före Expires-datum
[ ] Uppdateringsprocess dokumenterad
[ ] Övervakning för tillgänglighet

Underhållsschema

Uppgift Frekvens
Kontrollera utgångsdatum Månadsvis
Verifiera att länkar fungerar Månadsvis
Uppdatera PGP-nyckel (om utgångsdatum) Vid behov
Granska kontaktadresser Kvartalsvis
Fullständig valideringskontroll Före utgångsdatum

Integration med CRA-efterlevnad

Din security.txt stödjer CRA-efterlevnad genom att:

  1. Tillhandahålla en påhittbar kontakt: Myndigheter och forskare kan hitta dig
  2. Demonstrera process: Visar att du har sårbarhethantering
  3. Möjliggöra CVD: Länkar till din avslöjandepolicy
  4. Stödja dokumentation: Referens i teknisk fil

Inkludera i din tekniska dokumentation:

Kontaktpunkter för sårbarhetrapportering:
- security.txt: https://foretag.com/.well-known/security.txt
- E-post: security@foretag.com
- Webbformulär: https://foretag.com/security/report
- Policy: https://foretag.com/security/policy

Komplett exempel

Här är ett produktionsklart security.txt:

# ============================================================
# SECURITY.TXT för AcmeTech-produkter
# https://acmetech.eu/.well-known/security.txt
# ============================================================
#
# Om du har hittat en säkerhetssårbarhet i en AcmeTech-
# produkt, rapportera den med kontaktmetoderna nedan.
#
# Vi uppskattar ansvarsfull avslöjande och bekräftar
# ditt bidrag om så önskas.
#
# ============================================================

# Primära kontaktmetoder (föredragen ordning)
Contact: https://acmetech.eu/security/report
Contact: mailto:security@acmetech.eu

# Den här filen löper ut (uppdatera före det här datumet)
Expires: 2027-06-01T00:00:00.000Z

# För krypterad kommunikation
Encryption: https://acmetech.eu/.well-known/pgp-key.txt

# Språk som vårt säkerhetsteam hanterar
Preferred-Languages: sv, en, de

# Auktoritativ plats för den här filen
Canonical: https://acmetech.eu/.well-known/security.txt

# Vår fullständiga policy för sårbarhetavslöjande
Policy: https://acmetech.eu/security/cvd-policy

# Tack till säkerhetsforskare
Acknowledgments: https://acmetech.eu/security/hall-of-fame

Hur CRA Evidence hjälper

CRA Evidence integrerar security.txt i din efterlevnad:

  • CVD-policy-integration: Länka security.txt till din CRA CVD-policy
  • Teknisk fil: Inkludera security.txt-referens i dokumentation
  • Sårbarhetintag: Ta emot och spåra rapporter som kommer via security.txt
  • Valideringsövervakning: Varna om din security.txt löper ut

Inrätta fullständig CRA sårbarhethantering på app.craevidence.com.


Den här artikeln är endast avsedd för informationsändamål och utgör inte juridisk rådgivning. För specifik efterlevnadsvägledning, konsultera kvalificerade juridiska rådgivare.

Ämnen som tas upp i den här artikeln

Dela den här artikeln

Relaterade artiklar

Does the CRA apply to your product?

Besvara 6 enkla frågor för att ta reda på om din produkt omfattas av EU:s Cyber Resilience Act. Få ditt resultat på under 2 minuter.

Redo att uppnå CRA-efterlevnad?

Börja hantera dina SBOMs och efterlevnadsdokumentation med CRA Evidence.