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.
In this article
- Podsumowanie
- Czym Jest security.txt?
- Minimalny security.txt
- Zalecany security.txt
- Wyjaśnienie Pole po Polu
- Konfiguracja Krok po Kroku
- Dla Produktów Bez Interfejsów Webowych
- Zgłaszanie Podatności Bezpieczeństwa
- Częste Błędy
- Lista Kontrolna Walidacji
- Harmonogram Utrzymania
- Integracja ze Zgodnością CRA
- Kompletny Przykład
- Jak Pomaga CRA Evidence
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.txtna 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:
- Zapewnienie wykrywalnego kontaktu: Regulatorzy i badacze mogą cię znaleźć
- Demonstrację procesu: Pokazuje, że masz obsługę podatności
- Umożliwienie CVD: Linkuje do twojej polityki ujawniania
- 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ś ją 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 tą 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
- Skoordynowane Ujawnianie Podatności pod CRA: Szablon Polityki
- Zgłaszanie Podatności do ENISA: Wymóg 24-godzinny
- Przewodnik po Dokumentacji Technicznej CRA (Załącznik VII)
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.
Tematy omówione w tym artykule
Powiązane artykuły
Czy inteligentne kamery są produktami ważnymi w świetle...
Inteligentne kamery monitorujące są klasyfikowane jako produkty ważne (Klasa...
9 minEU Cybersecurity Act 2: Zakazy w Łańcuchu Dostaw,...
20 stycznia 2026 roku UE zaproponowała pełne zastąpienie Cybersecurity Act....
9 minKlasyfikacja produktów CRA: Czy Twój produkt jest...
Praktyczny przewodnik do określenia kategorii CRA Twojego produktu. Zawiera...
5 minDoes 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.