Admin Portal | Сисадмин
6.8K subscribers
589 photos
80 videos
1 file
256 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для системного администратора

Связь: @devmangx
Download Telegram
Как работают серверы: практическое введение в TCP-сокеты 🧙‍♂️

Свежий материал от Ивана Величко

Узнайте, как на самом деле работают серверы, создав собственные TCP-сервер и клиент с нуля.

Внутри:
→ пошаговое объяснение работы TCP-сокетов
→ множество наглядных визуализаций
→ практические задания для закрепления материала
→ создание минимального TCP-сервера и клиента своими руками

Материал помогает разобраться, что происходит под капотом сетевого взаимодействия, без магии фреймворков и готовых библиотек.

How Servers Work: A Hands-On Introduction to TCP Sockets

@SysAdmin_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Наткнулся на неплохой бесплатный тренажёр для Linux.
Вместо очередной статьи на 40 страниц здесь всё через практику: открываешь терминал и сразу выполняешь команды.

Что можно потренировать:
pwd, ls, cd
cat, grep
chmod и права доступа
→ пайпы (|)
→ навигацию по файловой системе
→ базовую работу с файлами

Всего доступно 6 уроков, каждый следующий немного сложнее предыдущего.
Подойдёт новичкам, которые только начинают знакомство с Linux, и тем, кто постоянно гуглит синтаксис grep и забывает разницу между > и >>.

Бесплатно:
http://devops-daily.com/games/linux-terminal

@SysAdmin_Portal
👍6🔥2🤔2👎1
Нужно быстро понять, какой процесс съедает всю память?
Используйте:
ps aux --sort=-%mem | head -10


Команда отсортирует все запущенные процессы по потреблению памяти и покажет 10 самых прожорливых.

Что здесь происходит:
ps aux выводит список всех процессов
--sort=-%mem сортирует их по использованию памяти в порядке убывания
head -10 оставляет только первые 10 строк
%mem показывает, какой процент от всей оперативной памяти занимает процесс.

Полезная команда, когда свободная память начинает исчезать, сервер тормозит, а top или htop открывать лень.
Часто один запуск сразу показывает виновника.

@SysAdmin_Portal
👍6
Раньше я снова и снова набирал длинные команды вручную... пока не нашёл способ получше.

Если ты делаешь то же самое, это поможет: https://www.tecmint.com/stop-retyping-long-commands/

Ctrl + R

Он запускает поиск по истории команд. Начинаете вводить часть команды, и Bash мгновенно находит последние совпадения. Повторное нажатие Ctrl + R переключает на более старые результаты.

Например, если месяц назад вы запускали огромный rsync, docker, kubectl или journalctl, достаточно вспомнить небольшой фрагмент команды.

Ещё одна недооценённая команда:
fc


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

Большинство разработчиков знают, что история команд существует.
Гораздо меньше людей используют её быстрее, чем стрелку ↑.

@SysAdmin_Portal
👍7
Нужно запускать команду каждые несколько секунд без установки дополнительных утилит?

Используйте:
watch -n 2 df -h


Команда будет выполнять df -h каждые 2 секунды и обновлять вывод прямо в терминале, позволяя в реальном времени наблюдать за изменением использования диска.
Работает с любой командой. Например:
watch -n 2 free -h

для мониторинга памяти,
watch -n 2 uptime


для отслеживания нагрузки на систему,
или
watch -n 2 'ls -lh /var/log'

чтобы следить за изменениями в каталоге логов.

Когда под рукой нет Grafana, Prometheus или другого дашборда, watch часто оказывается самым быстрым способом посмотреть, что происходит в системе прямо сейчас.

@SysAdmin_Portal
👍7
Перестаньте гадать, почему Linux пишет "No space left on device", когда df -h показывает свободное место.
Большинство знают df только как команду для просмотра разделов, но она умеет гораздо больше.

В обновлённом разборе показывают:
• как диагностировать исчерпание inode'ов, когда место ещё есть, а новые файлы уже не создаются
• как проверять использование inode'ов через df -i
• как фильтровать tmpfs, LVM и другие файловые системы, чтобы не утонуть в лишнем выводе
• как настроить автоматические оповещения о заполнении диска через cron
• как мониторить изменения в реальном времени с помощью watch
• когда использовать df, а когда сразу переходить к du

А ещё объясняется распространённый вопрос: почему значения Used + Available почти никогда не равны Total и куда на самом деле пропадает часть пространства.

Полезный материал для любого, кто хоть раз видел ошибку:
No space left on device

и не понимал, почему она появилась при наличии свободных гигабайтов на диске.

@SysAdmin_Portal
👍1
Нужно узнать, какой пользователь заходил на ваш Linux-сервер, откуда и когда?

Используйте:
$ last -n 20


Команда покажет последние 20 сессий входа: имя пользователя, исходный IP-адрес, время входа и длительность сессии.

Если нужно посмотреть неудачные попытки входа, используйте lastb. Это одна из первых команд, которую стоит проверить при подозрении на brute force атаку.
Всего две команды, и вы точно знаете, кто заходил на ваш сервер и кто пытался получить к нему доступ.

@SysAdmin_Portal
🔥3👍21👏1
Rocky Linux 10 заменил VNC на RDP (Remote Desktop Protocol) для удалённой графической установки системы. Если у вас headless-сервер без подключённого монитора, это руководство покажет, как запустить полноценный установщик Anaconda со своей рабочей станции, используя всего 3 загрузочных параметра.

https://www.tecmint.com/install-rocky-linux-10-remotely-rdp-headless-server/

@SysAdmin_Portal
🤔3👍1
Если видишь ssh.exe -R на рабочей станции, стоит присмотреться внимательнее.

Злоумышленники часто используют SSH Remote Tunneling, чтобы проксировать трафик через скомпрометированный хост и получать доступ к внутренним системам, которые напрямую недоступны извне.
Сам по себе SSH не выглядит подозрительно.

Интересное начинается, когда связываешь телеметрию процессов и сетевых соединений в Microsoft Defender for Endpoint и смотришь, что на самом деле происходит внутри туннеля.

В видео показан лабораторный разбор:
→ как работает SSH Remote Tunnel
→ на какие артефакты смотреть
→ как обнаружить активность через MDE
→ как проводить триаж и расследование

Хороший пример того, почему "это всего лишь ssh.exe" не всегда означает "всё нормально".

@SysAdmin_Portal
🤔1
📝 Syslog

Syslog собирает логи с маршрутизаторов, коммутаторов, серверов и других сетевых устройств.

Что даёт Syslog:

• Централизованное хранение событий сети
• Быстрый поиск и диагностика проблем
• Мониторинг состояния инфраструктуры
• Повышение уровня безопасности и аудита

Syslog — это чёрный ящик вашей сети.

Каждая запись в логе рассказывает свою историю: отказ интерфейса, сбой сервиса, подозрительная активность или ошибка конфигурации.

Нет логов — нет зацепок.

Знаешь свои логи — знаешь свою сеть. 🌐

#CCNA #Syslog #Networking #Cisco #NetworkEngineer #CCNALearning #SysAdmin #DevOps #IT

@SysAdmin_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Нужно быстро проверить, открыт ли удалённый порт, а telnet и nmap под рукой нет?

Используйте:
nc -zv <host> <port>

Команда пытается установить соединение с указанным хостом и портом, после чего сразу показывает результат.

Что означают флаги:
-z — проверка порта без передачи данных
-v — подробный вывод вместо молчаливого завершения

Примеры:
nc -zv google.com 443
nc -zv 192.168.1.10 22


@SysAdmin_Portal
👍7
Запустили долгую задачу по SSH и не хотите, чтобы она умерла после закрытия терминала?

Используйте:
nohup <command> &


nohup
отвязывает процесс от текущей сессии, поэтому он продолжит работать даже после выхода из SSH.
& сразу отправляет процесс в фон и возвращает управление терминалу.

По умолчанию вывод сохраняется в файл:
nohup.out


Пример:
nohup python scraper.py &
nohup ./backup.sh &


Старый, добрый способ запускать бэкапы, парсеры, миграции и другие долгие задачи без screen, tmux и systemd.

@SysAdmin_Portal
5👍4🔥2
Права доступа к файлам: пользователям Linux на заметку

@SysAdmin_Portal
👍10
ДевоПсам: 7 инструментов для защиты вашего CI/CD-пайплайна

1. Gitleaks
Ищет захардкоженные секреты в коммитах и истории Git до того, как они попадут в продакшен.
Gitleaks

2. OSV-Scanner
Проверяет зависимости по базе OSV.dev и показывает конкретную версию, в которой уязвимость уже исправлена.
OSV-Scanner

3. Trivy
Сканирует контейнеры, файловые системы, репозитории и Kubernetes-кластеры на уязвимости и ошибки конфигурации.
Trivy

4. Checkov
Находит проблемы безопасности в Terraform и другой IaC-инфраструктуре ещё до деплоя.
Checkov

5. zizmor
Аудирует GitHub Actions и выявляет риски вроде неприкреплённых версий экшенов и небезопасных конфигураций workflow.
zizmor

6. Cosign
Подписывает и проверяет контейнерные образы и артефакты с использованием Sigstore.
Cosign

7. Scorecard
Оценивает уровень безопасности репозиториев и используемых open-source зависимостей.
Scorecard

Если ваш CI/CD уже собирает код, прогоняет тесты и выкатывает релизы, но не проверяет секреты, зависимости, IaC и цепочку поставки артефактов, то эти инструменты закрывают большую часть базовых рисков. В большинстве случаев их можно встроить прямо в GitHub Actions за несколько минут.

@SysAdmin_Portal
👍3🙏21
Нужно быстро понять, что изменилось между двумя конфигами?

Используйте:
diff -u config_old.txt config_new.txt


Команда сравнит оба файла и покажет различия.

Строки с - были удалены или изменены
Строки с + были добавлены или обновлены
Флаг -u выводит несколько строк контекста вокруг изменений, поэтому сразу видно, что именно поменялось и в каком месте файла.
Особенно удобно при работе с конфигами, логами, инфраструктурным кодом и после «небольших правок», которые внезапно что-то сломали.

@SysAdmin_Portal
👍3
Linux tip:

Хотите быстро посмотреть, какие файлы в /etc менялись за последний месяц?
find /etc -type f -mtime -30


Команда покажет все файлы в каталоге /etc, которые были изменены менее 30 дней назад.
Полезно после обновлений системы, изменений конфигурации или когда пытаешься понять, что именно кто-то успел поправить на сервере.

Разбор параметров:
-type f — искать только файлы
-mtime -30 — показывать файлы, изменённые за последние 30 дней

Простая команда, которую удобно держать под рукой при работе с Linux-серверами.

@SysAdmin_Portal
4👍3
Что такое Linux bridge network? 🧐

Технологии постепенно смещаются от Docker-контейнеров к Kubernetes-подам и microVM-песочницам, но bridge-сети по-прежнему остаются основным способом объединения нескольких «вычислительных единиц», работающих на одном хосте.

Подробный разбор: https://labs.iximiuz.com/tutorials/container-networking-from-scratch

@SysAdmin_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔2
Новая статья про Linux Memory Manager.

Интересный факт, который многих удивляет:
Вызовы malloc() и mmap() сами по себе не выделяют физическую оперативную память.
Память резервируется только виртуально, а реальные страницы RAM выделяются позже, при первом обращении к ним через page fault.

То есть можно запросить гигабайты памяти, но Linux не станет сразу занимать под них физическую RAM. Ядро подождёт, пока процесс действительно начнёт использовать эти страницы.

Статья:
https://internals-for-interns.com/posts/linux-kernel-memory-manager/

#Linux #Kernel #Memory
🤔2🔥1
Нужно проверить, как долго работает Linux-сервер и какая на нём текущая нагрузка?

Используйте:
uptime


Команда выводит:
- текущее время;
- время непрерывной работы системы (uptime);
- количество вошедших пользователей;
- среднюю нагрузку за последние 1, 5 и 15 минут (load average).

Если значение load average стабильно превышает количество ядер процессора, это может указывать на перегрузку системы. Быстро узнать число ядер можно командой:
nproc


Например, если сервер имеет 4 ядра, а load average долгое время держится выше 4, стоит проверить, какие процессы создают нагрузку.

@SysAdmin_Portal
👍2
Одна из моих любимых функций, представленных на WWDC, скорее всего окажется недооценённым хитом — Container Machines.

Она позволяет запускать на Mac лёгкое и постоянное Linux-окружение, в котором домашний каталог пользователя и репозитории автоматически монтируются внутрь контейнера.

По сути, разработчики получают Linux-среду, тесно интегрированную с macOS, без необходимости вручную настраивать виртуальные машины или сложную инфраструктуру контейнеров. 🐧🍎

https://github.com/apple/container/blob/main/docs/container-machine.md

@SysAdmin_Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔1