Создание внешнего интерфейса HTML 5 RDP / SSH с использованием гуакамоле в Ubuntu 16.04 LTS
Введение Цель этого руководства - избавиться от общедоступных соединений SSH и общедоступных RDP. Поместив все это за очень удобный клиент HTML5
В марте 2018 года Let's Encrypt добавил поддержку подстановочных сертификатов. Сертификаты с подстановочными знаками позволяют защитить все дочерние домены первого уровня одним сертификатом. Подстановочные сертификаты можно получить только через ACMEv2, который является обновленной версией протокола ACME. Чтобы использовать ACMEv2 для подстановочных или не подстановочных сертификатов, вам потребуется клиент, обновленный для поддержки ACMEv2. Одним из таких клиентов является acme.sh, который является клиентом протокола ACME / ACMEv2, написанным исключительно на языке оболочки (оболочки Unix) без каких-либо зависимостей. Кроме того, домены с подстановочными знаками должны проверяться с использованием типа запроса DNS-01. Это означает, что вам нужно изменить записи DNS TXT, чтобы подтвердить контроль над доменом для получения сертификата с подстановочными знаками.
В этом руководстве мы объясним, как получить и развернуть бесплатные групповые сертификаты из Let's Encrypt в Ubuntu 19.04 с помощью acme.sh
клиента, инструмента Lexicon для автоматического манипулирования записями DNS с использованием API-интерфейса Vultr и развертывания сертификатов на веб-сервере Nginx.
example.com
в качестве примера домена.Проверьте версию Ubuntu.
lsb_release -ds
# Ubuntu 19.04
Создайте новую учетную запись пользователя с sudo
доступом и вашим предпочтительным именем пользователя и переключитесь на него. Мы используем johndoe
.
adduser johndoe --gecos "John Doe"
usermod -aG sudo johndoe
su - johndoe
ПРИМЕЧАНИЕ . Замените johndoe
на свое имя пользователя.
Установите часовой пояс.
sudo dpkg-reconfigure tzdata
Убедитесь, что ваша система Ubuntu обновлена.
sudo apt update && sudo apt upgrade -y
Установите необходимые пакеты.
sudo apt install -y git wget curl socat
Установите веб-сервер Nginx.
sudo apt install -y nginx
Проверьте версию.
sudo nginx -v
# nginx version: nginx/1.15.9 (Ubuntu)
В качестве первого шага в процессе получения подстановочных сертификатов из Let's Encrypt с использованием acme.sh и Vultr API вам необходимо установить Python и Lexicon . Lexicon - это пакет Python, который предоставляет способ стандартизированной обработки DNS-записей на нескольких DNS-провайдерах.
Установите Python, если он еще не установлен в вашей системе.
sudo apt install -y python3
Подтвердите установку, проверив версию.
python3 --version
# Python 3.7.3
Установите инструмент Lexicon. Лексикон - это инструмент Python, который позволяет вам стандартизированным образом управлять записями DNS на различных провайдерах DNS.
sudo apt install -y lexicon
Проверьте версию лексикона.
lexicon --version
# lexicon 3.0.8
acme.sh
клиентAcme.sh
является клиентом протокола ACME, написанным исключительно на языке оболочки (оболочки Unix), который автоматизирует процесс получения подписанного сертификата с помощью Let's Encrypt. Он поддерживает ACME v1 и ACME v2 и, что наиболее важно, поддерживает сертификаты подстановочных знаков ACME v2. В этом разделе мы устанавливаем скрипт Acme.sh.
ПРИМЕЧАНИЕ. Рекомендуется использовать root
пользователя для установки acme.sh
, хотя он не требует root
/ sudo
доступа.
Переключитесь на root
пользователя от обычного пользователя, если вы его создали.
sudo su - root
Загрузите и установите acme.sh
.
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
./acme.sh --install --accountemail "[email protected]"
source ~/.bashrc
cd
Проверьте версию.
acme.sh --version
# v2.8.2
Чтобы получить сертификат подстановочного знака, мы можем использовать только метод проверки DNS. Мы используем Lexicon и Vultr DNS API для управления TXT DNS-записями.
Получите сертификаты RSA и ECC для вашего домена.
# Configure your API key and username
export PROVIDER=vultr
export LEXICON_VULTR_USERNAME="[email protected]"
export LEXICON_VULTR_TOKEN="XXXXXXXXXXXXXXX"
# RSA 2048
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength 2048
# ECC 256
acme.sh --issue --dns dns_lexicon -d example.com -d '*.example.com' --keylength ec-256
ПРИМЕЧАНИЕ . Не забудьте заменить example.com
своим именем домена и заменить значения заполнителя API-интерфейса Vultr своими собственными.
После выполнения предыдущих команд ваши сертификаты и ключи находятся в:
~/.acme.sh/example.com
каталог.~/.acme.sh/example.com_ecc
каталог.ПРИМЕЧАНИЕ . Не следует использовать файлы сертификатов в ~/.acme.sh/
папке, они предназначены только для внутреннего использования, структура каталогов в будущем может измениться.
Чтобы перечислить свои сертификаты, вы можете запустить:
acme.sh --list
Создайте папку для хранения ваших сертификатов в производстве. Мы используем /etc/letsencrypt
каталог.
sudo mkdir -p /etc/letsencrypt/example.com
sudo mkdir -p /etc/letsencrypt/example.com_ecc
Установите / скопируйте сертификаты для производственного использования на вашем сервере.
# RSA
acme.sh --install-cert -d example.com \
--cert-file /etc/letsencrypt/example.com/cert.pem \
--key-file /etc/letsencrypt/example.com/private.key \
--fullchain-file /etc/letsencrypt/example.com/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
# ECC/ECDSA
acme.sh --install-cert -d example.com --ecc \
--cert-file /etc/letsencrypt/example.com_ecc/cert.pem \
--key-file /etc/letsencrypt/example.com_ecc/private.key \
--fullchain-file /etc/letsencrypt/example.com_ecc/fullchain.pem \
--reloadcmd "sudo systemctl reload nginx.service"
Теперь, когда мы успешно получили сертификаты подстановочных знаков от Let's Encrypt, нам нужно настроить веб-сервер Nginx. Все сертификаты обновляются автоматически каждые 60 дней.
После получения и установки сертификатов в предпочитаемом вами месте вы можете выйти из root
системы обычному sudo
пользователю и продолжить управлять своим сервером, используя sudo
при необходимости.
exit
Запустите sudo vim /etc/nginx/sites-available/example.com.conf
и заполните файл следующим содержимым. Замените все вхождения example.com
своим собственным доменным именем.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name example.com *.example.com;
root /var/www/example.com;
# RSA
ssl_certificate /etc/letsencrypt/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/private.key;
# ECDSA
ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com_ecc/private.key;
}
Активируйте новую example.com.conf
конфигурацию, связав файл с sites-enabled
каталогом.
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Проверьте конфигурацию Nginx.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Вот и все. Мы развернули сертификаты с подстановочными знаками на Nginx, используя acme.sh, Lexicon и Vultr API. Сертификаты с подстановочными знаками могут быть полезны, если вы хотите защитить несколько поддоменов первого уровня, генерируемых динамически.
Введение Цель этого руководства - избавиться от общедоступных соединений SSH и общедоступных RDP. Поместив все это за очень удобный клиент HTML5
Эта статья научит вас, как настроить chroot-джейл в Debian. Я предполагаю, что вы используете Debian 7.x. Если вы используете Debian 6 или 8, это может сработать, но
Протокол SSL и его преемник TLS (Secure Sockets Layer / Transport Layer Security) добавляют уровень шифрования между клиентом и сервером. Без этого
Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.
MongoDB не является безопасным по умолчанию. Если вы устанавливаете MongoDB и запускаете его без настройки для аутентификации, у вас будут плохие времена
Используете другую систему? Введение Помимо изменения порта по умолчанию для SSH и использования пары ключей для аутентификации, можно использовать стук портов.
Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.
Используете другую систему? Введение TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), опубликованная в 2018 году в качестве предлагаемого стандарта в РФ.
Rkhunter - это программа, которая находит руткиты на сервере Linux. Руткиты устанавливаются хакерами, чтобы они всегда могли получить доступ к серверу. В этом документе вы будете
Vultr предлагает сетевое решение брандмауэра, которое можно включить для защиты одного или нескольких вычислительных экземпляров. Наличие набора правил брандмауэра для ваших серверов я
Используете другую систему? TLS 1.3 - это версия протокола безопасности транспортного уровня (TLS), который был опубликован в 2018 году в качестве предлагаемого стандарта в RFC 8446.
Очень безопасный FTP-демон, или просто vsFTPd, - это легкое программное обеспечение с отличными возможностями настройки. В этом уроке мы собираемся заручиться поддержкой
LetsEncrypt - это центр сертификации с автоматическим клиентом. Короче говоря, это означает, что вы можете защитить свои сайты бесплатно. Это верно, вы можете г
Введение OpenVAS - это пакет с открытым исходным кодом, который можно использовать для сканирования уязвимостей и управления ими. Он стоит за открытым Vulnerabilit
Icinga2 - мощная система мониторинга, и при использовании в модели мастер-клиент она может заменить необходимость проверок на основе NRPE. Мастер-клиент
SELinux, аббревиатура от Security-Enhanced Linux, является улучшением безопасности операционной системы Linux. Это система маркировки, которая блокирует многие
Введение Ntopng - это инструмент с открытым исходным кодом, используемый для мониторинга различных сетевых протоколов на ваших серверах. Это версия оригинала следующего поколения
Lets Encrypt - это бесплатный сервис, который генерирует сертификаты для защиты вашего сайта. Он поддерживает создание различных типов сертификатов, в том числе
ModSecurity - это модуль брандмауэра веб-приложений с открытым исходным кодом (WAF), который отлично подходит для защиты Apache, Nginx и IIS от различных кибератак, нацеленных на
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше