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.
In this article
- Sammanfattning
- Vad är security.txt?
- Det minimala security.txt
- Det rekommenderade security.txt
- Fältvis förklaring
- Steg-för-steg-installation
- För produkter utan webbgränssnitt
- Rapportering av säkerhetssårbarheter
- Vanliga misstag
- Valideringschecklista
- Underhållsschema
- Integration med CRA-efterlevnad
- Komplett exempel
- Hur CRA Evidence hjälper
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.txtpå 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 på CVD-policy
[ ] Krypteringsnyckel-länk fungerar (om inkluderad)
HOSTING:
[ ] Filen på /.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:
- Tillhandahålla en påhittbar kontakt: Myndigheter och forskare kan hitta dig
- Demonstrera process: Visar att du har sårbarhethantering
- Möjliggöra CVD: Länkar till din avslöjandepolicy
- 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
Relaterade artiklar
Hur man Genererar ett Firmware SBOM: Öppna...
Steg-för-steg-guide för att generera ett Software Bill of Materials (SBOM)...
10 minCRA får sin instruktionsmanual: Vad kommissionens...
EU-kommissionen publicerade utkast till vägledning om cyberresiliensakter...
6 minÄr smarta kameror viktiga produkter under EU:s cyberresiliensakt?
Smarta säkerhetskameror klassificeras som viktiga produkter (klass I) under...
8 minDoes 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.