1. Основы кибербезопасности, сетей и ОС Linux
Любая атака или защита в кибербезопасности начинается с понимания того, как системы общаются друг с другом и как они устроены изнутри. Невозможно защитить веб-сервер, если вы не знаете, как формируется HTTP-запрос, и невозможно найти скрытый процесс злоумышленника (бэкдор), не понимая архитектуру операционной системы.
Фундамент информационной безопасности опирается на три столпа, известных как Триада CIA:
Конфиденциальность (Confidentiality*): данные доступны только тем, кто имеет на это право. Пример: шифрование паролей. Целостность (Integrity*): данные не были изменены несанкционированным образом. Пример: проверка хэш-сумм скачанного файла. Доступность (Availability*): системы и данные доступны легитимным пользователям в нужное время. Пример: защита от DDoS-атак.
Чтобы обеспечить эти три принципа, специалист по безопасности должен глубоко понимать сетевые протоколы и операционные системы.
Сетевые технологии: Как общаются системы
Сети — это кровеносная система IT-инфраструктуры. Для стандартизации сетевого взаимодействия используются концептуальные модели. Самая известная из них — модель OSI (Open Systems Interconnection), состоящая из 7 уровней. На практике же интернет работает на базе стека протоколов TCP/IP, который сжимает эти 7 уровней до 4.
| Уровень OSI | Уровень TCP/IP | Описание для безопасника | Ключевые протоколы | | :--- | :--- | :--- | :--- | | 7. Прикладной<br>6. Представления<br>5. Сеансовый | Прикладной (Application) | То, с чем взаимодействует пользователь и приложения. Главная цель для атак уровня веб-приложений (SQLi, XSS). | HTTP/S, DNS, FTP, SSH, SMTP | | 4. Транспортный | Транспортный (Transport) | Обеспечивает доставку данных от порта к порту. Здесь работают сканеры портов (Nmap) и фаерволы. | TCP, UDP | | 3. Сетевой | Сетевой (Internet) | Маршрутизация пакетов между разными сетями. Уровень IP-адресов. Цель для сетевых атак (IP Spoofing). | IPv4, IPv6, ICMP, IPsec | | 2. Канальный<br>1. Физический | Канальный (Network Access) | Физическая передача сигналов и MAC-адреса. Атаки в локальной сети (ARP Spoofing, перехват Wi-Fi). | Ethernet, Wi-Fi (802.11), ARP |
Транспортный уровень: TCP против UDP
Понимание разницы между TCP и UDP критично для анализа трафика и сканирования сетей.
TCP (Transmission Control Protocol) — это протокол с гарантированной доставкой. Прежде чем отправить данные, клиент и сервер устанавливают соединение через процесс, называемый тройным рукопожатием (Three-way handshake):
SYN (Synchronize) — "Я хочу поговорить".SYN-ACK (Synchronize-Acknowledge) — "Я готов, давай".ACK (Acknowledge) — "Отлично, начинаем передачу".> Если злоумышленник отправляет тысячи SYN-пакетов, но никогда не завершает рукопожатие (не шлет ACK), сервер исчерпывает свои ресурсы, ожидая ответов. Это классическая атака SYN Flood, нарушающая принцип доступности.
UDP (User Datagram Protocol) работает иначе. Это протокол без установки соединения. Данные отправляются потоком, и отправителю неважно, дошли они или нет. Он быстрее, поэтому используется для видеостриминга, онлайн-игр и DNS-запросов. Сканирование UDP-портов всегда занимает больше времени, так как отсутствие ответа от сервера может означать как то, что порт закрыт, так и то, что пакет просто потерялся.
Прикладной уровень: DNS и HTTP/S
DNS (Domain Name System) — это телефонная книга интернета. Когда вы вводите gurufy.com, ваш компьютер не знает, куда идти. Он отправляет DNS-запрос (обычно по порту 53 UDP), чтобы узнать IP-адрес сервера. Злоумышленники часто используют DNS для скрытого вывода украденных данных (DNS Exfiltration), так как DNS-трафик редко блокируется корпоративными фаерволами.
HTTP (HyperText Transfer Protocol) и его защищенная версия HTTPS — основа веба. HTTP-запрос состоит из метода (например, GET для получения страницы или POST для отправки данных), заголовков (headers) и тела (body). Анализ HTTP-трафика — основная задача при поиске веб-уязвимостей с помощью инструментов вроде Burp Suite.
Операционная система Linux глазами безопасника
Почему именно Linux? Более 90% облачных серверов, большинство IoT-устройств и сетевого оборудования работают на базе ядра Linux. Кроме того, главные дистрибутивы для пентеста (Kali Linux, Parrot OS) также построены на этой ОС.
Главная философия Linux: «Всё есть файл». Текстовые документы, жесткие диски, сетевые сокеты и даже запущенные процессы представлены в системе в виде файлов.
Права доступа (Permissions)
Безопасность Linux строится на строгом разграничении прав. Каждый файл и директория имеют владельца (Owner), группу (Group) и права для всех остальных (Others).
Права делятся на три типа:
* r (Read) — чтение, числовое значение 4.
* w (Write) — запись, числовое значение 2.
* x (Execute) — выполнение, числовое значение 1.
Если сложить эти числа, получится маска прав. Например, если владелец имеет права на чтение и запись (4 + 2 = 6), группа только на чтение (4), а остальные не имеют прав (0), то итоговые права файла будут 640.
!Интерактивный калькулятор прав доступа Linux (chmod)
Неправильно настроенные права — одна из самых частых причин успешного повышения привилегий (Privilege Escalation). Если злоумышленник получает доступ к системе как обычный пользователь, он будет искать файлы с паролями или скрипты, доступные для чтения или изменения всем подряд (права 777).
Процессы и демоны
Программа, запущенная в оперативной памяти, называется процессом. Фоновые процессы, которые работают постоянно (например, веб-сервер или SSH-сервер), в Linux называются демонами (daemons).
Каждый процесс имеет свой уникальный идентификатор — PID (Process ID). Специалист Blue Team должен уметь выявлять аномальные процессы.
Базовые команды для работы с процессами:
Если злоумышленник запускает майнер криптовалюты на взломанном сервере, команда top сразу покажет процесс, потребляющий 99% ресурсов процессора.
Журналирование (Logs)
Логи — это главный источник правды при расследовании инцидентов (Incident Response). В Linux большинство системных логов хранится в директории /var/log/.
Ключевые файлы для анализа:
/var/log/auth.log (в Debian/Ubuntu) или /var/log/secure (в RHEL/CentOS) — здесь фиксируются все попытки входа в систему, использование команды sudo и SSH-сессии. Если вы видите сотни записей Failed password for root, сервер подвергается атаке полного перебора (Brute-force)./var/log/syslog или /var/log/messages — общие системные сообщения./var/log/nginx/access.log или /var/log/apache2/access.log — логи веб-сервера. Здесь можно найти следы SQL-инъекций или сканирования уязвимостей.Пример записи из auth.log при неудачной попытке входа:
May 15 10:22:34 server sshd[1234]: Failed password for invalid user admin from 192.168.1.100 port 54321 ssh2
Аналитик SOC (Security Operations Center) использует инструменты автоматизации (например, Bash-скрипты или Python) для парсинга таких строк, извлечения IP-адресов атакующих и автоматической блокировки их на фаерволе.
Связь сетей и ОС: Анатомия взаимодействия
Чтобы понять, как эти знания объединяются на практике, рассмотрим типичный сценарий.
Пользователь открывает браузер и вводит адрес сайта. Браузер делает DNS-запрос (UDP, порт 53), получает IP-адрес сервера. Затем инициируется TCP-рукопожатие с сервером по порту 443 (HTTPS). После установки защищенного TLS-соединения отправляется HTTP-запрос GET /.
На стороне сервера (Linux) сетевая карта принимает пакеты. Ядро ОС передает их демону веб-сервера (например, Nginx), который работает как процесс с определенным PID. Nginx проверяет права доступа к запрашиваемому файлу index.html на жестком диске. Если права позволяют (например, 644), файл считывается и отправляется обратно клиенту, а в /var/log/nginx/access.log появляется новая запись.
Специалист Red Team ищет уязвимости на каждом из этих этапов: от перехвата DNS-запросов до эксплуатации ошибок в коде веб-сервера для получения доступа к командной оболочке Linux. Специалист Blue Team, в свою очередь, настраивает фаерволы на сетевом уровне, ограничивает права файлов в ОС и собирает логи в единую систему мониторинга (SIEM) для выявления аномалий.