Системный Администратор (Сисадмин)
13.9K subscribers
1.7K photos
1.55K videos
87 files
1.73K links
Настройка серверов Windows, Linux, сетевое оборудование Cisco Systems, D-Link, HP, Huawei, Juniper, MikroTik. Книги и мануалы для сисадминов.
По всем вопросам @evgenycarter

РКН clck.ru/3KoGJ3
Download Telegram
Media is too big
VIEW IN TELEGRAM
Прохождение IP пакета между сетями

Подробно описан процесс прохождения пакета между сетями, его структура и объяснено назначение основных полей Ip заголовка. Указаны изменяемые и неизменяемые в процессе пересылки части пакета. Описан процесс фрагментации и дефрагментации пакета.

👉 @sysadminof
🥰7👍41
🔥 Современный процесс загрузки Linux 🔥

💻 Power On — Включение компьютера

🔹 1. Инициализация BIOS/UEFI
При включении компьютера загружается прошивка BIOS или UEFI из энергонезависимой памяти (NVRAM). Она отвечает за инициализацию оборудования, выполнение самотестирования (POST) и запуск процесса загрузки.

🔹 2. Поиск оборудования
BIOS/UEFI проверяет подключенные компоненты системы, такие как процессор, оперативная память, дисковые накопители и периферийные устройства.

🔹 3. Выбор загрузочного устройства (HDD, USB, PXE…)
После обнаружения оборудования BIOS/UEFI позволяет выбрать устройство, с которого будет загружена операционная система. Это может быть локальный диск, сеть или другой носитель.

🔹 4. Определение EFI-раздела (ESP)
Если используется UEFI, система определяет EFI System Partition (ESP) на загрузочном устройстве. Этот раздел содержит загрузочные файлы и другие важные данные для загрузки ОС.

🔹 5. Загрузка загрузчика (например, GRUB2)
BIOS/UEFI передает управление загрузчику, такому как GRUB (Grand Unified Bootloader). GRUB предоставляет меню выбора ОС или автоматически загружает установленный по умолчанию Linux.

🔹 6. Определение ядра Linux
GRUB или другой загрузчик выбирает ядро Linux, основываясь на конфигурационных файлах и версиях ядра.

🔹 7. Загрузка выбранного ядра
Загрузчик загружает выбранное ядро Linux в оперативную память. Ядро – это центральный компонент ОС, отвечающий за инициализацию оборудования и управление ресурсами системы.

🔹 8. Инициализация структур данных ядра
После загрузки ядро инициализирует свои структуры данных, систему управления памятью и подготавливается к передаче управления пользовательскому пространству.

🔹 9. Запуск Init/systemd (PID 1)
Ядро запускает инициализационную систему (init) или systemd, которая становится первым процессом в системе (PID 1). В современных дистрибутивах по умолчанию используется systemd, который управляет службами и процессами системы.

🔹 10. Выполнение стартовых скриптов
Init/systemd выполняет стартовые скрипты и инициализирует системные службы. Эти скрипты настраивают сеть, подключают файловые системы и выполняют другие важные задачи.

🔹 11. Готовая к работе система 🚀
После завершения всех этапов загрузки система полностью загружена и готова к использованию. Вы можете войти в систему и запускать приложения, работать с файлами и выполнять другие задачи.

👉 @sysadminof
👍11🔥4
⚙️ Открытый урок «Паттерны системы декомпозиции на микросервисах — как проектировать масштабируемую архитектуру»

🗓 19 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Highload Architect» от Otus.

На вебинаре вы узнаете:
➡️ Как определить границы микросервисов, чтобы добиться высокой автономности, масштабируемости и минимизировать взаимозависимость.
➡️ Основные шаблоны декомпозиции: по бизнес-контекстам, данным, функциональности и пользовательским потокам.
➡️ Особенности взаимодействия между микросервисами: синхронные и асинхронные коммуникации, события и CQRS.
➡️ Подходы к обеспечению согласованности данных и распределенных транзакций в микросервисной архитектуре.
➡️ Как выбрать и внедрить закономерности декомпозиции с учетом бизнес-целей, нагрузки и собственной системы.

🔗 Ссылка на регистрацию: https://vk.cc/cIwnq5

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Active Directory: утилита DCDIAG

Утилита dcdiag позволяет выполнить до 20 тестов над инфраструктурой Active Directory. Некоторые из тестов предоставляют диагностическую информацию об определенном контроллере домена. Многие тесты предоставляют информацию о конфигурации репликации в пределах леса.

Advertising
Проверяет, правильно ли контроллер домена сообщает о себе и о своей роли хозяина операций. Этот тест завершиться неудачно, если служба NetLogon не запущена

CheckSDRefDom
Проверяет правильность доменов ссылок дескрипторов безопасности для каждого раздела каталогов программ

Connectivity
Проверяет регистрацию DNS для каждого контроллера домена, отправляет тестовый эхо-пакет на каждый контроллер домена и проверяет подключение по протоколам LDAP и RPC к каждому контроллеру домена

CrossRefValidation
Проверяет правильность перекрестных ссылок для доменов

RRSSysvol
проверяет состояние готовности для FRS SYSVOL

FRSEvent
Проверяет ошибки репликации в работе службы репликации файлов, что может означать наличие проблем в репликации SYSVOL и, таким образом, целостности копий объектов групповых политик

FSMOCheck
Не проверяет роли хозяев операций, а вместо этого запрашивает сервер глобального каталога, первичный контроллер домена, предпочтительный сервер времени, сервер времени и центр распространения ключей

Intersite
Проверяет наличие ошибок, которые могут помешать нормальной репликации между сайтами. Компания Microsoft предупреждает, что иногда результаты этого теста могут оказаться неточными

KCCEvent
Проверяет безошибочность создания объектов соединений для репликации между сайтами

KnowsOfRoleHolders
Проверяет возможность подключения контроллеров домена ко всем пяти хозяевам операций

MachineAccount
Проверяет правильность регистрации учетной записи целевого компьютера и правильность объявлений служб этого компьютера. Если обнаружена ошибка, ее можно исправить с помощью утилиты dcdiag, указав параметры /fixmachineaccount или /recreatemachineaccount

NCSecDesc
Проверяет правильность разрешений для репликации в дескрипторах безопасности для заголовков контекста именования

NetLogons
Проверяет правильность разрешений регистрации, позволяющих регистрацию, для каждого контроллера домена

ObjectsReplicated
Проверяет правильность репликации агента сервера каталогов и объектов учетных записей компьютеров

OutboundSecureChannels
Проверяется наличие безопасных каналов между всеми контроллерами домена в интересующем домене

Replications
Проверяет возможность репликации между контроллерами домена и сообщает обо всех ошибках при репликации

RidManager
Проверяет работоспособность и доступность хозяина относительных идентификаторов

Services
Проверяет работоспособность всех служб, необходимых для работы контроллера домена, на указанном контроллере домена

SystemLog
Проверяет безошибочность работы системного журнала

VerifyEnterpriseReferences
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на всех контроллерах домена в лесу

VerifyReferences
Проверяет действительность системных ссылок службы репликации файлов для всех объектов на указанном контроллере домена

VerifyReplicas
Проверяет действительность всех разделов каталога приложения на всех серверах, принимающих участие в репликации

Синтаксис команды dcdiag:
dcdiag /s:<DomainController> [/n:<NamingContext>] [[/u:<domain\user>] [/p:<password>] ] [{/a|/e}{/q|/v}] [/i] [/f:<LogFile>] [/ferr:<ErrorLog>] [/c [/skip:<test]] [/test:<test>] [/fix]

👉 @sysadminof
👍111
Лучшие практики сегментации корпоративной сети любой компании

Данный проект создан для публикации лучших практик сегментации корпоративной сети любой компании. В целом схемы, приведенные в данном проекте, подходят для любой компании.

https://github.com/sergiomarotco/Network-segmentation-cheat-sheet

👉 @sysadminof
👍5
Подборка популярных каналов по информационной безопасности и этичному хакингу:

🔐 infosec — ламповое сообщество, которое публикует редкую литературу, курсы и полезный контент для ИБ специалистов любого уровня и направления.

😈 Social Engineering — самый крупный ресурс в Telegram, посвященный этичному Хакингу, OSINT и социальной инженерии.

💬 Вакансии в ИБ — актуальные предложения от самых крупных работодателей и лидеров рынка в сфере информационной безопасности.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🥰2
Друзья, признавайтесь, какой вариант используете?

👉 @sysadminof
👍92
Работа с архивами

Создать .tar.gz:
tar -czvf file.tar.gz /full/path — создать .tar.gz (архив)
tar -cjvf file.tar.bz2 /full/path — создать .tar.bz2 (архив)

Распаковать .tar:
tar -xvf file.tar.gz

Распаковать gz:
gunzip yourfile.gz

Распаковать многотомный архив:
7za x arch.7z.001

Получить листинг файлов в архиве:
tar -tf <path_to_tarfile>

Извлечь конкретный файл из архива:
tar -xf <path_to_tarfile> [<file_1_in_archive> <file_2_in_archive> ..]

Скопировать файл на сервер:
scp -P 12322 file.tar login@111.111.111.111:/home/user

👉 @sysadminof
👍71
🤖 Открытый урок «Remote Desktop Protocol (RDP) server»

🗓 17 февраля в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Администратор Windows» от Otus.

На вебинаре вы узнаете:
➡️ Основы работы протокола RDP и его возможности.
➡️ Настройка RDP-сервера на базе Windows: шаг за шагом.
➡️ Практические советы по обеспечению безопасности удалённых соединений.
➡️ Решение частых проблем при использовании RDP.

🔗 Ссылка на регистрацию: https://vk.cc/cIypjI

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
htop и многое другое на пальцах

На протяжении долгого времени я не до конца понимал htop. Я думал, что средняя загрузка [load average] в 1.0 означает, что процессор загружен на 50%, но это не совсем так. Да и потом, почему именно 1.0?

Затем я решил во всём разобраться и написать об этом. Говорят, что лучший способ научиться новому — попытаться это объяснить.

Rus https://habr.com/ru/articles/316806/

Eng https://peteris.rocks/blog/htop/

👉 @sysadminof
👏9👍1
Крутая программа для тех, кто уже работает с Linux и хочет погрузиться DevOps.
В двух словах: программа на 2 месяца, ты учишься, тебе еще и платят. Начинка: начинающий и продвинутый курс по Linux, погружение в DevOps. Обучение с практикой, лабораторными и под контролем экспертов из K2 Сloud.

Подробнее можно узнать на сайте
👍2
Утилиты linux

rsync
-v — выводит подробную информацию о процессе копирования;
[-a] — сохраняет все атрибуты оригинальных файлов;
-u — не перезаписывать более новые файлы;
-l — копирует символьные ссылки;
-L — копирует содержимое ссылок;
-p — сохраняет права для файлов;
-t — сохраняет время модификации;
-e — использовать другой транспорт, например, ssh;
[-z] — cжимает файлы перед передачей;
—recursive — перебирать директории рекурсивно;
—exclude — Исключить файлы по шаблону;

Примеры:
rsync -avz skillproject/data/ . — из подкаталога в текущий каталог
rsync -avz skillproject/data/ aaa/ — из подпапки в подпапку aaa/
rsync -avz skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — передача на удаленный сервер
rsync -avze ssh skillproject/data/ digita6d@digita6d.beget.tech:/home/d/digita6d/code-skills.ru/public_html/sources/skillproject/data/ — то же самое м явным указанием ssh

ss
-l или —listening — посмотреть только прослушиваемые порты;
-p или —program — показать имя программы и ее PID;
-t или —tcp — показать tcp порты;
-u или —udp показать udp порты;
-n или —numeric показывать ip адреса в числовом виде.

Примеры:
ss -tlpn — проверить все прослушивающие tcp-порты
ss -tulpn | grep :80 — показать все процессы, работающие на 80-м порту

ps
ps -e — показать все процессы
ps -ef — показать подробную информацию о каждом процессе
ps -ef | grep phantom — найти все процессы с именем phantom

mpstat
Показывает статистику загрузки процессора. Команды:
mpstat — показывает общую информацию
mpstat -P ALL — по каждому ядру

free
Показывает потребление ОЗУ на текущий момент:
free -h — показывает информацию в гигабайтах (более человеко читаемо, чем в байтах)

top
Что-то наподобие диспетчера задач, только для линукс, показывает попроцессное потребление озу

dpkg
Пакетный менеджер для debian систем (не путать с системой управления пакетами — apt/apt-get)
dpkg -s <packname> — проверить, установлен ли пакет
dpkg -l — список всех пакетов
dpkg -l | grep apache2 — проверить, установлен ли конкретный пакет
dpkg -i <package.deb> — установить пакет

netstat
netstat -pnltu — посмотреть список используемых портов

👉 @sysadminof
👍12🥰2
Zenith - что-то вроде top или htop, но с диаграммами с возможностью масштабирования, использованием CPU, GPU, сети и диска.

Особенности
Дополнительные графики использования ЦП, памяти, сети и дисков
Быстрый просмотр свободного места на диске, IP-адресов сетевых карт, частоты процессора
Выделение основных пользователей ЦП, памяти и диска
Процент заряда батареи, время зарядки или разрядки, потребляемая мощность
Таблица процессов с возможностью фильтрации по типу верхней части, включающая использование диска каждым процессом
Изменение приоритета процесса
Представления диаграмм с возможностью масштабирования (с поддержкой прокрутки назад во времени)
Управление процессами с помощью сигналов
Сохранение данных о производительности между запусками
Метрики использования GPU для графических процессоров NVIDIA (с --features nvidia), включая использование GPU для каждого процесса
Графики свободного места на диске
Учет задержек (в Linux при запуске zenith с правами root)

Установка на дистрибутивы Linux на базе Debian/Ubuntu (64-бит)

sudo apt install curl
curl -sL https://raw.githubusercontent.com/wimpysworld/deb-get/main/deb-get | sudo -E bash -s install deb-get



https://github.com/bvaisvil/zenith

👉 @sysadminof
👍82😁1
Генерируем пароль в терминале Linux

Будем использовать /dev/urandom и утилиты makepasswd, pwgen.

Используем /dev/urandom
При чтении устройство /dev/urandom возвращает бесконечный набор случайных байтов. Этот вывод можно отфильтровать с помощью утилиты tr. Затем, вывод передать команде xargs которая, по умолчанию выполняет команду echo и ей передается всё, что было прочитано из стандартного ввода. А с помощью утилиты head можно указать необходимое количество символов в пароле.

То есть сгенерировать пароль в Linux поможет следующая команда:
$ tr -dc A-Za-z0-9_ < /dev/urandom | head -c 10 | xargs
AurTdatFbw


Вы можете сделать bash функцию и записать её в ваш .bashrc:
$ nano .bashrc
genpasswd() {
local l=$1
[ "$l" == "" ] && l=16
tr -dc A-Za-z0-9_ < /dev/urandom | head -c ${l} | xargs
}


Затем применим изменения и попробуем сгенерировать пароль:
$ . .bashrc
~$ genpasswd 5
Hbe7a
$ genpasswd 10
PDbt1tjBg0


Используем makepasswd

Утилита makepasswd может также помочь сгенерировать пароль в Linux. Она также использует /dev/urandom, чтобы создавать случайные пароли. Вы можете установить её с помощью apt:
$ sudo apt install makepasswd

Просто выполните эту команду без параметров чтобы получить случайный пароль:
$ makepasswd
5q6m4jMHJ


Можете указать количество символов в пароле с помощью опции chars и можете создать несколько паролей с помощью опции count:
$ makepasswd --chars 4 --count 3
1d65
R5Xe
Lhes


Можно создать пароли и сразу вывести их зашифрованный хеш с помощью опции crypt-md5:
$ makepasswd --chars 4 --count 3 --crypt-md5
DWBN $1$awZ5uNo/$r50RTWsihcMKEVQzoDyoZ1
xLN7 $1$h4ThtOu1$Bsmqhr/Tq/IIdGPtAVGda.
A2R2 $1$bss49Rj7$y.9nAbyr749N.eYRUF155.



Используем pwgen

Утилита pwgen генерирует легко запоминаемые пароли. Но также можешь генерировать случайные пароли. Устанавливается она также, с помощью apt:
$ sudo apt install pwgen

Если выполнить её без опций, то вы увидите список из легко запоминаемых паролей:
$ pwgen
Xu6Phei7 Ree2ud9e ohphah8I iiZ8Efoo foG0moh3 aSho2neL Phero4Ud thiCh9ei
uvaeChu0 eeCie5Um Wovie0do Eibuo3Ou Sai1Ovah po3OhT9j XeYei9ei eiQu2mai

....

Вы можете указать количество необходимых паролей с помощью опции -N и указать количество символов в пароле с помощью опции -n:
$ pwgen -N 3 -n 5
aeCo2 Le7oy uv6Oh


Существует также опция -s чтобы создавать более сложные пароли (их сложнее запомнить и подобрать):
$ pwgen -N 3 -n 5 -s
fY60V y6FIU 9XEt4


Я не заметил разницу в использовании опции -s, но в инструкции написано, что без этой опции пароль легче подобрать.

👉 @sysadminof
👍10
Media is too big
VIEW IN TELEGRAM
🎥 Чем выпускник Открытых школ Т1 отличается от обычного кандидата?
Ответ в видео!


Эксперты ИТ-холдинга Т1 рассказывают, почему участники Открытых школ находятся на шаг впереди. Это не просто интенсив, а карьерный буст!

Участники интенсива для прикладных администраторов L2:

📁 познакомятся с DevOps как практикой разработки, подробно изучат контейнеризацию и микросервисы, погрузятся в Kubernetes и OpenShift, изучат работу с базами данных и многое другое;

🤝 погрузятся в проекты и культуру ИТ-холдинга Т1, познакомятся с командой;

📚 освоят навыки при поддержке менторов;

📈 смогут пройти собеседования увереннее благодаря HR-материалам и подготовке.

Даже без опыта можно войти в ИТ! Подай заявку до 14.03 и получи шанс стать частью одной из ведущих ИТ-компаний России! Старт обучения уже 17 марта!

Информация о рекламодателе.
👍2👏2
Как редактировать файлы qcow2 для KVM

Покажу на примере восстановления утерянного пароля к виртуальной машине на KVM.

Для редактирования образа мы используем утилиту guestfish. Для установки используем на всех популярных дистрибутивах пакет libguestfs-tools. Например:
$ sudo apt install libguestfs-tools

Шаг 1 — Выключение VM

Выводим список всех VM:
# virsh list

Вывод будет примерно таким:
Id Name State
----------------------------------------------------
1 vm-ubuntu running

Теперь выключаем VM:
# virsh shutdown vm-ubuntu


Шаг 2 — Определение расположения файлов VM

Эту информацию можно взять из XML конфигурации VM:
# virsh dumpxml vm-ubuntu | grep 'source file'

Вывод должен быть примерно таким:
<source file='/var/lib/libvirt/images/vm-ubuntu.qcow2'/>


Шаг 3 — Подготовка хэша пароля пользователя root для замены

Для генерации можно использовать утилиту openssl:
# openssl passwd -1 myNewPassword
$1$snYRmJA1$1vpz.ii09.BcDf6AY6ZPj/
# openssl passwd -6 myNewPassword
$6$4ofbn2TGn3xXCExZ$2o8NxDUsiaYh14sEtNYMwyifRUjgOhw/NKgDli/w853YzpH0iP2ky0NlWy6AoAOe1En2fmHR31ndQy2wEQLYG0


обратите внимание на аглоритм шифрования пароля, они могут быть разные, и вот информация, как их различать:
openssl passwd -1 password # MD5 hash
openssl passwd -5 password # SHA-256 hash
openssl passwd -6 password # SHA-512 hash
openssl passwd -apr1 password # MD5 Apache variant hash
openssl passwd -aixmd5 password # MD5 AIX variant hash
openssl passwd -crypt password # Standard Unix hash


Также есть возможность добавить соль для изменения пароля
# openssl passwd -1 -salt "OKgLCmVl" "myNewPassword"
$1$OKgLCmVl$mroGe0I8pVZcPC91VTFaE.


Думаю тут понятно, копируем куда-нибудь хэш и приступаем к следующим шагам.


Шаг 4 — Редактирование файла внути qcow2 файла VM

Используем guestfish, открываем файл qcow2, запускаем, смотрим какие файловые системы есть внутри, монтируем root раздел и открываем редактор vi для файла /etc/shadow
# guestfish --rw -a /var/lib/libvirt/images/vm-ubuntu.qcow2
><fs>
><fs> launch
><fs> list-filesystems
/dev/sda1: ext4
><fs> mount /dev/sda1 /
><fs> vi /etc/shadow


В файле shadow находим строку для root пользователя, они будет вида:
root:$6$d431Zi5mfQN5sRXj$9SUQhRSR.tKMp64KyTe.yip8U4ysal55doO/xVnaIjV8Bholwrecqa387B6hFkiu4jDsl2DISoJ7G3UDilXNk0:18669:0:99999:7:::

Теперь надо заменить часть которая содержит хэш пароля на новый хэш
root:$6$4ofbn2TGn3xXCExZ$2o8NxDUsiaYh14sEtNYMwyifRUjgOhw/NKgDli/w853YzpH0iP2ky0NlWy6AoAOe1En2fmHR31ndQy2wEQLYG0:18669:0:99999:7:::

Сохраняем изменения в файле shadow и закрываем vi. Далее выходим из редактора guestfish:
><fs> flush
><fs> quit


Шаг 5 — Запуск VM

Проверяем, что у нас получилось:
# virsh start vm-ubuntu
Domain vm-ubuntu started


Теперь пробуем авторизоваться под новым паролем root. У меня все получилось.

Альтернативное решение:

Если ваша задача в редактировании файлов qcow2 довольно стандартаная, как выше описанная, то есть смысл попробовать применить другую утилиту — virt-customize:
# virsh shutdown vm-ubuntu
# virt-customize -a /var/lib/libvirt/images/vm-ubuntu.qcow2 --root-password password:myNewPassword --uninstall cloud-init


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

👉 @sysadminof
👍7😁1
💣 Хардкорный тест для сетевых инженеров!

🏆 Пройди тест из 22 вопросов и получи скидку на онлайн-курс «Network Engineer. Professional» от OTUS!

💻 В программе курса — все актуальные инструменты, необходимые сетевому инженеру.

Если успешно пройдешь тест, сможешь забронировать место в группе по выгодной цене! И еще дарим промокод NETWORKPRO5

🎫 Курс можно приобрести в рассрочку

➡️ Пройти тест и забрать скидку: https://vk.cc/cIHPYa

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Быстрая настройка маршрутизатора MIkroTik для офиса и дома

В данном видео приводится пример по настройке маршрутизатора под управление ОС MikroTik RouterOS для малого офиса или дома. Настройка производится с помощью функции Quick Set и не занимает много времени. Полученная конфигурация обеспечивает стабильную работу и приемлемый уровень безопасности.

источник

👉 @sysadminof
👍13
Помошник )

Подписывайтесь на канал 👉@tipsysdmin
18😁4