uz
Feedback
NetworkAdmin.ru

NetworkAdmin.ru

Kanalga Telegram’da o‘tish

Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru

Ko'proq ko'rsatish
4 725
Obunachilar
Ma'lumot yo'q24 soatlar
-47 kunlar
+230 kunlar
Postlar arxiv
👓 Изоляция процессов без Docker В linux есть встроенный механизм изоляции системных ресурсов - namespaces. Именно на нем основаны контейнеры вроде docker и LXC. Но namespaces можно использовать и напрямую без всяких надстроек.
Namespace - это способ ядра linux изолировать разные части системы: процессы, сеть, точки монтирования, пользователей и т.д. Каждое приложение может жить в своем отдельном пространстве, не видя другие процессы и ресурсы.
▪️ Пример 1: изоляция процессов и монтирования. Запустим новую оболочку bash в отдельном пространстве процессов (PID) и монтирования (mount).

unshare --pid --mount --fork --mount-proc /bin/bash
ps aux

USER   PID %CPU %MEM COMMAND
root     1  0.0  0.0 /bin/bash
root    18  0.0  0.0 ps aux
Здесь процесс bash получил PID 1 - он главный в своем изолированном пространстве. Теперь создадим изолированное монтирование:

mkdir /tmp/testdir /mnt/testdir
mount --bind /tmp/testdir /mnt/testdir
mount | grep testdir

/dev/sda3 on /mnt/testdir type ext4 (rw,relatime)
На хосте это монтирование вы не увидите, оно существует только внутри namespace. ▪️ Просмотр активных namespaces. Список всех пространств можно увидеть с помощью lsns:

lsns

NS TYPE   NPROCS   PID USER COMMAND
4026532480 pid         3  123 root unshare --pid --mount --fork --mount-proc /bin/bash
4026532481 mnt         3  123 root └─/bin/bash
Тут видны PID и MOUNT пространства, созданные нашей командой unshare. Если у вас работают контейнеры, их namespaces тоже будут отображены здесь. ▪️ Пример 2: запуск процессов в чужом namespace. Можно подключиться к уже существующему пространству с помощью nsenter. Предположим, у нас есть процесс bash с PID 123. Подключимся к нему и запустим команду top:

nsenter -t 123 -p -m top
Теперь top выполняется внутри того же PID и mount namespace, что и процесс bash. ▪️ Полезные инструменты unshare - создает новые namespaces. nsenter - позволяет войти в уже существующие. systemd-nspawn - мини-контейнерная система от systemd. Пример запуска простого контейнера через systemd-nspawn:

systemd-nspawn -D /var/chroot/debian bash
#linux #namespaces 🧑‍💻 NetworkAdmin

🖥 Курсы по PostgreSQL Если вы работаете с PostgreSQL или только планируете - обратите внимание бесплатные курсы от компании Postgres Professional. Это один из немногих примеров, когда коммерческая компания делится полноценной учебной программой без ограничений. Ссылка: https://postgrespro.ru/education/courses ▪️ Доступные курсы для администраторов PostgreSQL DBA1 - базовое администрирование PostgreSQL DBA2 - настройка и мониторинг DBA3 - резервное копирование и репликация QPT - оптимизация запросов PGPRO - возможности Postgres Pro Enterprise Каждый курс - это набор подробных презентаций и видео, охватывающих реальные задачи администрирования. Проходить можете в любом порядке, если нужно что-то точечно узнать - добро пожаловать. ▪️ Пример Хотите разобраться с резервным копированием и репликацией? Перейдите в DBA3, тема 2. Базовая резервная копия. Вы узнаете про холодные и горячие бэкапы, различия подходов, используемые инструменты и проверку восстановления. (не реклама) #postgresql #database 🧑‍💻 NetworkAdmin

— Ты уволен — Почему? — Мы оплатили GPT-5, ты больше не нужен. Вы тоже в ах@е с такого расклада? Учился лет 5, потом столько же батрачил за копейки ради опыта — чтобы тебя заменила еб@чая железяка. А теперь задумайтесь: нейронки развиваются с бешеной скоростью. Поэтому сейчас как никогда нужны спецы для их обучения. Чтобы в кратчайшие сроки выйти на уровень элиты и стать топом в сфере — подпишитесь на канал @devsp. Его автор раскрывает неочевидные секреты: как в 3 месяца уместить 6 лет обучения, достойно пройти любое собеседование и что делать, чтобы лучшие компании дрались за вас. А временами подкидывает крутые вакансии и лайфхаки, после которых вас с руками оторвут даже без опыта. Это всё равно что встретить Нео и войти в 10% тех, кто сломал систему. Подписывайтесь: @devsp

🔒 Защита DNS-запросов на практике DNS - это всегда один из самых уязвимых элементов сети. Каждый раз, когда вы вводите сайт в браузере, ваш компьютер отправляет незашифрованный запрос к DNS-серверу, спрашивая: какой IP-адрес у этого домена? Эти запросы можно перехватить, подменить или использовать для слежки. Чтобы защитить пользователей и инфраструктуру, появились две технологии: DNSSEC и DNS over HTTPS (DoH). ▪️ DNSSEC - подписи и верификация ответов. DNSSEC - это расширение классического DNS, добавляющее цифровую подпись к каждому ответу. Задача DNSSEC гарантировать целостность и подлинность данных, а не шифровать трафик. Принцип работы: Каждый домен имеет криптографическую пару ключей (DNSKEY). Ответ DNS подписывается приватным ключом. Клиент или DNS-сервер-посредник проверяет подпись с помощью публичного ключа, опубликованного в зоне. Если подпись не сходится - ответ считается поддельным. Пример проверки DNSSEC с помощью dig:

dig linux.org +dnssec
Если в ответе есть флаг ad (Authenticated Data), значит, подпись проверена и валидна. ▪️ DNS over HTTPS (DoH) - шифрование DNS-запросов. DoH решает другую задачу, он шифрует сам трафик DNS. Запросы к DNS-серверу отправляются по HTTPS, то есть через порт 443 с TLS-шифрованием. Преимущества: Скрывает DNS-запросы от провайдера и промежуточных узлов. Устойчив к подмене (например, от провайдерских фильтров). Легко использовать в корпоративных и домашних сетях. Пример настройки DoH в Linux с systemd-resolved. Для этого редактируем /etc/systemd/resolved.conf:

[Resolve]
DNS=1.1.1.1#cloudflare-dns.com
DNSOverTLS=yes
или используем dnscrypt-proxy, который поддерживает и DoH, и DoT (DNS over TLS). ▪️ Связка DNSSEC + DoH. DNSSEC проверяет, что данные настоящие, а DoH гарантирует, что запросы никто не подслушает. Совместное использование этих технологий обеспечивает: Проверку подлинности ответов DNS; Защиту от MITM-атак и подмены записей; Конфиденциальность и шифрование всех запросов. Где это работает: Cloudflare (1.1.1.1) - поддерживает DNSSEC и DoH; Google Public DNS (8.8.8.8) - поддерживает DNSSEC; Quad9 (9.9.9.9) - DoH + фильтрация вредоносных доменов. Проверить поддержку DoH можно через:

curl -s https://cloudflare-dns.com/dns-query?name=example.com -H 'accept: application/dns-json'
#DNS #security 🧑‍💻 NetworkAdmin

Repost from IT-KB 🤖
Как и обещали проводим следующий розыгрыш для наших подписчиков 🎉 В этот раз тоже всё очень просто: 1. ✅@ITKB_channel 2. Наж
Как и обещали проводим следующий розыгрыш для наших подписчиков 🎉 В этот раз тоже всё очень просто: 1. ✅@ITKB_channel 2. Нажать "Участвовать"
7 декабря 2025 года 10 случайно выбранных системой подписчиков получат 1000 р.
P.S. в следующий раз обязательно отметим 🪙 самых преданных подписчиков, которые на продолжительной основе находятся вместе с нами❤️ Всем удачи и огромное спасибо за то, что Вы с нами!🤗

🏠 Управление windows серверами как по SSH PowerShell - это не просто консоль, а полноценная среда для удаленного администрирования. Один из ее инструментов - PowerShell Remoting, позволяющий выполнять команды и скрипты на других windows серверах (и даже на linux) почти так же, как по SSH.
PowerShell Remoting - это механизм, основанный на WinRM (Windows Remote Management), который реализует стандарт WS-Management. Он позволяет запускать команды, выполнять скрипты и даже открывать интерактивную сессию на удаленной машине. По сути, это SSH для windows, встроенный в систему начиная с windows 7 / server 2008 R2.
⚙️ Настройка PowerShell Remoting. На целевом сервере достаточно выполнить одну команду:

Enable-PSRemoting -Force
Эта команда: Включает службу WinRM, Настраивает слушатель HTTP (порт 5985) и HTTPS (порт 5986), Добавляет правила в брандмауэр. Проверяем статус:

Get-Service WinRM
🌐 Подключение к удаленной системе Подключиться можно тремя способами: 1. Выполнить одиночную команду:

Invoke-Command -ComputerName server01 -ScriptBlock { Get-Service }
2. Открыть интерактивную сессию:

Enter-PSSession -ComputerName server01
(аналог ssh user@server) 3. Создать постоянную сессию и использовать её повторно:

$session = New-PSSession -ComputerName server01
Invoke-Command -Session $session -ScriptBlock { Get-Process }
Remove-PSSession $session
🔓 PowerShell Remoting через HTTPS и SSH Если хотите шифровать трафик, то настройте HTTPS-сессию (WinRM через TLS). А начиная с PowerShell 7, можно использовать нативный SSH-транспорт:

Enter-PSSession -HostName server01 -UserName admin
Теперь PowerShell работает поверх SSH - удобно, безопасно и кроссплатформенно. ⚠️ Практические сценарии Массовый перезапуск служб:

Invoke-Command -ComputerName (Get-Content servers.txt) -ScriptBlock { Restart-Service spooler }
Сбор информации о дисках или обновлениях на всех серверах:

Invoke-Command -ComputerName * -ScriptBlock { Get-HotFix }
Запуск скриптов администрирования без входа по RDP. 🆘 Советы Для доменной инфраструктуры remoting работает из коробки. Для рабочих групп используйте Enable-PSRemoting + Set-Item WSMan:\localhost\Client\TrustedHosts *. На проде лучше ограничить доступ с помощью HTTPS, Kerberos или SSH. #powershell #windows 🧑‍💻 NetworkAdmin

Приглашаем на вебинар «Как упаковать инфраструктуру в сервис: vStack Cloud Panel» Когда: 11 декабря в 11:00 Спикер: Евгений К
Приглашаем на вебинар «Как упаковать инфраструктуру в сервис: vStack Cloud Panel» Когда: 11 декабря в 11:00 Спикер: Евгений Карпов, генеральный директор vStack На вебинаре мы покажем, как vStack Cloud Panel позволяет упаковать вычисления, хранилище и сеть в готовые облачные услуги с каталогом, тарифами и квотами - чтобы запускать и продавать их быстрее. Вы узнаете, как self-service и автоматизация помогают: 🔹Снизить количество тикетов и нагрузку на поддержку. 🔹Ускорить получение выручки (time-to-revenue). 🔹Превратить IaaS в управляемый и предсказуемый бизнес. Участие бесплатное, по предварительной регистрации. 🔗 Зарегистрироваться #реклама О рекламодателе

Фигня все эти ваши криптовалюты 😎 #юмор 🧑‍💻 NetworkAdmin
Фигня все эти ваши криптовалюты 😎 #юмор 🧑‍💻 NetworkAdmin

📱 Генератор конфигураций Nginx Хочу напомнить о полезном сервисе для генерации конфигов nginx - https://nginxconfig.io/ ▪️ Как работает Вы просто заполняете форму: указываете домен, корневую директорию, нужные параметры HTTPS, настройки для WordPress, PHP-FPM, Node.js или Python. На выходе получаете полный набор конфигов, аккуратно разделённых на смысловые части: основной конфиг Nginx; настройки SSL и безопасности; параметры для CMS (WordPress, Drupal и др.); шаблон для Let’s Encrypt; инструкции по установке и активации. Сервис даже показывает пошаговую инструкцию, включая: генерацию dhparam.pem для ssl_dhparam; создание каталога /.well-known/acme-challenge для валидации сертификатов; команду для настройки certbot. ▪️ Что полезного я подсмотрел 1️⃣ error_page 404 /custom_404.html; Раньше я не всегда добавлял собственную страницу ошибок, а сервис по умолчанию предлагает аккуратную структуру с отдельным location для обработки 404 и 50x ошибок. Решил внедрить у себя - теперь логи чище, а пользователю отображается внятная страница. 2️⃣ add_header X-Frame-Options "SAMEORIGIN"; Мелочь, но важная - защита от clickjacking. Я добавил этот заголовок в общий конфиг, чтобы не прописывать вручную в каждом сайте. 3️⃣ ssl_protocols TLSv1.2 TLSv1.3; Сервис сразу предлагает только современные протоколы. 4️⃣ location ~ /.(?!well-known) Глобальная блокировка скрытых директорий, кроме .well-known для Let’s Encrypt - отличная идея. Раньше я прописывал исключения вручную для каждого виртуального хоста, теперь вынес в общий файл security.conf. Даже если вы уверенно настраиваете nginx вручную, такие инструменты полезны для проверки себя и актуализации шаблонов. Сервис генерирует чистые, валидные и безопасные конфиги, которые можно использовать как основу для продакшн-настроек. #nginx #webserver 🧑‍💻 NetworkAdmin

🧑‍💻 Отладка контейнеров без инструментов Иногда нужно что-то быстро продебажить внутри контейнера: посмотреть процессы, сделать ping, проверить DNS или снять tcpdump. Но чаще всего внутри контейнера нет вообще ничего, кроме самого приложения. В таких случаях идеально подходит специальный контейнер: Network-Multitool Его также часто используют и в кубере - для отладки сетей, проверки маршрутов и соединений между подами. ▪️ Пример использования. Создадим контейнер с Nginx, где нет даже ps:

docker run --name nginx -d -p 8080:80 nginx
docker exec -it nginx bash
ps axf

bash: ps: command not found
Теперь подключаем Network-Multitool к тому же namespace, где работает контейнер Nginx:

docker run --rm -it \
  --network=container:nginx \
  --pid container:nginx \
  wbitt/network-multitool:alpine-extra bash
Проверим процессы:

ps axf
  PID TTY      STAT   TIME COMMAND
   47 pts/0    Ss     0:00 bash
   60 pts/0    R+     0:00 \_ ps axf
    1 ?        Ss     0:00 nginx: master process nginx -g daemon off;
   29 ?        S      0:00 nginx: worker process
   30 ?        S      0:00 nginx: worker process
Теперь у вас есть все необходимое: ping, dig, curl, tcpdump, netcat, iftop, mysql, git, tshark и многое другое. ▪️ Варианты сборок alpine-extra - расширенная версия (максимум инструментов, включая tshark, ab, postgresql-client, git и др.). alpine-minimal - легкая сборка, только базовые сетевые утилиты. #docker #debug 🧑‍💻 NetworkAdmin

Открытая конференция GetNet уже начинается — подключайтесь онлайн. Конфа для сетевиков и сисадминов - говорим о сетях, делимс
Открытая конференция GetNet уже начинается — подключайтесь онлайн. Конфа для сетевиков и сисадминов - говорим о сетях, делимся опытом, разбираем кейсы и отвечаем на вопросы Что будет: - Особенности дизайна Wi-Fi сетей для разных сценариев - Планируем Wi-Fi. Руководство "Как обмануть заказчика" - Wi-Fi. Вопросы безопасности. Защита периметра - Как построить МОЩНЫЙ прод и что этому может помешать? и др. Подключайся. Начинаем в 11-00

Подготовка к выходу стажера #юмор 🧑‍💻 NetworkAdmin
Подготовка к выходу стажера #юмор 🧑‍💻 NetworkAdmin

🖥 Динамическая маршрутизация (OSPF/BGP) Современные серверы и маршрутизаторы давно умеют не только работать с iptables и NAT, они вполне способны участвовать в динамической маршрутизации на уровне провайдерского оборудования. Два наиболее популярных решения для этого: BIRD и FRRouting (FRR).
Если вы используете статические маршруты (ip route add ...), то при изменении топологии сети приходится вручную обновлять таблицы маршрутов. Динамические протоколы решают это автоматически: маршрутизаторы обмениваются маршрутами между собой, выбирают оптимальные пути и обновляют таблицы без участия администратора. Основные протоколы: OSPF (Open Shortest Path First) - для внутренних сетей (IGP) BGP (Border Gateway Protocol) - для внешних соединений (межсетевые маршруты между организациями)
▪️ BIRD - легкий и быстрый демон маршрутизации BIRD - это компактное и производительное решение, часто используемое в инфраструктуре провайдеров. Поддерживает IPv4, IPv6, OSPF, BGP, RIP и static. Установка:

apt install bird # debian или ubuntu
Пример конфигурации OSPF:

protocol ospf {
    area 0 {
        interface "eth0" {
            cost 10;
        };
    };
}
Пример простого BGP сессии:

protocol bgp mypeer {
    local as 65001;
    neighbor 192.168.1.2 as 65002;
    import all;
    export all;
}
Файлы конфигурации находятся в /etc/bird/. После изменения конфигурации не обязательно перезапускать демон, можно использовать:

birdc configure
▪️ FRRouting (FRR) - наследник Quagga. FRR - это более тяжелое решение, ориентированное на продакшн-маршрутизаторы и крупные сети. Поддерживает OSPF, BGP, IS-IS, RIP, PIM и даже LDP. Установка:

apt install frr frr-pythontools # debian или ubuntu
Конфигурация BGP (пример):

router bgp 65001
 bgp router-id 192.168.1.1
 neighbor 192.168.1.2 remote-as 65002
 network 10.0.0.0/24
Запуск FRR:

systemctl enable frr
systemctl start frr
Конфигурация хранится в /etc/frr/frr.conf. Для управления используется утилита vtysh, она похожа на CLI сетевых устройств cisco или mikrotik. #linux #networking 🧑‍💻 NetworkAdmin

Хотите развивать карьеру в сфере сетевого оборудования? Мы в поиске Network Engineer in Test 🚀 Участвуйте в SPRINT OFFER и п
Хотите развивать карьеру в сфере сетевого оборудования? Мы в поиске Network Engineer in Test 🚀 Участвуйте в SPRINT OFFER и получите оффер в YADRO за 3 дня. Команда KORNFELD тестирует сетевое оборудование YADRO — коммутаторы, протоколы и инфраструктуру уровня дата-центров. Инженеры анализируют требования, создают сценарии верификации, проводят комплексное тестирование и ищут скрытые дефекты в сетевых системах. ⚙️ Как проходит SPRINT OFFER: 1️⃣ Оставьте заявку до 30 ноября и пройдите HR-скрининг. 2️⃣ Пройдите техническое и менеджерское интервью. 3️⃣ Получите оффер за 3 дня. 💡 Что важно: • Опыт работы с сетевым оборудованием (Cisco, Huawei, Juniper и др). • Глубокие знания сетевых протоколов (BGP, OSPF, VxLAN, MCLAG, VRRP). • Навыки тестирования и траблшутинга. 💻 У нас: • Удалённая работа (РФ/РБ) или офис в городах присутствия — Москве, Санкт-Петербурге, Нижнем Новгороде, Екатеринбурге, Минске. • Амбициозные проекты в уникальной команде инженеров. • Верткальный и горизонтальный карьерный рост. • ДМС с первого дня, поддержка спортивных инициатив сотрудников и другие бенефиты. 💙 Отправляйте заявку до 30 ноября и становитесь частью команды YADRO, которая создает технологии будущего!

🔐 GnuPG: шифрование и управление ключами
GnuPG (GNU Privacy Guard) - это открытая реализация стандарта OpenPGP (RFC 4880). Она позволяет: шифровать и расшифровывать данные; подписывать файлы и сообщения; проверять подлинность данных; управлять ключами (создавать, экспортировать, отзывать и т.д.). Работает на всех системах - linux, macOS, windows, и не требует никаких внешних сервисов.
▪️ Основные команды для работы 1️⃣ Создание пары ключей:

gpg --full-generate-key
Тут нужно указать тип ключа (обычно RSA), длину (2048–4096), срок действия и e-mail для идентификации. После этого ключ сохраняется в ~/.gnupg/. 2️⃣ Просмотр ключей:

gpg --list-keys
3️⃣ Экспорт публичного ключа:

gpg --export -a user@networkadmin.ru > public.key
4️⃣ Экспорт приватного ключа:

gpg --export-secret-keys -a user@networkadmin.ru > private.key
5️⃣ Импорт ключа:

gpg --import public.key
▪️ Шифрование и подпись Шифрование файла:

gpg -e -r user@networkadmin.ru secret.txt
Создается файл secret.txt.gpg, который можно расшифровать только соответствующим приватным ключом. Расшифровка:

gpg -d secret.txt.gpg > secret.txt
Подпись файла:

gpg -s file.txt
Проверка подписи:

gpg --verify file.txt.sig file.txt
▪️ Несколько полезных команд Проверить, какой ключ используется по умолчанию:

gpg --list-secret-keys --keyid-format LONG
Удалить ключ:

gpg --delete-key user@networkadmin.ru
Создать зашифрованный архив с tar:

tar cz folder | gpg -c > archive.tar.gz.gpg
#gpg #security 🧑‍💻 NetworkAdmin

📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена» Уже пишете код или администрируете серверы и хотите перейт
📘 На Stepik вышел курс — «DevOps-инженер: От основ до продакшена»  Уже пишете код или администрируете серверы и хотите перейти на следующий уровень? Этот курс поможет уверенно войти в DevOps. • Полный путь от Linux и сетей до Kubernetes: Docker, Git, GitLab CI/CD, Terraform, Ansible, Prometheus и Grafana • Практика на реальных кейсах: настраиваем пайплайн, контейнеризацию и инфраструктуру кодом, выкатываем сервисы • 180+ интерактивных заданий с автопроверкой — конфиги, манифесты прямо в браузере, в любое удобное время • Итоговый pet-project: к финалу курса у вас будет рабочая инфраструктура с контейнерами, CI/CD и мониторингом 🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn 🚀 Прокачайте DevOps с пользой и удовольствием. Начните уже сегодня и получите скидку 25%, которая действительна в течение 48 часов 👉 Пройти курс на Stepik 

🏃‍♂️ Сброс пароля root в linux через GRUB Решил посмотреть, как на практике сбрасывается пароль root, и заодно поделиться с вами. Это классическая задача, которую часто дают на собеседованиях.
Цель - получить доступ к системе с правами root, даже если пароль неизвестен. Сделать это можно, изменив параметры загрузки ядра в GRUB.
▪️ Как это делается 1. Включаем сервер и ждем появления меню загрузки GRUB. 2. Выбираем нужный пункт и нажимаем e (латинскую). 3. В открывшемся редакторе ищем строку, начинающуюся с linux или linux16. 4. В самый конец этой строки добавляем:

rw init=/bin/bash
Это позволит запустить оболочку bash вместо стандартного systemd. 5. Нажимаем Ctrl+X или F10 для загрузки. После старта вы сразу окажетесь в консоли под пользователем root без пароля. Теперь можно просто задать новый пароль:

passwd
и перезагрузить систему:

exec /sbin/init
или

reboot -f
▪️ Как это работает Параметр init= сообщает ядру, какой процесс нужно запустить первым. Обычно это /sbin/init (или systemd), который отвечает за загрузку системы. Когда мы подменяем его на /bin/bash, система вместо полноценной инициализации попадает прямо в консоль. Фактически, вы оказываетесь в самой ранней стадии загрузки с полными правами root. ▪️ Для RHEL и производных В системах вроде RHEL, CentOS, AlmaLinux, RockyLinux используется немного другой вариант:

rw rd.break enforcing=0
После загрузки окажетесь в emergency shell, где также сможете сбросить пароль через passwd. #linux #security 🧑‍💻 NetworkAdmin

⚡️ Быстрый HTTPS-сервер без сложных настроек Иногда нужно быстро поделиться файлами между машинами - без nginx, apache и прочих решений. Для этого можно использовать встроенный веб-сервер python:

python3 -m http.server 8000
Он идеально подходит, когда нужно просто раздать файлы по HTTP: перешел в нужную директорию, запустил сервер, скачал - готово. Но недавно понадобился HTTPS-сервер, так как приложение отказывалось работать по обычному HTTP. Настраивать nginx для этого не хотелось, и, как оказалось, все можно сделать тем же питоном, буквально в несколько строк. ▪️ Генерация самоподписанного сертификата. Создаем файл с ключом и сертификатом:

openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes
▪️ Минимальный HTTPS-сервер на python. Создаём файл webserver.py:

import http.server, ssl

server_address = ('172.20.0.210', 8000)
httpd = http.server.HTTPServer(server_address, http.server.SimpleHTTPRequestHandler)
httpd.socket = ssl.wrap_socket(
    httpd.socket,
    server_side=True,
    certfile='localhost.pem',
    ssl_version=ssl.PROTOCOL_TLSv1_2
)
httpd.serve_forever()
Запуск:

python3 webserver.py
После этого открываем в браузере:

https://172.20.0.210:8000
и видим содержимое директории (или сайт, если там есть index.html). #python #https 🧑‍💻 NetworkAdmin

🤠 Быстрый аудит безопасности Бывает такое, что сервер уже настроен и работает, но не покидает ощущение - вдруг что-то упусти
🤠 Быстрый аудит безопасности Бывает такое, что сервер уже настроен и работает, но не покидает ощущение - вдруг что-то упустил, оставил какую-то уязвимость - незащищенные параметры SSH, лишние службы, слабые настройки sysctl. Чтобы быстро проверить систему, удобно использовать Lynis, инструмент для аудита безопасности и оценки соответствия стандартам.
Lynis - это утилита с открытым исходным кодом, которая выполняет анализ конфигурации linux и unix подобных систем и выдает рекомендации по усилению безопасности. Она проверяет десятки аспектов системы: настройки ядра и PAM, файрвол и службы, права на файлы, SSH, cron, логирование, пакеты и обновления.
▪️ Установка

apt install lynis #debian или ubuntu

yum install lynis #CentOS
▪️Проверка системы. Запустить аудит можно буквально одной командой:

lynis audit system
После выполнения вы получите подробный отчет с результатами и рекомендациями. Файл отчета по умолчанию сохраняется в: /var/log/lynis.log а краткий отчет в: /var/log/lynis-report.dat ▪️ Расшифровка результатов В конце проверки Lynis показывает оценку безопасности - чем она выше, тем лучше. Также будут даны рекомендации, например:

[WARNING] SSH root login is enabled
[SUGGESTION] Install a firewall management tool (ufw/firewalld)
Просто проходите по списку и исправляйте. После доработок можно снова запустить аудит и посмотреть, насколько улучшился индекс. Официальный сайт 📌 #linux #security 🧑‍💻 NetworkAdmin

Чтобы наверняка не потерять #юмор 🧑‍💻 NetworkAdmin

NetworkAdmin.ru - Telegram kanali @networkadminru statistikasi va tahlili