Веб протоколы, используемые для включения нормального трафика в оболочку, защищенного, зашифрованным TLS, или «безопасность транспорта» и его предшественника SSL, который выступает за «secure sockets layer». С помощью этой технологии, серверы могут отправлять трафик благополучно между сервером и клиентом без озабоченность, что сообщения будут перехвачены и прочитаны вне партии. В Проверка подлинности сайтов, которые они связывают с сертификата система также помогает пользователям.
В этом руководстве мы покажем вам, как настроить самозаверяющий SSL–сертификат для использования с веб-сервером Apache на CentOS 7 VPS. Самозаверяющий сертификат не пройдет проверку личности вашего сервера, так как он не подписан доверенных центров сертификации, но это позволит вам для шифрования связи между сервером и вашим посетителям.
Необходимые условия
Прежде чем начать с этим руководством, есть несколько шагов, которые должны быть завершены в первую очередь.
Вам потребуется доступ к серверу CentOS 7 с не root пользователя, имеющего привилегированности sudo. Если вы не настроили это, вы можете запустить через руководство установки исходного сервера CentOS 7 для создания этой учетной записи.
Вам также будет нужно иметь Apache установлен для того чтобы настроить виртуальные хосты для него. Если вы еще не сделали этого, можно использовать yum для установки Apache через CentOS по умолчанию репозиториев:
1 2 |
sudo yum install httpd |
Затем включите Apache как службу CentOS, таким образом, чтобы он автоматически начнет после перезагрузки:
1 2 |
sudo systemctl enable httpd.service |
После того, как эти шаги будут завершены, можно войти в систему как учетная запись пользователя не root через SSH и продолжить с учебником.
Шаг первый — Установить мод SSL
Для того, чтобы создать самозаверяющий сертификат, мы сначала должны быть уверены, что mod_ssl, Apache модуль, который обеспечивает поддержку для SSL–шифрования, установлен на нашего VPS. Мы можем установить mod_ssl с команду yum:
1 2 |
sudo yum install mod_ssl |
Модуль будет автоматически включен во время установки, и Apache будет иметь возможность начать использовать SSL–сертификата, после его перезапуска. Вам не нужно принимать каких-либо дополнительные шаги для mod_ssl будет готов к использованию.
Второй шаг — Создать новый сертификат
Теперь готов к использованию шифрования, Apache, мы можем перейти к генерации нового сертификата SSL. Сертификат будет хранить некоторую основную информацию о вашем сайте и будет сопровождаться ключевой файл, который позволяет серверу безопасно обрабатывать зашифрованные данные.
Во-первых нам нужно создать новый каталог, в котором мы будем хранить ключ сервера и сертификат:
1 2 |
sudo mkdir /etc/httpd/ssl |
Now that we have a location to place our files, we can create the SSL key and certificate files with openssl
:
1 2 |
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt |
Fill out the prompts appropriately. The most important line is the one that requests the Common Name
. You need to enter the domain name that you want to be associated with your server. You can enter the public IP address instead if you do not have a domain name.
The full list of prompts will look something like this:
1 2 3 4 5 6 7 8 |
Country Name (2 letter code) [XX]:<span class="highlight">US</span> State or Province Name (full name) []:<span class="highlight">Example</span> Locality Name (eg, city) [Default City]:<span class="highlight">Example </span> Organization Name (eg, company) [Default Company Ltd]:<span class="highlight">Example Inc</span> Organizational Unit Name (eg, section) []:<span class="highlight">Example Dept</span> Common Name (eg, your name or your server's hostname) []:<span class="highlight">example.com</span> Email Address []:<span class="highlight">webmaster@example.com</span> |
После ввода запроса, то вам будут приниматься к строке, где вы можете ввести информацию о вашем сайте. Прежде чем мы идем на это, давайте взглянем на то, что происходит в команде, которую нам выдают:
OpenSSL: это средство основной командной строки для создания и управления сертификаты OpenSSL, ключи и другие файлы.
REQ – x 509: это указывает, что мы хотим использовать сертификат X.509 подписывания запрос (КСО) управления. «X.509» — это стандарт инфраструктуры открытого ключа, что SSL и TLS придерживаться ключ и сертификат управления.
-узлы: это говорит OpenSSL чтобы пропустить параметр для обеспечения нашего сертификата с помощью парольной фразы. Нам нужно Apache, чтобы иметь возможность прочитать файл, без вмешательства пользователя, когда сервер запускается. Парольная фраза будет предотвратить это от случаться, поскольку мы должны были бы ввести его после каждой перезагрузки.
-дней 365: этот параметр задает количество времени, что сертификат будет считаться действительным. Мы устанавливаем его на один год здесь.
rsa:2048 – newkey: это указывает, что мы хотим, чтобы создать новый сертификат и новый ключ в то же время. Мы не создавали ключ, который требуется подписать сертификат на предыдущем шаге, поэтому нам нужно создать его вместе с сертификатом. Rsa:2048 часть рассказывает его, чтобы сделать ключ RSA, который длиной 2048 бит.
-keyout: Эта линия рассказывает OpenSSL куда поместить сгенерированный файл закрытого ключа, который мы создаем.
-out: это говорит OpenSSL где разместить сертификат, который мы создаем.
Третий этап — Настройка сертификата
Теперь у нас есть все необходимые компоненты готового интерфейса. Следующее, что нужно сделать – настроить виртуальные хосты для отображения нового сертификата.
Откройте файл конфигурации Apache SSL в текстовом редакторе с привилегиями root:
1 2 |
sudo nano /etc/httpd/conf.d/ssl.conf |
Найдите раздел, который начинается с < VirtualHost _default_:443 настроек. Нам нужно сделать несколько изменений здесь для обеспечения что наш сертификат SSL применяется правильно на наш сайт.
Во-первых раскомментируйте строку DocumentRoot и измените адрес в кавычки в расположение корня документа вашего сайта. По умолчанию это будет в /var/www/html, и вам не нужно изменить эту строку, если вы не изменили корень документа для вашего сайта. Однако если вы следовали руководство, как руководство по установке наших виртуальных хостов Apache, корень документа вашего сайта может быть другим.
1 2 |
DocumentRoot "<span class="highlight">/var/www/example.com/public_html</span>" |
Далее раскомментируйте строку ServerName и заменить www.example.com ваши имя домена или сервера IP адрес (какой вы положили как общее имя в сертификате):
1 2 |
ServerName <span class="highlight">www.example.com</span>:443 |
Найти линии SSLCertificateFile и SSLCertificateKeyFile и измените их в каталог, который мы сделали на /etc/httpd/ssl:
1 2 3 |
SSLCertificateFile /etc/httpd/ssl/apache.crt SSLCertificateKeyFile /etc/httpd/ssl/apache.key |
When you are finished making these changes, you can save and close the file.
Шаг четвертый — Активировать сертификат
В настоящее время вы создали SSL–сертификат и настроить веб-сервер для применения его на свой сайт. Чтобы применить все эти изменения и начать использовать SSL–шифрование, можно перезапустить сервер Apache для перезагрузки его конфигурации и модули:
1 2 |
sudo apachectl restart |
В веб-браузере попробуйте посетить Ваше имя домена или IP с https://, чтобы увидеть ваш новый сертификат в действии.
1 2 |
https://<span class="highlight">example.com</span>/ |
Ваш веб-браузер может предупредить вас, что сертификат безопасности сайта не является доверенным. Поскольку ваш сертификат не подписан центром сертификации надеется, что браузер, браузер не может проверить подлинность сервера, который вы пытаетесь подключиться к. Мы создали самоподписанный сертификат вместо сертификат доверенного ЦС подписан, так что это имеет смысл.
После того, как вы добавить исключение проверки личности браузера, вам будет разрешено приступить к недавно обеспеченного сайте.
Leave a Reply