Системный администратор


Гео и язык канала: Россия, Русский
Категория: Технологии


Канал для системных администраторов. Linux, Windows, Active Directory, GPO, PowerShell. Виртуализация Hyper-V, VMWare. Облака Azure, AWS.

Связанные каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика

Горячие клавиши VirtualBox

Основные ярлыки в VirtualBox
F1: Отображает справку.
Ctrl + D Мы получаем доступ к виртуальному медиа-менеджеру.
Ctrl + G: Мы получаем доступ к настройкам VirtualBox.
Ctrl + S: Открываем окно настроек виртуальной машины.
Ctrl + I: Импорт виртуализированной службы.
Ctrl + E: Экспорт виртуализированной службы.
Ctrl + L: Показывает журнал событий виртуальной машины.
Ctrl + N: Создает новую виртуальную машину.
Ctrl + P: Мы приостанавливаем виртуальную машину.
Ctrl + R: Мы удаляем виртуальную машину.
CTRL+Q: Мы выходим из приложения.
Ctrl + Alt + L: Блокировка сеанса
Ctrl + Alt + ⬆ или ⬇: Переход между различными рабочими столами
Ctrl + Alt + Shift + ⬆ или ⬇: Расположение рабочих столов, один на другом или под другим.
Ctrl+Alt+ T: Открываем новый терминал
Ctrl+Alt+ Tab: Мы переключаемся между компонентами системы.
Ctrl + Windows + ⬆ или ⬇: Максимизировать или минимизировать окно
Ctrl + Windows + D Показать текущий рабочий стол.

Host ярлыки в VirtualBox
F1: Отображает справку.
Host + F: Вход в полноэкранный режим.
Host + A: Настройка размера окна.
Host + L: Вход в режим «fluid».
Host + G: Отключить автоматическую подгонку экрана гостя.
Host + I: Отключить интеграцию мыши.
Host + S: Создание снимка.
Host + N: Диалоговое окно информации о сеансе (это информация о машине плюс данные выполнения).
Host + P: Приостановка виртуальной машины.
Host + R: Перезапуск виртуальной машины.
Host + Q: Закрыть виртуальную машину.
Host + H: ACPI отключен.
Host + Del: Это то же самое, что нажатие Ctrl + Alt + Del.
Host + Пробел: Отправка Ctrl + Alt + Backspace на систему гостя (специфично для GNU / Linux).

Alt ярлыки в VirtualBox
Alt+Tab: Переключение между приложениями.
Alt+Shift+Tab: Переключение между приложениями в обратном направлении.
Alt+F1: Открытие меню поиска.
Alt+F2: Открытие окна запуска.
Alt+F7: Прокрутка окна.
Alt + F8 + ⬆ или ⬇: Изменение размера окна.

👉 @channel_i_Linux


Увеличение времени сессии SSH

Бывает, что выполнение удаленно запущенной команды может затянуться, а необходимо дождаться ее выполнения (кстати, в этом случае весьма полезным может стать использование screen), или пришлось отвлечься, а сессия SSH в это время отвалилась. У меня на работе подобное случалось часто, поэтому решил увеличить на сервере таймаут сессии ssh, чтобы сохранить и соединение, и собственные нервы.

На сервере в конфигурационном файле /etc/ssh/sshd_config прописываем:
TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 60

TCPKeepAlive - установлен в «yes», значит сервер будет периодически пинговать клиента, проверяя жив ли он.

ClientAliveInterval - задает интервал пинга для проверки состояния клиента (в секундах). Параметр работает только для протокола версии 2 (Protocol 2).

ClientAliveCountMax - количество пингов клиента.
Таким образом в моем примере таймаут сессии будет равен 60*300/60 = 300 минут = 5 часов.

После изменения настроек не забудьте перезапустить сервис ssh.

👉 @channel_i_Linux


Регулярные выражение для поиска IP адресов

Ниже представлены регулярные выражения, которые помогут найти все IP адреса в строке.
Данные регулярные выражения соответствуют шаблонам IPv4 и IPv6 адресов.

Регулярное Выражение для Поиска IP Адресов
Паттерн для поиска IPv4 адресов, соответствует всем значениям от 0.0.0.0to 999.999.999.999и в большинстве случаев этого бывает достаточно.

"([0-9]{1,3}[\.]){3}[0-9]{1,3}"

Найти Все IP Адреса с Помощью Grep
Пропарсим файл и найдем в нем все IP адреса из диапазона от 0.0.0.0до 999.999.999.999с помощью grep:

$ grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" file.txt


Поиск Правильных IPv4 Адресов
Регулярное выражение для поиска и проверки правильных IPv4 адресов:

"(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"


Поиск IPv6 Адресов
Регулярное выражение для проверки IPv6 адреса:

"((^|:)([0-9a-fA-F]{0,4})){1,8}"


Видео недоступно для предпросмотра
Смотреть в Max
Пожалуй, лучшее использование ИИ из всего, что я видел ранее


Видео недоступно для предпросмотра
Смотреть в Max
Старое доброе видео, кто помнит?

Веселенький денек у сисадмина...

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


ChopChopGo

Это инструмент для просмотра журналов Linux наподобие chainsaw и Hayabusa, отлично показавших себя при общем анализе системных журналов Windows (через Sigma-правила).

🎯 Поиск угроз с помощью правил обнаружения Sigma и пользовательских правил обнаружения ChopChopGo
⚡ Молниеносная работа, написанная на языке go
🪶 Чистое и легкое исполнение и выходные форматы без лишнего нагромождения
💻 Работает в Linux

https://github.com/M00NLIG7/ChopChopGo


Структура каталогов Linux


До / После


Топ-10 артефактов Linux для расследования инцидентов

Несмотря на то что Windows остается самой распространенной ОС, о чем знают в том числе атакующие, нельзя оставлять без внимания другие системы, а уж тем более Linux (ладно-ладно, GNU/Linux). Сегодня российские компании все чаще пользуются Linux из соображений импортозамещения, но эта ОС по-прежнему более распространена именно как серверное решение.

А теперь представьте ситуацию: вы работаете на Linux-машине, и вдруг что-то явно идет не так. Уровень нагрузки на процессор резко вырос, начались обращения на неизвестные ресурсы или пользователь www-data неожиданно оказался в группе wheel. Что делать?

Помимо базовых команд на просмотр текстовых файлов (а все мы знаем, что в Linux, по сути, все есть файл) типа cat ~/.bash_history, можно использовать более продвинутые варианты:

tail -n 15 /var/log/<file> по умолчанию выводит 10 строк, но при помощи параметра n их количество можно изменять.

tail -f -s 5 /var/log/<file> используется для отслеживания появления новых строк. Это аналог команды watch для тех же журналов. Может быть полезна для отслеживания определенных событий в реальном времени.

grep ― без этой команды предыдущие две могут оказаться бесполезными. Не устану повторять, что grep — наш лучший друг, и не владеть его синтаксисом хотя бы на базовом уровне — просто преступление. В ИБ это так же важно, как уметь гуглить.

Например, историю входов пользователей можно посмотреть разными способами. Если мы имеем дело с SSH-протоколом (один из наиболее популярных способов удаленного управления хостом), можно использовать:

cat /var/log/auth.log | grep "sshd". Фильтрует логи аутентификации исключительно по демону sshd.


https://ptresearch.media/articles/top-10-artefaktov-linux-dlya-rassledovaniya-inczidentov


🎉 С Днём системного администратора!

Сегодня можно официально ничего не чинить.

Потому что существует закон сисадмина:

🟢 Пока админ рядом — всё работает.
🔴 Как только он ушёл в отпуск — ломается всё сразу.

Желаем, чтобы серверы не знали слова panic, диски не пищали SMART'ом, а пользователи звонили только с фразой:

«Спасибо, всё отлично работает!»


Создание уведомлений и напоминаний на рабочем столе из Linux терминала

Иногда полезно получить визуальную обратную связь от скрипта. Например, когда завершается работа скрипта или задание cron, или, когда долгоиграющая сборка терпит неудачу. Или, когда во время выполнения скрипта возникает срочная проблема.

https://letsdebug.it/post/30-linux-desktop-notifications/


GTFOBins

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

В проекте собраны легитимные функции двоичных программ Unix, которые могут быть использованы для выхода из ограниченных оболочек, повышения или сохранения повышенных привилегий, передачи файлов, порождения bind и reverse оболочек, а также для решения других задач, возникающих после эксплойта.

Важно отметить, что это не список эксплойтов, и перечисленные здесь программы сами по себе не являются уязвимыми, скорее, GTFOBins - это сборник о том, как прожить на земле, когда доступны только определенные двоичные файлы.

Если вы ищете двоичные файлы для Windows, вам следует посетить сайт LOLBAS.

https://gtfobins.github.io/


Назначения подсетей IPv4 и использование некоторых маршрутизируемых адресов в качестве локальных

Как-то, очередной раз настраивая роутер с LTE модемом, обратил внимание, что IP адрес оператором мне был выдан из сети 11.0.0.0/8. Уже не помню точно, что за оператор это был, да и не имеет это значения, но задумался: а как так-то? Ведь вряд ли сотовый оператор будет бесплатно раздавать динамические публичные IP адреса, а локальными с детства привычно использование адресов 10.0.0.0/8, 192.168.0.0/16 и 172.16.0.0/12. Так же есть сеть 100.64.0.0/10, но с ней тоже всё не просто. Полный список не маршрутизируемых адресов можно посмотреть, например, тут.

Проверил WHOIS - сеть публичная, и значится за некоей "DoD Network Information Center" с датой регистрации 1984-01-19.

Так зародилась данная статья. Не претендую на 100% точность и достоверность информации и не рекомендую использовать информацию из этой статьи. В чём‑то данная статья имеет схожесть с «Ищем свободные IPv4 в BGP full‑view», но она немного о другом.

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

https://habr.com/ru/articles/766622/
https://habr.com/ru/articles/766622/


🖥 Мини-NAS на NanoPi M4 (статья на Eng)

Автор собрал домашний NAS на базе NanoPi M4 с минимальными затратами и при этом сохранил функциональность. В статье пошагово описывается:

- выбор железа и корпуса;
- подключение SATA-адаптера для HDD;
- настройка Armbian;
- использование OpenMediaVault для управления;
- оптимизация питания и охлаждения.

По сути, это недорогая альтернатива готовым NAS-решениям, где можно получить контроль и гибкость за счёт DIY-подхода. Отличный вариант для тех, кто хочет поднять личное хранилище на SBC и при этом разобраться в деталях настройки.

https://cgomesu.com/blog/Nanopi-m4-mini-nas/


📌 Шпаргалка по Linux


📂 Структура каталогов Linux 🐧

Каждый файл и каталог в Linux начинается с / (корневой каталог).

🔹 /bin – Основные бинарные файлы команд

🖥 /boot – Файлы загрузки системы

🖧 /dev – Файлы устройств

⚙️ /etc – Конфигурационные файлы системы

🏠 /home – Домашние каталоги пользователей

📚 /lib – Общие библиотеки

💿 /media – Подключаемые носители (CD, USB)

🔌 /mnt – Временные точки монтирования

📦 /opt – Дополнительные пакеты программ

📊 /proc – Виртуальная файловая система с информацией о процессах

🏡 /root – Домашняя директория суперпользователя root

📂 /run – Данные, используемые запущенными программами

⚡ /sbin – Системные бинарные файлы

🗄 /srv – Данные, обслуживаемые системой (например, веб-сервер)

🔍 /sys – Виртуальная файловая система с информацией о системе

🗑 /tmp – Временные файлы

📁 /usr – Статические файлы пользователей (библиотеки, программы)

♻ /var – Данные, которые часто изменяются (логи, кеш)


🐧 Шпаргалка по перенаправлению потоков в Linux, которую стоит сохранить

Работаете в терминале каждый день? Тогда понимание перенаправления потоков ввода и вывода сэкономит вам массу времени при написании скриптов и администрировании.

Что важно помнить:

🔹 0 — STDIN (стандартный ввод)
< file.txt - читать данные из файла.

🔹 1 — STDOUT (стандартный вывод)
> file.txt - записать вывод в файл.
>> file.txt - добавить в конец файла.

🔹 2 — STDERR (стандартный поток ошибок)
2> errors.log - сохранить только ошибки.

💡 Самые полезные комбинации:

command > output.log
Сохранить обычный вывод.

command 2> errors.log
Сохранить только ошибки.

command > output.log 2>&1
Объединить стандартный вывод и ошибки в один файл.

command > /dev/null 2>&1
Полностью скрыть любой вывод команды.

⚠️ Важно: порядок имеет значение!

command > /dev/null 2>&1

✅ Скрывает всё.

Но:

command 2>&1 > /dev/null

❌ Не эквивалентно - ошибки могут остаться в терминале, потому что перенаправления выполняются слева направо.

📌 Сохраняйте шпаргалку - она пригодится каждому Linux-администратору, DevOps-инженеру и разработчику, который регулярно работает с Bash.


Команда findmnt

Это простая утилита командной строки, используемая для отображения списка подключенных файловых систем или поиска файловой системы в /etc/fstab, /etc/mtab или /proc/self/ mountinfo.

Для отображения списка подключенных файловых систем, выполните в командной строке следующую команду.
По умолчанию команда findmnt отображает файловые системы в древовидном формате.
# findmnt

Чтобы отобразить информацию в виде обычного списка, используйте параметр -l, как показано ниже
# findmnt -l

Можно выбрать отображение файловых систем только определенного типа, используя параметр командной строки -t, за которым следует тип файловой системы, такой как XFS или EXT4.
# findmnt --fstab -t xfs или # findmnt --fstab -t ext4

Поиск файловой системы, используя точку монтирования.

Например, следующая команда отображает все файловые системы /etc/fstab, где каталогом точки монтирования является /mnt/external/disk2.
# findmnt --fstab /mnt/external/disk2 # this prints bind mounts where /mnt/external/disk2 is a source
или # findmnt --fstab --target /mnt/external/disk2

Выводим все файловые системы /etc/fstab и преобразовываем теги LABEL = и UUID = в реальные имена устройств, добавьте ключ – –evaluate
# findmnt --fstab --evaluate

Отобразить только точку монтирования, в которой смонтирована файловая система с меткой «/ boot» или «/», используйте следующую команду.
# findmnt -n --raw --evaluate --output=target LABEL=/boot или # findmnt -n --raw --evaluate --output=target LABEL=/

Findmnt также позволяет отслеживать действия по монтированию, размонтированию, перемонтированию и перемещению каталога, например, в /mnt/test.
# findmnt --poll --mountpoint /mnt/test

Если вы хотите больше информации в выводе, используйте ключ –verbose.
# findmnt --real --verbose


Шпаргалка по windows CMD. Список команд cmd windows с описанием

Способы запуска командной строки
Командная строка Windows может быть запущена, как и любое другое стандартное приложение - через Главное меню Windows, с использованием диалога Выполнить (комбинации клавиш Win+R, Win+X), а также с использованием открытия Проводником ярлыка или исполняемого файла C:\WINDOWS\System32\cmd.exe. В результате запуска откроется окно командной строки. Результаты выполнения команд отображаются в окне консоли Windows и нередко зависят от наличия достаточных прав у текущего пользователя. Для выполнения команд в контексте учетной записи Администратора в операционных системах Windows Vista - Windows 10 необходимо использовать режим Запуск от имени Администратора.


SETX - утилита для создания системных переменных
SFC - проверка и восстановление системных файлов Windows
SHARE - просмотр, создание и удаление разделяемых в локальной сети ресурсов
SHIFT сдвиг входных параметров для командного файла
SHUTDOWN - выключение или перезагрузка компьютера
SLEEP - задержка по времени в пакетном файле
SLMGR - управление лицензированием программного обеспечения Windows
SORT - сортировка строк в текстовом файле
START - запуск приложения или командного файла
STORDIAG - диагностика системы хранения данных в Windows 10
SUBST - назначение (отмена назначения) каталогу буквы диска
SxSTrace - диагностическое средство трассировки компонент системы
SYSTEMINFO - отображение информации о системе
TAKEOWN - изменение владельца файла или каталога
TAR - архивирование данных архиватором tar в Windows 10
TASKKILL - завершение процессов на локальной или удаленной системе.
TASKLIST - отображение списка выполняющихся приложений и служб Windows
TIME - отображение и установка системного времени
TELNET - telnet-клиент Windows
TFTP - TFTP-клиент Windows
TIMEOUT - задержка в пакетных файлах
TITLE - изменение заголовка окна CMD.EXE
TRACERT - трассировка маршрута к удаленному узлу
TREE - отображение структуры каталога в графическом виде
TSCON - подключение к сессии удаленного рабочего стола (RDP).
TSDISCON - отключение сессии удаленного рабочего стола (RDP).
TSKILL - завершение процессов, адаптированное для среды сервера терминалов (RDP).
TYPE - вывод на экран содержимого текстового файла
TypePerf - вывод сведений о производительности на экран или в журнал
TZUTIL - управление часовыми поясами в среде Windows
VER - отображение версии операционной системы
VERIFY - управление режимом проверки записываемых файлов
VOL - вывод данных метки тома
VSSADMIN - администрирование службы теневого копирования томов.
W32TM - управление службой времени Windows
WAITFOR - организация обмена сигналами между компьютерами
WBADMIN - управление резервным копированием и восстановлением в Windows
WEVTUTIL - управление событиями в Windows
WHERE - определение места расположения файлов
WHOAMI - вывод имени текущего пользователя
WINDIFF - сравнение содержимого файлов
WinMgmt - обслуживание инструментария управления Windows (WMI)
WINRM - удаленное управление Windows из командной строки
WINRS - удаленная командная строка (Remote Shell)
WINSAT - средство проверки производительности Windows
WMIC - выполнение команды WMI в командной строке
WSCollect - получить CAB-файл с копиями журналов Windows 10 на рабочем столе
Wscript - сервер сценариев Windows с графическим интерфейсом
WSL - выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10
WSLconfig - конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10
XCOPY - копирование файлов и папок


Что происходит, когда вы вводите в браузер URL-адрес?

Давайте рассмотрим этот процесс пошагово.

Шаг 1. Пользователь вводит в браузер URL и нажимает Enter. Первое, что нам нужно сделать, это преобразовать URL в IP-адрес. Сопоставление обычно хранится в кэше, поэтому браузер ищет IP-адрес в нескольких уровнях кэша: кэше браузера, кэше ОС, локальном кэше и кэше провайдера. Если браузер не смог найти сопоставление в кэше, он обращается к DNS (Domain Name System) resolver для его разрешения.

Шаг 2. Если IP-адрес не удается найти ни в одном из кэшей, браузер обращается к DNS-серверам для выполнения рекурсивного DNS-поиска, пока IP-адрес не будет найден.

Шаг 3. Теперь, когда у нас есть IP-адрес сервера, браузер посылает на него HTTP-запрос. Для безопасного доступа к ресурсам сервера всегда следует использовать протокол HTTPS. Сначала браузер устанавливает TCP-соединение с сервером с помощью трехстороннего рукопожатия TCP. Затем он посылает открытый ключ клиенту. Клиент использует открытый ключ для шифрования сеансового ключа и отправляет его серверу. Сервер использует закрытый ключ для расшифровки сеансового ключа. Теперь клиент и сервер могут обмениваться зашифрованными данными с использованием сеансового ключа.

Шаг 4. Сервер обрабатывает запрос и отправляет ответ. Для успешного ответа код состояния равен 200. Ответ состоит из трех частей: HTML, CSS и Javascript. Браузер анализирует HTML и формирует дерево DOM. Он также анализирует CSS и генерирует дерево CSSOM. Затем он объединяет дерево DOM и дерево CSSOM в дерево рендеринга. Браузер отображает содержимое и показывает его пользователю.

Показано 20 последних публикаций.