Компетенции, языки программирования, программные и аппаратные средства — всё, что нужно специалисту высокого класса, защищающему сайты, их административные части и базы данных. Объясняем простыми словами: что это, зачем и как освоить.
TCP/IP, DNS, HTTP/HTTPS, заголовки, cookies, CORS, TLS — как информация путешествует и где хранятся «дыры».
OWASP Top 10: уметь находить уязвимости и закрывать их — инъекции, XSS, CSRF, SSRF, IDOR и другие.
Админ-панели: MFA, контроль доступа, WAF, политика паролей, аудит. Базы данных: права, шифрование, бэкапы.
Методология: разведка → сканирование → эксплуатация → пост-эксплуатация → отчёт.
SIEM, реагирование на инциденты, форензика, слежение за новыми уязвимостями CVE.
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) и слабых шифров. |
| Уязвимость | Суть простыми словами | Как защищаться | Уровень |
|---|---|---|---|
| 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. | Средне |
' OR 1=1 --, и условие проверки становится «всегда верным».<script>…</script>, скрипт ворует куки посетителей.Админка — это «рубильник» сайта. Если её взломают — под угрозой всё. Вот что должен уметь специалист.
Вход по двум факторам: пароль + одноразовый код (Google Authenticator, TOTP) или смс/email. Даже если пароль украден — без кода не войти.
Права по ролям. RBAC: «редактор не удаляет, админ может всё». ABAC — права с учётом контекста: время, IP, роль.
Вход в админку только с определённых адресов и геолокаций. WAF отсекает подозрительные запросы.
Длинные пароли, запрет дефолтных, хэширование bcrypt/argon2 (не MD5/SHA1), никаких паролей в открытом виде.
После нескольких неудачных попыток — блокировка, капча или задержка. Делает брутфорс бесполезным. Инструменты: fail2ban, rate-limiting, плагины.
Логировать каждый вход: кто, когда, с какого IP, что делал. Админку выносить на admin.site.ru или во внутреннюю сеть за VPN.
База данных — «сейф» с самым ценным. Специалист должен понимать модель угроз и уметь настраивать защиту.
Как к базе подбираются: через веб-приложение (SQL-инъекции), напрямую из сети (открытый порт), через украденные учётки, через резервные копии.
Команды CREATE USER, GRANT, REVOKE в MySQL и PostgreSQL. Разделять роли: администратор базы, приложение, аналитик.
База слушает только внутренний адрес (127.0.0.1 или внутренний IP). Конфигурации: pg_hba.conf (PostgreSQL), bind-address в my.cnf (MySQL).
Данные «на диске» (TDE, шифрование ФС) и при передаче (TLS). Логировать запросы: кто что читал и менял — для обнаружения аномалий.
Сбор информации из открытых источников: поддомены, IP, технологии, версии CMS.
whois · crt.shАктивная проверка портов и версий ПО, поиск известных уязвимостей.
Nmap · WhatWebПроверка, подтверждается ли найденная угроза. Аккуратно и с документированием.
Burp · MetasploitОценка: к чему ведёт доступ, какие данные открыты, можно ли повысить права.
анализГлавный продукт: что нашли, уровень опасности, как воспроизвести и исправить.
критично→низко| Уровень | Язык | Зачем нужен |
|---|---|---|
| Базовый обязательно всем | 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 | Хранимые процедуры, защита от инъекций на уровне базы. |
Инструменты делятся на группы: анализ и сканирование, защита и настройка, мониторинг, лаборатория для учёбы.
| Инструмент | Тип | Что делает |
|---|---|---|
| Burp Suite | Анализ трафика | Встаёт между браузером и интернетом, перехватывает и даёт менять HTTP-запросы. Учебный инструмент №1. |
| OWASP ZAP | Анализ + сканер | Бесплатный открытый аналог Burp со встроенным сканером. |
| Nmap | Сканер | Определяет живые хосты, открытые порты/сервисы, версии ПО, ОС. |
| sqlmap | Проверка инъекций | Автоматическая проверка на SQL-инъекции. Только на своих/разрешённых ресурсах. |
| ffuf / gobuster | Перебор | Пробуют тысячи имён директорий и поддоменов, находят скрытые «двери» типа админки. |
| Metasploit | Фреймворк | Тысячи готовых эксплойтов для проверки известных уязвимостей. |
| WhatWeb / Wappalyzer | Идентификация | Определяют CMS/фреймворк и технологии сайта. |
«Фильтр» между трафиком и сайтом, отсекает подозрительные запросы. Варианты: 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) — не пускать базу в интернет.
Сторож за логами: при неудачных попытках входа блокирует IP. Автозащита админки от брутфорса.
Собирает логи, обнаруживает аномалии и известные атаки.
Метрики и дашборды: нагрузка, отказы, аномалии в трафике.
Сбор, хранение и визуализация логов для анализа событий.
Дистрибутивы Linux с сотнями предустановленных инструментов безопасности.
VirtualBox, VMware, Docker + тренировочные площадки (DVWA, Juice Shop, Hack The Box, TryHackMe).
Оборудование — про то, где работать и где ставить лабораторию. Много железа начинающему не нужно.
Многоядерный процессор (8+ ядер), 16 ГБ RAM минимум (лучше 32), SSD от 512 ГБ. Придётся запускать несколько виртуальных машин сразу.
Всё на одном ПК: VM «атакующего» (Kali) + 2–4 VM «жертв» (приложения, БД, сервер). Позже — коммутатор с VLAN для сегментации DMZ и внутренней сети.