![Kako slati WhatsApp poruke bez tipkanja na Androidu](/f/95a6e99fadadc75e2801cf42bcea222f.jpg?width=100&height=100)
Slijedeći prethodno Idemo šifrirati seriju u vezi Apač ili Nginx web poslužitelj sa SSL/TLS modulom, u ovom ćemo vas članku uputiti kako generirati i instalirati SSL/TLS certifikat dobiven besplatno Šifrirajmo tijelo za izdavanje certifikata koje ćemo koristiti za osiguranje HTTP transakcija Nginx web poslužitelja CentOS/RHEL 7/6 i Fedora distribucija.
Ako želite instalirati Šifrirajmo za Apache na RHEL/CentOS 7/6 i Fedora distribucije, slijedite ovaj vodič u nastavku:
Postavljanje Let's Encrypt to Secure Apache na RHEL, CentOS i Fedora
1. Na prvom koraku, u slučaju da nemate Nginx daemon već instaliran, izdajte naredbe u nastavku s root ovlastima kako biste instalirali Nginx web poslužitelj Epelova spremišta:
# yum instalirajte epel-release. # yum instalirajte nginx.
2. Najbrži način ugradnje Šifrirajmo klijenta na Linux sustavima kloniranjem paketa iz github spremišta.
Prvo instalirajte git klijenta u sustavu s donjom naredbom:
# yum install git.
3. Nakon što je git klijent instaliran, promijenite direktorij u /opt
put i povucite softver Let's Encrypt pokretanjem naredbi u nastavku:
# cd /opt. # git klon https://github.com/letsencrypt/letsencrypt.
4. Postupak dobivanja besplatnog SSL/TLS certifikat za Nginx će se izvesti ručno korištenjem Šifrirajmo samostalno uključiti.
Ova metoda zahtijeva taj port 80 tijekom vremena mora biti slobodan Šifrirajmo klijent provjerava identitet poslužitelja i generira certifikate.
Dakle, ako je Nginx već pokrenut, zaustavite demon sa sljedećom naredbom i pokrenite ss
uslužni program za potvrdu da se port 80 više ne koristi u mrežnom steku.
# usluga nginx stop. # systemctl zaustavi nginx. # ss -tln.
5. Sada je vrijeme za dobivanje besplatnog SSL certifikata od Šifrirajmo. Premjesti na Šifrirajmo instalacijski direktorij, ako već niste tamo, i pokrenite letsencrypt-auto
naredba s certonly --samostalan
opciju i -d
označite za svaku domenu ili poddomenu koju želite generirati certifikat kako je predloženo u donjem primjeru.
# cd /opt. # ./letsencrypt-auto certonly --standalone -d your_domain.tld -d www.yourdomain.tld.
6. Nakon što je na vašem računalu instaliran niz paketa i ovisnosti, Let's Encrypt će od vas zatražiti da unesete svoj račun koji će se koristiti za oporavak izgubljenog ključa ili hitne obavijesti.
7. Zatim se trebate složiti s uvjetima licenciranja pritiskom na Unesi ključ.
8. Konačno, ako je sve prošlo kako treba, na vašem bash terminalu će se prikazati poruka s čestitkom. Poruka će se također prikazati kada certifikat istekne.
9. Sada kada posjedujete besplatnu SSL/TLS certifikat, vrijeme je da ga instalirate na web poslužitelj Nginx kako bi ga vaša domena mogla koristiti.
Svi novi SSL certifikati se stavljaju u /etc/letsencrypt/live/
u imeniku nazvanom po nazivu vaše domene. Koristiti Naredba je za popis datoteka certifikata izdanih za vašu domenu i njihovu identifikaciju.
# sudo ls/etc/letsencrypt/live/ # sudo ls -al /etc/letsencrypt/live/vaša_domena.tld.
10. Otvorite da biste instalirali datoteke certifikata u Nginx i omogućili SSL /etc/nginx/nginx.conf
datoteku za uređivanje i dodajte donje izraze nakon zadnje linije slušanja iz bloka poslužitelja. Upotrijebite donju ilustraciju kao vodič.
# vi /etc/nginx/nginx.conf.
Nginx SSL blok izvadak:
# SSL konfiguracija. slušati 443 ssl zadani_služitelj; ssl_certificate /etc/letsencrypt/live/vaša_domena.tld/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/vaša_domena.tld/privkey.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers uključeno; ssl_ciphers 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH';
Zamijenite naziv domene niz za SSL certifikate koji odgovaraju vašoj domeni.
11. Na kraju, ponovno pokrenite Nginx uslugu i posjetite svoju domenu putem HTTPS protokola na adresi https://yourdomain
. Stranica bi se trebala učitavati glatko, bez greške u certifikatu.
# systemctl ponovno pokrenite nginx. # usluga nginx ponovno pokretanje.
12. Kako bismo provjerili SSL/TLS certifikat i njegovu ispravnost posjetite sljedeću vezu:
https://www.ssllabs.com/ssltest/analyze.html
13. U slučaju da dobijete obavijest da vaš poslužitelj podržava slab DH razmjena ključeva i ukupna ocjena od B razreda, generirati novu Diffie-Hellman šifrirati u /etc/nginx/ssl/ direktorij za zaštitu vašeg poslužitelja od Logjam napad izvršenjem sljedećih naredbi.
# mkdir/etc/nginx/ssl. # cd/etc/nginx/ssl. # openssl dhparam -out dhparams.pem 4096.
U ovom primjeru koristili smo a 4096 bitni ključ, koji zapravo traje dugo vremena i stvara dodatne troškove na vašem poslužitelju i pri rukovanju SSL -om.
U slučaju da ne postoji izričita potreba za korištenjem ključa ovoliko dugo i niste paranoični, trebali biste biti sigurni s 2048 bitni ključ.
14. Nakon DH ključ generiran, otvorite konfiguracijsku datoteku Nginx i nakon toga dodajte donje izraze ssl_ciphers
liniju kako biste dodali ključ DH i podigli razinu sigurnosti svoje domene na A+
razred.
# vi /etc/nginx/nginx.conf.
Dodajte sljedeći blok izvadak u Nginx.conf:
ssl_dhparam /etc/nginx/ssl/dhparams.pem; ssl_session_timeout 30m; ssl_session_cache podijeljeno: SSL: 10m; ssl_buffer_size 8k; add_header Strict-Transport-Security max-age = 31536000;
15. Ponovo pokrenite Nginx uslugu za primjenu promjena i ponovno testiranje vašeg SSL certifikata brišući prethodnu predmemoriju rezultata s gore navedene veze.
# systemctl ponovno pokrenite nginx. # usluga nginx ponovno pokretanje.
16.Šifrirajmo CA izdanja besplatna SSL/TLS certifikati vrijede za 90 dana. Certifikati se mogu ručno obnoviti i primijeniti prije isteka pomoću dodatka webroot, bez zaustavljanja web poslužitelja, izdavanjem naredbi u nastavku:
# ./letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path =/usr/share/nginx/html/-d yourdomain.tld -d www.yourdomain.tld. # systemctl ponovno učitajte nginx.
Prilikom izvođenja gornje naredbe svakako zamijenite webroot-staza
kako bi odgovarao korijenu dokumenta vašeg web poslužitelja, naveden u Nginx root naredbi.
17. Kako biste automatski obnovili certifikat prije isteka, stvorite ovu bash skriptu s github erikaheidi u /usr/local/bin/ direktorij i dodajte donji sadržaj (skripta je malo izmijenjena tako da odražava postavke Nginxa).
# vi/usr/local/bin/cert-renew.
Dodajte sljedeće retke u cert-obnoviti
datoteka.
#!/bin/bash webpath = '/usr/share/nginx/html/' domena = 1 USD. le_path = '/opt/letsencrypt' le_conf = '/etc/letsencrypt' exp_limit = 30; get_domain_list () {certdomain = $ 1 config_file = "$ le_conf/renewal/$ certdomain.conf" ako [! -f $ config_file]; then echo "[ERROR] Konfiguracijska datoteka za certifikat $ certdomain nije pronađena." izlaz 1; fi domens = $ (grep --only-matching --perl-regex "(? <= domains \ =).*" "$ {config_file}") last_char = $ (echo "$ {domains}" | awk '{ ispiši podstr. ($ 0, dužina, 1)} ') if ["$ {last_char}" = ","]; zatim domene = $ (echo "$ {domains}" | awk '{print substr ($ 0, 1, length-1)}') fi echo $ domena; } if [-z "$ domain"]; zatim echo "[ERROR] morate unijeti naziv domene za obnovu certifikata." izlaz 1; fi cert_file = "/etc/letsencrypt/live/$ domain/fullchain.pem" if [! -f $ cert_file]; zatim echo "[ERROR] datoteka certifikata nije pronađena za domenu $ domain." izlaz 1; fi exp = $ (date -d "` openssl x509 -in $ cert_file -text -noout | grep "Not After" | cut -c 25 -`" +%s) datenow = $ (datum -d "sada" +%s) days_exp = $ (echo \ ($ exp - $ datenow \) / 86400 | bc) echo "Provjera datuma isteka za $ domain ..." if ["$ days_exp" -gt "$ exp_limit"]; zatim echo "Certifikat je ažuriran, nema potrebe za obnavljanjem (preostalo je $ days_exp dana)." izlaz 0; else echo "Certifikat za $ domenu uskoro ističe. Pokretanje zahtjeva za obnovu... "domain_list = $ (get_domain_list $ domain) "$ le_path"/letsencrypt-auto certonly -a webroot --agree-tos --renew-by-default --webroot-path = "$ webpath" --domene "$ {domain_list}" echo "Ponovno učitavanje Nginxa... " sudo systemctl reload nginx echo "Proces obnove završen za domenu $ domain" izlaz 0; fi.
18. Zamijenite $ webpath
varijabla s početka skripte koja odgovara vašem korijenu dokumenta Nginx. Provjerite je li skripta izvršna i prije Krista
Kalkulator je instaliran na vašem sustavu izdavanjem sljedećih naredbi.
# chmod +x/usr/local/bin/cert-renew. # yum install bc.
Skriptu možete testirati na svojoj domeni izdavanjem sljedeće naredbe:
#/usr/local/bin/cert-obnovite svojudomenu.tld.
19. Konačno, da biste automatski pokrenuli proces obnove certifikata, dodajte novi cron posao za izvršavanje skripte svaki tjedan kako biste ažurirali certifikat u roku od 30 dana prije datuma isteka.
# crontab -e.
Dodajte sljedeći redak pri dnu datoteke.
@weekly/usr/local/bin/cert-renew your_domain.tld >> /var/log/your_domain.tld-renew.log 2> & 1.
To je sve! Sada Nginx poslužitelj može isporučiti siguran web sadržaj s besplatnim SSL/TLS Šifrirajmo certifikat na vašoj web stranici.