Справочник для начинающего специалиста

Кибербезопасность в Web-разработке

Компетенции, языки программирования, программные и аппаратные средства — всё, что нужно специалисту высокого класса, защищающему сайты, их административные части и базы данных. Объясняем простыми словами: что это, зачем и как освоить.

5 разделов компетенций
10 главных уязвимостей
3 уровня языков
15+ инструментов
Типовой веб-стек и точки защиты
КлиентБраузер · HTTPS · заголовки
▼
WAF / CDNФильтр запросов · Cloudflare, ModSecurity
▼
Веб-серверNginx / Apache · TLS · rate-limit
▼
ПриложениеБизнес-логика · сессии · роли
▼
База данныхMySQL / PostgreSQL · доступ по сети
Раздел 1

Профессиональные компетенции

🌐

Сеть

TCP/IP, DNS, HTTP/HTTPS, заголовки, cookies, CORS, TLS — как информация путешествует и где хранятся «дыры».

🛡️

Атаки

OWASP Top 10: уметь находить уязвимости и закрывать их — инъекции, XSS, CSRF, SSRF, IDOR и другие.

🔐

Защита

Админ-панели: MFA, контроль доступа, WAF, политика паролей, аудит. Базы данных: права, шифрование, бэкапы.

🔍

Пентест

Методология: разведка → сканирование → эксплуатация → пост-эксплуатация → отчёт.

📡

Мониторинг

SIEM, реагирование на инциденты, форензика, слежение за новыми уязвимостями CVE.

1.1 · Сетевое взаимодействие — фундамент всего

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

ПонятиеЧто это простыми словамиПочему это важно для безопасности
TCP/IP«Почтовая система» интернета. IP-адрес — адрес дома, TCP — правила доставки «посылок» (пакетов).Любая атака начинается с понимания, кто и с кем общается и какие порты открыты.
Порты«Двери» на сервере. 80/443 — HTTP/HTTPS, 3306 — MySQL, 5432 — PostgreSQL, 22 — SSH.Открытый лишний порт (например, доступ к базе наружу) — классическая дверь для взлома.
DNS«Телефонная книга» интернета: превращает имя site.ru в IP-адрес.Через DNS находят поддомены, реальные IP за CDN, прошлые записи.
HTTP/HTTPSЯзык браузера и сервера. Методы: GET, POST, PUT, DELETE. HTTPS — то же, но трафик зашифрован по TLS.Почти все веб-уязвимости живут в том, как приложение обрабатывает HTTP-запросы.
ЗаголовкиМетаданные запроса: Authorization, Cookie, Content-Type.Злоумышленник подделывает заголовки, чтобы выдать себя за другого.
Cookies / сессии«Билет», выдаваемый сервером после логина.Если токен предсказуем — можно украсть чужую сессию и войти без пароля (session hijacking).
CORSПолитика, разрешающая одному сайту обращаться к API другого.Неправильная настройка CORS позволяет украсть данные через вредоносный сайт.
TLS/SSLПротокол шифрования трафика.Надо уметь выпускать сертификаты, проверять корректность, избегать устаревших протоколов (SSLv3) и слабых шифров.
Раздел 1.2

Веб-уязвимости OWASP

УязвимостьСуть простыми словамиКак защищатьсяУровень
Injection (инъекции)Злоумышленник «подмешивает» код в запрос к базе. В поле пароля вводят код вместо текста — проверка становится «всегда верной».Параметризованные запросы, валидация ввода, каскад прав.Критично
Broken AuthenticationДыры в проверке «кто ты»: нет лимита попыток, пароль в открытом виде, слабая сессия.Хэширование bcrypt/argon2, лимит попыток, MFA.Критично
Sensitive Data ExposureПароли и персональные данные хранятся или передаются незашифрованно.HTTPS везде, шифрование в базе, не собирать лишних данных.Критично
XSS (Cross-Site Scripting)Внедрение скрипта в страницу. Скрипт в комментарии выполняется в браузере жертвы, воруя куки.Экранирование вывода, CSP, очистка ввода.Высоко
CSRFПодделка запроса: вредоносный сайт «от имени» жертвы отправляет запрос (например, перевод денег).CSRF-токены, атрибут SameSite у cookie.Высоко
IDORДоступ к чужим данным заменой номера в URL (/doc/1 → /doc/2).Проверка прав на каждый объект на сервере.Высоко
SSRFСервер по запросу обращается к закрытым внутренним ресурсам сети, например внутренней базе.Валидация URL, блокировка внутренних адресов.Высоко
Security MisconfigurationДефолтные пароли admin/admin, лишние страницы, включённая отладка, ошибки с полным стеком.Конфигурация по чек-листу, отключение лишнего.Средне
Insecure DesignСама архитектура приложения позволяет злоупотребления.Устраняется на этапе проектирования.Средне
Vulnerable ComponentsУстаревшие библиотеки, например плагин WordPress с давней известной уязвимостью.Постоянное обновление, мониторинг базы CVE.Средне

Наглядный разбор типовых атак

Как выглядит атака
  • SQL-инъекция: в поле ввода пароля — код вроде ' OR 1=1 --, и условие проверки становится «всегда верным».
  • XSS: в комментарии — <script>…</script>, скрипт ворует куки посетителей.
  • IDOR: подмена номера документа в адресной строке открывает чужие данные.
Главный принцип защиты
  • Никогда не доверять вводу: валидировать, экранировать, использовать параметризованные запросы.
  • Проверять права на каждый объект на сервере, а не полагаться на скрытый URL.
  • Не полагаться на браузер: всё, что приходит от клиента, может быть подделано.
Раздел 1.3

Защита административной части сайта

Админка — это «рубильник» сайта. Если её взломают — под угрозой всё. Вот что должен уметь специалист.

🔑

MFA / 2FA

Вход по двум факторам: пароль + одноразовый код (Google Authenticator, TOTP) или смс/email. Даже если пароль украден — без кода не войти.

🗂️

RBAC / ABAC

Права по ролям. RBAC: «редактор не удаляет, админ может всё». ABAC — права с учётом контекста: время, IP, роль.

🌍

Ограничение по IP и WAF

Вход в админку только с определённых адресов и геолокаций. WAF отсекает подозрительные запросы.

🔒

Политика паролей

Длинные пароли, запрет дефолтных, хэширование bcrypt/argon2 (не MD5/SHA1), никаких паролей в открытом виде.

⏱️

Лимит попыток

После нескольких неудачных попыток — блокировка, капча или задержка. Делает брутфорс бесполезным. Инструменты: fail2ban, rate-limiting, плагины.

📝

Аудит входов + изоляция

Логировать каждый вход: кто, когда, с какого IP, что делал. Админку выносить на admin.site.ru или во внутреннюю сеть за VPN.

Раздел 1.4

Защита и настройка доступа к базам данных

База данных — «сейф» с самым ценным. Специалист должен понимать модель угроз и уметь настраивать защиту.

🕵️

Модель угроз

Как к базе подбираются: через веб-приложение (SQL-инъекции), напрямую из сети (открытый порт), через украденные учётки, через резервные копии.

👥

Управление ролями

Команды CREATE USER, GRANT, REVOKE в MySQL и PostgreSQL. Разделять роли: администратор базы, приложение, аналитик.

🚪

Ограничение сети

База слушает только внутренний адрес (127.0.0.1 или внутренний IP). Конфигурации: pg_hba.conf (PostgreSQL), bind-address в my.cnf (MySQL).

🔐

Шифрование и аудит

Данные «на диске» (TDE, шифрование ФС) и при передаче (TLS). Логировать запросы: кто что читал и менял — для обнаружения аномалий.

Разделы 1.5–1.7

Пентест-методология, право и мониторинг

Методология пентеста (PTES · OWASP WSTG)

1

Разведка

Сбор информации из открытых источников: поддомены, IP, технологии, версии CMS.

whois · crt.sh
2

Сканирование

Активная проверка портов и версий ПО, поиск известных уязвимостей.

Nmap · WhatWeb
3

Эксплуатация

Проверка, подтверждается ли найденная угроза. Аккуратно и с документированием.

Burp · Metasploit
4

Пост-эксплуатация

Оценка: к чему ведёт доступ, какие данные открыты, можно ли повысить права.

анализ
5

Отчёт

Главный продукт: что нашли, уровень опасности, как воспроизвести и исправить.

критично→низко
📡 Мониторинг и реагирование
  • SIEM — собирает логи и ищет аномалии (Wazuh, Splunk, ELK).
  • Мониторинг — доступность и нагрузка (Grafana, Prometheus, Zabbix).
  • Реагирование (IR) — изолировать → понять масштаб → устранить → восстановить.
  • Форензика — анализ цифровых следов по логам и бэкапам.
  • Слежение за CVE — база известных уязвимостей, ленты безопасности.
Раздел 2

Языки программирования

УровеньЯзыкЗачем нужен
Базовый
обязательно всем
PythonГлавный язык аналитика: автоматизация, парсинг логов, работа с API, свои сканеры. Библиотеки: requests, scapy, impacket, bs4.
SQLЯзык баз данных. Понимание запросов, чтобы находить и закрывать инъекции; администрирование: SELECT, JOIN, GRANT, индексы, EXPLAIN.
HTML / CSSПонимание строения страницы: где может быть внедрён скрипт, как устроены формы.
JavaScriptВыполняется в браузере. XSS — это про него: как скрипт внедряется и что приложение доверяет браузеру.
Bash / ShellКомандная строка Linux: администрирование сервера, скрипты, анализ логов, запуск инструментов.
Продвинутый
по мере роста
GoСовременные высоконагруженные бэкенды и инструменты безопасности.
PHPОколо 40% сайтов мира на нём (WordPress). Чтобы защищать — читать код и знать PHP-уязвимости.
JavaКорпоративные системы и банки.
C#Стек Microsoft (ASP.NET).
Специализированный
для эксперта
PowerShellАдминистрирование Windows-серверов.
RubyНа нём написан Metasploit — фреймворк эксплойтов.
C / C++Реверс-инжиниринг, разбор вредоносного ПО, уязвимости памяти (buffer overflow). Уровень эксперта.
PL/SQLХранимые процедуры, защита от инъекций на уровне базы.
💡 Стартовый набор: Python + SQL + основы сети + Linux. Этого достаточно, чтобы начать и получить первые результаты. Остальное добавится по мере работы со стеком.
Раздел 3

Программные средства

Инструменты делятся на группы: анализ и сканирование, защита и настройка, мониторинг, лаборатория для учёбы.

3.1 · Анализ и сканирование сайта

ИнструментТипЧто делает
Burp SuiteАнализ трафикаВстаёт между браузером и интернетом, перехватывает и даёт менять HTTP-запросы. Учебный инструмент №1.
OWASP ZAPАнализ + сканерБесплатный открытый аналог Burp со встроенным сканером.
NmapСканерОпределяет живые хосты, открытые порты/сервисы, версии ПО, ОС.
sqlmapПроверка инъекцийАвтоматическая проверка на SQL-инъекции. Только на своих/разрешённых ресурсах.
ffuf / gobusterПереборПробуют тысячи имён директорий и поддоменов, находят скрытые «двери» типа админки.
MetasploitФреймворкТысячи готовых эксплойтов для проверки известных уязвимостей.
WhatWeb / WappalyzerИдентификацияОпределяют CMS/фреймворк и технологии сайта.

3.2 · Защита и настройка сайта

🛡️

WAF

«Фильтр» между трафиком и сайтом, отсекает подозрительные запросы. Варианты: Cloudflare, ModSecurity + OWASP CRS.

🌐

Веб-серверы

Nginx, Apache, Caddy. Настройка: HTTPS, rate-limit, безопасные заголовки (CSP, X-Frame-Options), редиректы, блокировки по IP.

🔐

Аутентификация

Keycloak (SSO/OAuth2/OIDC), LDAP — централизованный вход и MFA для админок.

🗄️

Доступ к БД

Конфигурации MySQL (my.cnf, bind-address) и PostgreSQL (pg_hba.conf) — не пускать базу в интернет.

3.3 · Мониторинг и защита от перебора

🧱

Fail2ban

Сторож за логами: при неудачных попытках входа блокирует IP. Автозащита админки от брутфорса.

📊

Wazuh (SIEM)

Собирает логи, обнаруживает аномалии и известные атаки.

📈

Grafana + Prometheus

Метрики и дашборды: нагрузка, отказы, аномалии в трафике.

🗒️

ELK / Splunk

Сбор, хранение и визуализация логов для анализа событий.

💻

Kali / Parrot OS

Дистрибутивы Linux с сотнями предустановленных инструментов безопасности.

🧪

Лаборатория

VirtualBox, VMware, Docker + тренировочные площадки (DVWA, Juice Shop, Hack The Box, TryHackMe).

Раздел 4

Аппаратные средства

Оборудование — про то, где работать и где ставить лабораторию. Много железа начинающему не нужно.

🖥️

Основной ПК

Многоядерный процессор (8+ ядер), 16 ГБ RAM минимум (лучше 32), SSD от 512 ГБ. Придётся запускать несколько виртуальных машин сразу.

🧩

Учебная лаборатория

Всё на одном ПК: VM «атакующего» (Kali) + 2–4 VM «жертв» (приложения, БД, сервер). Позже — коммутатор с VLAN для сегментации DMZ и внутренней сети.