Linux Skill - Освой Linux c нуля до DevOps
10.8K subscribers
60 photos
76 videos
439 links
Освой Linux c нуля до DevOps
Подробный гайд по Linux и море других уроков для системных администраторов

📩 По всем вопросам: @chorapov

РКН https://vk.cc/cMUwm4
Download Telegram
Media is too big
VIEW IN TELEGRAM
🔥 7 шагов к безопасному серверу: домен, Nginx, Apache, SSL

Привет, архитектор серверов! 🚀
Если хочешь быстро развернуть защищённый сайт с Nginx и Apache — это видео для тебя.

Зачем смотреть?
Поймешь, как правильно привязать домен.
Настроишь связку Nginx + Apache.
Защитишь проект с помощью SSL-сертификата.

Тайм-коды:
00:07 — Введение и настройка домена
01:46 — Создание пользователя и безопасных паролей
03:31 — Организация хранения паролей
05:16 — Проверка сервера и права доступа
07:47 — Получение и подключение SSL-сертификата
11:50 — Финальная проверка и планы на развитие

🌐 Источник: https://youtu.be/V67CjJOgKYw?si=PIIPoIf4mrXxxO5A

📩 Завтра: Вопрос №24 из теста Linux Essentials Certification
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Docker и Docker Compose: От новичка до профи за 4 часа
🧠 - Секретное оружие Linux-админа: утилита, которая спасет твою карьеру
🧠 - Раскрой тайны файловой системы с помощью namei

#Linux_youtube @LinuxSkill #Linux #Apache #Nginx #DevOps #SSL
👍8🔥6
🔥 HTTPS в локалке: от красного замка к зелёному за 10 команд

Привет, укротитель сертификатов!

Браузер постоянно ругается на самоподписанный сертификат? Надоело кликать "Продолжить несмотря на риск"? Создаём свой CA (Certificate Authority - центр сертификации) и забываем про предупреждения навсегда!

🔧 Создаём свой CA:
# mkdir ~/tls && cd ~/tls
# openssl ecparam -out myCA.key -name prime256v1 -genkey
# openssl req -x509 -new -nodes -key myCA.key -sha256 -days 9999 -out myCA.crt


📝 Генерируем сертификат для сервера:
# openssl genrsa -out zabbix.internal.key 2048
# openssl req -new -key zabbix.internal.key -out zabbix.internal.csr


⚙️ Конфиг с альтернативными именами:
# mcedit zabbix.internal.ext
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
IP.1 = 172.30.245.222
DNS.1 = zabbix.internal


🚀 Подписываем сертификат:
# openssl x509 -req -in zabbix.internal.csr -CA myCA.crt -CAkey myCA.key \
-CAcreateserial -out zabbix.internal.crt -days 9999 -sha256 -extfile zabbix.internal.ext


🔧 Настройка Nginx:
# mkdir /etc/nginx/certs
# cp zabbix.internal.crt /etc/nginx/certs/.
# cp zabbix.internal.key /etc/nginx/certs/.
# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048


listen     443 http2 ssl;
server_name zabbix.internal 172.30.245.222;
ssl_certificate /etc/nginx/certs/zabbix.internal.crt;
ssl_certificate_key /etc/nginx/certs/zabbix.internal.key;
ssl_dhparam /etc/ssl/certs/dhparam.pem;


💡 Финальный штрих:
Добавь myCA.crt в доверенные корневые сертификаты на клиенте. Всё! Зелёный замок на 27 лет!
____________________

Дополнительный материал:
🧠 - Настройка Ctrl+Alt+Delete в Linux: Перезагрузка или Выключение?
🧠 - GRUB's Got Talent": За кулисами самотестирования компьютера
🧠 - Linux на ночь: Как уложить систему спать с помощью systemctl

#Linux_Mastery #ssl #nginx #https #certificates #Linux #security
👍20
🎯 Nginx выдаёт домены по IP? Решение, которое работает

Привет, страж безопасности!

Заметил, что при обращении к серверу по IP адресу Nginx показывает первый попавшийся сайт? Это палит все твои виртуальные хосты. Сейчас покажу элегантное решение, о котором знают немногие.

📌 Стандартная заглушка для HTTP:
server {
listen 80 default_server;
server_name _;
return 404;
}


С HTTP всё просто. А вот с HTTPS начинаются танцы с бубном...

🔧 Проблема HTTPS:
Без сертификата Nginx использует сертификат первого виртуального хоста. Пользователь видит:
- Предупреждение о несоответствии домена
- Реальное имя твоего сайта в сертификате 😱

💭 Старое решение — сертификат-пустышка:
# Генерируем самоподписанный сертификат
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
-keyout /etc/nginx/certs/nginx.key \
-out /etc/nginx/certs/nginx.crt


server {
listen 443 ssl default_server;
server_name _;
ssl_certificate /etc/nginx/certs/nginx.crt;
ssl_certificate_key /etc/nginx/certs/nginx.key;
return 404;
}


Домены скрыты, но предупреждение о сертификате остаётся...

🚀 Новое решение — ssl_reject_handshake:
server {
listen 80 default_server;
listen 443 ssl default_server;
server_name _;
ssl_reject_handshake on;
return 404;
}


💡 Что происходит:
ssl_reject_handshake on отклоняет SSL-соединение на уровне handshake, если запрос не соответствует server_name. Результат:
- Никаких предупреждений о сертификатах
- Мгновенная ошибка соединения
- Полная анонимность виртуальных хостов

Теперь любопытные не узнают, какие сайты крутятся на твоём сервере!
____________________

Дополнительный материал:
🧠 - Linux для продвинутых: Как проверить, использует ли ваша система systemd?
🧠 - Linux Deep Dive: PID 1 и его детище - systemd
🧠 - Linux Command Mastery: Управление службами с помощью systemd

#Linux_Mastery #nginx #webserver #security #ssl #DevOps #angie
👍17👀2