Android

Varmista apache salaamalla sentos 8

Howto install Hive on Ubuntu

Howto install Hive on Ubuntu

Sisällysluettelo:

Anonim

Let's Encrypt on ilmainen, automatisoitu ja avoin sertifikaattien myöntäjä, jonka on kehittänyt Internet Security Research Group (ISRG) ja joka tarjoaa ilmaisia ​​SSL-varmenteita.

Kaikkien tärkeimpien selainten luottamuksena ovat Let's Encryptin myöntämät sertifikaatit, ja ne ovat voimassa 90 päivää myöntämispäivästä.

Tämä opetusohjelma selittää, kuinka asennetaan ilmainen Let's Encrypt SSL -varmenne CentOS 8: aan, joka käyttää Apachea Web-palvelimena. Käytämme certbot-työkalua sertifikaattien hankkimiseen ja uusimiseen.

edellytykset

Varmista, että seuraavat edellytykset täyttyvät ennen jatkamista:

  • Saa verkkotunnuksen osoittamaan julkisen palvelimen IP-osoitteeseen. Käytämme example.com .Apache on asennettu ja toimii palvelimellasi verkkotunnuksellesi määritettynä olevan virtuaalisen palvelimen kanssa.Portit 80 ja 443 ovat avoinna palomuurissasi.

Asenna seuraavat paketit, joita tarvitaan SSL-salattuun verkkopalvelimeen:

sudo dnf install mod_ssl openssl

Kun mod_ssl-paketti on asennettu, sen pitäisi luoda itse allekirjoitetut avain- ja varmennetiedostot localhostille. Jos tiedostoja ei luoda automaattisesti, voit luoda ne käyttämällä openssl komentoa:

sudo openssl req -newkey rsa:4096 -x509 -sha256 -days 3650 -nodes \ -out /etc/pki/tls/certs/localhost.crt \ -keyout /etc/pki/tls/private/localhost.key

Asenna Certbot

Certbot on ilmainen komentorivityökalu, joka yksinkertaistaa Let's Encrypt SSL -varmenteiden hankkimis- ja uusimisprosessia palvelimelta ja HTTPS: n automaattisen käyttöönoton.

Certbot-paketti ei sisälly vakioihin CentOS 8 -varastoihin, mutta sen voi ladata myyjän verkkosivustolta.

Suorita seuraava wget komento root- tai sudo -käyttäjänä ladataksesi sertbot-skriptin /usr/local/bin :

sudo wget -P /usr/local/bin

Kun lataus on valmis, tee tiedosto suoritettavaksi:

sudo chmod +x /usr/local/bin/certbot-auto

Luo vahva Dh (Diffie-Hellman) -ryhmä

Diffie – Hellman-avaintenvaihto (DH) on menetelmä salausavainten vaihtamiseksi turvallisesti suojaamattoman tietoliikennekanavan kautta. Luo uusi joukko 2048-bittisiä DH-parametreja turvallisuuden parantamiseksi:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Voit muuttaa kokoa 4096 bittiin saakka, mutta luominen voi viedä yli 30 minuuttia järjestelmän entropiasta riippuen.

Salamme SSL-varmenteen

SSL-varmenteen hankkimiseksi verkkotunnukselle aiomme käyttää Webroot-laajennusta, joka toimii luomalla väliaikainen tiedosto pyydetyn verkkotunnuksen validoimiseksi ${webroot-path}/.well-known/acme-challenge hakemistossa ${webroot-path}/.well-known/acme-challenge . Let's Encrypt -palvelin tekee HTTP-pyyntöjä väliaikaiseen tiedostoon vahvistaakseen, että pyydetty verkkotunnus ratkaisee palvelimelle, jossa certbot toimii.

Asennuksen yksinkertaistamiseksi aiomme kartoittaa kaikki. Hyvin .well-known/acme-challenge hakemusten HTTP-pyynnöt yhteen hakemistoon, /var/lib/letsencrypt .

Suorita seuraavat komennot luodaksesi hakemisto ja tehdä siitä kirjoitettavissa Apache-palvelimelle.

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp apache /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt

Luo seuraavat kaksi kokoonpanokatkelmaa, jotta vältetään päällekkäinen koodi ja tehdään kokoonpano ylläpidettäviksi:

/etc/httpd/conf.d/letsencrypt.conf

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS /etc/httpd/conf.d/ssl-params.conf

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM # Requires Apache 2.4.36 & OpenSSL 1.1.1 SSLProtocol -all +TLSv1.3 +TLSv1.2 SSLOpenSSLConfCmd Curves X25519:secp521r1:secp384r1:prime256v1 # Older versions # SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

Yllä oleva katkelma käyttää Cipherli.st: n suosittelemia hakkureita. Se mahdollistaa OCSP-nidonnan, HTTP-tiukan liikenneturvallisuuden (HSTS), Dh-avaimen ja valvoo muutamaa turvallisuuteen keskittyvää

Lataa Apache-asetukset uudelleen, jotta muutokset tulevat voimaan:

sudo systemctl reload

Nyt voit suorittaa certbot-komentosarjan webroot-laajennuksella ja hakea SSL-varmennetiedostot:

sudo /usr/local/bin/certbot-auto certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

Menestyksen jälkeen certbot tulostaa seuraavan viestin:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2020-01-26. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:

Nyt kun kaikki on asetettu, muokkaa verkkotunnuksen virtuaalisen palvelimen määrityksiä seuraavasti:

/etc/httpd/conf.d/example.com.conf

ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog /var/log/httpd/example.com-error.log CustomLog /var/log/httpd/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration

Yllä oleva kokoonpano pakottaa HTTPS: n ja uudelleenohjaamisen www: sta muuhun kuin www-versioon. Se mahdollistaa myös HTTP / 2: n, mikä tekee sivustosi nopeammiksi ja kestävämmiksi. Voit vapaasti säätää kokoonpanoa tarpeidesi mukaan.

Käynnistä Apache-palvelu uudelleen:

sudo systemctl restart

Voit nyt avata verkkosivustosi osoitteella https:// , ja huomaat vihreän lukituskuvakkeen.

Automaattinen uusiminen Let's Encrypt SSL -varmenne

Salatko varmenteet ovat voimassa 90 päivää. Voit uusia sertifikaatteja automaattisesti ennen niiden voimassaolon päättymistä luomalla cronjob-toiminnon, joka suoritetaan kahdesti päivässä ja uusitaan varmenteet automaattisesti 30 päivää ennen niiden voimassaolon päättymistä.

Suorita seuraava komento luodaksesi uuden cronjobin, joka uusii varmenteen ja käynnistä Apache uudelleen:

echo "0 0, 12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && /usr/local/bin/certbot-auto -q renew --renew-hook \"systemctl reload httpd\"" | sudo tee -a /etc/crontab > /dev/null

Testaa uusimisprosessi käyttämällä certbot-komentoa, jota seuraa --dry-run kytkin:

sudo /usr/local/bin/certbot-auto renew --dry-run

Jos virheitä ei ole, uusimisprosessi onnistui.

johtopäätös

Tässä opetusohjelmassa puhuimme siitä, kuinka Let's Encrypt -asiakassertifikaattia voidaan käyttää CentOS: issa SSL-varmenteiden saamiseksi verkkotunnuksillesi. Olet myös osoittanut sinulle, kuinka Apache on määritetty käyttämään varmenteita ja määrittänyt cronjob automaattiseen varmenteiden uusimiseen.

Lisätietoja Certbot-skriptistä on Certbot-ohjeissa.

apache centos salataan certbot ssl