Jak korzystać z HTTPS na Arch Linux Webserver

Wymagania wstępne

  • Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł )
  • Działający serwer WWW, Apache lub Nginx
  • Dostęp do Sudo
    • Polecenia, które muszą być uruchamiane jako root, są poprzedzone przez #, a te, które mogą być uruchamiane przez zwykłego użytkownika $. Zalecanym sposobem uruchamiania poleceń jako root jest, jako zwykły użytkownik, przedrostek każdego z nich sudo.
  • Zainstaluj edytor tekstowy i zapoznaj się z nim, np. Vi, vim, nano, emacs lub inny podobny edytor.

Bezpieczne podawanie za pośrednictwem HTTPS

Udostępnianie treści przez HTTPS może korzystać z wyjątkowo silnego szyfrowania, więc nikt nie przechwytuje ruchu między użytkownikiem a serwerem WWW. Nie tylko szyfruje sam ruch, ale także uzyskiwany jest dostęp do adresu URL, który w przeciwnym razie może ujawnić informacje. Od pewnego czasu Google częściowo określa rankingi wyszukiwania na podstawie tego, czy strona korzysta z HTTPS, w ramach inicjatywy HTTPS Everywhere.

Uwaga : wyszukiwanie DNS ujawnia połączoną nazwę domeny, ale cały adres URL nie jest ujawniany podczas tego procesu.

Uzyskaj certyfikat SSL / TLS

Technicznie rzecz biorąc, protokół TLS zastąpił protokół SSL dla certyfikatów HTTPS, ale w większości miejsc po prostu nadal dzwoniono do certyfikatów TLS pod bardziej popularnym terminem certyfikaty SSL. Po powszechnym użyciu ten przewodnik zrobi to samo.

Aby korzystać z HTTPS, twój serwer sieciowy potrzebuje klucza prywatnego ( .key), aby mógł on używać prywatnie, oraz certyfikatu ( .crt) do publicznego udostępniania, który zawiera klucz publiczny. Certyfikat musi być podpisany. Możesz go podpisać samodzielnie, ale nowoczesne przeglądarki będą narzekać, że nie rozpoznają osoby podpisującej. Na przykład, Chrome pokaże: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Jeśli ze strony będzie korzystała tylko prywatna grupa osób, może to być do zaakceptowania, ponieważ przeglądarki umożliwią kontynuację. Na przykład w przeglądarce Chrome kliknij „Zaawansowane”, a następnie „Przejdź do ... (niebezpieczne)”; nadal będzie wyświetlać „Niezabezpieczony” i przekreśli „https”.

Pamiętaj, że ten proces poprosi Cię o podanie kraju, stanu / opatrzności, miejscowości, organizacji, jednostki organizacyjnej i nazwisk pospolitych oraz adresu e-mail; z których wszystkie są dostępne w dowolnej przeglądarce łączącej się z witryną za pośrednictwem HTTPS.

Pamiętaj również, że jeśli dajesz certyfikaty hostom wirtualnym, musisz podać poniżej odrębne nazwy plików i wskazać je w konfiguracjach hosta wirtualnego.

Przejdź do odpowiedniego katalogu dla swojego serwera WWW.

Jeśli zainstalowałeś Apache:

$ cd /etc/httpd/conf

Jeśli zainstalowałeś Nginx:

$ cd /etc/nginx

Po znalezieniu się w odpowiednim katalogu wygeneruj klucz prywatny ( server.key) i certyfikat z podpisem własnym ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Ustaw uprawnienia tylko do odczytu i zezwalaj tylko na odczyt klucza prywatnego przez root:

# chmod 400 server.key
# chmod 444 server.crt

Alternatywnie możesz uzyskać certyfikat podpisany przez zaufany urząd certyfikacji. Możesz płacić różnym firmom (urzędom certyfikacji) za podpisanie certyfikatu. Rozważając urzędy certyfikacji, ważne może być sprawdzenie, które przeglądarki i które wersje je rozpoznają. Niektóre nowsze urzędy certyfikacji mogą nie zostać uznane za bardziej oficjalne niż samopodpisany certyfikat w starszych wersjach przeglądarki.

Zwykle potrzebujesz nie tylko publicznego adresu IP, ale także nazwy domeny. Niektóre urzędy certyfikacji mogą wystawić certyfikat na publiczny adres IP, ale jest to rzadko wykonywane.

Wielu dostawców oferuje bezpłatną 30-dniową wersję próbną, która jest zalecana na początek, abyś mógł upewnić się, że proces działa dla Ciebie, zanim zapłacisz za to. Ceny mogą się wahać od kilku dolarów rocznie do setek, w zależności od rodzaju i opcji, takich jak wiele domen lub subdomen. Standardowy certyfikat wskazuje tylko, że organ podpisujący zweryfikował, że osoba otrzymująca certyfikat może wprowadzić zmiany w domenie. Certyfikat Extended Validation będzie również wskazywał, że organ podpisujący dokonał należytej staranności podczas weryfikacji wnioskodawcy i w nowoczesnych przeglądarkach wyświetli zielony pasek w adresie URL lub w jego pobliżu. Podczas sprawdzania, czy można wprowadzić zmiany w domenie, niektóre organy podpisujące będą wymagać otrzymywania wiadomości e-mail na ważny adres w domenie, na przykład w domenie[email protected]. Wiele oferuje alternatywną weryfikację, na przykład przekazanie pliku do umieszczenia na serwerze, na przykład umieszczenie pliku w /srv/http/.well-known/pki-validation/Apache lub /usr/share/nginx/html/.well-known/pki-validation/Nginx, w konfiguracjach z jednym katalogiem hostingu; lub tymczasowo utworzysz wpis CNAME, który podadzą Ci w rekordach DNS domeny.

Wybrany organ podpisujący może mieć nieco inne kroki, ale większość zaakceptuje następującą procedurę:

W odpowiednim katalogu wygeneruj klucz prywatny ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Ustaw klucz prywatny tylko do odczytu, tylko przez root:

# chmod 400 server.key

Wygeneruj żądanie podpisania certyfikatu ( server.csr). Musisz podać nazwę swojej domeny, gdy prosi o nią Common Name, i możesz pozostawić puste hasło:

# openssl req -new -sha256 -key server.key -out server.csr

Ustaw żądanie podpisania certyfikatu tylko do odczytu, tylko przez root:

# chmod 400 server.csr

Wyświetl zawartość żądania podpisania certyfikatu. Te informacje są zakodowane w standardzie base64, więc będą wyglądały jak losowe znaki:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Przejdź przez proces swojego organu podpisującego, a gdy zostaniesz poproszony o wklejenie w CSR, skopiuj i wklej cały plik, w tym -----wiersze. W zależności od wybranego przez Ciebie organu podpisującego i rodzaju certyfikatu mogą oni od razu otrzymać podpisany certyfikat lub może to potrwać kilka dni. Gdy dadzą ci podpisany certyfikat, skopiuj go (w tym wiersze -----BEGIN CERTIFICATE-----i -----END CERTIFICATE-----) do pliku o nazwie server.crt, w odpowiednim katalogu, podanym powyżej dla twojego serwera WWW, i ustaw go jako tylko do odczytu:

# chmod 444 server.crt

Skonfiguruj swój serwer WWW, aby używał klucza prywatnego i certyfikatu

Jeśli używasz zapory, musisz włączyć przychodzący ruch TCP do portu 443.

Dla Apache

Edytuj /etc/httpd/conf/httpd.confi odkomentuj te linie:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Uwaga: jeśli korzystasz z hostów wirtualnych, dokonanie powyższej zmiany /etc/httpd/conf/httpd.confspowoduje użycie tego samego certyfikatu na wszystkich hostach. Aby nadać każdemu hostowi własny certyfikat, aby przeglądarki nie skarżyły się, że certyfikat nie pasuje do nazwy domeny, musisz edytować każdy z ich plików konfiguracyjnych, /etc/httpd/conf/vhosts/aby wskazywał własny certyfikat i klucz prywatny:

  • Zmień <VirtualHost *:80>na <VirtualHost *:80 *:443>.
  • W VirtualHostsekcji dodaj następujące informacje:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Uruchom ponownie Apache:

# systemctl restart httpd

Dla Nginx

Edytuj /etc/nginx/nginx.confi u dołu, odkomentuj HTTPS serversekcję i zmień linie na następujące:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Uwaga: jeśli korzystasz z hostów wirtualnych, dokonanie powyższej zmiany /etc/nginx/nginx.confspowoduje wysłanie wszystkich hostów do tej lokalizacji. Aby nadać każdemu hostowi swój własny certyfikat, musisz edytować każdy z ich plików konfiguracyjnych, /etc/nginx/sites-enabled/aby mieć dodatkowy blok serwera wskazujący na własny certyfikat i klucz prywatny:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Uruchom ponownie Nginx:

# systemctl restart nginx


Leave a Comment

Jak zainstalować Python 3.7 na Arch Linux Webserver

Jak zainstalować Python 3.7 na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Działający serwer WWW, dostęp do Apache lub Nginx Sudo: Polecenia wymagają

Korzystanie z Devtools na Arch Linux

Korzystanie z Devtools na Arch Linux

Pakiet Devtools został pierwotnie stworzony dla Zaufanych użytkowników do prawidłowego tworzenia pakietów dla oficjalnych repozytoriów. Może być jednak używany przez zwykłego użytkownika

Skonfiguruj serwer Mumble na Arch Linux

Skonfiguruj serwer Mumble na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Mumble (Murmur) w Arch Linux. Wszystko wykonane w tym samouczku odbywa się jako użytkownik root. Instalacja an

Jak zainstalować PHP 7.3 na Arch Linux Webserver

Jak zainstalować PHP 7.3 na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Działający serwer WWW, dostęp do Apache lub Nginx Sudo. Polecenia wymagają

Instalowanie Arch Linux na serwerze Vultr

Instalowanie Arch Linux na serwerze Vultr

Vultr zapewnia niesamowitą funkcjonalność, umożliwiając korzystanie z własnego niestandardowego obrazu oprócz doskonałych szablonów, które umożliwiają uruchamianie

Zainstaluj Arch Linux z migawką Btrfs

Zainstaluj Arch Linux z migawką Btrfs

Przedmowa Arch Linux to uniwersalna dystrybucja znana z najnowocześniejszej technologii i elastycznej konfiguracji. Dzięki migawkom Btrfs możemy wziąć

Skonfiguruj serwer Counter-Strike: Global Offensive (CSGO) na Arch Linux

Skonfiguruj serwer Counter-Strike: Global Offensive (CSGO) na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Counter-Strike: Global Offensive na Arch Linux. W tym samouczku założono, że zalogowano się przy standardowym użyciu

Jak zainstalować PostgreSQL 11.1 na Arch Linux

Jak zainstalować PostgreSQL 11.1 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Dostęp Sudo. Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem # i jednym

Instalowanie Arch Arch Linux 2019 na serwerze Vultr

Instalowanie Arch Arch Linux 2019 na serwerze Vultr

Wprowadzenie Arch Linux ma mniejsze, ale wciąż silne, następujące niż bardziej popularne dystrybucje. Jego filozofia jest zupełnie inna, z zaletami

Skonfiguruj serwer Team Fortress 2 na Arch Linux

Skonfiguruj serwer Team Fortress 2 na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Team Fortress 2 w Arch Linux. Zakładam, że jesteś zalogowany na konto użytkownika innego niż root, który ma dostęp do sudo

Skonfiguruj serwer Spigot na Arch Linux

Skonfiguruj serwer Spigot na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Minecraft za pomocą Spigot na Arch Linux. W tym samouczku założono, że jesteś zwykłym użytkownikiem (innym niż root) i posiadasz hav

Jak zainstalować Nginx 1.14 na Arch Linux

Jak zainstalować Nginx 1.14 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Dostęp Sudo. Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem #. Th

Używanie Makepkg na Arch Linux

Używanie Makepkg na Arch Linux

Jeśli użyjesz makepkg bezpośrednio, to nieco zanieczyszcza twój system. Grupa pakietu base-devel musi być zainstalowana. W ten sposób domyślnie potrzebne są tylko zależności

Jak zainstalować MongoDB 4.0 na Arch Linux

Jak zainstalować MongoDB 4.0 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł) Dostęp Sudo: Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem #, a jeden

Jak zainstalować MariaDB 10.3 lub MySQL 8.0 na Arch Linux

Jak zainstalować MariaDB 10.3 lub MySQL 8.0 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Dostęp Sudo: Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem #, a jeden

Budowanie pakietów na Arch Linux (w tym AUR)

Budowanie pakietów na Arch Linux (w tym AUR)

W Arch Linux oficjalne repozytoria to: core, extra i community. Te pakiety są już skompilowane i są instalowane za pomocą pacmana. Dla th

Jak zainstalować Perl 5.28 na Arch Linux Webserver

Jak zainstalować Perl 5.28 na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Działający serwer WWW, dostęp do Apache lub Nginx Sudo: Polecenia wymagają

Jak zainstalować Apache 2.4 na Arch Linux

Jak zainstalować Apache 2.4 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux. Aby uzyskać więcej informacji, zobacz ten przewodnik. Dostęp do Sudo. Polecenia muszą być uruchamiane jako root ar

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.