Konfiguracja security.txt dla Zgodności z CRA: 10-Minutowy Przewodnik

Szybki, praktyczny przewodnik po implementacji security.txt dla twoich produktów. Zawiera szablony, opcje hostingu i częste błędy do uniknięcia.

Zespół CRA Evidence
Autor
6 lutego 2026
Zaktualizowano 25 lutego 2026 00:00:00 UTC
8 min czytania
Konfiguracja security.txt dla Zgodności z CRA: 10-Minutowy Przewodnik
In this article

CRA wymaga publicznie dostępnego punktu kontaktowego do zgłaszania podatności. Najprostszy sposób na zgodność? Plik security.txt.

Ten 10-minutowy przewodnik przeprowadzi cię od zera do zgodności.

Podsumowanie

  • security.txt to standaryzowany plik (RFC 9116) informujący badaczy, jak zgłaszać podatności
  • Umieść go pod /.well-known/security.txt na swojej obecności w sieci
  • Minimalne wymagane pola: Contact, Expires
  • Zalecane: Dodaj również Preferred-Languages, Policy, Canonical
  • Dla produktów bez interfejsów webowych, dołącz URL w dokumentacji

Czym Jest security.txt?

security.txt to standard RFC (RFC 9116), który zapewnia czytelny maszynowo i przez człowieka sposób publikowania informacji kontaktowych dotyczących bezpieczeństwa.

Dlaczego jest ważny dla CRA:

  • CRA wymaga punktów kontaktowych do zgłaszania podatności
  • security.txt to standardowa metoda w branży
  • Zautomatyzowane narzędzia i badacze sprawdzają jego obecność
  • Pokazuje regulatorom, że wdrożyłeś właściwe kanały ujawniania

Minimalny security.txt

Oto najprostszy zgodny plik:

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

To wszystko. Dwie linie. Jesteś technicznie zgodny.

Ale zróbmy to lepiej.

Zalecany security.txt

Kompletny, profesjonalny security.txt:

# Informacje Kontaktowe Bezpieczeństwa dla [Twoja Firma]
# https://www.twojafirma.com/.well-known/security.txt

Contact: mailto:security@twojafirma.com
Contact: https://twojafirma.com/bezpieczenstwo/zglos
Expires: 2027-01-01T00:00:00.000Z
Encryption: https://twojafirma.com/.well-known/pgp-key.txt
Preferred-Languages: pl, en, de
Canonical: https://twojafirma.com/.well-known/security.txt
Policy: https://twojafirma.com/bezpieczenstwo/polityka-ujawniania
Hiring: https://twojafirma.com/kariera/bezpieczenstwo
Acknowledgments: https://twojafirma.com/bezpieczenstwo/podziekowania

Wyjaśnienie Pole po Polu

Contact (Wymagane)

Jak badacze powinni się z tobą kontaktować.

Contact: mailto:security@twojafirma.com
Contact: https://twojafirma.com/bezpieczenstwo/zglos

Dobre praktyki:

  • Dołącz zarówno email JAK I formularz webowy
  • Używaj aliasu zespołu, nie osobistego emaila
  • Formularze webowe zapewniają strukturalny odbiór
  • Wiele linii Contact jest dozwolone

Expires (Wymagane)

Kiedy ten plik powinien być uznany za nieaktualny.

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

Dobre praktyki:

  • Ustaw 6-12 miesięcy w przyszłość
  • Używaj formatu ISO 8601 ze strefą czasową
  • Ustaw przypomnienie kalendarzowe o aktualizacji przed wygaśnięciem
  • Nieaktualne pliki sprawiają, że wyglądasz na nieutrzymywanego

Encryption (Zalecane)

Klucz PGP do zaszyfrowanych raportów.

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

Dobre praktyki:

  • Hostuj swój klucz publiczny pod określonym URL
  • Używaj klucza zespołu, nie indywidualnego
  • Dołącz odcisk klucza w komentarzach
  • Przechowuj klucz prywatny bezpiecznie (HSM jeśli możliwe)

Preferred-Languages (Zalecane)

Języki, w których twój zespół może obsługiwać raporty.

Preferred-Languages: pl, en, de

Dobre praktyki:

  • Wymień języki, którymi twój zespół bezpieczeństwa faktycznie mówi
  • Angielski powinien być zazwyczaj dołączony
  • Uporządkuj według preferencji
  • Nie wymieniaj języków, w których nie możesz faktycznie odpowiedzieć

Canonical (Zalecane)

Autorytatywna lokalizacja tego pliku.

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

Dlaczego ma znaczenie:

  • Zapobiega podszywaniu
  • Wyjaśnia, czy plik jest lustrzany
  • Pomaga badaczom weryfikować autentyczność

Policy (Zalecane)

Link do pełnej polityki ujawniania podatności.

Policy: https://twojafirma.com/bezpieczenstwo/polityka-ujawniania

Dobre praktyki:

  • Linkuj do kompletnej polityki CVD
  • Upewnij się, że strona istnieje i jest dostępna
  • Utrzymuj politykę i security.txt w synchronizacji

Acknowledgments (Opcjonalne)

Link do twojej Galerii Sław bezpieczeństwa.

Acknowledgments: https://twojafirma.com/bezpieczenstwo/podziekowania

Dlaczego warto dołączyć:

  • Pokazuje, że cenisz badaczy
  • Zachęca do zgłoszeń (uznanie motywuje)
  • Demonstruje dojrzały program bezpieczeństwa

Hiring (Opcjonalne)

Link do ofert pracy w bezpieczeństwie.

Hiring: https://twojafirma.com/kariera/bezpieczenstwo

Dlaczego warto dołączyć:

  • Badacze często są dobrymi kandydatami
  • Pokazuje inwestycję w bezpieczeństwo
  • Buduje dobrą wolę w społeczności

Konfiguracja Krok po Kroku

Krok 1: Utwórz Plik

Utwórz plik tekstowy ze swoimi informacjami:

# Utwórz plik
cat > security.txt << 'EOF'
# Informacje Kontaktowe Bezpieczeństwa dla TwojaFirma
# Ostatnia aktualizacja: 2026-01-15

Contact: mailto:security@twojafirma.com
Contact: https://twojafirma.com/bezpieczenstwo/zglos
Expires: 2027-01-15T00:00:00.000Z
Preferred-Languages: pl, en
Canonical: https://twojafirma.com/.well-known/security.txt
Policy: https://twojafirma.com/bezpieczenstwo/polityka
EOF

Krok 2: Wybierz Lokalizację Hostingu

Plik musi być pod /.well-known/security.txt

Dla stron internetowych:

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

Dla produktów z interfejsami webowymi:

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

Krok 3: Skonfiguruj Serwer Web

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');
});

Hosting statyczny (S3, GitHub Pages, itp.): Po prostu umieść plik w katalogu .well-known.

Krok 4: Zweryfikuj

Sprawdź, czy twój plik jest dostępny:

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

Użyj walidatora online:

Krok 5: Podpisz (Opcjonalne, ale Zalecane)

Podpisz cyfrowo swój security.txt dla autentyczności:

# Podpisz za pomocą GPG
gpg --clearsign security.txt

# To tworzy security.txt.asc
# Zmień nazwę i wdróż
mv security.txt.asc security.txt

Podpisany plik wygląda tak:

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

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

-----BEGIN PGP SIGNATURE-----
[dane podpisu]
-----END PGP SIGNATURE-----

Dla Produktów Bez Interfejsów Webowych

Nie wszystkie produkty mają serwery webowe. Oto jak obsłużyć security.txt:

Urządzenia Wbudowane

Opcja 1: Jeśli urządzenie ma jakikolwiek interfejs webowy (strona konfiguracji, strona statusu):

  • Hostuj security.txt na tym interfejsie
  • http://ip-urzadzenia/.well-known/security.txt

Opcja 2: Jeśli brak interfejsu webowego:

  • Dołącz URL w dokumentacji produktu
  • Odwołaj się do firmowego security.txt
  • Dodaj do Przewodnika Szybkiego Startu: "Zgłoś problemy bezpieczeństwa pod: https://firma.com/bezpieczenstwo"

Oprogramowanie Desktopowe

  • Dołącz kontakt bezpieczeństwa w Pomoc > O programie
  • Dodaj do README/dokumentacji
  • Odwołaj się do firmowego URL security.txt

Aplikacje Mobilne

  • Dołącz w Ustawienia > O aplikacji > Bezpieczeństwo
  • Linkuj do firmowego security.txt
  • Dodaj do opisu w sklepie z aplikacjami

Odniesienie w Dokumentacji

Dodaj do dokumentacji produktu:

## Zgłaszanie Podatności Bezpieczeństwa

Aby zgłosić podatności bezpieczeństwa w tym produkcie:

- Email: security@twojafirma.com
- Web: https://twojafirma.com/bezpieczenstwo/zglos
- Polityka: https://twojafirma.com/bezpieczenstwo/polityka

Nasz plik security.txt: https://twojafirma.com/.well-known/security.txt

Częste Błędy

Wygasły Plik

Problem: Data Expires jest w przeszłości.

Expires: 2024-01-01T00:00:00.000Z  # WYGASŁY!

Naprawa: Ustaw datę w przyszłości. Dodaj przypomnienie kalendarzowe.

Zła Lokalizacja

Problem: Plik w złej ścieżce.

/security.txt           # Źle
/security/security.txt  # Źle
/.well-known/security.txt  # Poprawnie

Naprawa: Użyj standardowej lokalizacji.

Nieprawidłowy Format

Problem: Zły format daty, brakujące pola.

Expires: 1 stycznia 2027  # Zły format
Contact: zespół bezpieczeństwa    # Nie jest prawidłowym URI

Naprawa: Używaj dat ISO 8601, URI mailto: lub https:.

Martwe Linki

Problem: URL Policy lub Acknowledgments zwracają 404.

Naprawa: Zweryfikuj, że wszystkie linki działają. Sprawdź po wdrożeniach.

Osobisty Email

Problem: Używanie emaila osoby zamiast aliasu zespołu.

Contact: mailto:jan.kowalski@twojafirma.com  # Źle

Naprawa: Używaj aliasu zespołu, który przetrwa zmiany personalne.

Brak HTTPS

Problem: Używanie HTTP zamiast HTTPS dla linków Canonical/Policy.

Naprawa: Zawsze używaj HTTPS dla URL związanych z bezpieczeństwem.

Lista Kontrolna Walidacji

LISTA KONTROLNA WALIDACJI SECURITY.TXT

WYMAGANE POLA:
[ ] Pole Contact obecne (mailto: lub https:)
[ ] Pole Expires obecne (data w przyszłości, ISO 8601)

ZALECANE POLA:
[ ] Preferred-Languages dołączone
[ ] URL Canonical odpowiada faktycznej lokalizacji
[ ] Link Policy działa i wskazuje na politykę CVD
[ ] Link klucza Encryption działa (jeśli dołączony)

HOSTING:
[ ] Plik pod /.well-known/security.txt
[ ] Dostępny przez HTTPS
[ ] Content-Type: text/plain
[ ] Brak wymaganej autentykacji

WERYFIKACJA:
[ ] Test curl pomyślny
[ ] Walidator online przechodzi
[ ] Wszystkie linki działają (brak 404)
[ ] Podpis PGP prawidłowy (jeśli podpisany)

UTRZYMANIE:
[ ] Przypomnienie kalendarzowe ustawione przed datą Expires
[ ] Proces aktualizacji udokumentowany
[ ] Monitorowanie dostępności

Harmonogram Utrzymania

Zadanie Częstotliwość
Sprawdź datę wygaśnięcia Miesięcznie
Zweryfikuj, że linki działają Miesięcznie
Aktualizuj klucz PGP (jeśli wygasa) W razie potrzeby
Przejrzyj adresy kontaktowe Kwartalnie
Pełna kontrola walidacji Przed wygaśnięciem

Integracja ze Zgodnością CRA

Twój security.txt wspiera zgodność z CRA poprzez:

  1. Zapewnienie wykrywalnego kontaktu: Regulatorzy i badacze mogą cię znaleźć
  2. Demonstrację procesu: Pokazuje, że masz obsługę podatności
  3. Umożliwienie CVD: Linkuje do twojej polityki ujawniania
  4. Wspieranie dokumentacji: Odniesienie w dokumentacji technicznej

Dołącz do dokumentacji technicznej:

Punkty Kontaktowe Zgłaszania Podatności:
- security.txt: https://firma.com/.well-known/security.txt
- Email: security@firma.com
- Formularz Web: https://firma.com/bezpieczenstwo/zglos
- Polityka: https://firma.com/bezpieczenstwo/polityka

Kompletny Przykład

Oto security.txt gotowy do produkcji:

# ============================================================
# SECURITY.TXT dla AcmeTech Products
# https://acmetech.eu/.well-known/security.txt
# ============================================================
#
# Jeśli znalazłeś podatność bezpieczeństwa w jakimkolwiek
# produkcie AcmeTech, zgłoś  używając poniższych metod
# kontaktowych.
#
# Cenimy odpowiedzialne ujawnianie i uznamy twój
# wkład, jeśli sobie tego życzysz.
#
# ============================================================

# Główne metody kontaktowe (preferowana kolejność)
Contact: https://acmetech.eu/security/report
Contact: mailto:security@acmetech.eu

# Ten plik wygasa (zaktualizuj przed  datą)
Expires: 2027-06-01T00:00:00.000Z

# Dla komunikacji zaszyfrowanej
Encryption: https://acmetech.eu/.well-known/pgp-key.txt

# Języki obsługiwane przez nasz zespół bezpieczeństwa
Preferred-Languages: en, de, pl

# Autorytatywna lokalizacja tego pliku
Canonical: https://acmetech.eu/.well-known/security.txt

# Nasza polityka ujawniania podatności
Policy: https://acmetech.eu/security/disclosure-policy

# Badacze bezpieczeństwa, którzy nam pomogli
Acknowledgments: https://acmetech.eu/security/hall-of-fame

# Dołącz do naszego zespołu bezpieczeństwa
Hiring: https://acmetech.eu/careers#security

# ============================================================
# Ostatnia aktualizacja: 2026-01-15
# Kontakt security@acmetech.eu z pytaniami o ten plik
# ============================================================

Wskazówka: Konfiguracja security.txt zajmuje 10 minut i spełnia kluczowy wymóg CRA dotyczący opublikowanego kontaktu do zgłaszania podatności. Zrób to dziś.

Ważne: Twój security.txt musi zawierać metodę kontaktu, preferowany język i datę wygaśnięcia. Powinien znajdować się pod /.well-known/security.txt w twojej domenie.

Powiązane Przewodniki

Jak Pomaga CRA Evidence

CRA Evidence może:

  • Generować security.txt: Wstępnie wypełniony danymi twojej organizacji
  • Monitorować wygaśnięcie: Alarmować przed wygaśnięciem pliku
  • Walidować format: Sprawdzać częste błędy
  • Śledzić aktualizacje: Ścieżka audytu zmian

Skonfiguruj swój security.txt z app.craevidence.com.


Ten artykuł służy wyłącznie celom informacyjnym i nie stanowi porady prawnej. W celu uzyskania konkretnych wskazówek dotyczących zgodności, skonsultuj się z wykwalifikowanym prawnikiem.

Udostępnij ten artykuł

Powiązane artykuły

Does the CRA apply to your product?

Odpowiedz na 6 prostych pytań, aby sprawdzić, czy Twój produkt podlega unijnemu Cyber Resilience Act. Otrzymaj wynik w mniej niż 2 minuty.

Gotowy na osiągnięcie zgodności z CRA?

Zacznij zarządzać swoimi SBOM-ami i dokumentacją zgodności z CRA Evidence.