From 074785cea106179cb3305637055ab0a009ca74f2 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:42:52 -0500 Subject: initial commit --- .../pl/web/security/securing_your_site/index.html | 55 ++++++++++ .../konfiguracja_mime_na_serwerze/index.html | 114 +++++++++++++++++++++ 2 files changed, 169 insertions(+) create mode 100644 files/pl/web/security/securing_your_site/index.html create mode 100644 files/pl/web/security/securing_your_site/konfiguracja_mime_na_serwerze/index.html (limited to 'files/pl/web/security/securing_your_site') diff --git a/files/pl/web/security/securing_your_site/index.html b/files/pl/web/security/securing_your_site/index.html new file mode 100644 index 0000000000..59682ddf82 --- /dev/null +++ b/files/pl/web/security/securing_your_site/index.html @@ -0,0 +1,55 @@ +--- +title: Securing your site +slug: Web/Security/Securing_your_site +tags: + - HTTP + - NeedsTranslation + - Security + - TopicStub + - Web Development + - Website Security +translation_of: Web/Security/Securing_your_site +--- +

{{ draft() }}

+ +

There are a number of things you can do to help secure your site. This article offers an assortment of suggestions, as well as links to other articles providing more useful information.

+ +
Note: This article is a work in progress, and is neither complete nor does following its suggestions guarantee your site will be fully secure.
+ +

User information security

+ +
+
How to turn off form autocompletion
+
Form fields support autocompletion in Gecko; that is, their values can be remembered and automatically brought back the next time the user visits your site. For certain types of data, you may wish to disable this feature.
+
Privacy and the :visited selector
+
This article discusses changes made to the getComputedStyle() method that eliminates the ability for malicious sites to figure out the user's browsing history.
+
Hash passwords using a secure algorithm (OWASP)
+
Storing passwords in plain text can lead to attackers knowing and leaking the exact password of your site's users, potentially putting the users at risk. The same issues can arise if you use an old or insecure algorithm for hashing (such as md5). You should use a password-specific hashing algorithm (such as Argon2, PBKDF2, scrypt or bcrypt) instead of message digest algorithms (such as md5 and sha). This article showcases best practices to use when storing passwords.
+
+ +

Content security

+ +
+
Properly configuring server MIME types
+
There are several ways incorrect MIME types can cause potential security problems with your site. This article explains some of those and shows how to configure your server to serve files with the correct MIME types.
+
HTTP Strict Transport Security
+
The Strict-Transport-Security: HTTP header lets a website specify that it may only be accessed using HTTPS.
+
HTTP access control
+
The Cross-Origin Resource Sharing standard provides a way to specify what content may be loaded from other domains. You can use this to prevent your site from being used improperly; in addition, you can use it to establish resources that other sites are expressly permitted to use.
+
Content Security Policy
+
An added layer of security that helps to detect and mitigate certain types of attacks, including {{Glossary("Cross-site_scripting", "Cross Site Scripting (XSS)")}} and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware. Code is executed by the victims and lets the attackers bypass access controls and impersonate users. According to the Open Web Application Security Project, XSS was the seventh most common Web app vulnerability in 2017.
+
The X-Frame-Options response header
+
+

The X-Frame-Options: HTTP response header can be used to indicate whether or not a browser should be allowed to render a page in a {{ HTMLElement("frame") }}. Sites can use this to avoid clickjacking attacks, by ensuring that their content is not embedded into other sites.

+
+
Securing Your Site using Htaccess
+
It is the best way to secure your site using the .htaccess file. You can blacklist IPs, restrict access to certain areas of website, protect different files, protect against image hotlinking, and a lot more.
+
+ +

See also

+ + + +
{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}
diff --git a/files/pl/web/security/securing_your_site/konfiguracja_mime_na_serwerze/index.html b/files/pl/web/security/securing_your_site/konfiguracja_mime_na_serwerze/index.html new file mode 100644 index 0000000000..87aea6b3b3 --- /dev/null +++ b/files/pl/web/security/securing_your_site/konfiguracja_mime_na_serwerze/index.html @@ -0,0 +1,114 @@ +--- +title: Poprawna kofiguracja MIME na serwerze +slug: Web/Security/Securing_your_site/Konfiguracja_MIME_na_serwerze +tags: + - HTTP +translation_of: Learn/Server-side/Configuring_server_MIME_types +--- +

Kontekst

+ +

Wiele serwerów webowych domyślnie ma skonfigurowane raportowanie typów MIME text/plain lub application/octet-stream w przypadku nierozpoznanych typów zawartości. Kiedy nowe typy zawartości dopiero powstają lub są dodawane do serwerów webowych zdarza się, że administratorzy webowi nie dodają nowo-powstałych typów MIME do ustawień serwera webowego. I to właśnie stanowi główną bolączkę użytkowników przeglądarek opartych o Gecko, które uznają typy MIME jako zraportowane przez serwery i aplikacje webowe.

+ +

Czym są typy MIME?

+ +

Typy MIME opisują typ danych zawartości mailowej lub obsługiwanej przez serwery lub aplikacje webowe i ich zadaniem jest pomoc przeglądarce w przetworzeniu i wyświetleniu zawartości. Przykładami typów MIME są:

+ + + +

Kontekst techniczny

+ +

Zarejestrowane wartości MIME są dostępne w Typy danych IANA | MIME. Specyfikacja HTTP definiuje nadzbiór typów MIME, który jest używany do opisu typów danych używanych w sieci WWW.

+ +

Dlaczego poprawne typy MIME są tak istotne?

+ +

Example of an incorrect MIME type result Jeśli serwer lub aplikacja webowa dla danej zawartości raportuje niepoprawny typ MIME, przeglądarka nie ma możliwości, wg specyfikacji HTTP, wiedzieć, że autor zainicjował przetworzenie i wyświetlenie danej zawartości w odmienny sposób, niż domyślny dla zraportowanego typu MIME.

+ +

Niektóre z przeglądarek, jak Microsoft® Internet Explorer, dążą do zezwalania niepoprawnie skonfigurowanym serwerom i aplikacjom webowym na zgadywanie, jaki powinien być poprawny typ MIME. Takie podejście uchroniło wielu administratorów webowych przed własnymi błędami - Internet Explorer kontynuuje przetwarzanie zawartości zgodnie z oczekiwaniami mimo, że sam serwer webowy nie jest poprawnie skonfigurowany i np. wyświetla obrazek, który został zraportowany jako będący rzekomo zwykłym tekstem.

+ +

Obsługa treści poprzez używanie poprawnego typu MIME jest istotna także z punktu widzenia bezpieczeństwa; istnieje ryzyko wyrządzenia przez niechcianą treść szkód na komputerze użytkownika poprzez symulowanie, że typ danej zawartości jest bezpieczny mimo, że w istocie może nie być to prawda.

+ +
+

Zauważ: Kiedyś Firefox ładował pliki CSS nawet, jeśli posiadały błędny typ MIME. Wystarczyło, że dokument HTML, który o nie wnioskował działał w trybie osobliwości (quirks mode). Ze względów bezpieczeństwa, {{ gecko("2.0") }} nie będzie dłużej kontynować tego typu zachowań w przypadku arkuszy stylów ładowanych z innych źródeł, niż dokument, który o nie wnioskował. Jeśli Twój arkusz stylów pochodzi z innego źródła, niż główny dokument musisz obsłużyć go poprzez poprawny typ MIME (text/css).

+ +

Gecko 1.9.1.11 (Firefox 3.5.11) i Gecko 1.9.2.5 (Firefox 3.6.5) również zaimplementowały tę łatkę bezpieczeństwa, ale by polepszyć zgodność tymczasowo istniała heurytrystyka pozwalająca na załadowanie, jeśli pierwsza linia w arkuszu stylów wydawała się być poprawną konstrukcją CSSową; heurytrystyka ta została usuninęta w Firefoxie 4 i od tego czasu należy odpowiednio ustawić typy MIME text/css, aby strony CSS zostały rozpoznane.

+
+ +

Dlaczego przeglądarki nie powinny zgadywać typów MIME

+ +

Poza naruszaniem specyfikacji HTTP istnieją dodatkowe powody, dla których zgadywanie typów MIME nie należy do najlepszych praktyk:

+ +

Utrata kontroli

+ +

Jeśli przeglądarka ignoruje zaraportowany typ MIME, administratorzy i autorzy webowi nie mają dłużej kontroli nad sposobem przetwarzania danej zawartości.

+ +

Przykładowo, strona WWW ukierunkowana na twórców witryn może życzyć sobie przesłania pewnych dokumentów, przykładowo HTMLowych, jak również text/html lub text/plain, by móc je przetworzyć i wyświetlić jako HTML lub jako kod źródłowy. Jeśli przeglądarka będzie zgadywać typ MIME, tego typu możliwość nie będzie dłużej dostępna dla autora.

+ +

Bezpieczeństwo

+ +

Niektóre typy zawartości, jak pliki wykonywalne, są przeważnie niebezpieczne. Z tego powodu te typy MIME przeważnie są ograniczone pod względem akcji, jakie podejmie przeglądarka w przypadku tego typu plików. Plik wykonywalny nie powinien wykonywać się na komputerze użytkownika, co najwyżej może mieć prawo do wyświetlenia okienka z zapytaniem do użytkownika, czy chce pobrać ten plik.

+ +

W Internet Explorerze zgadywanie typów MIME doprowadziło do naruszenia bezpieczeństwa - przez niepoprawne zgadywanie szkodliwe treści bywały oznaczane jako bezpieczne, co skutkowało pominięciem wyświetlania standardowego okienka pobierania i przedostawaniem się plików wykonywalnych na komputery użytkowników.

+ +

Jak określić typ MIME, który jest wysyłany przez serwer

+ +

W Firefoxie załaduj plik i użyj Narzędzia | Informacje o witrynie. Możesz również użyć Rex Swain's HTTP Viewer lub Live HTTP Headers , aby zobaczyć pełne nagłówki i treść każdego pliku wysłanego z serwera webowego.

+ +

W odniesieniu do standardów, tag meta o typie MIME jak np. <meta http-equiv="Content-Type" content="text/html"> powinien być ignorowany, jeśli w nagłówku znajduje się zapis {{HTTPHeader("Content-Type")}}. Zamiast szukać tej linii w kodzie źródłowym HTML lepiej użyć powyższych technik do określenia typu MIME wysyłanego przez serwer.

+ +

Jak określić prawidłowy typ MIME dla Twojej treści

+ +

Jest kilka kroków, które należy zrobić by określić poprawną wartość dla typu MIME twojej treści.

+ +
    +
  1. Jeśli twoja treść została utworzona z pomocą zewnętrznego oprogramowania, przeczytaj jego dokumentację by dowiedzieć się, jakie typy MIME powinny zostać zraportowane dla danych typów danych.
  2. +
  3. Zerknij na rejest typów danych IANA | MIME. Zawiera on wszystkie zarejestrowane typy MIME.
  4. +
  5. Jeśli typ danych jest wyświetlany poprzez rozszerzenie w Netscape Gecko, zainstaluj wtyczkę, a następnie sprawdź Pomoc->O Menu Wtyczek, by sprawdzić jakie typy MIME są związane z typem danych.
  6. +
  7. Poszukaj rozszerzenia pliku w FILExt lub File extensions reference, aby sprawdzić jakie typy MIME są związane z tym rozszerzeniem.
  8. +
+ +

Jak przygotować serwer, żeby wysyłał poprawne typy MIME

+ +

Fundamentalną kwestią jest konfiguracja Twojego serwera w taki sposób, by wysyłał poprawny nagłówek HTTP {{HTTPHeader("Content-Type")}} dla każdego dokumentu.

+ + + + + + + +
+

Informacje dot. dokumentu źródłowego

+ + +
+ +
{{QuickLinksWithSubpages("/en-US/docs/Web/Security")}}
-- cgit v1.2.3-54-g00ecf