Конфигуриране на SSL сертификат и добавянето му на VPS/Dedicated servers - част I

В този пост ще Ви запозная как да генерирате на Вашия сървър домейн ключ, след което нужния CSR(Certificate Signing Request). Който CSR трябва да предоставите на доставчика на SSL сертификата, за да може да Ви издаде сертфикат по Вашия csr.

В част първа на поста ще Ви запозная с генерирането и конфигурирането под CentOS, а във втора част под Debian.

Нужно е първо да проверим дали разполагаме с openssl и ssl модул на уеб сървър:

*[root@/]# rpm -qa | grep ssl openssl-0.9.8e-12.el5_5.7 mod_ssl-2.2.3-45.el5.centos.1*

Забелязах с тази проверка, че разполагаме с openssl, както и с mod_ssl за уеб сървър httpd. Ако те не бяха налични е нужно да ги инсталираме. Това можем да направим със следната команда:

*[root@/]# yum install openssl.x86_64 mod_ssl.x86_64*

След като сме направили проверка създаваме една директория с име ssl в която ще генерираме домейн ключа, CSR-a и след това ще копираме сертификата и CA bundle-a:

*[root@/]# mkdir /etc/httpd/ssl [root@/]# cd /etc/httpd/ssl*

Вече сме създали успешно директорията и се намираме в нея. Сега първо е нужно да генерираме домейн ключа, след което да генерираме CSR-a. И за двете операционни системи създаването на ключ и csr е идентично:

*[root@ /]# openssl genrsa -out domain.com.pem 2048

Generating RSA private key, 2048 bit long modulus

.............+++

.......................................................................................+++

e is 65537 (0x10001)

[root@ /]# openssl req -new -key domain.com.pem -out domain.com.csr

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.

-----

Country Name (2 letter code) [GB]:BG

State or Province Name (full name) [Berkshire]:Sofia

Locality Name (eg, city) [Newbury]:Sofia

Organization Name (eg, company) [My Company Ltd]:ICN.Bg

Organizational Unit Name (eg, section) []:IT

Common Name (eg, your name or your server's hostname) []:domain.com

Email Address []:admin@domain.com



Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:*

Не е нужно да въвеждате challenge password, най-важно е да въведете "Common Name" където подавате с какъв hostname да бъде генериран сертификата дали той да бъде www.domain.com или domain.com. Ако не въведете това правилно сертификатът няма да работи коректно.

Вече сме генерирали ключа, както и csr-a. Сега ни е нужно да закупим валидел SSL сертфикат, това можете да направите от тукили от някои друг доставчик. След като сте закупили сертификатът е нужно да предоставите на доставчика Ви csr-а за да може да Ви генерира самия сертификат. След като той Ви е предоставил сертификата и ca-bandle е нужно да ги поставите в директория ssl.

Добавяме сертификата с текстов редактор:

*[root@ ssl]# pico domain.com.crt

-----BEGIN CERTIFICATE-----

MIIHjDCCBnSgAwIBAgIDA0CqMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYDVQQGEwJJ

TDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0

YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20gQ2xhc3Mg

MSBQcmltYXJ5IEludGVybWVkaWF0ZSBTZXJ2ZXIgQ0EwHhcNMTEwNDAyMTMxODU3

WhcNMTIwNDAyMTUzMjExWjCBtjEgMB4GA1UEDRMXMzk1MTgyLWh0UzA4RWZaNDI0

dTQxMVcxCzAJBgNVBAYTAkJHMR4wHAYDVQQKExVQZXJzb25hIE5vdCBWYWxpZGF0

ZWQxKTAnBgNVBAsTIFN0YXJ0Q29tIEZyZWUgQ2VydGlmaWNhdGUgTWVtYmVyMRYw

FAYDVQQDEw13d3cuZmlrb3YuY29tMSIwIAYJKoZIhvcNAQkBFhN3ZWJtYXN0ZXJA

Zmlrb3YuY29tMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvu2G1vLb

GWMIwrMTACepTshGliZZ6MWDD05jhpmlVPJ+ocQ7CppC3PBfk/lGEftCjXEhVOSV

S1dgpflEe/iYTTxjduXx9ALvcaJeaP4C8y5efyZXKC2mdwkCSqOvx1mvkYIv0xC3

u4mR/Yhb56qBGPiIQeeSEbIVyCP4LB1NJcW2mEe6QvYJeS35mA9tNc9Bn0tQAhPX

FwzppvQPeg+Zh+C4+sPMKb+DfbbDKA87JxsDXJ67wMdpsinRDLj5YatWXvIQusOF

ehNXApjvenAEyknj02DG1M9LlK+2mqN7JB49Zte0VAW+jXl78kpSy//60XOTFZkU

1IDH0mrM9LyXCdS1ibCyBMC+Ml5q8ibdq5Z5u2kaZQywrduIZRceinaICBtRFHHx

w0oxq4yOrGYApuJFFChOf4ppyTHIqkrWKK2g72nOrCN/YxAy+8cNZg0lcIlxo/Cp

/ZJv69+BcAAl1vzXozWx097njCkaDiNlmGSyndL47EqeufTE9jh7E4gSgWsHeMdE

x3H1n2UCjTd5FcRWiQYjB0VcwvfPDEczKtAsFcnL0T9G/KC1nh8D+dZbgcKQBC/D

cezUR3ypak3oQ1hJIyxX35ZskbCDQe/Q1LW66D+ZDBC2F4WloY16rPH1jNPewZrf

zmYKs4cv0DCl+O21dIa+YRl7NFOkUWTVOrcCAwEAAaOCAskwggLFMAkGA1UdEwQC

MAAwCwYDVR0PBAQDAgOoMBMGA1UdJQQMMAoGCCsGAQUFBwMBMB0GA1UdDgQWBBTQ

TJZVX80Yebhlkz4Z8sBVxI/InDAfBgNVHSMEGDAWgBTrQjTQmLCrn/Qbawj3zGQu

7w4sRTAjBgNVHREEHDAagg13d3cuZmlrb3YuY29tgglmaWtvdi5jb20wggFCBgNV

HSAEggE5MIIBNTCCATEGCysGAQQBgbU3AQICMIIBIDAuBggrBgEFBQcCARYiaHR0

cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA0BggrBgEFBQcCARYoaHR0

cDovL3d3dy5zdGFydHNzbC5jb20vaW50ZXJtZWRpYXRlLnBkZjCBtwYIKwYBBQUH

AgIwgaowFBYNU3RhcnRDb20gTHRkLjADAgEBGoGRTGltaXRlZCBMaWFiaWxpdHks

IHNlZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2YgdGhlIFN0YXJ0Q29t

IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFpbGFibGUgYXQgaHR0

cDovL3d3dy5zdGFydHNzbC5jb20vcG9saWN5LnBkZjA1BgNVHR8ELjAsMCqgKKAm

hiRodHRwOi8vY3JsLnN0YXJ0c3NsLmNvbS9jcnQxLWNybC5jcmwwgY4GCCsGAQUF

BwEBBIGBMH8wOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9z

dWIvY2xhc3MxL3NlcnZlci9jYTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFy

dHNzbC5jb20vY2VydHMvc3ViLmNsYXNzMS5zZXJ2ZXIuY2EuY3J0MCMGA1UdEgQc

MBqGGGh0dHA6Ly93d3cuc3RhcnRzc2wuY29tLzANBgkqhkiG9w0BAQUFAAOCAQEA

ZBmk5S1AzwmOMkQH1cPota1/YC2uNBQCUQQCh5wP0+hmFTkr8Acq8qN8M0wUkONf

lFeghsMulk9+XSK5x0IDLlNtABSAVJpLwietL8KdFcbujmMbsNoWDM2cZhS56NBB

jg4a46OIm+t3Wdf5A02uHpCa3JTM8393DbX2ts43hYHn0zpp1a/v4RqSMHU8u4Du

gKaUs+/Wo+2wQ7gQVj9hecoivtkvr6OEy+RzQr+Lf1dJ/v2bZKkjHnDWb8t1ZoXT

3Vkb5i8IpRHllHLboAEZMzmQ3q4F+yqPkD/1izs/Adu5wkwoC8yy2gLpi3wUX2Zg

Q4Z9hYzAqNmC0jutbwvaLA==

-----END CERTIFICATE-----*

Добавяме cabandle с текстов редактор:

*[root@ ssl]# pico domain.com.cabundle 

-----BEGIN CERTIFICATE-----

MIIHyTCCBbGgAwIBAgIBATANBgkqhkiG9w0BAQUFADB9MQswCQYDVQQGEwJJTDEW

MBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwg

Q2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3RhcnRDb20gQ2VydGlmaWNh

dGlvbiBBdXRob3JpdHkwHhcNMDYwOTE3MTk0NjM2WhcNMzYwOTE3MTk0NjM2WjB9

MQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UECxMi

U2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzEpMCcGA1UEAxMgU3Rh

cnRDb20gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA

A4ICDwAwggIKAoICAQDBiNsJvGxGfHiflXu1M5DycmLWwTYgIiRezul38kMKogZk

pMyONvg45iPwbm2xPN1yo4UcodM9tDMr0y+v/uqwQVlntsQGfQqedIXWeUyAN3rf

OQVSWff0G0ZDpNKFhdLDcfN1YjS6LIp/Ho/u7TTQEceWzVI9ujPW3U3eCztKS5/C

Ji/6tRYccjV3yjxd5srhJosaNnZcAdt0FCX+7bWgiA/deMotHweXMAEtcnn6RtYT

Kqi5pquDSR3l8u/d5AGOGAqPY1MWhWKpDhk6zLVmpsJrdAfkK+F2PrRt2PZE4XNi

HzvEvqBTViVsUQn3qqvKv3b9bZvzndu/PWa8DFaqr5hIlTpL36dYUNk4dalb6kMM

Av+Z6+hsTXBbKWWc3apdzK8BMewM69KN6Oqce+Zu9ydmDBpI125C4z/eIT574Q1w

+2OqqGwaVLRcJXrJosmLFqa7LH4XXgVNWG4SHQHuEhANxjJ/GP/89PrNbpHoNkm+

Gkhpi8KWTRoSsmkXwQqQ1vp5Iki/untp+HDH+no32NgN0nZPV/+Qt+OR0t3vwmC3

Zzrd/qqc8NSLf3Iizsafl7b4r4qgEKjZ+xjGtrVcUjyJthkqcwEKDwOzEmDyei+B

26Nu/yYwl/WL3YlXtq09s68rxbd2AvCl1iuahhQqcvbjM4xdCUsT37uMdBNSSwID

AQABo4ICUjCCAk4wDAYDVR0TBAUwAwEB/zALBgNVHQ8EBAMCAa4wHQYDVR0OBBYE

FE4L7xqkQFulF2mHMMo0aEPQQa7yMGQGA1UdHwRdMFswLKAqoCiGJmh0dHA6Ly9j

ZXJ0LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMCugKaAnhiVodHRwOi8vY3Js

LnN0YXJ0Y29tLm9yZy9zZnNjYS1jcmwuY3JsMIIBXQYDVR0gBIIBVDCCAVAwggFM

BgsrBgEEAYG1NwEBATCCATswLwYIKwYBBQUHAgEWI2h0dHA6Ly9jZXJ0LnN0YXJ0

Y29tLm9yZy9wb2xpY3kucGRmMDUGCCsGAQUFBwIBFilodHRwOi8vY2VydC5zdGFy

dGNvbS5vcmcvaW50ZXJtZWRpYXRlLnBkZjCB0AYIKwYBBQUHAgIwgcMwJxYgU3Rh

cnQgQ29tbWVyY2lhbCAoU3RhcnRDb20pIEx0ZC4wAwIBARqBl0xpbWl0ZWQgTGlh

YmlsaXR5LCByZWFkIHRoZSBzZWN0aW9uICpMZWdhbCBMaW1pdGF0aW9ucyogb2Yg

dGhlIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFBvbGljeSBhdmFp

bGFibGUgYXQgaHR0cDovL2NlcnQuc3RhcnRjb20ub3JnL3BvbGljeS5wZGYwEQYJ

YIZIAYb4QgEBBAQDAgAHMDgGCWCGSAGG+EIBDQQrFilTdGFydENvbSBGcmVlIFNT

TCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTANBgkqhkiG9w0BAQUFAAOCAgEAFmyZ

9GYMNPXQhV59CuzaEE44HF7fpiUFS5Eyweg78T3dRAlbB0mKKctmArexmvclmAk8

jhvh3TaHK0u7aNM5Zj2gJsfyOZEdUauCe37Vzlrk4gNXcGmXCPleWKYK34wGmkUW

FjgKXlf2Ysd6AgXmvB618p70qSmD+LIU424oh0TDkBreOKk8rENNZEXO3SipXPJz

ewT4F+irsfMuXGRuczE6Eri8sxHkfY+BUZo7jYn0TZNmezwD7dOaHZrzZVD1oNB1

ny+v8OqCQ5j4aZyJecRDjkZy42Q2Eq/3JR44iZB3fsNrarnDy0RLrHiQi+fHLB5L

EUTINFInzQpdn4XBidUaePKVEFMy3YCEZnXZtWgo+2EuvoSoOMCZEoalHmdkrQYu

L6lwhceWD3yJZfWOQ1QOq92lgDmUYMA0yZZwLKMS9R9Ie70cfmu3nZD0Ijuu+Pwq

yvqCUqDvr0tVk+vBtfAii6w0TiYiBKGHLHVKt+V9E9e4DGTANtLJL4YSjCMJwRuC

O3NJo2pXh5Tl1njFmUNj403gdy3hZZlyaQQaRwnmDwFWJPsfvw55qVguucQJAX6V

um0ABj6y6koQOdjQK/W/7HW/lwLFCRsI3FU34oH7N4RDYiDK51ZLZer+bMEkkySh

NOsF/5oirpt9P/FlUQqmMGqz9IgcgA38corog14=

-----END CERTIFICATE-----*

След като сме добавили сертификата и ca-bandle е нужно да създадем виртуалния хост в уеб сървър като опишем порта на който да слуша и пътя до ключа, сертификата и ca-bandle.

Промянаме следните два реда в конфигурационния файл /etc/httpd/conf.d/ssl.conf:

*SSLRandomSeed startup builtin

SSLRandomSeed connect builtin*

След което в секцията "SSL Virtual Host Context" описваме виртуалния хост, като подаваме или редактираме следните редове:

*Listen 192.168.1.101:443 --- като 192.168.1.101 е IP на което рабтои уеб сървъра Ви 

DocumentRoot "/var/www/html" 

ServerName domain.com:443 

ErrorLog logs/ssl_error_log 

SSLEngine on 

SSLCertificateFile /etc/httpd/ssl/domain.com.crt 

SSLCertificateKeyFile /etc/httpd/ssl/domain.com.pem 

SSLCACertificateFile /etc/httpd/ssl/domain.com.cabundle*

След тези настройки трябва само да рестартираме уеб сървъра и вече сме защитени със SSL сертификат. Можете да продължите от туккъм втора част в която ще Ви подам информация как да добавите и конфигурирате сертификат под Debian.

Етикети: #centos #ssl