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

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

РКН https://vk.cc/cMUwm4
Download Telegram
🛡️ Открой секреты защиты от DDoS-атак с помощью экспертов!

Ты готов узнать, как защитить свою компанию от DDoS-атак? В этом захватывающем видео мы погружаемся в мир кибербезопасности и раскрываем стратегии, которые помогут тебе противостоять самым сложным угрозам.

Видео 1 от Kaspersky: Экспертно: Как защитить компанию от DDoS
- 00:00: Узнай, как школьники используют DDoS для атак на электронные дневники.
- 01:22: Понимание DDoS-атак и их использование для промышленного шпионажа.
- 11:44: Как лидеры отрасли, такие как Cisco, предлагают решения для защиты.
Источник: https://www.youtube.com/watch?v=mftFn-2g2aE

Видео 2: Защита от DoS-атак с помощью Nginx
- 00:00: Простая защита от DDoS-атак с использованием Nginx.
- 02:36: Настройка Nginx для оптимизации работы сервера.
- 14:59: Фильтрация ботов и защита от нежелательных соединений.
Источник: https://www.youtube.com/watch?v=S5kB0_mACJQ

Видео 3: Как защититься от DDoS-атаки по IP адресу?
- 00:06: Практическое применение DDoS-атак по IP-адресу.
- 01:49: Реализация атаки и её ограничения.
- 03:27: Советы по безопасности и легальному заработку.
Источник: https://www.youtube.com/watch?v=-nnTDnpTIjU

Не пропусти возможность узнать, как защитить свой бизнес от киберугроз!

📩 Завтра: Как найти различия между двумя деревьями каталогов в Linux?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Linux Skills Boost: Настройка разрешений для групп файлов с chmod
🧠 - Упаковываем и сжимаем: Мастер-класс по bzip2 в Linux
🧠 - История Reiser4: Как она изменила мир Linux

#Linux_youtube @LinuxSkill #Linux #DDoS #Nginx #Kaspersky
👍14
Media is too big
VIEW IN TELEGRAM
🎥 Производительность Nginx vs Apache: кто победит?

В этом видео мы сравниваем два популярных веб-сервера — Nginx и Apache. Узнай, какой из них лучше справляется с нагрузкой и обеспечивает стабильную работу.


1. Введение и цели теста (00:00):
- Сравнение производительности Nginx и Apache на AWS.
- Измерение задержки, вывода данных и насыщенности сервисов.

2. Первый тест (01:38):
- Развертывание серверов на виртуальных машинах с использованием статического веб-сайта.
- Генерация нагрузки через кластер EKS.

3. Второй тест (02:36):
- Использование TLS и HTTP/2 для повышения производительности.
- Google оценивает сайты выше при использовании HTTPS.

4. Третий тест (03:12):
- Веб-серверы как обратные прокси: безопасность, масштабируемость, балансировка нагрузки.

5. Результаты первого теста (05:26):
- Nginx обрабатывает в три раза больше запросов в секунду, чем Apache.
- Apache снижает производительность при 8000 запросах в секунду.

6. Результаты второго теста (08:10):
- Nginx лучше справляется с нагрузкой при 85% загрузке процессора.
- Apache начинает снижать производительность при 7000 запросах в секунду.

7. Результаты третьего теста (11:02):
- Apache показывает лучшую производительность как прокси-сервер.
- Nginx демонстрирует нестабильность при высокой загрузке.

8. Использование памяти и сетевой трафик (14:10):
- Анализ использования памяти и сетевого трафика.
- Планируется тестирование Apache Ingress Controller для сравнения с Nginx.

Результаты тестов показывают, что Nginx превосходит Apache в обработке запросов, но Apache может быть более стабильным как прокси-сервер. Подписывайтесь на канал, чтобы не пропустить новые тесты и сравнения!
Источник: https://www.youtube.com/watch?v=UGp4LmocE7o

📩 Завтра: Как измерить время выполнения программы в Linux?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Овладейте искусством управления системой с серией руководств по Systemd
🧠 - Алфавит команд Linux
🧠 - Погружаемся в a2disconf

#Linux_youtube @LinuxSkill #Linux #Nginx #Apache #Performance #SysAdmin #DevOps
👍6👀3
Media is too big
VIEW IN TELEGRAM
🎥 Сравнение производительности Nginx и Caddy Performance: кто победит?

В этом видео мы сравниваем два мощных веб-сервера — Nginx и Caddy. Узнай, какой из них лучше справляется с нагрузкой и обеспечивает стабильную работу.

Основная информация:

1. Введение и цели теста (00:00):
- Сравнение Nginx и Caddy Performance как веб-серверов и обратных прокси-серверов.
- Тестирование обслуживания статического веб-сайта по HTTPS и балансировки нагрузки.

2. Настройка и оборудование (00:55):
- Использование AWS и новейших инстансов EC2 для создания кластера EKS.
- Применение Route 53 для обнаружения сервисов и Next.js для создания веб-сайта.

3. Настройка веб-серверов (01:53):
- Создание больших инстансов EC2 с двумя процессорами и 8 ГБ памяти.
- Настройка сертификатов для аутентификации и безопасности.

4. Оптимизация Nginx (03:38):
- Использование оптимизированной конфигурации для повышения производительности.
- Настройка мультиподключения и увеличение лимита открытых файлов.

5. Настройка Caddy (04:37):
- Использование минимальной конфигурации и включение сжатия.
- Формат логов, аналогичный Nginx и Apache.

6. Результаты первого теста (06:27):
- Nginx показал меньшую задержку и обработал больше запросов, чем Caddy.
- Caddy начал отставать при 8000 запросах в секунду.

7. Тестирование Nginx и Caddy (08:19):
- Nginx достиг 80% загрузки процессора и не сбоил.
- Caddy ухудшился при 8000 запросах, достигнув максимума при 10000 запросов.

8. Сетевой трафик и производительность (09:55):
- Nginx передавал почти 600 МБ/с, обеспечивая более высокую производительность.

9. Второй тест с обратным прокси (11:16):
- Caddy превзошел Nginx по производительности, но ненадолго.
- Nginx обработал почти 27000 запросов за 2 часа.

Nginx обработал почти вдвое больше запросов, чем Caddy, обеспечив более высокую пропускную способность и меньшую задержку. Рекомендуется использовать Nginx для веб-серверов и обратных прокси-серверов.

Источник: https://www.youtube.com/watch?v=N5PAU-vYrN8

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

Дополнительный материал:
🧠 - Управление Процессами с Kill
🧠 - Временная Капсула с Last
🧠 - Как проверить файлы на целостность и не поймать вирус? Просто запусти md5sum!

#Linux_youtube @LinuxSkill #Linux #Nginx #Caddy #Performance #SysAdmin #DevOps
👍10👀2
Media is too big
VIEW IN TELEGRAM
🎥 Производительность Nginx против Traefik: кто победит?

В этом видео мы сравниваем два популярных обратных прокси-сервера — Nginx и Traefik. Узнай, какой из них лучше справляется с нагрузкой и обеспечивает стабильную работу.

1. Введение и цели тестирования (00:00):
- Сравнение Nginx и Traefik в качестве обратных прокси.
- Измерение задержки, доступности, загрузки процессора, памяти и сетевого трафика.

2. Инфраструктура и развертывание (00:53):
- Использование семи больших и четырех средних экземпляров для развертывания прокси и приложений.
- Создание кластера EKS для мониторинга и генерации нагрузки.

3. Функции обратного прокси-сервера (01:17):
- Балансировка нагрузки и динамическое масштабирование приложений.
- Возможность обновления приложений без простоев.

4. Преимущества и недостатки Nginx и Traefik (03:15):
- Nginx требует времени для настройки и оптимизации.
- Traefik имеет встроенные механизмы обнаружения сервисов и упрощает управление сертификатами.

5. Тестирование и настройка (05:44):
- Использование последних версий Nginx и Traefik.
- Включение журналов доступа и настройка прокси-серверов.

6. Результаты тестирования (08:04):
- Nginx поддерживает меньшую задержку и потребляет меньше ЦП.
- Traefik достигает 100% загрузки процессора быстрее, чем Nginx.

7. Заключение (10:14):
- Nginx обрабатывает больше запросов и потребляет больше ЦП.
- Задержка Nginx остается стабильной, в отличие от Traefik.

8. Использование памяти и частота ошибок (11:41):
- Traefik кэширует больше запросов, что объясняет задержку.
- Nginx отбрасывает несколько запросов для низкой задержки.

Оба сервера имеют свои преимущества и недостатки. Nginx обеспечивает стабильную задержку и лучше справляется с нагрузкой, в то время как Traefik предлагает удобство в управлении и настройке. Выбор зависит от ваших потребностей и предпочтений.

Источник: https://www.youtube.com/watch?v=42RNqGdpELE

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

Дополнительный материал:
🧠 - Ты точно знаешь, кто ты? Whoami расскажет!
🧠 - Ускорь работу в Linux на 200% с помощью команды xargs
🧠 - Хочешь сэкономить время? Вот как Yes скажет "да" за тебя

#Linux_youtube @LinuxSkill #Linux #Nginx #Traefik #Performance #SysAdmin #DevOps
👍6
🚀 Как правильно зачистить логи Nginx: Избегай ошибок!

Привет, линукс-мастер! Сегодня я расскажу тебе, как правильно зачистить логи Nginx, чтобы не потерять важные данные и не вызвать проблем с сервером. Давай разберемся, как это сделать безопасно и эффективно!

Ошибка новичка:
На собеседовании кандидат удалил лог-файл Nginx командой rm /var/log/nginx/access.log. Это привело к потере дескриптора файла, и Nginx перестал записывать логи. Не повторяй эту ошибку!

Безопасные способы зачистки логов:

1. Перезапись файла:
   sudo > /var/log/nginx/access.log

- Этот метод сохраняет дескриптор файла, и Nginx продолжает запись.

2. Обрезка файла:
   sudo truncate -s 0 /var/log/nginx/access.log

- Уменьшает размер файла до нуля, сохраняя дескриптор.

3. Сигнал процессу:
   sudo kill -USR1 <pid>

- Отправляет сигнал процессу Nginx, чтобы он закрыл текущий лог и открыл новый.

Используй эти методы, чтобы избежать проблем с логами. Помни, сначала думай, а потом действуй!

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

Дополнительный материал:
🧠 - Как ограничить скорость на Mikrotik и спасти сеть от перегрузки — инструкция, которую ты ждал
🧠 - Ускоряем OpenVPN на MikroTik до максимума: настройки, о которых не говорят
🧠 - Btrfs или XFS? Команды для управления файловыми системами в Linux

#Linux_Mastery @LinuxSkill #Nginx #логи
👍23
Media is too big
VIEW IN TELEGRAM
📈 10 возможностей Nginx, о которых ты точно не знал

Привет, повелитель серверов! 👋
Сегодня расскажем о скрытых фишках Nginx, которые в разы упростят твою работу с веб-серверами.

Зачем смотреть это видео?
Узнаешь, как на практике настроить балансировку нагрузки.
Научишься ускорять сайты с помощью gzip-компрессии.
Разберешься, как сделать грамотные редиректы и проксирование.
Поймешь, как собрать продакшн-ready сервер за пару минут.

Тайм-коды:
00:00 — Введение: зачем нужен Nginx
03:07 — Установка и запуск Nginx
04:39 — Конфигурация и основные файлы
05:27 — Раздача статического контента
09:07 — Создание редиректов
11:48 — Включение сжатия gzip
15:56 — Балансировка нагрузки между серверами
18:53 — Проксирование запросов через Nginx
22:20 — Полезные советы по оптимизации
23:41 — Развёртывание собственного сервера
27:17 — Заключение и рекомендации

🌐 Источник: https://www.youtube.com/watch?v=2aoOEnZmCmQ

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

Дополнительный материал:
🧠 - Мастер grep: Полный гайд по grep
🧠 - Мастер-класс по архивации: tar и gzip в связке
🧠 - Продвинутые трюки tar и gzip: от профи для профи

#Linux_youtube @LinuxSkill #Linux #Nginx #DevOps #WebServer
👍17
Media is too big
VIEW IN TELEGRAM
⚙️ 5 ошибок в настройке балансировки Nginx и как их избежать

Привет, цифровой архитектор! 👨‍💻
Сегодня расскажу, как настроить балансировку нагрузки в Nginx без типичных ошибок, которые валят сервера пачками.

Зачем смотреть это видео?
Поймешь принципы распределения трафика.
Узнаешь, как правильно прописать upstream.
Избежишь фатальных ошибок при балансировке.

Тайм-коды:
00:01 — Введение в балансировку нагрузки
00:55 — Настройка балансировки через Nginx
01:35 — Конфигурация upstream и серверов
02:43 — Полезные параметры: weight, max_conns, fail_timeout
04:23 — Методы балансировки: по умолчанию и IP-хеш
05:55 — Тестирование балансировки на практике
08:13 — Заключение и советы

🌐 Источник: https://youtu.be/RGSyx7oYjp0?si=2bUUMWC2SnniNfdL

📩 Завтра: Как запросить ввод Yes/No/Cancel в shell скрипте?
Включи 🔔 чтобы не пропустить!
____________________

Дополнительный материал:
🧠 - Укрощаем Arch Linux: Пошаговая инструкция для смелых линуксоидов!
🧠 - Привет! Слышал о 2FA? Нет, это не новый дистрибутив.
🧠 - Упрости свою жизнь с BTRFS: знакомься с Btrfs Assistant


#Linux_youtube @LinuxSkill #Linux #Nginx #DevOps #LoadBalancing
👍8
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🔥7
🔥 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
👍21
Media is too big
VIEW IN TELEGRAM
🔥 Сайт упал в пиковую нагрузку? Решение за 8 минут

Привет, архитектор надёжности!

Помнишь тот момент, когда твой сервис лёг под нагрузкой в самый важный момент? Антон Павленко показывает, как настроить балансировку NGINX и забыть про такие проблемы навсегда.

📹 Что в видео (таймкоды):
00:01 — Зачем нужна балансировка
00:55 — Настройка с нуля
01:35 — Продвинутые настройки upstream
03:15 — Управление отказами
04:23 — Методы балансировки
05:55 — Тестирование на Go
07:29 — Обработка HTTP-ошибок

Всё! Теперь твой сервис выдержит любую нагрузку и останется доступным даже при отказе серверов.

🌐 Источник: YouTube - Антон Павленко
____________________

Дополнительный материал:
🧠 - GRUB Reboot: Как пересобрать конфигурацию после тюнинга?
🧠 - Путеводитель по командам выключения и перезагрузки в Linux: halt, reboot и poweroff
🧠 - GRUB Minimalism: Искусство минимальной конфигурации

#Linux_youtube #nginx #loadbalancing #DevOps #highload #video #upstream
👍14
🎯 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
👍19👀4
🔑 Как автоматизировать multi-tenancy в Nginx через Redis/etcd.

Привет, опытный инженер! 👋

Внедрение multi-tenancy всегда сопровождается одной и той же болью: как быстро маршрутизировать входящий трафик к нужному бэкенду, если клиенты (арендаторы) добавляются постоянно? Хуже того, если мы используем stream (Layer 4) для RDP/SSH/VPN, где ручная перезагрузка Nginx из-за нового конфига — это недопустимый downtime.

Статический конфиг нам не подходит. Решение — динамическая маршрутизация на основе SNI (Server Name Indication) с использованием модуля njs, где список арендаторов хранится во внешней БД (Redis или etcd).

📌 Динамический Upstream по SNI с njs

На L4 Nginx (или Angie) может прочитать имя сервера (SNI) во время TLS-рукопожатия и на основе этого имени принять решение о маршрутизации. Модуль njs позволяет сделать этот процесс динамическим.

Шаг 1. Настраиваем njs для чтения SNI

Нам нужен скрипт на njs, который возьмёт имя хоста из SNI и, используя внешний модуль, найдёт соответствующий upstream в Redis или etcd (имитация логики):

// sni_router.js
function route(s) {
// Получаем имя хоста из SNI
var hostname = s.ssl_server_name;

// Здесь должна быть логика поиска в Redis/etcd
// Для примера, ищем в предопределенном словаре:
var tenantMap = {
'client_a.example.com': 'backend_pool_a',
'client_b.example.com': 'backend_pool_b'
};

if (tenantMap[hostname]) {
return tenantMap[hostname];
}

// Если арендатор не найден, используем upstream по умолчанию
return 'default_pool';
}


Шаг 2. Конфигурируем stream и njs

В конфигурации Nginx (Angie) в блоке stream мы загружаем скрипт и используем его результат в директиве upstream.

# Загрузка njs модуля и скрипта
js_include sni_router.js;
js_set $backend_name sni_router.route;

stream {
upstream backend_pool_a {
server 10.0.0.1:443;
}
upstream backend_pool_b {
server 10.0.0.2:443;
}
upstream default_pool {
server 10.0.0.10:443;
}

server {
listen 443 ssl;
ssl_preread on; # Важно: позволяет Nginx читать SNI

# Динамически определяем upstream на основе результата njs-скрипта
proxy_pass $backend_name;
}
}


💡 Вывод
Такой подход позволяет полностью разделить список арендаторов (который может храниться в Redis/etcd и обновляться мгновенно) от статического конфига Nginx. Nginx (Angie) перечитывает njs-переменную $backend_name для каждого нового соединения, обеспечивая высокую доступность и нулевой downtime при добавлении новых клиентов. Это критически важно для масштабируемой и отказоустойчивой архитектуры.

#Nginx #DevOps #Stream #SNI #MultiTenancy #njs