🛡️ Основы операционных систем (ОС) для киберстудентов — От нуля до профи

🛡️ Основы операционных систем (ОС) для киберстудентов — От нуля до профи

Погрузитесь в ключевые концепции операционных систем, необходимые для кибербезопасности. Изучите архитектуру ОС, процессы, управление памятью и основы безопасности. Получите практические навыки администрирования Linux и Windows и чек-лист по ужесточению безопасности для обеих систем.

1) Что такое операционная система?

Операционная система (OS) — это программный слой между пользователями/приложениями и аппаратурой. Она распределяет время ЦП, управляет памятью и файлами, контролирует устройства и предоставляет единый интерфейс через системные вызовы и оболочку/GUI, чтобы программы работали эффективно и безопасно.


2) Ключевые обязанности ОС

  • Управление процессами и ЦП: создание/завершение процессов, планирование потоков на ядрах.
  • Управление памятью: распределение RAM, реализация виртуальной памяти и изоляции.
  • Управление устройствами и I/O: абстракция дисков, сетевых карт, клавиатур с помощью драйверов.
  • Файловые системы: организация данных в файлы/каталоги с правами доступа.
  • Безопасность и учёт: аутентификация, авторизация, логирование, квоты.
  • Интерфейс для пользователя и программ: оболочка/GUI и API системных вызовов.

3) Архитектура ОС: ядро, оболочка и системные вызовы

  • Ядро (Kernel): привилегированное ядро, работающее в kernel mode; отвечает за планировщик, память, драйверы, файловые системы и IPC.
  • Оболочка (Shell): интерфейс для пользователя (CLI или GUI), интерпретирующий команды и запускающий программы.
  • Системные вызовы (syscalls): контролируемые точки входа из пользовательского пространства к сервисам ядра (например, open, read, execve, CreateProcessW).

Стили ядер, распространённые в кибербезопасности:

  • Монолитные (напр., Linux) — большинство сервисов внутри ядра.
  • Микроядра — переносят сервисы в пользовательское пространство для модульности.
  • Гибридные (напр., Windows, XNU) — комбинируют оба подхода.

4) Процессы, потоки и планирование ЦП

  • Процесс — выполняемая программа с собственным виртуальным адресным пространством.
  • Поток (thread) — планируемая единица внутри процесса, разделяющая память.
  • Планировщики решают, что запускать дальше (FCFS, SJF, Priority, Round-Robin, Multilevel Feedback Queue). Понимание вытеснения/невытеснения, переключений контекста и «голодания» важно для производительности и форензики.

5) Управление памятью и виртуальная память

  • Виртуальная память предоставляет каждому процессу изолированное логическое адресное пространство, поддерживаемое RAM и диском (страничная подкачка/paging).
  • Алгоритмы замены страниц (например, FIFO, LRU, Optimal) балансируют локальность и накладные расходы.
  • Защита (режимы user/kernel, права страниц) предотвращает взаимное воздействие процессов.

6) Хранилище, файловые системы и I/O

  • ОС предоставляет файловые системы (например, ext4/XFS в Linux, NTFS/ReFS в Windows) с метаданными, правами/ACL и журналированием, повышающим устойчивость.
  • Блочный I/O (диски/SSD) использует планировщики; символьный I/O (терминалы) ориентирован на поток.
  • Планирование диска (например, SCAN/LOOK) и буферизация/кэширование увеличивают пропускную способность.

7) Процесс загрузки и режимы работы

Типичные этапы:

  1. UEFI/BIOS инициализирует оборудование и находит загрузчик.
  2. Загрузчик загружает ядро (и initramfs) в память.
  3. Ядро инициализирует подсистемы, монтирует корневую ФС, запускает первый процесс пользовательского пространства (init/systemd или Windows Session Manager).
  4. Запускаются службы и менеджер входа/сессий.

Действия пользователя происходят в user mode; ядро ОС — в kernel mode.


8) Основы безопасности (учётные записи, ACL, политики)

Общие примитивы:

  • Идентичности и группы; права (rwx, ACL), владение и границы привилегий.
  • Применение политик (Windows: UAC, Group Policy; Linux: DAC + MAC, напр. SELinux/AppArmor).
  • Аудит и логирование (Windows Event Logs, syslog/journald в Linux).

Гигиена безопасности: наименьшие привилегии, регулярные патчи и сильная аутентификация.


9) Виртуализация и контейнеры

  • Виртуальные машины (VM): эмулируют полноценное оборудование для запуска нескольких ОС на одном хосте.
  • Контейнеры: (namespaces/cgroups в Linux) изолируют процессы на общем ядре — быстрый старт и высокая плотность; отличны для продакшена и лабораторий.

10) Типы ОС: настольные, серверные и мобильные

  • Настольные: Windows, macOS, дистрибутивы Linux — продуктивность, разработка, игры.
  • Серверные: Linux/Windows Server — headless-сервисы, тюнинг производительности и безопасности.
  • Мобильные: Android/iOS — «песочницы» для приложений и мобильные парадигмы безопасности.

11) Linux vs Windows: основы администрирования (практика)

Пользователи и группы

  • Linux: useradd, groupadd, passwd -l, файлы /etc/passwd, /etc/shadow.
  • Windows: net user, net localgroup, оснастка MMC Local Users & Groups.

Пакеты и обновления

  • Linux: менеджеры пакетов apt, dnf, yum, apk.
  • Windows: Winget/Chocolatey; служба Windows Update (wuauserv).

Службы и автозапуск

  • Linux: systemctl enable|start <service> (systemd) или service (SysV).
  • Windows: Service Control Manager (sc config/start/stop), Services.msc.

Файлы и права

  • Linux: chmod, chown, umask; ФС ext4/XFS.
  • Windows: ACL NTFS (GUI или icacls), наследование, аудит.

Логи

  • Linux: /var/log/*, journalctl; logrotate для ротации/сжатия.
  • Windows: Event Viewer → журналы Application/Security/System; политики хранения через Group Policy или консоль.

12) Логирование, мониторинг и устранение неполадок

  • Linux: journalctl -u <svc>, dmesg, top/htop, ss -tulpn, lsof, strace.
  • Windows: фильтры Event Viewer, Resource Monitor, Process Explorer, Get-WinEvent, Get-Process, netstat, инструменты Sysinternals.
  • Делайте ротацию журналов, централизуйте (syslog → SIEM) и задавайте политики хранения и доступа. logrotate — стандартный инструмент автоматической ротации в Linux.

13) Чек-лист харденинга (Linux и Windows)

Linux

  • Отключить вход root по SSH (PermitRootLogin no), использовать ключи.
  • Регулярные обновления; минимум пакетов; файрвол (ufw/nftables).
  • Корректные права на чувствительные файлы (напр., /etc/shadow 640, владелец root:shadow).
  • Настроить logrotate и централизованное логирование; мониторить неуспешные входы.

Windows

  • Включить NLA для RDP; отключить Guest; строгие политики блокировок.
  • Держать Windows Update включённым; Defender + SmartScreen активны.
  • Ограничить использование локального администратора; принцип наименьших привилегий; AppLocker/WDAC.
  • Настроить хранение журналов и форвардинг в SIEM.

14) Частые вопросы на собеседованиях/экзаменах (краткие ответы)

  • Что такое ОС? Интерфейс между пользователем/приложениями и аппаратурой; управляет ресурсами и предоставляет сервисы.
  • Процесс vs поток? У процесса своё адресное пространство; потоки его разделяют и являются планируемыми единицами.
  • Что такое виртуальная память? Изолирует адресные пространства процессов с помощью страничной подкачки и хранилища.
  • Ядро vs оболочка? Ядро = привилегированный «движок»; оболочка = интерфейс (CLI/GUI), обращающийся к ядру через системные вызовы.
  • Монолитное vs микроядро? Монолит — большинство сервисов в ядре; микроядро — минимальное ядро, сервисы в пользовательском пространстве.

15) Мини-лабораторные: попробуйте сейчас

Запускайте в «одноразовой» VM или контейнере.

Linux

# 1) Пользователи и группы
sudo groupadd secops && sudo useradd -m -g secops -s /usr/sbin/nologin secops && sudo passwd -l secops

# 2) Пакеты (Debian/Ubuntu)
sudo apt-get update -y && sudo apt-get install -y htop && htop --version && sudo apt-get remove -y htop

# 3) Службы (systemd)
sudo systemctl enable --now cron || echo "Not available here"

# 4) Ротация логов
cat | sudo tee /etc/logrotate.d/custom <<'EOF'
/var/log/custom.log {
  weekly
  rotate 4
  compress
  missingok
  notifempty
  create 0640 root adm
}
EOF
sudo touch /var/log/custom.log && sudo chown root:adm /var/log/custom.log && sudo chmod 0640 /var/log/custom.log

# 5) Харденинг SSH
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config && sudo systemctl restart ssh || true

Windows (PowerShell от имени администратора)

# 1) Пользователи и группы
net user secops /add /y
net localgroup "Users" secops /add

# 2) Пакеты через winget (или Chocolatey при наличии)
winget install --id=7zip.7zip -e; winget uninstall --id=7zip.7zip -e

# 3) Службы
sc config wuauserv start= auto
sc start wuauserv

# 4) Хранение логов (пример: Application = 64MB)
wevtutil sl Application /ms:67108864

# 5) RDP + NLA рекомендуется (Group Policy / System Properties > Remote)

16) Глоссарий

  • ACL: список контроля доступа — детальные права на объекты.
  • Переключение контекста (Context Switch): сохранение/восстановление состояния ЦП при переключении потоков.
  • Журналируемая ФС (Journaling FS): фиксирует изменения в журнал для устойчивости к сбоям.
  • Kernel/User mode: уровни привилегий ЦП, определяющие допустимые операции.
  • Paging (подкачка): перемещение страниц между RAM и диском.
  • Preemption (вытеснение): планировщик останавливает текущий поток, чтобы запустить другой.
  • System Call (системный вызов): граница API между пользовательским пространством и сервисами ядра.

17) SEO-советы для публикации в блоге Cyber8200

  • Включайте ключевые фразы в H1/H2: “Operating System Basics”, “OS for Cybersecurity”, “Linux vs Windows administration”.
  • Добавляйте внутренние ссылки на материалы про Linux CLI, Windows Registry, SIEM/Logging и Threat Hunting.
  • Предложите cheat sheet и скрипты лабораторных, чтобы увеличить время на странице и бэклинки.
  • Разметьте FAQ в JSON-LD (FAQPage) для расширенных сниппетов.
🚀 ГОТОВЫ К ПОВЫШЕНИЮ УРОВНЯ?

Поднимите свою карьеру в кибербезопасности на новый уровень

Если вы нашли этот контент ценным, представьте, чего вы могли бы достичь с нашей комплексной 47-недельной элитной обучающей программой. Присоединяйтесь к более чем 1200 студентам, которые изменили свою карьеру с помощью техник Подразделения 8200.

97% Трудоустройство
Элитные техники Подразделения 8200
42 Практические лаборатории