HTTPS gebruiken op Arch Linux Webserver

Vereisten

  • Een Vultr-server met up-to-date Arch Linux (zie dit artikel .)
  • Een actieve webserver, Apache of Nginx
  • Sudo toegang
    • Commando's die als root moeten worden uitgevoerd, worden voorafgegaan door #, en commando's die als gewone gebruiker kunnen worden uitgevoerd $. De aanbevolen manier om opdrachten als root uit te voeren, is om ze als gewone gebruiker vooraf te laten prefixen sudo.
  • Laat een teksteditor installeren en wees er bekend mee, zoals vi, vim, nano, emacs of een andere soortgelijke editor.

Veilig serveren via HTTPS

Het aanbieden van inhoud via HTTPS kan extreem sterke codering gebruiken, zodat niemand die verkeer tussen de gebruiker en de webserver onderschept, het kan lezen. Het codeert niet alleen het verkeer zelf, maar ook de URL die wordt geopend, die anders informatie kan blootleggen. Google bepaalt al geruime tijd de zoekrangschikking gedeeltelijk op basis van het feit of een pagina HTTPS gebruikt, als onderdeel van het HTTPS Everywhere-initiatief.

Opmerking : bij een DNS-lookup wordt de domeinnaam waarmee wordt verbonden blootgelegd, maar de hele URL wordt tijdens dat proces niet weergegeven.

Verkrijg SSL / TLS-certificaat

Technisch gezien verving TLS SSL voor HTTPS-certificaten, maar de meeste plaatsen bleven gewoon TLS-certificaten aanroepen door de meer populaire term SSL-certificaten. Bij normaal gebruik zal deze gids hetzelfde doen.

Om HTTPS te gebruiken, heeft uw webserver een privésleutel ( .key) nodig om privé te gebruiken en een certificaat ( .crt) om openbaar te delen, inclusief een openbare sleutel. Er moet een certificaat worden ondertekend. U kunt het zelf ondertekenen, maar moderne browsers zullen klagen dat ze de ondertekenaar niet herkennen. Zo zal Chrome tonen: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Als alleen een privé-groep mensen de website gebruikt, kan dit acceptabel zijn, omdat browsers een mogelijkheid bieden om door te gaan. Klik bijvoorbeeld in Chrome op "Geavanceerd" en vervolgens op "Doorgaan naar ... (onveilig)"; het zal nog steeds "Niet veilig" tonen en de "https" doorhalen.

Merk op dat dit proces u zal vragen naar uw land, staat / voorzienigheid, plaats, organisatie, organisatie-eenheid en algemene namen, en uw e-mailadres; die allemaal toegankelijk zijn in iemands browser die via HTTPS verbinding maakt met uw site.

Merk ook op dat als u certificaten voor virtuele hosts geeft, u hieronder verschillende bestandsnamen moet opgeven en ernaar moet verwijzen in uw virtuele hostconfiguraties.

Ga naar de juiste directory voor uw webserver.

Als je Apache hebt geïnstalleerd:

$ cd /etc/httpd/conf

Als je Nginx hebt geïnstalleerd:

$ cd /etc/nginx

Eenmaal in de juiste map, genereer een privésleutel ( server.key) en een zelfondertekend certificaat ( server.crt):

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

Stel alleen-lezen machtigingen in en sta alleen toe dat de privésleutel door root wordt gelezen:

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

Als alternatief kunt u een certificaat verkrijgen dat is ondertekend door een vertrouwde certificeringsinstantie. U kunt verschillende bedrijven (certificeringsinstanties) betalen om uw certificaat voor u te ondertekenen. Bij het overwegen van certificeringsinstanties kan het belangrijk zijn om te kijken welke browsers en welke versies ze zullen herkennen. Sommige nieuwere certificeringsinstanties worden mogelijk niet erkend als meer officieel dan een zelfondertekend certificaat op oude browserversies.

Je hebt meestal niet alleen een openbaar IP-adres nodig, maar ook een domeinnaam. Sommige certificeringsinstanties kunnen een certificaat afgeven aan een openbaar IP-adres, maar dat gebeurt zelden.

Veel providers bieden een gratis proefperiode van 30 dagen aan, die wordt aanbevolen om mee te beginnen, zodat u ervoor kunt zorgen dat het proces voor u werkt voordat u ervoor betaalt. Prijzen kunnen variëren van enkele dollars per jaar tot honderden, afhankelijk van het type en opties zoals meerdere domeinen of subdomeinen. Een standaardcertificaat geeft alleen aan dat de ondertekenende autoriteit heeft geverifieerd dat de persoon die het certificaat heeft verkregen, wijzigingen op het domein kan aanbrengen. Een Extended Validation-certificaat geeft ook aan dat de ondertekenende autoriteit de aanvrager zorgvuldig heeft onderzocht en zal in moderne browsers een groene balk in of bij de URL weergeven. Bij het verifiëren dat u wijzigingen op het domein kunt aanbrengen, vereisen sommige ondertekenende autoriteiten dat u e-mail ontvangt op een belangrijk klinkend adres bij de domeinnaam, zoals[email protected]. Velen bieden alternatieve verificatie, zoals het geven van een bestand om op uw server te plaatsen, zoals het plaatsen van hun bestand /srv/http/.well-known/pki-validation/voor Apache of /usr/share/nginx/html/.well-known/pki-validation/voor Nginx, voor configuraties met één hostingmap; of het tijdelijk creëren van een CNAME-vermelding die ze u bieden in de DNS-records van uw domein.

De ondertekeningsbevoegdheid die u kiest, kan enigszins verschillende stappen hebben, maar de meeste accepteren de volgende procedure:

Genereer in de juiste directory een privésleutel ( server.key):

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

Stel de privésleutel in op alleen-lezen, alleen op root:

# chmod 400 server.key

Genereer een certificaatondertekeningsverzoek ( server.csr). U moet uw domeinnaam Common Nameinvoeren wanneer u hierom wordt gevraagd , en u kunt het challenge-wachtwoord leeg laten:

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

Stel het certificaatondertekeningsverzoek in op alleen-lezen, alleen per root:

# chmod 400 server.csr

Bekijk de inhoud van het certificaatondertekeningsverzoek. Deze informatie is base64-gecodeerd en ziet er dus uit als willekeurige tekens:

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

Doorloop het proces van uw ondertekeningsautoriteit en wanneer u wordt gevraagd om uw CSR in te plakken, kopieert en plakt u dit hele bestand inclusief de -----regels. Afhankelijk van de ondertekeningsautoriteit die u hebt gekozen en het type certificaat, kunnen ze u onmiddellijk het ondertekende certificaat geven, of het kan een aantal dagen zijn. Zodra ze geven je het ondertekende certificaat, kopiëren (met inbegrip van de -----BEGIN CERTIFICATE-----en -----END CERTIFICATE-----lijnen) in een bestand met de naam server.crt, in de juiste directory, hierboven gegeven voor uw webserver, en zet deze op alleen-lezen:

# chmod 444 server.crt

Configureer uw webserver om de privésleutel en het certificaat te gebruiken

Als u een firewall gebruikt, moet u inkomend TCP-verkeer naar de poort inschakelen 443.

Voor Apache

Bewerk /etc/httpd/conf/httpd.confen annuleer deze regels:

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

Merk op dat als u virtuele hosts gebruikt, het maken van de bovenstaande wijziging in /etc/httpd/conf/httpd.confhetzelfde certificaat zal gebruiken op alle hosts. Om elke host een eigen certificaat te geven om te voorkomen dat browsers klagen over het certificaat dat niet overeenkomt met de domeinnaam, moet u elk van hun configuratiebestanden bewerken /etc/httpd/conf/vhosts/om naar hun eigen certificaat en privésleutel te verwijzen:

  • Ga <VirtualHost *:80>naar <VirtualHost *:80 *:443>.
  • VirtualHostVoeg binnen de sectie het volgende toe:

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

Start Apache opnieuw:

# systemctl restart httpd

Voor Nginx

Bewerk /etc/nginx/nginx.confen bijna onderaan verwijder je het HTTPS servergedeelte en verander je de regels in het volgende:

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

Merk op dat als u virtuele hosts gebruikt, als u de bovenstaande wijziging /etc/nginx/nginx.confaanbrengt, alle hosts naar die locatie worden gestuurd. Om elke host zijn eigen certificaat te geven, moet je elk van zijn configuratiebestanden bewerken /etc/nginx/sites-enabled/om een ​​extra serverblok te hebben dat verwijst naar zijn eigen certificaat en privésleutel:

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

Start Nginx opnieuw:

# systemctl restart nginx


Leave a Comment

Hoe MongoDB 4.0 op Arch Linux te installeren

Hoe MongoDB 4.0 op Arch Linux te installeren

Vereisten Een Vultr-server die up-to-date is Arch Linux (zie dit artikel) Sudotoegang: opdrachten die als root moeten worden uitgevoerd, worden voorafgegaan door # en één

Stel een Team Fortress 2-server in op Arch Linux

Stel een Team Fortress 2-server in op Arch Linux

Deze tutorial legt uit hoe je een Team Fortress 2-server instelt op Arch Linux. Ik neem aan dat je bent ingelogd met een niet-root gebruikersaccount dat sudo-toegang heeft

PHP 7.3 installeren op een Arch Linux webserver

PHP 7.3 installeren op een Arch Linux webserver

Vereisten Een Vultr-server die up-to-date is Arch Linux (zie dit artikel.) Een actieve webserver, ofwel Apache- of Nginx Sudo-toegang. Commandos vereisen

Hoe Nginx 1.14 op Arch Linux te installeren

Hoe Nginx 1.14 op Arch Linux te installeren

Vereisten Een Vultr-server die up-to-date is met Arch Linux (zie dit artikel.) Sudotoegang. Commandos die als root moeten worden uitgevoerd, worden voorafgegaan door #. Th

MariaDB 10.3 of MySQL 8.0 installeren op Arch Linux

MariaDB 10.3 of MySQL 8.0 installeren op Arch Linux

Vereisten Een Vultr-server die up-to-date is Arch Linux (zie dit artikel.) Sudotoegang: opdrachten die als root moeten worden uitgevoerd, worden voorafgegaan door # en één

Configureer Mumble Server op Arch Linux

Configureer Mumble Server op Arch Linux

Deze tutorial legt uit hoe je een Mumble-server (Murmur) instelt op Arch Linux. Alles wat in deze tutorial wordt gedaan, wordt gedaan als de rootgebruiker. Installatie een

Hoe Python 3.7 op een Arch Linux-webserver te installeren

Hoe Python 3.7 op een Arch Linux-webserver te installeren

Vereisten Een Vultr-server die up-to-date is Arch Linux (zie dit artikel.) Een actieve webserver, toegang tot Apache of Nginx Sudo: opdrachten zijn vereist

Configureer Spigot Server op Arch Linux

Configureer Spigot Server op Arch Linux

Deze tutorial legt uit hoe je een Minecraft-server instelt met Spigot op Arch Linux. Deze tutorial gaat ervan uit dat je een normale gebruiker bent (niet-root) en hav hebt

Stel een Counter-Strike: Global Offensive (CSGO) -server in op Arch Linux

Stel een Counter-Strike: Global Offensive (CSGO) -server in op Arch Linux

Deze tutorial legt uit hoe je een Counter-Strike: Global Offensive-server instelt op Arch Linux. Deze tutorial gaat ervan uit dat je bent ingelogd met een standaard gebruik

Arch Linux installeren op een Vultr-server

Arch Linux installeren op een Vultr-server

Vultr biedt u de geweldige functionaliteit om u in staat te stellen uw eigen aangepaste afbeelding te gebruiken naast hun uitstekende sjablonen, waarmee u kunt uitvoeren

Devtools gebruiken op Arch Linux

Devtools gebruiken op Arch Linux

Het pakket Devtools is oorspronkelijk gemaakt voor vertrouwde gebruikers om pakketten voor de officiële repositories correct te maken. Het kan echter door de gewone gebruiker worden gebruikt

Makepkg gebruiken op Arch Linux

Makepkg gebruiken op Arch Linux

Als u makepkg rechtstreeks gebruikt, vervuilt het uw systeem enigszins. De base-devel pakketgroep moet geïnstalleerd zijn. Op deze manier zijn standaard afhankelijkheden alleen nodig

Installeer Arch Linux met Btrfs Snapshotting

Installeer Arch Linux met Btrfs Snapshotting

Voorwoord Arch Linux is een distributie voor algemeen gebruik die bekend staat om zijn geavanceerde technologie en flexibele configuratie. Met Btrfs-snapshots kunnen we maken

Hoe Perl 5.28 op een Arch Linux Webserver te installeren

Hoe Perl 5.28 op een Arch Linux Webserver te installeren

Vereisten Een Vultr-server die up-to-date is Arch Linux (zie dit artikel.) Een actieve webserver, toegang tot Apache of Nginx Sudo: opdrachten zijn vereist

Hoe Apache 2.4 op Arch Linux te installeren

Hoe Apache 2.4 op Arch Linux te installeren

Vereisten Een Vultr-server met actuele Arch Linux. Zie deze gids voor meer informatie. Sudo toegang. Commandos die moeten worden uitgevoerd als root ar

2019 Arch Linux installeren op een Vultr-server

2019 Arch Linux installeren op een Vultr-server

Introductie Arch Linux heeft een kleinere, maar nog steeds sterke, volgende dan meer populaire distributies. De filosofie is heel anders, met voordelen

Hoe PostgreSQL 11.1 op Arch Linux te installeren

Hoe PostgreSQL 11.1 op Arch Linux te installeren

Vereisten Een Vultr-server die up-to-date is met Arch Linux (zie dit artikel.) Sudotoegang. Commandos die als root moeten worden uitgevoerd, worden voorafgegaan door # en een

Pakketten bouwen op Arch Linux (inclusief de AUR)

Pakketten bouwen op Arch Linux (inclusief de AUR)

Op Arch Linux zijn de officiële repositories: core, extra en community. Deze pakketten zijn al samengesteld en worden geïnstalleerd via pacman. Voor th

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.