diff --git a/labs/lab3/README.md b/labs/lab3/README.md index b05cc5f..bd4560e 100644 --- a/labs/lab3/README.md +++ b/labs/lab3/README.md @@ -156,36 +156,83 @@ mysite.ru/read_message.jsp?id=123654 * доступность интерфейсов управления - + + + * Разглашение информации в сообщениях об ошибках - + + * Проблемы на границе сфер ответственности администраторов и разработчиков (workingCopy) + + + + +### 1.8. Использование компонентов с известными уязвимостями + +Ни одно современное веб-приложение не работает без подключения сторонних компонентов (пришлось бы тратить слишком много времени на изобретение велосипеда). Основная проблема данного подхода в том, что приложение использует чужой код, но не следит за его актуальностью и состоянием. А в этом коде могут содержаться критические уязвимости или незадекларированные возможности. Очень хорошим примером является пример с библиотекой SSL/TLS, в которой за последние несколько лет нашли огромное количество уязвимостей: +* FREAK (экспортные ключи) +* POODLE (downgrade и CBC) +* HEARTBLEED (некорректная проверка длины) +* BEAST (предсказуемый IV и CBC) +* CRIME / BREACH (компрессия) -### 1.8. ### 2. Практическая часть -**Описание задачи**: требуется защитить web-сервер. Необходимо разрешить доступ к портам 80 и 22 и сделать перенаправление вызова с порта 8080 на 80. При попытке обратится к портам сервера, не описанным в операционной системе (ОС) как сервис, следует отказывать в обслуживании. При попытке обратится к портам, описанным в системе как сервисы, следует отказывать в обслуживании и заносить данные об этом в журнал. Для выполнения задания необходима следующая последовательность действий. -### 2.1. Определение политики по умолчанию -Определение политики по умолчанию для цепочек с учетом того, что все порты системы для должны быть закрыты для внешнего пользователя. Поскольку осуществляется фильтрация пакетов, их обработка будет производится в таблице **filter**. Используем ключ `–P` чтобы задать политику по умолчанию. Зададим правило для входящих пакетов (цепочка `INPUT`). Действие для обработки политики по умолчанию `LOG` (журналирование запроса). Поскольку политика по умолчанию определяется для всех портов, критерии проверки опускаются. +### 2.1. Настройка Burp Suite -```ssh -# iptables -P INPUT ACCEPT -# iptables -A INPUT -j LOG -``` +Скачайте и установите [Burp Suite Community](https://portswigger-cdn.net/burp/releases/download?product=community&version=2023.3.5&type=WindowsX64) -Определим также политику «по-умолчанию» для исходящих пакетов с разрешением всем исходящим IP-пакетам беспрепятственно проходить фильтрацию. Для определения заданной политики по умолчанию необходимо выполнить в консоли +Создайте временный проект -```ssh -# iptables –P OUTPUT ACCEPT -``` + + +Выбираем настройки по умолчанию + + + +После запуска программы переходим на вкладку “Proxy”, отключаем прерывание запросов: + + + +Переходим на вкладку «Options». Настройка прокси-сервера должна выглядеть следующим образом: + + + +Открываем браузер Chrome и заходим в «настройки» -> «Дополнительно» -> «Настройки прокси-сервера» + + + +После нажатия, попадаем в меню Подключений. Выбираем «Настройка сети» + + + +Настраиваем прокси-сервер в соответствии с тем, что было указано в настройках Burp Suite. + + + +После настройки переходим на сайт `http://burpsuite/` и скачиваем сертификат, нажав на кнопку CA Certificate. + +После этого заходим в «настройки браузера Chrome» –> «Дополнительно» -> «Настроить сертификаты». + + + +В появившемся окне нажимаем импорт и продвигаемся по меню, выбрав скачанный ранее файл сертификата. Его необходимо добавить в доверенные центры сертификации. + + + +Настройка завершена. Для того, чтобы удостовериться, что всё работает, введите в адресной строке http://yandex.ru + +После отображения страницы перейдите в Burp Suite на вкладку «Proxy» -> «HTTP History». В ней вы увидите запросы, которые отправляет ваш браузер и ответы, которые получает от сервера. + + -### 2.2. Добавление правил для портов 22 и 80 +### 2.2. Внедрение кода (SQL Injection) Осуществляется командой, в которой для заданных критериев применено действие ACCEPT, то есть пакет будет пропущен брэндмауэром. ```ssh