GNU/Linux >> Znalost Linux >  >> Cent OS

Nainstalujte EasyRSA (Certificate Authority)-CA na CentOS / RHEL 8

Úvod

Přehled Easy-RSA

Easy-RSA je nástroj pro správu PKI CA (Certificate Authority) kromě X.509 PKI nebo infrastruktury veřejného klíče. PKI je založeno na důvěře určité autoritě při ověřování vzdáleného peeru; Další informace o tom, jak PKI funguje, najdete v Úvodu do PKI dokument.

Kód napsaný v platformě neutrálním prostředí POSIX, který umožňuje použití na široké škále hostitelských systémů. Oficiální verze Windows je také dodávána s programy nezbytnými pro použití Easy-RSA. Kód shellu se pokouší omezit počet externích programů, na kterých závisí. Úlohy související s kryptoměnami používají openssl jako funkční backend.

Nejdůležitější funkce

Zde je neúplný seznam nejpozoruhodnějších funkcí Easy-RSA:

  • Easy-RSA dokáže spravovat několik PKI, z nichž každé má svou vlastní nezávislou konfiguraci, adresář úložiště a obsluhu rozšíření X.509.
  • Podporovány možnosti formátování s více názvy předmětů (pole X.509 DN). Pro sítě VPN to znamená, že lze použít čistší nastavení commonName only.
  • Na všech podporovaných platformách se používá jeden backend, který zajišťuje, že žádná platforma nezůstane „vynechána“ z bohatých funkcí. Podporovány jsou všechny systémy Unix (BSD, Linux atd.) a Windows.
  • Podpora X.509 Easy-RSA zahrnuje CRL, CDP, atributy keyUsage/eKu a další funkce. Zahrnutou podporu lze změnit nebo rozšířit jako pokročilou funkci.
  • Interaktivní a automatizované (dávkové) režimy provozu
  • Flexibilní konfigurace:funkce lze aktivovat prostřednictvím možností příkazového řádku, proměnných prostředí, konfiguračního souboru nebo jejich kombinací.
  • Vestavěné výchozí hodnoty umožňují použití Easy-RSA bez předchozí úpravy konfiguračního souboru.

EasyRSA je tedy bezplatný a open source nástroj CLI pro vytvoření kořenové certifikační autority a požadovat a podepisovat certifikáty, včetně zprostředkujících CA a seznamů odvolaných certifikátů (CRL).

Aktualizujte balíčky v CentOS / RHEL

Aktualizujte softwarové balíčky ve své distribuci Linux před instalací jakéhokoli nového softwaru.

Proto spusťte dnf příkaz k aktualizaci softwarových balíčků ve vašem CentOS / Red Hat Enterprise Linux.

# dnf update -y

Ověřte verzi jádra použitou v této instalační příručce.

[root@rhel-pc ~]# uname -r
4.18.0-305.12.1.el8_4.x86_64
[root@rhel-pc ~]# 

Ověřte také verzi distribuce Linuxu.

[root@rhel-pc ~]# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.4 (Ootpa)
[root@rhel-pc ~]# 

Nainstalovat EasyRSA na CentOS / RHEL

Stáhněte si nejnovější verzi EasyRSA pomocí příkazu wget.

[root@rhel-pc mnt]# cd /mnt
[root@rhel-pc mnt]#  wget https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz
--2021-08-15 23:10:26--  https://github.com/OpenVPN/easy-rsa/releases/download/v3.0.8/EasyRSA-3.0.8.tgz
Resolving github.com (github.com)... 140.82.121.3
Connecting to github.com (github.com)|140.82.121.3|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-releases.githubusercontent.com/4519663/2e0dee80-f7f3-11ea-9ba4-dc973db12175?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210815%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210815T210829Z&X-Amz-Expires=300&X-Amz-Signature=5199380d851889a82d52ae4950917b20c7717e387f0c6b62054969f554de8e04&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=4519663&response-content-disposition=attachment%3B%20filename%3DEasyRSA-3.0.8.tgz&response-content-type=application%2Foctet-stream [following]
--2021-08-15 23:10:28--  https://github-releases.githubusercontent.com/4519663/2e0dee80-f7f3-11ea-9ba4-dc973db12175?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20210815%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20210815T210829Z&X-Amz-Expires=300&X-Amz-Signature=5199380d851889a82d52ae4950917b20c7717e387f0c6b62054969f554de8e04&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=4519663&response-content-disposition=attachment%3B%20filename%3DEasyRSA-3.0.8.tgz&response-content-type=application%2Foctet-stream
Resolving github-releases.githubusercontent.com (github-releases.githubusercontent.com)... 185.199.111.154, 185.199.108.154, 185.199.109.154, ...
Connecting to github-releases.githubusercontent.com (github-releases.githubusercontent.com)|185.199.111.154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 48907 (48K) [application/octet-stream]
Saving to: ‘EasyRSA-3.0.8.tgz’

EasyRSA-3.0.8.tgz                     100%[=======================================================================>]  47.76K  --.-KB/s    in 0.1s    

2021-08-15 23:10:29 (414 KB/s) - ‘EasyRSA-3.0.8.tgz’ saved [48907/48907]

[root@rhel-pc mnt]# 

Rozbalte stažený soubor tar spuštěním tar příkaz.

[root@rhel-pc mnt]# tar xfv EasyRSA-3.0.8.tgz 
EasyRSA-3.0.8/
EasyRSA-3.0.8/easyrsa
EasyRSA-3.0.8/openssl-easyrsa.cnf
EasyRSA-3.0.8/vars.example
EasyRSA-3.0.8/x509-types/
EasyRSA-3.0.8/gpl-2.0.txt
EasyRSA-3.0.8/mktemp.txt
EasyRSA-3.0.8/COPYING.md
EasyRSA-3.0.8/ChangeLog
EasyRSA-3.0.8/README.md
EasyRSA-3.0.8/README.quickstart.md
EasyRSA-3.0.8/doc/
EasyRSA-3.0.8/doc/EasyRSA-Advanced.md
EasyRSA-3.0.8/doc/EasyRSA-Readme.md
EasyRSA-3.0.8/doc/EasyRSA-Upgrade-Notes.md
EasyRSA-3.0.8/doc/Hacking.md
EasyRSA-3.0.8/doc/Intro-To-PKI.md
EasyRSA-3.0.8/x509-types/COMMON
EasyRSA-3.0.8/x509-types/ca
EasyRSA-3.0.8/x509-types/client
EasyRSA-3.0.8/x509-types/code-signing
EasyRSA-3.0.8/x509-types/email
EasyRSA-3.0.8/x509-types/kdc
EasyRSA-3.0.8/x509-types/server
EasyRSA-3.0.8/x509-types/serverClient
[root@rhel-pc mnt]# 

Poté extrahovaný adresář přejmenujte.

[root@rhel-pc mnt]# mv EasyRSA-3.0.8 EasyRSA

Vygenerujte certifikát PKI a CA

můžete to udělat pomocí následujícího příkazu:

[root@rhel-pc mnt]# cd EasyRSA/
[root@rhel-pc EasyRSA]# ./easyrsa init-pki

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /mnt/EasyRSA/pki


[root@rhel-pc EasyRSA]# 

Nyní tedy vygenerujte svou certifikační autoritu (CA), která bude_použita k podepsání žádostí o podpis certifikátu (CSR) serveru a klienta pomocí příkazu níže.

[root@rhel-pc EasyRSA]# ./easyrsa build-ca
Using SSL: openssl OpenSSL 1.1.1g FIPS  21 Apr 2020

Enter New CA Key Passphrase: 
Re-Enter New CA Key Passphrase: 
Generating RSA private key, 2048 bit long modulus (2 primes)
..................+++++
...........................................................................................................................................................+++++
e is 65537 (0x010001)
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:unixcop

CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/mnt/EasyRSA/pki/ca.crt


[root@rhel-pc EasyRSA]# 

Vygenerujte serverový certifikát SSL

Vygenerujeme tedy soukromý klíč RSA a CSR pomocí příkazu níže.

[root@rhel-pc EasyRSA]# ./easyrsa gen-req easyrsa.unixcop.com nopass
Using SSL: openssl OpenSSL 1.1.1g FIPS  21 Apr 2020
Generating a RSA private key
............................................................................................................................................................................................+++++
..........+++++
writing new private key to 'https://1118798822.rsc.cdn77.org/mnt/EasyRSA/pki/easy-rsa-6230.db5Ie8/tmp.5R7sqs'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [easyrsa.unixcop.com]:

Keypair and certificate request completed. Your files are:
req: /mnt/EasyRSA/pki/reqs/easyrsa.unixcop.com.req
key: /mnt/EasyRSA/pki/private/easyrsa.unixcop.com.key


[root@rhel-pc EasyRSA]# 

Kromě toho podepište CSR serveru pomocí soukromého klíče certifikační autority (CA).

[root@rhel-pc EasyRSA]# ./easyrsa sign-req server easyrsa.unixcop.com
Using SSL: openssl OpenSSL 1.1.1g FIPS  21 Apr 2020


You are about to sign the following certificate.
Please check over the details shown below for accuracy. Note that this request
has not been cryptographically verified. Please be sure it came from a trusted
source or that you have verified the request checksum with the sender.

Request subject, to be signed as a server certificate for 825 days:

subject=
    commonName                = easyrsa.unixcop.com


Type the word 'yes' to continue, or any other input to abort.
  Confirm request details: yes
Using configuration from /mnt/EasyRSA/pki/easy-rsa-6260.UVEjyC/tmp.nTGkfr
Enter pass phrase for /mnt/EasyRSA/pki/private/ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'easyrsa.unixcop.com'
Certificate is to be certified until Nov 18 21:18:53 2023 GMT (825 days)

Write out database with 1 new entries
Data Base Updated

Certificate created at: /mnt/EasyRSA/pki/issued/easyrsa.unixcop.com.crt


[root@rhel-pc EasyRSA]# 

Úspěšně jste podepsali certifikát SSL.

Chcete-li také ověřit, zda je váš certifikát SSL správně vygenerován, můžete spustit openssl příkaz, jak je znázorněno níže.

[root@rhel-pc EasyRSA]#  openssl verify -CAfile pki/ca.crt /mnt/EasyRSA/pki/issued/easyrsa.unixcop.com.crt
/mnt/EasyRSA/pki/issued/easyrsa.unixcop.com.crt: OK
[root@rhel-pc EasyRSA]# 

Vygenerovat klíč (Diffie Hellman)

Takže vygenerujeme Diffie Hellman klíč, který má být použit procesem výměny klíčů. K jeho vygenerování použijte příkaz níže.

[root@rhel-pc EasyRSA]# ./easyrsa gen-dh
Using SSL: openssl OpenSSL 1.1.1g FIPS  21 Apr 2020
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
......................................................................................................................................................................................................................................................................................................................................+..+...........................................+.....................+..........................................................................................+..........................................................................................................................................................................................................................................................................................................................................................................+........................................+....................................................................................................................+............................................................................................................................................................................................................+...................................+........................................................................................................................................................................................................................................................................+...........+......................................................................................................+...........................................................+..........................+...............................................................................................................................................+..................................................++*++*++*++*

DH parameters of size 2048 created at /mnt/EasyRSA/pki/dh.pem


[root@rhel-pc EasyRSA]# 

Vygenerujte klientský certifikát SSL

Vygenerujte pro svého klienta certifikát SSL.

jak je znázorněno v příkladu, klient bude qadry.unixcop.com

[root@rhel-pc EasyRSA]#  ./easyrsa gen-req qadry.unixcop.com nopass
Using SSL: openssl OpenSSL 1.1.1g FIPS  21 Apr 2020
Generating a RSA private key
..+++++
.............................+++++
writing new private key to 'https://1118798822.rsc.cdn77.org/mnt/EasyRSA/pki/easy-rsa-6458.r26VDM/tmp.fjd968'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Common Name (eg: your user, host, or server name) [qadry.unixcop.com]:

Keypair and certificate request completed. Your files are:
req: /mnt/EasyRSA/pki/reqs/qadry.unixcop.com.req
key: /mnt/EasyRSA/pki/private/qadry.unixcop.com.key


[root@rhel-pc EasyRSA]# 

Můžete také podepsat klientský certifikát SSL, jak je uvedeno níže.

[root@rhel-pc EasyRSA]# ./easyrsa sign-req client qadry.unixcop.com
Using SSL: openssl OpenSSL 1.1.1g FIPS  21 Apr 2020


You are about to sign the following certificate.
Please check over the details shown below for accuracy. Note that this request
has not been cryptographically verified. Please be sure it came from a trusted
source or that you have verified the request checksum with the sender.

Request subject, to be signed as a client certificate for 825 days:

subject=
    commonName                = qadry.unixcop.com


Type the word 'yes' to continue, or any other input to abort.
  Confirm request details: yes
Using configuration from /mnt/EasyRSA/pki/easy-rsa-6507.0eJrdy/tmp.sFYefJ
Enter pass phrase for /mnt/EasyRSA/pki/private/ca.key:
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
commonName            :ASN.1 12:'qadry.unixcop.com'
Certificate is to be certified until Nov 18 21:29:23 2023 GMT (825 days)

Write out database with 1 new entries
Data Base Updated

Certificate created at: /mnt/EasyRSA/pki/issued/qadry.unixcop.com.crt


[root@rhel-pc EasyRSA]# 

Takže jste úspěšně vygenerovali a podepsali klientský SSL certifikát.

Zkopírujte si také certifikát certifikační autority (CA) do /etc/pki/ca-trust/source/anchors/ svých klientů Linuxu, aby přidali vaši CA do jejich seznamu důvěryhodných CA.

Závěr

Úspěšně jsme tedy nainstalovali EasyRSA na CentOS / Red Hat Enterprise Linux 8. Také jsme nakonfigurovali certifikační autoritu a podepsané SSL certifikáty serveru a klienta pomocí easyrsa příkaz.


Cent OS
  1. Jak nainstalovat ssl na RHEL 8 / CentOS 8

  2. Jak nainstalovat phpMyAdmin na RHEL 8 / CentOS 8

  3. Nainstalujte Webmin na CentOS 7 / RHEL 7

  1. Jak nainstalovat P7Zip na RHEL 8 / CentOS 8

  2. Jak nainstalovat ntfs-3g na RHEL 8 / CentOS 8

  3. Jak nainstalovat PHP-mbstring na RHEL 8 / CentOS 8

  1. Jak nainstalovat phantomjs na RHEL 8 / CentOS 8

  2. Jak nainstalovat Dropbox na RHEL 8 / CentOS 8

  3. Nainstalujte gnome na RHEL 8 / CentOS 8