dpi_из_подручных_материалов

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dpi_из_подручных_материалов [2024/05/13 08:22]
val [DPI из подручных материалов]
dpi_из_подручных_материалов [2024/05/15 11:28] (current)
val [DPI из подручных материалов]
Line 1: Line 1:
 ====== DPI из подручных материалов ====== ====== DPI из подручных материалов ======
 +
 +  * [[https://​habr.com/​ru/​articles/​813799/​|DPI из подручных материалов]]
  
 Всем привет! Всем привет!
  
-Однажды,​ много лет назад, во времена эпидемии вируса ​CodeRed, я работал сисадмином в одном вузе и невежливо ответил на электронное письмо из какого то-банка с требованием немедленно прекратить атаку на их веб сервер Apache, через месяц пришло бумажное письмо от их службы безопасности,​ и завертелось. Так я познакомился с сервисом Snort, который некоторое время защищал Интернет от наших студентов. Со временем большая часть трафика стал https, и решение потеряло смысл, но есть места, где он снова превращается в http, например после https прокси. Тут то мы и сможем "​подсмотреть",​ выявить атаки и заблокировать злоумышленника!+Однажды,​ много лет назад, во времена эпидемии вируса ​[[https://​ru.wikipedia.org/​wiki/​Code_Red|Code Red]], я работал сисадмином в одном вузе и невежливо ответил на электронное письмо из какого то-банка с требованием немедленно прекратить атаку на их веб сервер, работающий под управлением ​Apache, через месяц пришло бумажное письмо от их службы безопасности,​ и завертелось. Так я познакомился с системой [[https://​ru.wikipedia.org/​wiki/​Snort|Snort]], которая некоторое время защищала Интернет от наших студентов. Со временембольшая часть трафика стала https, и решение потеряло смысл, ноесть места, где он снова превращается в http, например после https прокси. Тут то мы и сможем ​его ​"​подсмотреть",​ выявить атаки и заблокировать злоумышленника!
  
-Что бы было интереснее,​ не будем рассматривать реальный кейс, а воспроизведем все "в домашних условиях"​. На единственной системе развернем https прокси,​ веб приложение за ним и защитим от атак на основе анализа содержимого http запросов. ​ Потребуется VirtualBox (или любой другой гипервизор) и дистрибутив Linux, например Ubuntu, там Snort имеется в виде пакета. Можно взять готовый ova образ:+Что бы было интереснее,​ не будем рассматривать ​[[https://​youtu.be/​oIczkkD-hOU?​si=tb7ucLRAdH2rbSVL|реальный кейс]], а воспроизведем все "в домашних условиях"​. На единственной системе развернем https прокси,​ веб приложение за ними защитим от атак на основе анализа содержимого http запросов. ​ Потребуется VirtualBox (или любой другой гипервизор) и дистрибутив Linux, например Ubuntu, там Snort имеется в виде пакета. Можно взять ​мой ​готовый ova образ:
  
 https://​val.bmstu.ru/​unix/​img/​My%20Documents/​ubuntu_24.04_01.ova https://​val.bmstu.ru/​unix/​img/​My%20Documents/​ubuntu_24.04_01.ova
  
-и выполнить 1-й шаг из [[https://​habr.com/​ru/​articles/​716454/​|этой статьи]]+и выполнить 1-й шаг из [[https://​habr.com/​ru/​articles/​716454/​|этой статьи]]
  
 ===== Шаг 2. Разворачиваем http приложение ===== ===== Шаг 2. Разворачиваем http приложение =====
  
-Можно развернуть что-нибудь поинтереснее ​(https://​youtu.be/​oIczkkD-hOU?​si=tb7ucLRAdH2rbSVL) ​но, сути это не меняет,​ поэтому обойдемся простым вариантом:​+Можно развернуть ​[[https://​youtu.be/​ykWLHQ2i_8E?​si=VBVfi9w-vhl_bGDg|что-нибудь поинтереснее]], но, сути это не меняет,​ поэтому обойдемся простым вариантом:​
  
 <​code>​ <​code>​
Line 45: Line 47:
 ===== Шаг 3. Разворачиваем https прокси ===== ===== Шаг 3. Разворачиваем https прокси =====
  
-В качестве https прокси рассмотрим nginx (можно haproxy, суть не изменится). Поскольку тестировать все будем по ip адресу,​ настроим перенаправление любых запросов (server_name ​ _) на 443 порт в наше http приложение. X-Forwarded-For нуженпоскольку только в этом заголовке будет ip адрес клиента в трафике между https прокси и приложением.+В качестве https прокси рассмотрим nginx (можно haproxy, суть не изменится). Поскольку тестировать все будем по ip адресу,​ настроим перенаправление любых запросов (server_name ​ _) на 443 порт в наше http приложение. X-Forwarded-For ​в нашем случае ​нужен потому, что ​только в этом заголовке будет ip адрес клиента в трафике между https прокси и приложением.
  
 <​code>​ <​code>​
Line 69: Line 71:
 </​code>​ </​code>​
  
-Теперь наше http приложение должно быть доступно по URL: https://​ip_адрес_виртульной_машины/​ правда,​ браузер будет ругаться на сертификат.+Теперь наше http приложение должно быть доступно по URL: https://​ip_адрес_виртульной_машины/​ правда,​ браузер будет ругаться на сертификат ​и придется "​перейти на сайт небезопасно"​
  
 ===== Шаг 4. Разворачиваем IDS Snort ===== ===== Шаг 4. Разворачиваем IDS Snort =====
Line 80: Line 82:
  
 <​code>​ <​code>​
-nano /​etc/​snort/​snort.debian.conf+less /​etc/​snort/​snort.debian.conf
 </​code><​code>​ </​code><​code>​
 ... ...
Line 110: Line 112:
 </​code>​ </​code>​
  
-Для тестирования будем использовать тот самый злополучный ​CodeRed, для которого,​ как раз, есть правило "из коробки":​+Для тестирования будем использовать тот самый злополучный ​Code Red, для которого,​ как раз, есть правило "из коробки":​
  
 <​code>​ <​code>​
Line 138: Line 140:
 <​code>​ <​code>​
 # u2spewfoo /​var/​log/​snort/​snort.alert # u2spewfoo /​var/​log/​snort/​snort.alert
 +</​code><​code>​
 ... ...
         priority: 1     ip source: 172.17.0.1 ​  ip destination:​ 172.17.0.2         priority: 1     ip source: 172.17.0.1 ​  ip destination:​ 172.17.0.2
dpi_из_подручных_материалов.1715577747.txt.gz · Last modified: 2024/05/13 08:22 by val