📙
Linux
  • Sys Admin Linux
  • Системное администрирование
    • Базовые Знания
      • Введение
      • Структура Linux и команды
        • Сеть
          • Файлы конфигурации сети
          • Команды и Утилиты Сети
            • Настройка маршрутов в Linux
        • Команды для управления пользователями
        • Команды для управления системой
        • команды линукс для работы с разделами
        • Стандартные каталоги
        • Команды для работы с каталогами
        • Команды для работы с файлами
      • Потоки, Логические команды, Процессы, Сеть
      • Права Доступа
      • Атрибуты файла. Запрет изменения файла
      • Bash, сценарии
      • Стандартные программы и их команды( Путь к списку репозиториев)
      • Подключение по SSH
      • Untitled
      • Untitled
    • Основная Часть
      • Kernel Update
      • Работа с Raid 5
      • LVM
      • ZFS
      • NFS
      • Загрузка Системы
  • Анонимность в Сети
    • Настройка VPN-TOR-VPN
    • Настройка своего собственного VPN
      • Центр Сертификации (ЦС)
      • Шаг 1 Начало
      • Шаг 2 Подписание сертификата
      • Шаг 3 Повышение безопасности
      • Шаг 4 Клиент
      • Шаг 5 Настройка OpenVPN
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
      • Untitled
    • Смена MAC адреса
Powered by GitBook
On this page
  • Предпосылки
  • Шаг 1 - Установка Easy-RSA
  • Шаг 2 - Подготовка каталога инфраструктуры открытых ключей
  • Шаг 3 - Создание центра сертификации
  • Шаг 4 - Распространение публичного сертификата вашего центра сертификации

Was this helpful?

  1. Анонимность в Сети
  2. Настройка своего собственного VPN

Центр Сертификации (ЦС)

Центр сертификации необходим для работы OpenVPN

PreviousНастройка своего собственного VPNNextШаг 1 Начало

Last updated 4 years ago

Was this helpful?

Предпосылки

Чтобы настроить свой собственный VPN сервер, в первую очередь нам необходимо иметь свой собственный сервер, который может быть, как локальным так и облачным. Я настраивал на облачном сервере, который покупал на . Так же имеет смысл уточнить, что нередко бывает так, что центр сертификации располагается на отдельном сервере, а сам VPN на другом, но в моем случае, и ЦС и VPN находятся на одном облачном сервере.

Для начала я зашел на сервер ssh root@you_server_ip и на сервере я создал второго пользователя adduser alex, после чего выдал необходимые права usermod -aG sudo alex, затем как описано в моей части по " подлкючение по SSH " и настроил подключение по SSH пользователю alex. После чего из под root я залогинился в пользователя su - alex и ввел пароль.

Теперь приступим к созданию ЦС.

Шаг 1 - Установка Easy-RSA

Первая задача в этом руководстве - установить easy-rsaнабор сценариев на вашем CA Server. easy-rsaявляется инструментом управления центром сертификации, который вы будете использовать для создания закрытого ключа и открытого корневого сертификата, который вы затем будете использовать для подписи запросов от клиентов и серверов, которые будут полагаться на ваш ЦС.

Войдите на сервер CA как пользователь alex, не являющийся пользователем root, который вы создали на начальных этапах установки, и выполните следующие действия:

sudo apt update

sudo apt install openvpn easy-rsa

Вам будет предложено загрузить пакет и установить его. Нажмите, yчтобы подтвердить, что вы хотите установить пакет.

Шаг 2 - Подготовка каталога инфраструктуры открытых ключей

Теперь, когда вы установили easy-rsa, пришло время создать открытого (PKI) на CA Server. Убедитесь, что вы по-прежнему вошли в систему как пользователь без полномочий root, и создайте easy-rsaкаталог. Убедитесь, что вы не используете sudo для запуска любой из следующих команд, поскольку ваш обычный пользователь должен управлять и взаимодействовать с ЦС без повышенных привилегий.

mkdir ~/easy-rsa

Это создаст новый каталог с именем easy-rsaв вашей домашней папке. Мы будем использовать этот каталог для создания символических ссылок, указывающих на easy-rsaфайлы пакетов, которые мы установили на предыдущем шаге. Эти файлы находятся в /usr/share/easy-rsa.

Создайте символические ссылки с помощью lnкоманды:

ln -s /usr/share/easy-rsa/* ~/easy-rsa/

Примечание. В то время как другие руководства могут указывать, что вы должны скопировать easy-rsaфайлы пакета в каталог PKI, в этом руководстве используется метод символьных ссылок. В результате любые обновления easy-rsaпакета будут автоматически отражаться в скриптах вашей PKI.

Чтобы ограничить доступ к новому каталогу PKI, убедитесь, что только владелец может получить к нему доступ с помощью chmodкоманды:

chmod 700 /home/sammy/easy-rsa

Наконец, инициализируйте PKI внутри easy-rsaкаталога:

cd ~/easy-rsa

./easyrsa init-pki

Вывод должен быть таким:

Outputinit-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: /home/sammy/easy-rsa/pki

После заполнения этого раздела у вас есть каталог, содержащий все файлы, необходимые для создания центра сертификации. В следующем разделе вы создадите закрытый ключ и открытый сертификат для своего ЦС.

Шаг 3 - Создание центра сертификации

Прежде чем вы сможете создать закрытый ключ и сертификат вашего ЦС, вам нужно создать и заполнить файл, который называется varsс некоторыми значениями по умолчанию. Сначала вы попадете cdв easy-rsaкаталог, затем создадите и отредактируете varsфайл с помощью nanoили предпочитаемого вами текстового редактора:

cd ~/easy-rsa

nano vars

Как только файл открыт, вставьте следующие строки и отредактируйте каждое значение, чтобы отразить информацию о вашей организации. Здесь важно убедиться, что вы не оставляете пустыми значения:

~/easy-rsa/varsset_var EASYRSA_REQ_COUNTRY    "US"
set_var EASYRSA_REQ_PROVINCE   "NewYork"
set_var EASYRSA_REQ_CITY       "New York City"
set_var EASYRSA_REQ_ORG        "DigitalOcean"
set_var EASYRSA_REQ_EMAIL      "admin@example.com"
set_var EASYRSA_REQ_OU         "Community"
set_var EASYRSA_ALGO           "ec"
set_var EASYRSA_DIGEST         "sha512"

Когда вы закончите, сохраните и закройте файл. Если вы используете nano, вы можете сделать это, нажав CTRL+X, затем Yи ENTERдля подтверждения. Теперь вы готовы построить свой CA.

Чтобы создать корневую пару открытого и закрытого ключей для вашего центра сертификации, ./easy-rsaснова введите команду, на этот раз с build-caпараметром:

./easyrsa build-ca

В выводе вы увидите несколько строк о версии OpenSSL, и вам будет предложено ввести ключевую фразу для вашей пары ключей. Обязательно выберите надежную фразу-пароль и запишите ее в безопасном месте. Вам потребуется вводить парольную фразу в любое время, когда вам нужно взаимодействовать с вашим ЦС, например, чтобы подписать или отозвать сертификат.

Вас также попросят подтвердить Общее имя (CN) для вашего CA. CN - это имя, используемое для обозначения этого компьютера в контексте центра сертификации. Вы можете ввести любую строку символов для общего имени ЦС, но для простоты нажмите клавишу ВВОД, чтобы принять имя по умолчанию.

Output. . .
Enter New CA Key Passphrase:
Re-Enter New CA Key Passphrase:
. . .
Common Name (eg: your user, host, or server name) [Easy-RSA CA]:

CA creation complete and you may now import and sign cert requests.
Your new CA certificate file for publishing is at:
/home/sammy/easy-rsa/pki/ca.crt

Примечание. Если вы не хотите, чтобы пароль запрашивался при каждом взаимодействии с вашим ЦС, вы можете запустить build-caкоманду с nopassпараметром, например так:

./easyrsa build-ca nopass

Теперь у вас есть два важных файла - ~/easy-rsa/pki/ca.crtи ~/easy-rsa/pki/private/ca.key- которые составляют публичные и частные компоненты центра сертификации.

  • ca.keyэто закрытый ключ, который CA использует для подписи сертификатов для серверов и клиентов. Если злоумышленник получит доступ к вашему СА и, в свою очередь, к вашему ca.keyфайлу, вам нужно будет уничтожить ваш СА. Вот почему ваш ca.keyфайл должен находиться только на вашем компьютере CA, и в идеале ваш компьютер CA должен оставаться в автономном режиме, если вы не подписываете запросы на сертификат в качестве дополнительной меры безопасности.

После этого ваш центр сертификации будет готов и будет использоваться для подписи запросов на сертификаты и для отзыва сертификатов.

Шаг 4 - Распространение публичного сертификата вашего центра сертификации

Теперь ваш ЦС настроен и готов выступать в качестве корня доверия для любых систем, которые вы хотите настроить для его использования. Вы можете добавить сертификат CA на свои серверы OpenVPN, веб-серверы, почтовые серверы и т. Д. Любой пользователь или сервер, которому необходимо проверить личность другого пользователя или сервера в вашей сети, должен иметь копию ca.crtфайла, импортированную в хранилище сертификатов своей операционной системы.

Чтобы импортировать общедоступный сертификат CA во вторую систему Linux, такую ​​как другой сервер или локальный компьютер, сначала получите копию ca.crtфайла с вашего сервера CA. Вы можете использовать catкоманду для вывода его в терминал, а затем скопировать и вставить его в файл на втором компьютере, который импортирует сертификат. Вы также можете использовать такие инструменты, как scp, rsyncдля передачи файла между системами. Однако nanoна этом шаге мы будем использовать копирование и вставку, поскольку оно будет работать во всех системах.

Как пользователь без полномочий root на CA Server, выполните следующую команду:

cat ~/easy-rsa/pki/ca.crt

В вашем терминале будет вывод, похожий на следующий:

Output-----BEGIN CERTIFICATE-----
MIIDSzCCAjOgAwIBAgIUcR9Crsv3FBEujrPZnZnU4nSb5TMwDQYJKoZIhvcNAQEL
BQAwFjEUMBIGA1UEAwwLRWFzeS1SU0EgQ0EwHhcNMjAwMzE4MDMxNjI2WhcNMzAw
. . .
. . .
-----END CERTIFICATE-----

Скопируйте все, включая -----BEGIN CERTIFICATE-----и -----END CERTIFICATE-----строки и тире.

На вашей второй системе Linux используйте nanoили предпочитаемый вами текстовый редактор, чтобы открыть файл с именем /tmp/ca.crt:

nano /tmp/ca.crt

Вставьте содержимое, которое вы только что скопировали с CA Server в редактор. Когда вы закончите, сохраните и закройте файл. Если вы используете nano, вы можете сделать это, нажав CTRL+X, затем Yи ENTERдля подтверждения.

Теперь, когда у вас есть копия ca.crtфайла во второй системе Linux, пришло время импортировать сертификат в хранилище сертификатов операционной системы.

В системах на основе Ubuntu и Debian выполните следующие команды от имени пользователя без полномочий root для импорта сертификата:Производные дистрибутивы Ubuntu и Debian

sudo cp /tmp/ca.crt /usr/local/share/ca-certificates/

sudo update-ca-certificates

Чтобы импортировать сертификат CA Server в системе на основе CentOS, Fedora или RedHat, скопируйте и вставьте содержимое файла в систему, как в предыдущем примере, в файл с именем /tmp/ca.crt. Далее вы скопируете сертификат в /etc/pki/ca-trust/source/anchors/, а затем выполните update-ca-trustкоманду.CentOS, Fedora, RedHat дистрибутивы

sudo cp /tmp/ca.crt /etc/pki/ca-trust/source/anchors/

sudo update-ca-trust

Теперь ваша вторая система Linux будет доверять любому сертификату, подписанному сервером CA. В нашем случае это будет один и тот же сервер!!

ca.crtфайл открытого сертификата CA. Пользователи, серверы и клиенты будут использовать этот сертификат для проверки того, что они являются частью одной сети доверия. Каждый пользователь и сервер, который использует ваш CA, должен иметь копию этого файла. Все стороны будут полагаться на публичный сертификат, чтобы гарантировать, что кто-то не выдает себя за систему и не совершает .

Примечание. Если вы используете свой CA с веб-серверами и используете Firefox в качестве браузера, вам необходимо импортировать публичный ca.crtсертификат непосредственно в Firefox. Firefox не использует хранилище сертификатов локальной операционной системы. Для получения подробной информации о том, как добавить сертификат вашего CA в Firefox, смотрите эту статью поддержки от Mozilla по .

Если вы используете свой ЦС для интеграции со средой Windows или настольными компьютерами, ознакомьтесь с документацией по certutil.exe .

Про отзыв сертификатов можно почитать тут:

https://vscale.io
инфраструктуру
ключа
атаку «человек посередине»
настройке центров сертификации (CA) в Firefox
установке сертификата ЦС
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-configure-a-certificate-authority-ca-on-ubuntu-20-04#step-1-%E2%80%94-installing-easy-rsa