|
| 1 | +--- |
| 2 | +title: Генерація ключів SSL |
| 3 | +author: Steven Spencer |
| 4 | +contributors: Ezequiel Bruni |
| 5 | +tested_with: 8.5 |
| 6 | +tags: |
| 7 | + - безпека |
| 8 | + - ssl |
| 9 | + - openssl |
| 10 | +--- |
| 11 | + |
| 12 | +# Генерація ключів SSL |
| 13 | + |
| 14 | +## Передумови |
| 15 | + |
| 16 | +* Робоча станція та сервер під керуванням Rocky Linux |
| 17 | +* _OpenSSL_, інстальований на машині, на якій ви збираєтеся генерувати закритий ключ і CSR, а також на сервері, де ви в кінцевому підсумку встановлюватимете свій ключ і сертифікати |
| 18 | +* Здатність зручно виконувати команди з командного рядка |
| 19 | +* Корисно: знання команд SSL і OpenSSL |
| 20 | + |
| 21 | + |
| 22 | +## Вступ |
| 23 | + |
| 24 | +Майже кожен веб-сайт сьогодні _має_ працювати з сертифікатом SSL (рівня захищених сокетів). Ця процедура допоможе вам створити закритий ключ для вашого веб-сайту, а потім розробити CSR (запит на підписання сертифіката), який ви використовуватимете для придбання нового сертифіката. |
| 25 | + |
| 26 | +## Згенеруйте закритий ключ |
| 27 | + |
| 28 | +Для непосвячених, закриті ключі SSL можуть мати різні розміри, виміряні в бітах, що визначає, наскільки важко їх зламати. |
| 29 | + |
| 30 | +Станом на 2021 рік рекомендований розмір закритого ключа веб-сайту все ще становить 2048 біт. Ви можете піти вище, але подвоєння розміру ключа з 2048 біт до 4096 біт лише приблизно на 16% безпечніше, займає більше місця для зберігання ключа та спричиняє більші навантаження на ЦП під час обробки ключа. |
| 31 | + |
| 32 | +Це сповільнює продуктивність вашого веб-сайту без значної безпеки. Дотримуйтеся розміру ключа 2048 і завжди стежте за рекомендаціями. |
| 33 | + |
| 34 | +Для початку давайте переконаємося, що OpenSSL встановлено як на робочій станції, так і на сервері: |
| 35 | + |
| 36 | +`dnf install openssl` |
| 37 | + |
| 38 | +Для початку переконайтеся, що OpenSSL встановлено як на робочій станції, так і на сервері. |
| 39 | + |
| 40 | +Наш приклад домену example.com. Пам’ятайте, що вам потрібно буде придбати та зареєструвати свій домен заздалегідь. Ви можете придбати домени через кілька «Реєстраторів». |
| 41 | + |
| 42 | +Якщо у вас не використовується DNS (система доменних імен), ви часто можете використовувати тих самих постачальників для хостингу DNS. DNS перетворює ваш названий домен на числа (IP-адреси, IPv4 або IPv6), які може зрозуміти Інтернет. Ці IP-адреси будуть місцем розміщення веб-сайту. |
| 43 | + |
| 44 | +Давайте згенеруємо ключ за допомогою openssl: |
| 45 | + |
| 46 | +`openssl genrsa -des3 -out example.com.key.pass 2048` |
| 47 | + |
| 48 | +Зверніть увагу, що ми назвали ключ із розширенням .pass. Це тому, що щойно ми виконаємо цю команду, вона попросить вас ввести парольну фразу. Введіть просту парольну фразу, яку ви можете запам’ятати, оскільки ми скоро видалимо це: |
| 49 | + |
| 50 | +``` |
| 51 | +Enter pass phrase for example.com.key.pass: |
| 52 | +Verifying - Enter pass phrase for example.com.key.pass: |
| 53 | +``` |
| 54 | + |
| 55 | +Далі видалімо цю парольну фразу. Це тому, що якщо ви не видалите його, щоразу, коли ваш веб-сервер перезавантажиться та завантажить ваш ключ, вам потрібно буде вводити цю парольну фразу. |
| 56 | + |
| 57 | +Ви можете навіть не бути поруч, щоб увійти в нього, або ще гірше, у вас може бути не готова консоль. Видаліть його зараз, щоб уникнути всього цього: |
| 58 | + |
| 59 | +`openssl rsa -in example.com.key.pass -out example.com.key` |
| 60 | + |
| 61 | +Це ще раз запитає цю парольну фразу, щоб видалити її з ключа: |
| 62 | + |
| 63 | +`Введіть парольну фразу, наприклад.com.key.pass:` |
| 64 | + |
| 65 | +Тепер, коли ви ввели парольну фразу втретє, її було видалено з файлу ключа та збережено як example.com.key |
| 66 | + |
| 67 | +## Створення CSR |
| 68 | + |
| 69 | +Далі нам потрібно створити CSR (запит на підписання сертифіката), який ми будемо використовувати для придбання нашого сертифіката. |
| 70 | + |
| 71 | +Під час генерації CSR вам буде запропоновано ввести кілька частин інформації. Це атрибути X.509 сертифіката. |
| 72 | + |
| 73 | +Одним із запитів буде «Загальне ім’я (наприклад, ВАШЕ ім’я)». Це поле має бути заповнене повним доменним іменем сервера, який буде захищено SSL. Якщо веб-сайт, який потрібно захистити, буде https://www.example.com, тоді введіть www.example.com у цьому запиті: |
| 74 | + |
| 75 | +`openssl req -new -key example.com.key -out example.com.csr` |
| 76 | + |
| 77 | +Це відкриває діалогове вікно: |
| 78 | + |
| 79 | +`Назва країни (2-літерний код) [XX]:` введіть двозначний код країни, у якій знаходиться ваш сайт, наприклад "US" |
| 80 | + |
| 81 | +`Назва штату або провінції (повна назва) []:` введіть повну офіційну назву вашого штату або провінції, наприклад "Nebraska" |
| 82 | + |
| 83 | +`Назва населеного пункту (наприклад, місто) [Місто за замовчуванням]:` введіть повну назву міста, наприклад "Omaha" |
| 84 | + |
| 85 | +`Назва організації (наприклад, компанія) [Company Ltd за замовчуванням]:` За бажанням ви можете ввести організацію, частиною якої є цей домен, або просто натиснути «Enter», щоб пропустити. |
| 86 | + |
| 87 | +`Назва організаційного підрозділу (наприклад, розділ) []:` Це буде опис підрозділу організації, до якого належить ваш домен. Знову ж таки, ви можете просто натиснути «Enter», щоб пропустити. |
| 88 | + |
| 89 | +`Загальна назва (наприклад, ваше ім’я або ім’я хосту вашого сервера) []:` Тут ми маємо ввести ім’я хосту нашого сайту, наприклад, «www.example.com» |
| 90 | + |
| 91 | +`Адреса електронної пошти []:` Це поле необов’язкове, ви можете заповнити його або просто натиснути «Enter», щоб пропустити. |
| 92 | + |
| 93 | +Далі вам буде запропоновано ввести додаткові атрибути, які можна пропустити, натиснувши «Enter» в обох випадках: |
| 94 | + |
| 95 | +``` |
| 96 | +Please enter the following 'extra' attributes |
| 97 | +to be sent with your certificate request |
| 98 | +A challenge password []: |
| 99 | +An optional company name []: |
| 100 | +``` |
| 101 | + |
| 102 | +Тепер ви повинні створити свій CSR. |
| 103 | + |
| 104 | +## Придбання Сертифікату |
| 105 | + |
| 106 | +Кожен постачальник сертифікатів матиме однакову процедуру. Ви купуєте SSL і термін (1 або 2 роки тощо), а потім надсилаєте свій CSR. Для цього вам потрібно буде використати команду `more`, а потім скопіювати вміст вашого файлу CSR. |
| 107 | + |
| 108 | +`more example.com.csr` |
| 109 | + |
| 110 | +Що має показати вам щось на зразок цього: |
| 111 | + |
| 112 | +``` |
| 113 | +-----BEGIN CERTIFICATE REQUEST----- |
| 114 | +MIICrTCCAZUCAQAwaDELMAkGA1UEBhMCVVMxETAPBgNVBAgMCE5lYnJhc2thMQ4w |
| 115 | +DAYDVQQHDAVPbWFoYTEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDEYMBYG |
| 116 | +A1UEAwwPd3d3Lm91cndpa2kuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB |
| 117 | +CgKCAQEAzwN02erkv9JDhpR8NsJ9eNSm/bLW/jNsZxlxOS3BSOOfQDdUkX0rAt4G |
| 118 | +nFyBAHRAyxyRvxag13O1rVdKtxUv96E+v76KaEBtXTIZOEZgV1visZoih6U44xGr |
| 119 | +wcrNnotMB5F/T92zYsK2+GG8F1p9zA8UxO5VrKRL7RL3DtcUwJ8GSbuudAnBhueT |
| 120 | +nLlPk2LB6g6jCaYbSF7RcK9OL304varo6Uk0zSFprrg/Cze8lxNAxbFzfhOBIsTo |
| 121 | +PafcA1E8f6y522L9Vaen21XsHyUuZBpooopNqXsG62dcpLy7sOXeBnta4LbHsTLb |
| 122 | +hOmLrK8RummygUB8NKErpXz3RCEn6wIDAQABoAAwDQYJKoZIhvcNAQELBQADggEB |
| 123 | +ABMLz/omVg8BbbKYNZRevsSZ80leyV8TXpmP+KaSAWhMcGm/bzx8aVAyqOMLR+rC |
| 124 | +V7B68BqOdBtkj9g3u8IerKNRwv00pu2O/LOsOznphFrRQUaarQwAvKQKaNEG/UPL |
| 125 | +gArmKdlDilXBcUFaC2WxBWgxXI6tsE40v4y1zJNZSWsCbjZj4Xj41SB7FemB4SAR |
| 126 | +RhuaGAOwZnzJBjX60OVzDCZHsfokNobHiAZhRWldVNct0jfFmoRXb4EvWVcbLHnS |
| 127 | +E5feDUgu+YQ6ThliTrj2VJRLOAv0Qsum5Yl1uF+FZF9x6/nU/SurUhoSYHQ6Co93 |
| 128 | +HFOltYOnfvz6tOEP39T/wMo= |
| 129 | +-----END CERTIFICATE REQUEST----- |
| 130 | +``` |
| 131 | + |
| 132 | +Ви хочете скопіювати все, включно з рядками «ПОЧАТИ ЗАПИТУ НА СЕРТИФІКАТ» і «КІНЕЦЬ ЗАПИТУ НА СЕРТИФІКАТ». Потім вставте їх у поле CSR на веб-сайті, де ви купуєте сертифікат. |
| 133 | + |
| 134 | +Перед видачею сертифіката вам, можливо, доведеться виконати інші дії перевірки, залежно від власності на домен, реєстратора, яким ви користуєтеся, тощо. Коли його видають, його слід надати разом із проміжним сертифікатом від постачальника, який ви також використовуватимете в конфігурації. |
| 135 | + |
| 136 | +## Висновок |
| 137 | + |
| 138 | +Згенерувати всі деталі для придбання сертифіката веб-сайту не складно, і це може виконати системний адміністратор або адміністратор веб-сайту за допомогою описаної вище процедури. |
0 commit comments