How to: configure a port with an ssl certificate
Содержание:
- Настройка SSL, TLS в NGINX
- Восстановление сессии[править]
- Бесплатные сертификаты SSL/TLS от Let’s Encrypt
- Схема протокола
- Безопасный FTP
- Как подключить SSL-сертификат
- Why should I worry about my SSL port?
- Установка SSL сертификата на хостинг
- Устройство протокола SSL[править]
- Улучшения
- Commonly used TCP ports
- Почему вебмастера все чаще стали устанавливать SSL-сертификаты?
- Шаг 2. Получаем SSL-сертификат
- Виды SSL-сертификатов
- Виды SSL-сертификатов в зависимости от количества доменов.
- Преимущества и недостатки использования SSL VPN
- Что такое SSL-сертификат и для чего он нужен
- Как работает защищенное соединение?
Настройка SSL, TLS в NGINX
Открываем конфигурационный файл вашего сайта.
Если NGINX настроен как , то конфигурационный файл может быть расположен тут:
Для уменьшения загрузки процессора рекомендует
- установить число рабочих процессов равным числу процессоров,
- разрешить keep-alive соединения,
- включить разделяемый кэш сессий,
- выключить встроенный кэш сессий
- и, возможно, увеличить время жизни сессии (по умолчанию 5 минут):
Изменения я буду комментировать
# Создаём отдельный server для перенаправления с http на https server { server_name example.com www.example.com; # Можно указать любые домены и поддомены, смотря как вы настроили сертификат listen 1.2.3.4:80; #где 1.2.3.4 - айпи вашего сервера rewrite ^(.*) https://$host$1 permanent; # Редирект HTTP/1.1 301 Moved Permanently с http на https } # А это основной сервер с https server { server_name example.com www.example.com; # Копируем из верхнего сервера listen 1.2.3.4:443 ssl http2; #вместо 1.2.3.4 вставляете IP своего сервера. http2 включчает поддержку протокола http/2 ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # Сертификат ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # Ключ # Рекомендации по кешированию запросов keepalive_timeout 70; # 70 секунд держим соединение открытым keepalive_requests 150; # 150 запросов максимум на 1 соединение, после закрываем ssl_session_cache shared:SSL:10m; # Разделяемый между всеми процесами кеш сессий на 10 байт с названием SSL. 1 Мб вмещает около 4000 сессий ssl_session_timeout 10m; # 10 минут - максимальное время жизни сессии # А строки ниже - для усиления безопасности соединения ssl_prefer_server_ciphers on; # Указывает, чтобы при использовании протоколов SSLv3 и TLS серверные шифры были более приоритетны, чем клиентские ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA; # Типы шифров ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Разрешённые типы протоколов ... # Тут остальные правила NGINX
Сохранили, проверили, перезагрузили
nginx -t && service nginx reload
Восстановление сессии[править]
Создатели SSL знали, что алгоритмы шифрования открытым ключом вычислительно сложные, и клиент, создающий несколько новых соединений к одному и тому же серверу в течение короткого промежутка времени может сильно нагрузить сервер, что приведет к заметным временным задержкам ответа. Однако, если клиент и сервер уже установили соединение, то ему будет соответствовать уникальный идентификатор сессии, позволяющий ссылаться на него и использовать такой же секретный ключ при последующих соединениях в рамках некоторого временного отрезка. Безусловно, такой подход привносит определенный риск в безопасность соединения. Поэтому, если необходимо, клиент может пересоздать новые идентификатор и секретный ключ для данной сессии. Microsoft’s Internet Explorer, например, проделывают эту операцию каждые 2 минуты.
Обслуживание сертификатов и ключейправить
Если клиент планирует обратиться к серверу, который требует клиентской аутентификации, он должен хранить свой сертификат и связанный с ним приватный ключ. Сервер должен всегда хранить свой сертификат и связанный с ним приватный ключ.
Хранилище идентификаторов сессийправить
Клиент и сервер обязаны хранить идентификаторы сессий и связанные с ними секретные ключи для использования во время восстановления соединения.
Бесплатные сертификаты SSL/TLS от Let’s Encrypt
Рекомендую воспользоваться сертификатами SSL/TLS от Let’s Encrypt, так как:
- Они бесплатные;
- Подойдут большинству проектов;
- Установка и настройка относительно несложные, и не займут много сил и времени.
Из минусов — сертификат актуален 90 дней, поэтому настроим его обновление на автомате.
Установка Certbot
Сам гайд по установке Let’s Encrypt советует делать всё через Certbot. Сработает, если есть доступ по SSH.
Установка Certbot в Debian 8 Jessie
Помощник Certbot в выборе версии сервера
Выбираем установку
apt-get install certbot -t jessie-backports
Как настроить поддержку Backports
Пишете в консоль (добавляет дополнительный источник для пакетов):
echo "deb http://ftp.debian.org/debian jessie-backports main contrib non-free" >> /etc/apt/sources.list
Потом обновляете список пакетов:
apt-get update
и снова пробуете установить Certbot:
apt-get install certbot -t jessie-backports
Затем проверяете, как вышло
certbot --help
Установка Certbot в CentOS 7
Установка происходит так:
-
yum -y install yum-utils
-
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
-
yum install certbot
Универсальная инструкция по установке Certbot
- Скачиваем Certbot:
wget https://dl.eff.org/certbot-auto
- Даём права на исполнение с помощью chmod
chmod a+x certbot-auto
- Перемещаем certbot-auto к остальным бинарным файлам, чтобы появилась возможность начинать команды с
mv certbot-auto /usr/local/bin/certbot
- Проверяем, что получилось:
certbot --help
Должы увидеть что-то подобное:
Настройка Certbot
Теперь, когда certbot установлен (а вы можете убедиться в этом, задав команду), советую заглянуть в cron-задачи
cd /etc/cron.d
В директории должен появиться файл с примерно следующим содержанием
Самая последняя строчка — это правило cron, которое будет проверять сертификаты SSL, TLS дважды в день и обновлять устаревшие. К сожалению, он не перезагружает вебсервер, поэтому Вам нужно добавить правило вручную в конец строки.
В итоге, строка будет выглядеть примерно так:
0 */12 * * * root test -x /usr/bin/certbot && perl -e 'sleep int(rand(3600))' && certbot -q renew && /etc/init.d/nginx reload
Добавили, сохраняем.
Далее, подготовка, тестирование и установка сертификата для сайта.
Подготовка и тестирование конфигурации SSL, TLS
Перед тем, как получить сертификат SSL/TLS, хорошей практикой будет протестировать правильность настройки сервера. Дело в том, что если есть проблема, которая не даст получить или обновить сертификат: центр сертификации имеет жёсткие лимиты обращений к нему (10 в час). И если есть ошибка, которую никак не удаётся выявить, то можно очень быстро упереться в лимит. Чтобы избежать этой проблемы, можно воспользоваться Staging Environment от Let’s Encrypt. — это тестовая среда, полностью имитирующая общение с центром сертификации, и выдающая недоверенные сертификаты-пустышки. Однако, она имеет повышенные лимиты обращения к ней и служит исключительно для тестирования и настройки конфигурации сервера:
- Выдача и обновление сертификата на 1 домен имеет лимит 30 000 в неделю.
- Ошибка валидации имеет лимит 60 раз в час.
Чтобы воспользоваться тестовой окружающей средой, достаточно для certbot использовать ключ .
Например, так можно протестировать выдачу сертификата:
certbot certonly --webroot -w /var/www/example.com -d example.com -d www.example.com --email --agree-tos --staging
Кстати, посмотреть, как происходит обновление сертификатов, но без реального обновления, просто проверить правильность конфигурации, можно командой:
certbot renew --dry-run
А обновить все сертификаты на сервере вручную можно командой
certbot renew
После перезагрузите NGINX
nginx -s reload
Установка сертификата SSL, TLS от Let’s Encrypt
Вводим команду в консоль Putty:
certbot certonly --webroot -w /var/www/example.com -d example.com -d www.example.com --email --agree-tos
- — путь до директории с файлами сайта
- — прописываем имена доменов
- — ваш email, куда можно будет восстановить доступ
- — согласие с лицензионными требованиями
Если всё нормально, вам выдаст сообщение об успешном завершении создания сертификата
Итак, сертификат установлен в директорию
Схема протокола
Взаимодействие «клиент-сервер» при FTP-соединении можно наглядно представить следующим образом:
Безопасный FTP
FTP изначально не задумывался как защищенный, поскольку предназначался для связи между несколькими военными объектами и учреждениями. Но с развитием и распространением интернета опасность несанкционированного доступа возросла во много раз. Возникла необходимость защиты серверов от различного рода атак. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:
- Скрытые атаки (bounce attacks)
- Спуф-атаки (spoof attacks)
- Атаки методом грубой силы (brute force attacks)
- Перехват пакетов, сниффинг (packet capture, sniffing)
- Захват портов (port stealing)
Обычный FTP не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками. Обычное решение этой проблемы — использовать «безопасные», TLS-защищённые версии уязвимых протокола (FTPS) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell.
Как подключить SSL-сертификат
Самый приятный момент–подключить SSL-сертификат в компании Timeweb очень легко. Вы можете либо самостоятельно заказать его в панели управления аккаунтом, либо просто написать обращение в службу поддержки, а дальше все необходимые действия выполнят наши специалисты. Время создания сертификата зависит от его типа, но, как правило, занимает не более нескольких часов. Исключение–сертификат Sectigo EV SSL, который из-за проверки данных оформляется дольше.
Более подробно о процедуре установки сертификата и технической стороне вопроса можно прочитать в нашем Справочном центре.
Если после прочтения статьи вы все еще не определились, какой сертификат хотите приобрести, оставьте заявку на оформление SSL-сертификата в панели управления аккаунтом или в чате на нашем сайте Timeweb, мы с радостью вам поможем!
Why should I worry about my SSL port?
Seemingly a small nuance, your SSL port is important for a number of reasons. For starters, HTTP is falling out of favor. In fact, more than 70 percent of web pages are loaded via HTTPS in Google Chrome in the United States, according to Google’s HTTPS Transparency Report. Besides the reason that “everyone else is doing it,” there are a ton of advantages to using HTTPS as opposed to HTTP.
Limit exposure to criminal activity by using SSL
HTTPS offers an additional layer of protection against digital eavesdropping, whereby criminals monitor network activity to steal valuable information like login credentials. Because HTTPS is encrypted, it helps to thwart this type of criminal activity.
HTTPS is required for PCI compliance
If you collect credit card information on your website, then you are required by the Payment Card Industry to use HTTPS.
HTTPS is capable of loading web pages faster than HTTP
Not only does HTTPS make for a more secure browsing experience, it can also positively impact the load times of your site content. If you need proof, see for yourself.
Create a more trustworthy web browsing experience
Most major web browsers indicate whether or not a site is secure in the address bar with a padlock icon or the word “secure.”
Web browsers, like Chrome, are moving towards alerting users when they’ve accessed a site that is not using HTTPS.
SSL can boost your SEO
HTTPS is preferred by major search engines and is generally considered beneficial for SEO. It is crucial that you implement HTTPS correctly and take a few extra steps to ensure you reap the SEO benefits. Follow this HTTPS migration checklist for SEO to make sure you get it right.
Установка SSL сертификата на хостинг
Итак, создание SSL сертификата, я надеюсь, прошло у вас успешно. Теперь всё, что осталось сделать для успешной передачи данных по HTTPS, — это подключить SSL сертификат к сайту, для которого он оформлялся.
В качестве наглядного примера я решил продемонстрировать подключение SSL сертификата к своему тестовому сайту, для которого с этой целью был специально зарегистрирован поддомен. О том, как создать поддомен сайта в ISPManager на примере TheHost вы можете прочитать в статье по указанной ссылке.
Итак, для подключения SSL сертификата к сайту в панели управления хостингом ISPManager открываем пункт меню «WWW домены», выбираем необходимый и нажимаем на кнопку «Изменить», которая становится доступной в самом верху страницы.
После этого на экране появляется следующее диалоговое окно:
Чтобы установить SSL сертификат на выбранный домен, нам нужно поставить галочку в поле «SSL» и выбрать из выпадающего списка имя нужного документа.
Вот и всё. SSL сертификат на сайт установлен. Сами могли убедиться, насколько это просто и быстро благодаря TheHost и ISPManager, в частности.
Да, пусть он выглядит неказисто, но со своими задачами справляется на отлично
Теперь нам останется только произвести настройки движка сайта, чтобы он корректно работал по новому HTTPS протоколу. Среди них будут редиректы с HTTP на HTTPS, настройка зеркал, правки карты сайта и robots.txt, а также много другое.
Но мы поговорим об этом в следующих статьях, т.к. каждая платформа требует индивидуального подхода.
В завершение обзора настроек сайта в ISPManager, связанных с SSL, хочу обратить ваше внимание на поле «Только SSL» в диалоговом окне, изображённом на скриншоте выше. С помощью него возможно сделать редиректы с HTTP на HTTPS для URL сайта на уровне веб сервера Nginx
Установив галочку в данном поле, в файл конфигурации веб сервера Nginx на хостинге добавится следующий код:
if ($ssl_protocol = "") { rewrite ^ https://$server_name$request_uri? permanent; }
Можете взять данный способ организации редиректов с HTTP на HTTPS себе на заметку, особенно, если вы не пользуетесь услугами shared хостингов и панелями управления хостингом, в частности, а редирект настроить нужно.
Преимущество данного способа перенаправления трафика над редиректом в коде сайта заключается в том, что он происходит быстрее. В количественном выражении эти изменения не существенны, но при больших размерах проекта они станут заметны.
Устройство протокола SSL[править]
Работу протокола можно разделить на два уровня:
- Слой протокола подтверждения подключения (Handshake Protocol Layer)
- Слой протокола записи
Первый слой, в свою очередь, состоит из трех подпротоколов:
- Протокол подтверждения подключения (Handshake Protocol)
- Протокол изменения параметров шифра (Cipher Spec Protocol)
- Предупредительный протокол (Alert Protocol)
Протокол подтверждения подключения производит цепочку обмена данными, что в свою очередь начинает аутентификацию сторон и согласовывает шифрование, хэширование и сжатие. Следующий этап — аутентификация участников, которая осуществляется также протоколом подтверждения подключения.
Протокол изменения параметров шифра используется для изменения данных ключа (keying material) — информации, которая используется для создания ключей шифрования. Протокол состоит всего из одного сообщения, в котором сервер говорит, что отправитель хочет изменить набор ключей.
Предупредительный протокол содержит сообщение, которое показывает сторонам изменение статуса или сообщает о возможной ошибке. Обычно предупреждение отсылается тогда, когда подключение закрыто и получено неправильное сообщение, сообщение невозможно расшифровать или пользователь отменяет операцию.
Протокол записиправить
Протокол записи (Record Layer) — это уровневый протокол. На каждом уровне сообщения включают поля для длины, описания и проверки. Протокол записи принимает сообщения, которые нужно передать, фрагментирует данные в управляемые блоки, разумно сжимает данные, применяя MAC (message authentication code), шифрует и передаёт результат. Полученные данные он расшифровывает, проверяет, распаковывает, собирает и доставляет к более верхним уровням клиента.
Существует четыре протокола записи:
- Протокол рукопожатия (handshake protocol);
- Протокол тревоги (alert protocol);
- Протокол изменения шифра (the change cipher spec protocol);
- Протокол приложения (application data protocol);
Улучшения
Исходной рекомендацией в этой статье было поместить сертификаты в личное хранилище локального компьютера. Хотя этот параметр поддерживается, вы также можете поместить сертификаты в хранилище личных сертификатов службы NTDS в Windows Server 2008 и более поздних версиях доменных служб Active Directory (AD DS). Дополнительные сведения о добавлении сертификата в хранилище личных сертификатов службы NTDS см. в справке по событию 1220 — LDAP через SSL.
AD DS ищет сертификаты в этом хранилище через хранилище локального компьютера. Это упрощает настройку AD DS для использования нужного сертификата. Это возможно из-за того, что в личном хранилище локальных компьютеров может быть несколько сертификатов, и трудно предсказать, какой из них выбран.
AD DS обнаруживает, когда новый сертификат перенагружается в хранилище сертификатов, а затем запускает обновление SSL-сертификата без перезапуска AD DS или перезапуска контроллера домена.
Новую операцию rootDse с именем renewServerCertificate можно использовать для запуска AD DS вручную обновления SSL-сертификатов без перезапуска AD DS или перезапуска контроллера домена. Этот атрибут можно обновить с помощью adsiedit.msc или импортировать изменения в формате обмена каталогами LDAP (LDIF) с помощью ldifde.exe. Дополнительные сведения об использовании LDIF для обновления этого атрибута см. в renewServerCertificate.
Наконец, если контроллер домена Windows Server 2008 или более поздней версии находит в своем хранилище несколько сертификатов, он автоматически выбирает сертификат, срок действия которого в будущем будет больше всего. Затем, если срок действия текущего сертификата приближается к концу, вы можете выбросить его в хранилище, и AD DS автоматически переключится на его использование.
Все это работает для AD DS Windows Server 2008 и 2008 служб Active Directory облегченного каталога (AD LDS). Для AD LDS поместите сертификаты в личное хранилище сертификатов для службы, которая соответствует экземпляру AD LDS, а не для службы NTDS.
Commonly used TCP ports
For those responsible for configuring and managing web hosting, it’s useful to know the numbers for common services, such as an SSL port. Use the tables below to quickly look up port numbers and their basic functions.
Port # | Function |
---|---|
110 | POP – Incoming |
995 | POP SSL – Incoming |
143 | IMAP – Incoming |
993 | IMAP SSL – Incoming |
25, 80, 3535 | SMTP – Outgoing |
465 | SMTP SSL – Outgoing |
cPanel
Port # | Function |
---|---|
2082 | cPanel TCP inbound |
2083 | cPanel SSL TCP inbound |
2086 | WHM TCP inbound |
2087 | WHM SSL TCP inbound |
2089 | WHM SSL TCP inbound |
2095 | Webmail TCP inbound |
2096 | Webmail SSL TCP inbound |
You can see which ports GoDaddy uses for cPanel in the GoDaddy Help Center.
Почему вебмастера все чаще стали устанавливать SSL-сертификаты?
Перед тем, как разобраться в причинах популяризации безопасного протокола передачи данных, нужно понять, как он работает. Если говорить простыми словами, то передача данных при HTTP и HTTPS отличается зашифрованностью. В одном случае вся информация отправляется на сервера в чистом виде, в другом же, соответственно, в зашифрованном.
То есть, вот введете вы свой пароль в поле на каком-нибудь сайте без SSL. Ушлые хакеры легко перехватят эти данные и смогут их использовать в своих корыстных целях или, как правило, просто занесут ваш аккаунт в базу, которую при желании кто-то сможет купить или скачать.
Современные браузеры и антивирусное ПО всегда предупреждают пользователей, что определенный сайт не использует шифрование. Кто-то это проигнорирует, а кто-то закроет такой сайт и больше никогда не откроет.
Поэтому использование HTTPS на коммерческих проектах обязательно! Вы не должны подвергать своих клиентов риску, поэтому не поскупитесь на приобретение сертификата.
Другой, более приземленной причиной, является доступность сертификатов начального уровня. Многие хостеры предлагают установить SSL бесплатно, просто в один клик. Но не думайте, что эти компании уходят в минус, предлагая установить что-то бесплатно.
Сейчас набирает популярность один очень перспективный сервис сертификации. Он носит название Let`s Encrypt и является опенсорсным проектом, т. е. с открытым исходным кодом.
Let`s Encrypt предоставляют сертификаты абсолютно бесплатно всем желающим. Для установки SSL достаточно просто указать домен и пройти проверку с помощью записей DNS или размещения файла на сервере. Многие хостинги подхватили эту идею и организовали быструю и бесплатную установку Let`s Encrypt на сайты клиентов.
Конечно же, и сами вебмастера были готовы поставить себе шифрование, тем более, бесплатно. По этой причине сейчас большая часть всех блогов в Рунете использует защищенное соединение.
Преимущества установки SSL
Какие основные преимущества установки защитного шифрования можно выделить помимо прочих плюшек SSL-сертификата? Их несколько:
- Безопасность ресурса с помощью зашифрованного протокола. Данные, которые собираются на блогах (контактные формы и т. д.), остаются в безопасности. Вы можете без опасений вводить пароль на любом из таких сайтов и не бояться, что его перехватят.
- Приоритетность за счет естественного выбора пользователями защищенных ресурсов с зеленым замком. Не все пользователи готовы рисковать безопасностью своих данных и посещать сайты и блоги, незащищенные HTTPS-протоколом.
- Скорость передачи данных – еще одно выгодное преимущество перевода сайта на зашифрованный протокол. Обновленный протокол передачи HTTP/2 работает быстрее, чем его более старый аналог. И этот самый вариант работает только по защищенному каналу (в большинстве случаев) – то бишь по HTTPS.
Шаг 2. Получаем SSL-сертификат
Certbot предоставляет несколько способов получения SSL-сертификатов при помощи разных плагинов. В отличие от плагина для Apache, который описан в другом руководстве, большинство плагинов помогут вам только получить сертификат, который придётся настроить на вашем сервере вручную. Плагины, которые позволяют только получать сертификаты и не устанавливают их, называются «аутентификаторами», так как они используются для подтверждения подлинности сервера, которому сертификат выдаётся.
Давайте разберёмся, как использовать плагин Webroot для получения SSL-сертификата.
Использование плагина Webroot
Алгоритм работы Webroot включает в себя создание специального файла в директории . Она размещается в корневом каталоге веб-сервера (document root) и может быть открыта сервисом Let’s Encrypt для проверки. В зависимости от ваших настроек, вам может понадобиться явно разрешить доступ к папке .
Если вы ещё не установили Nginx, сделайте это, следуя руководству по установке Nginx на Ubuntu 16.04.
Чтобы убедиться в том, что папка доступна сервису Let’s Encrypt, внесем небольшие изменения в конфигурацию Nginx. По умолчанию файл конфигурации находится в папке . Мы будем использовать редактор Nano для внесения изменений:
Внутри блока добавьте такой блок :
Вам также стоит посмотреть, где расположен корневой каталог веб-сервера (document root), так как этот путь необходим при работе с Webroot. Если вы используете стандартный файл конфигурации, она будет расположена в .
Сохраните и закройте файл.
Проверьте вашу конфигурацию на синтаксические ошибки:
Если ошибок нет, перезапустите Nginx, используя эту команду:
Теперь, когда мы знаем , можно выполнить запрос на получение SSL-сертификата. При помощи ключа указываются доменные имена. Если вы хотите использовать единый сертификат для нескольких доменных имен (например, и ), не забудьте добавить их все. Также убедитесь, что вы заменили значения и доменные имена на соответствующие вашим:
Если это первый запуск Certbot, вам будет предложено ввести адрес электронной почты и подтвердить согласие с правилами использования сервиса. После этого вы увидите сообщение об успешном завершении и путь, куда были сохранены ваши сертификаты:
Обратите внимание, что путь к сертификату и дата истечения срока его использования указаны в начале сообщения
Файлы сертификата
После получения сертификата у вас должны появиться следующие файлы в PEM-кодировке:
- cert.pem — сертификат вашего доменного имени;
- chain.pem — Let’s Encrypt;
- fullchain.pem — объединённые и ;
- privkey.pem — приватный (секретный) ключ вашего сертификата.
Важно запомнить расположение этих файлов, так как они будут использоваться в конфигурации вашего сервера. Сами файлы расположены в папке
Однако Certbot создает симлинки на наиболее актуальные файлы сертификата в папке . Так как символьные ссылки указывают на наиболее актуальные файлы сертификата, именно этот путь лучше использовать при обращении к ним.
Вы можете проверить существование файлов, используя такую команду (подставьте ваше доменное имя):
Результатом выполнения команды должны быть указанные выше файлы сертификата. Теперь вы можете настроить ваш сервер так, чтобы использовался в качестве файла сертификата, а в качестве ключа сертификата.
Генерация ключа по алгоритму Диффи-Хеллмана
Для повышения безопасности вам необходимо сгенерировать ключ по алгоритму Диффи-Хеллмана. Для генерации ключа длиной 2048 бит используйте такую команду:
Процесс может занять несколько минут.
Виды SSL-сертификатов
Существует несколько типов SSL-сертификатов по источнику подписи и типу проверки данных.
По источник подписи существуют следующие сертификаты:
- Самоподписанные. Сертификат подписывается самим сертификатом. Его может получить любой пользователь самостоятельно. По сути, это бесполезный сертификат. Большинство браузеров при посещении сайта выдаст предупреждение, что соединение не защищено.
- Подписанные недоверенным центром сертификации. Это означает, что сам SSL-сертификат проверен, однако независимая сторона, проверяющая принадлежность домена физ. или юр. лицу, подлинность сайта, не имеет на это право.
- Подписанные доверенным центром сертификации. Сертификат корректно отображается во всех браузерах. Данные сертификата проверены и подтверждены в сертифицирующем центре.
Подписанные доверенным центром сертификаты, в свою очередь, тоже подразделяются по типу проверки данных:
- Esential SSL — один из самых дешевых и популярных SSL-сертификатов. Доступен как для физ., так и для юридических лиц. Выдается на один домен. Осуществляется проверка владения домена через Email, DNS-запись или хэш-файл на сервере. Реквизиты компании и личные данные владельца не проверяются.
- Instant SSL — сертификат доступен для юр. и физ. лиц. Выдается на один домен (без поддоменов). Осуществляется проверка владения доменом, личные данным физического лица, либо регистрационные данные юридического лица.
- SGC SSL-сертификат — аналогичен Instant SSL, осуществляет поддержку 40-битных расширений. Это позволяет корректно отображать сайт в старых операционных системах и браузерах. Выдается на один домен без поддоменов.
- Wildcard SSL — работает как обычный сертификат, однако, подразумевает безлимитную лицензию на домен и все его поддомены на одном или нескольких серверах. В среднем стоит от 300$.
- EV (Extended Validation) сертификат — SSL-сертификат расширенной проверки, доступ к которому имеют только юр.лица. Осуществляется проверка владение доменом, регистрационные данные компании, нотариально заверенные документы и т.д. Позволяет получить мгновенное подтверждение аутентичности зеленой адресной строкой браузера. В среднем стоит от 350$.
- EV Multidoain. — аналогично EV, только подразумевает поддержку до 100 доменов. В среднем стоит от 800$.
Виды SSL-сертификатов в зависимости от количества доменов.
Помимо степени защиты и уровня доверия у посетителей, SSL-сертификаты так же делаться в зависимости от количества доменов, на которые они распространяются. Самый простой и дешёвый вид сертификата – это сертификат для одного домена. Если же вам нужен SSL-сертификат для защиты сразу нескольких доменов, то вы можете приобрести мультидоменный SSL-сертификат. Стоимость его значительно выше, но в отдельных случаях покупка такого сертификата может быть для вас более выгодной.
Так же, обращаю ваше внимание на то, что при покупке обычного SSL-сертификата для одного домена, его действие не распространяется на поддомены вашего сайта. Для того, что бы защитить поддомены третьего уровня основного домена, вам нужно покупать сертификат Wildcard
В отдельных случаях он позволит вам сэкономить ваше время и деньги для получения сертификатов для каждого из поддоменов.
Преимущества и недостатки использования SSL VPN
Плюсы:
Одним из самых больших преимуществ VPN на основе SSL является то, что они используют TLS – технологию, реализованную в современных браузерах. Это исключает необходимость установки специализированного клиентского программного обеспечения и значительно упрощает развертывание. Кроме того, созданные TLS схемы шифрования обеспечивают большую безопасность исходящих соединений, в отличие от традиционных протоколов VPN .
Другое преимущество заключается в том, что SSL VPN требует значительно меньшей технической поддержки и административных издержек, чем традиционные VPN-клиенты, благодаря простоте их использования и зависимости от обычно используемых веб-клиентов. Подойдет любой браузер, поддерживающий SSL или TLS, независимо от того, какая операционная система работает на устройствах пользователей.
Кроме того, пользователям не нужно загружать дополнительное программное обеспечение или выполнять сложные действия для настройки SSL VPN. В отличие от IPSec или L2TP (протокол туннелирования уровня 2), для создания безопасной сети с SSL VPN требуется только современный браузер.
SSL VPN могут предоставить администраторам детальный контроль доступа, поскольку они создают туннели для указанных приложений вместо всей корпоративной сети. Это означает, что можно ограничить пользователей в соединении SSL VPN только теми приложениями, к которым им разрешен доступ, а не всей сетью.
Минусы:
VPN на основе SSL приносит много информации, но это не обходится без определенных рисков. Учитывая, что пользователи могут получить доступ к серверам удаленно, даже один пользователь с устройством, на котором установлено устаревшее антивирусное программное обеспечение, может распространять вредоносное ПО в сети предприятия.
Функция раздельного туннелирования SSL VPN может быть использована злоумышленниками неправильно, что дает пользователям возможность маршрутизировать чувствительный трафик через VPN-туннель и отправлять остальную часть через незащищенный. Это потому, что злоумышленники могут использовать незащищенный канал удаленного пользователя для выполнения атаки.
Это еще не все. Если пользователь установил соединение SSL VPN с сетью предприятия, оставление сеанса открытым может привести к катастрофическим последствиям. В конце концов, любой другой, имеющий доступ к этой системе, сможет нанести ущерб внутренней сети.
Точно так же использование общедоступного компьютера для создания соединения SSL VPN не является хорошей идеей. Скорее всего, это система, которая не соответствует корпоративным стандартам и политикам безопасности, поэтому удаленные пользователи подвержены атакам кейлогеров. В этом случае злоумышленники могут перехватить конфиденциальную информацию, такую как учетные данные пользователя, без особых усилий.
Что такое SSL-сертификат и для чего он нужен
Безопасность и конфиденциальность в интернете — важнейший фактор для пользователей при посещении любого сайта. Согласитесь, никому не хочется лишиться пароля от банковской карты или другой конфиденциальной информации после невинного серфинга в сети. От того насколько защищен ваш сайт зависит доверие к нему со стороны пользователей и поисковиков.
SSL — это сертификат или своего рода «удостоверение», подтверждающее, что ваш сайт безопасен для пользователей. Без этого сертификата, данные, которые вы вводите на сайте, могут быть перехвачены злоумышленниками.
Если пользователь попадает на сайт без SSL, то видит вот такую ужасную картину (с Google):
Аналогично с Яндекса:
В адресной строке все не менее печально.
Как вы понимаете, увидев подобное предупреждение, пользователь тут же покинет сайт. Поэтому SSL нужен не только магазинам, но и вообще любому современному сайту, включая личные блоги.
Соответственно дело за малым — получить сертификат и установить его на сайт. Получить SSL можно бесплатно и платно.
Это интересно: Обучение на аналитика данных
Как работает защищенное соединение?
Чтобы не загружать вас тяжелыми терминами и чрезмерно технической информацией, я постараюсь объяснить все просто и на пальцах.
Каждый сертификат, выдаваемый той или иной компанией, заносится в общую базу. При соединении с сайтом браузер отправляет запрос через HTTPS в эту самую базу, откуда ему приходят данные о сертификате – когда, кем и на какой срок выдан. Если все хорошо, веб-ресурс открывается и вы видите его содержимое, а также зеленый замочек в адресной строке.
Если по каким-то причинам сертификат отсутствует или содержит ошибки, то более новые версии браузеров сразу же оповещают вас об этом, предотвращая загрузку файлов веб-ресурса.
Теперь поговорим о самом шифровании и о том, что оно из себя представляет. Все данные, передаваемые по защищенному каналу, шифруются с помощью специальных ключей. Расшифровать их можно только при наличии этих самых ключей. Стоит отметить, что у сервера и клиента есть по паре закрытых ключей и один открытый. Они математически связаны между собой. Какое-то стороннее вмешательство практически невозможно.
Таким образом, мы можем понять, что даже если в цепочке клиент – сервер появится третий лишний, то он ни в коем случае не сможет узнать закрытые ключи и не получит доступ к информации.
Потому-то HTTPS и называют защищенным протоколом. Ваши данные находятся под полной защитой от несанкционированного доступа. Многие пользователи очень ценят это, поэтому проекты с таким типом протокола имеют в их глазах куда большее значение, чем проигнорировавшие эту возможность.