Paikallisen itse allekirjoitetun SSL-sertifikaatin luominen CentOS 8:ssa


SSL (Secure Socket Layer) ja sen parannettu versio TLS (Transport Socket Layer) ovat suojausprotokollia. joita käytetään asiakkaan verkkoselaimesta verkkopalvelimelle lähetettävän verkkoliikenteen suojaamiseen.

SSL-varmenne on digitaalinen varmenne, joka luo suojatun kanavan asiakkaan selaimen ja verkkopalvelimen välille. Näin tehdessään arkaluontoiset ja luottamukselliset tiedot, kuten luottokorttitiedot, kirjautumistiedot ja muut erittäin yksityiset tiedot, salataan, mikä estää hakkereita salakuuntelemasta ja varastamasta tietojasi.

Mikä on itse allekirjoitettu SSL-sertifikaatti?

Itse allekirjoitettu SSL-varmenne, toisin kuin muut SSL-varmenteet, jotka varmentaja (varmentaja) on allekirjoittanut ja joihin luottaa, on varmenne, jonka on allekirjoittanut sen omistava henkilö.

Sen luominen on täysin ilmaista, ja se on halpa tapa salata paikallisesti isännöity verkkopalvelin. Itseallekirjoitetun SSL-varmenteen käyttöä ei kuitenkaan suositella tuotantoympäristöissä seuraavista syistä:

  1. Koska sitä ei ole allekirjoittanut varmentaja, itse allekirjoitettu SSL-varmenne luo hälytyksiä verkkoselaimiin ja varoittaa käyttäjiä mahdollisista riskeistä, jos he päättävät jatkaa. Nämä hälytykset ovat ei-toivottuja ja estävät käyttäjiä vierailemasta verkkosivustollasi, mikä saattaa johtaa verkkoliikenteen vähenemiseen. Kiertokeinona näihin hälytyksiin organisaatiot yleensä rohkaisevat työntekijöitään jättämään hälytykset huomioimatta ja jatkamaan eteenpäin. Tämä voi synnyttää vaarallisen tavan käyttäjien keskuudessa, jotka saattavat edelleenkin jättää huomiotta nämä ilmoitukset muilla verkkosivustoilla, jolloin he voivat joutua tietojenkalastelusivustojen uhriksi.
  2. Itseallekirjoitetuilla varmenteilla on alhainen suojaustaso, koska ne käyttävät matalan tason salaustekniikoita ja tiivisteitä. Näin ollen suojaustaso ei välttämättä ole standardien suojauskäytäntöjen tasolla.
  3. Lisäksi julkisen avaimen infrastruktuurin (PKI) toimintoja ei tueta.

Itseallekirjoitetun SSL-varmenteen käyttö ei kuitenkaan ole huono idea palveluiden ja sovellusten testaamiseen paikallisella koneella, joka vaatii TLS/SSL-salauksen.

Tässä oppaassa opit asentamaan paikallisen itseallekirjoitetun SSL-varmenteen Apache -verkkopalvelimelle CentOS 8 -palvelinjärjestelmässä.

Edellytykset:

Ennen kuin aloitat, varmista, että sinulla on seuraavat perusvaatimukset:

  1. CentOS 8 -palvelimen esiintymä.
  2. Apache-verkkopalvelin asennettu palvelimelle
  3. Isäntänimi, joka on jo määritetty ja määritetty /etc/hosts-tiedostossa. Tässä oppaassa aiomme käyttää palvelimemme isäntänimeä tecmint.local.

Vaihe 1: Mod_SSL:n asentaminen CentOS:ään

1. Aloita varmistamalla, että Apache-verkkopalvelin on asennettu ja käynnissä.

sudo systemctl status httpd

Tässä odotettu tulos.

Jos verkkopalvelin ei ole käynnissä, voit käynnistää ja ottaa sen käyttöön käynnistettäessä komennolla.

sudo systemctl start httpd
sudo systemctl enable httpd

Tämän jälkeen voit varmistaa, onko Apache käytössä.

2. Paikallisen itseallekirjoitetun SSL-varmenteen asennuksen ja määrityksen mahdollistamiseksi tarvitaan mod_ssl-paketti.

sudo dnf install mod_ssl

Asennuksen jälkeen voit tarkistaa sen asennuksen suorittamalla.

sudo rpm -q mod_ssl

Varmista myös, että OpenSSL-paketti on asennettu (OpenSSL asennetaan oletuksena CentOS 8:ssa).

sudo rpm -q openssl 

Vaihe 2: Luo paikallinen itse allekirjoitettu SSL-varmenne Apachelle

3. Kun Apache-verkkopalvelin ja kaikki edellytykset ovat kunnossa, sinun on luotava hakemisto, johon salausavaimet tallennetaan.

Tässä esimerkissä olemme luoneet hakemiston osoitteeseen /etc/ssl/private.

sudo mkdir -p /etc/ssl/private

Luo nyt paikallinen SSL-sertifikaattiavain ja -tiedosto komennolla:

sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Katsotaanpa, mitä jotkut komennon vaihtoehdoista todella tarkoittavat:

  • req -x509 – Tämä osoittaa, että käytämme x509-sertifikaatin allekirjoituspyyntöä (CSR).
  • -solmut – Tämä asetus kehottaa OpenSSL:ää ohittamaan SSL-varmenteen salauksen tunnuslauseen avulla. Ajatuksena tässä on antaa Apachelle mahdollisuus lukea tiedosto ilman käyttäjän toimia, mikä ei olisi mahdollista, jos tunnuslause annetaan.
  • -newkey rsa:2048 – Tämä tarkoittaa, että haluamme luoda samanaikaisesti uuden avaimen ja uuden varmenteen. Rsa:2048-osio tarkoittaa, että haluamme luoda 2048-bittisen RSA-avaimen.
  • -keyout – Tämä vaihtoehto määrittää, minne luotu yksityinen avaintiedosto tallennetaan luonnin yhteydessä.
  • -out – Vaihtoehto määrittää, mihin luotu SSL-varmenne sijoitetaan.

Vaihe 3: Asenna paikallinen itse allekirjoitettu SSL-sertifikaatti Apacheen

4. Kun SSL-varmennetiedosto on luotu, on nyt aika asentaa varmenne Apache-verkkopalvelimen asetusten avulla. Avaa /etc/httpd/conf.d/ssl.conf-määritystiedosto ja muokkaa sitä.

sudo vi /etc/httpd/conf.d/ssl.conf

Varmista, että virtuaalisen isäntätunnisteiden välissä on seuraavat rivit.

<VirtualHost *:443>
    ServerAdmin [email 
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
</VirtualHost>

Tallenna ja poistu tiedostosta. Jotta muutokset tulevat voimaan, käynnistä Apache uudelleen komennolla:

sudo systemctl restart httpd

5. Jotta ulkoiset käyttäjät voivat käyttää palvelintasi, sinun on avattava portti 443 palomuurin kautta kuvan osoittamalla tavalla.

sudo firewall-cmd --add-port=443 --zone=public --permanent
sudo firewall-cmd --reload

Vaihe 3: Paikallisen itse allekirjoitetun SSL-sertifikaatin testaus Apachessa

Kun kaikki asetukset on tehty, käynnistä selain ja selaa palvelimesi osoitetta käyttämällä palvelimen IP-osoitetta tai verkkotunnuksen nimeä https-protokollan avulla.

Testauksen tehostamiseksi voit harkita HTTP-protokollan uudelleenohjausta HTTPS:ään Apache-verkkopalvelimella. Tämä on niin, että aina kun selaat verkkotunnusta tavallisella HTTP:llä, se uudelleenohjataan automaattisesti HTTPS-protokollaan.

Selaa siis palvelimesi verkkotunnusta tai IP-osoitetta

https://domain_name/

Saat hälytyksen, joka ilmoittaa, että yhteys ei ole turvallinen, kuten kuvassa. Tämä vaihtelee selaimesta toiseen. Kuten arvata saattaa, hälytys johtuu siitä, että varmenteen myöntäjä ei ole allekirjoittanut SSL-varmennetta ja selain rekisteröi sen ja ilmoittaa, että varmenteeseen ei voi luottaa.

Siirry verkkosivustollesi napsauttamalla Lisäasetukset-välilehteä yllä olevan kuvan mukaisesti:

Lisää seuraavaksi poikkeus selaimeen.

Lataa lopuksi selaimesi uudelleen ja huomaa, että voit nyt käyttää palvelinta, vaikka URL-palkissa näkyy varoitus, että sivusto ei ole täysin suojattu samasta syystä kuin SSL-varmenne on itse allekirjoitettu eikä palvelin ole allekirjoittanut. Varmenteen myöntäjä.

Toivomme, että voit nyt jatkaa ja luoda ja asentaa itse allekirjoitetun SSL-varmenteen Apache localhost -verkkopalvelimelle CentOS 8:ssa.