Umieszczanie pliku security.txt na Państwa stronie internetowej
Jeśli ktoś znajdzie lukę w zabezpieczeniach Państwa strony internetowej, na przykład otwarty katalog lub nieaktualną wtyczkę, warto, aby ta osoba mogła Państwa o tym powiadomić. Do tego służy security.txt: niewielki plik tekstowy w stałym miejscu na Państwa stronie, zawierający adres, na który należy kierować takie zgłoszenia. Opisuje go standard internetowy RFC 9116. Poniżej wyjaśniamy, co zawiera ten plik i jak go umieścić.
Lokalizacja
Plik znajduje się pod adresem https://example.com/.well-known/security.txt. Dawna lokalizacja /security.txt w katalogu głównym jest dopuszczalna jako dodatkowa, ale jeśli plik znajduje się w obu miejscach, obowiązuje ten w /.well-known/. Plik musi być dostępny przez https i wysyłany jako zwykły tekst (text/plain).
Plik obowiązuje tylko dla nazwy, pod którą się znajduje. Plik security.txt na example.com nie obowiązuje więc automatycznie dla shop.example.com. Jeśli subdomena ma własną stronę internetową, prosimy umieścić tam również plik security.txt.
Zawartość pliku
Contact: mailto:security@example.com Expires: 2027-10-31T23:00:00Z Preferred-Languages: nl, en Canonical: https://example.com/.well-known/security.txt
| Pole | Obowiązkowe? | Znaczenie |
|---|---|---|
Contact | Tak | Miejsce, do którego trafiają zgłoszenia: adres mailto:, numer tel: lub strona internetowa zaczynająca się od https://. Można podać kilka pozycji jedna pod drugą, pierwsza oznacza preferowany kontakt. |
Expires | Tak, dokładnie jeden raz | Data i godzina, po której plik uznaje się za nieaktualny, na przykład 2027-10-31T23:00:00Z. Standard zaleca datę przypadającą za mniej niż rok. |
Preferred-Languages | Nie | Języki, w których chcą Państwo otrzymywać zgłoszenia. |
Canonical | Nie | Adres samego pliku. |
Policy | Nie | Link do strony z Państwa zasadami dotyczącymi zgłoszeń: co robią Państwo ze zgłoszeniem i czego oczekują Państwo od zgłaszającego. |
Encryption | Nie | Link do Państwa klucza publicznego, jeśli zgłaszający mogą wysyłać do Państwa zaszyfrowane wiadomości e-mail. |
W polu Contact prosimy podać adres, który ktoś faktycznie czyta. Zapomniana skrzynka pocztowa jest gorsza niż brak pliku security.txt: zgłaszający sądzi, że zostali Państwo ostrzeżeni. Podpisanie pliku podpisem cyfrowym (OpenPGP) jest dozwolone, ale nie jest obowiązkowe.
Umieszczanie pliku na pakiecie hostingowym
- W DirectAdmin prosimy otworzyć Menedżer plików i przejść do
domains/example.com/public_html. Zobacz Otwieranie Menedżera plików: katalogi w Państwa pakiecie. - Jeśli katalog
.well-knownjeszcze nie istnieje, prosimy go utworzyć. Katalogi zaczynające się od kropki są widoczne dopiero po włączeniu wyświetlania ukrytych plików: zobacz Wyświetlanie i edytowanie ukrytych plików, takich jak .htaccess. - W tym katalogu prosimy utworzyć nowy plik
security.txt, wkleić do niego swoje wiersze i zapisać. - Prosimy otworzyć
https://example.com/.well-known/security.txtw przeglądarce. Powinni Państwo zobaczyć swój tekst.
Jeśli korzystają Państwo z WordPressa lub innego systemu CMS, nic się nie zmienia: plik, który faktycznie istnieje, serwer WWW po prostu wysyła.
Umieszczanie pliku na VPS
Na VPS plik umieszcza się w katalogu WWW strony, na przykład /var/www/example.com/.well-known/security.txt. Prosimy zwrócić uwagę na dwie kwestie:
- Jeśli w nginx blokują Państwo wszystkie ścieżki zaczynające się od kropki, prosimy najpierw dodać wyjątek dla
/.well-known/. - Jeśli aplikacja działa za reverse proxy, prosimy skonfigurować w Caddy lub nginx, aby ta ścieżka wskazywała na plik.
Zobacz Caddy: strona internetowa z automatycznym https oraz nginx z certyfikatem Let's Encrypt.
Sprawdzanie
Nagłówki można sprawdzić poleceniem:
curl -sI https://example.com/.well-known/security.txt
Status powinien wynosić 200, a typ text/plain. Częsty błąd: strona, która na każdy nieznany adres odpowiada stroną główną. Wtedy wydaje się, że plik istnieje, ale zwracany jest kod HTML. Prosimy więc sprawdzić również zawartość. Test stron internetowych w serwisie internet.nl również sprawdza plik security.txt.
Coroczna aktualizacja
Prosimy ustawić w kalendarzu przypomnienie na długo przed datą podaną w polu Expires. Wtedy warto sprawdzić, czy adres kontaktowy jest nadal aktualny, i przesunąć datę. Jeśli w międzyczasie coś się zmieni, na przykład pojawi się nowy adres lub ktoś odejdzie z firmy, prosimy od razu zaktualizować plik.
Dalsza lektura
- RFC 9116: A File Format to Aid in Security Vulnerability Disclosure (w języku angielskim)
- securitytxt.org, z narzędziem do tworzenia pliku (w języku angielskim)
Chcą Państwo dowiedzieć się więcej? Zapraszamy na bezpłatny kurs VPS i administrowanie serwerem Linux, lekcja 7.4 Caddy, HSTS i security.txt lub lekcja 10.4 Kontrola końcowa: sprawdzenie Państwa serwera.
