workbook:jno-332:332_screen
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
workbook:jno-332:332_screen [2017/03/05 11:42] – k | workbook:jno-332:332_screen [2021/08/12 08:35] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | **332 Screen** | + | ===== JN0-332: Screen===== |
- | ---- | + | **Необходимые знания по Screens:** |
- | + | ||
- | Необходимые знания по Screens: | + | |
*Identify the concepts, benefits and operation of Screens | *Identify the concepts, benefits and operation of Screens | ||
*Attack types and phases | *Attack types and phases | ||
Line 43: | Line 41: | ||
- OS probes | - OS probes | ||
- ip options | - ip options | ||
- | - Атака\\ Начинается сама атака целью которой может являться вывод из строя хостов, | + | - Атака\\ Начинается сама атака целью которой может являться вывод из строя хостов, |
- Атаки на маршрутизатор или МСЭ | - Атаки на маршрутизатор или МСЭ | ||
- переполнение таблиц сессий (table session flood) | - переполнение таблиц сессий (table session flood) | ||
Line 57: | Line 55: | ||
- teardrop | - teardrop | ||
- winnuke | - winnuke | ||
- | - Атака изнутри\\ Третья фаза может возникнуть в случае если получен достпуп к хосту расположенному внутри защищаемой сети. Этот хост может стать точкой с которой будет начата атака уже внутри сети. | + | - Атака изнутри\\ Третья фаза может возникнуть в случае если получен доступ к хосту расположенному внутри защищаемой сети. Этот хост может стать точкой с которой будет начата атака уже внутри сети. |
--- | --- | ||
Line 72: | Line 70: | ||
Best-practices при внедрении скрина: | Best-practices при внедрении скрина: | ||
* Cоставить список необходимых приложений и понимать их поведение с точки зрения сетевого обмена. | * Cоставить список необходимых приложений и понимать их поведение с точки зрения сетевого обмена. | ||
- | * Составить патерны разрешенного трафика – определить уровни срабатывания при которых будут срабатывать дропы. | + | * Составить паттерны разрешенного трафика – определить уровни срабатывания при которых будут срабатывать дропы. |
- | * Разворачиывать скрин только в зонах безопасности со стороны которых возможны атаки. | + | * Разворачивать скрин только в зонах безопасности со стороны которых возможны атаки. |
* Перед полным внедрение скрина прогнать его в тестовом режиме дав ему опцию " | * Перед полным внедрение скрина прогнать его в тестовом режиме дав ему опцию " | ||
* Помнить, | * Помнить, | ||
Line 82: | Line 80: | ||
=== IP address sweep === | === IP address sweep === | ||
**Атака**\\ | **Атака**\\ | ||
- | Целью атаки является обнаружение хостов в сети жертвы. Атакующий посылает icmp-echo-request в надежде на то, что какой-либо хост ответит на запрос и обнаружит себе. Атакующий записывает все хосты которые ответили. | + | Целью атаки является обнаружение хостов в сети жертвы. Атакующий посылает icmp-echo-request в надежде на то, что какой-либо хост ответит на запрос и обнаружит себя. Атакующий записывает все хосты которые ответили. |
**Защита**\\ | **Защита**\\ | ||
Line 99: | Line 97: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== TCP port scan === | === TCP port scan === | ||
**Атака**\\ | **Атака**\\ | ||
- | Смысл атаки заключается в посылке с одного | + | Смысл атаки заключается в посылке с одного адреса источника на один |
**Защита**\\ | **Защита**\\ | ||
- | С атакой борятся путем задания интервала времени в течении которого атакующему разрешено послать с одного | + | С атакой борятся путем задания интервала времени в течении которого атакующему разрешено послать с одного адреса источника не более 10 tcp-syn пакетов на один и тот же адрес назначения |
- | По дефолту значение интервала равно 5000 микросекунд (0.005 сек). Значение интервала могут задаваться от 1000 до 100000 микросекунд, | + | По дефолту значение интервала равно 5000 микросекунд (0.005 сек). Значение интервала могут задаваться от 1000 до 100000 |
**Настройка** | **Настройка** | ||
Line 118: | Line 116: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== IP options === | === IP options === | ||
**Атака**\\ | **Атака**\\ | ||
Line 128: | Line 126: | ||
**Защита**\\ | **Защита**\\ | ||
- | SRX следит за появлением пакетов c ip опциями. В случае обнаружения srx увеличивает счетчик (на входном интерфейсе) пакетов с ip опциями и генирирует эвент в котором данные пакеты помечаются как имеющие отношения к атаке направленной на изучение сети. Обнаруженные пакеты **не** дропаются. | + | SRX следит за появлением пакетов c ip опциями. В случае обнаружения srx увеличивает счетчик (на входном интерфейсе) пакетов с ip опциями и генерирует эвент в котором данные пакеты помечаются как имеющие отношения к атаке направленной на изучение сети. Обнаруженные пакеты **не** дропаются. |
**Настройка** | **Настройка** | ||
Line 143: | Line 141: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== OS probes === | === OS probes === | ||
**Атака**\\ | **Атака**\\ | ||
Line 149: | Line 147: | ||
**Защита**\\ | **Защита**\\ | ||
- | Для борьбы с данной атакой | + | Для борьбы с данной атакой |
* флаги syn и fin стоят одновременно (syn-fin) | * флаги syn и fin стоят одновременно (syn-fin) | ||
* стоит флаг fin но не стоит флаг ack (fin-no-ack) | * стоит флаг fin но не стоит флаг ack (fin-no-ack) | ||
Line 170: | Line 168: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== IP spoofing === | === IP spoofing === | ||
**Атака**\\ | **Атака**\\ | ||
Line 176: | Line 174: | ||
**Защита** | **Защита** | ||
- | Для для борьбы с данной атакой srx использует информацию из форвардинг таблицы. SRX сравнивает ip адрес источника с наиболее “узким” префиксом из таблицы форвардинга и определяет интерфейс через которые должны приходить такие пакеты. Если пакет пришел на srx пришел через другой интерфейс (с менее " | + | Для для борьбы с данной атакой srx использует информацию из форвардинг таблицы. SRX сравнивает ip адрес источника с наиболее “узким” префиксом из таблицы форвардинга и определяет интерфейс через которые должны приходить такие пакеты. Если пакет пришел на srx пришел через другой интерфейс (с менее " |
{{ip-spoofing.png}} | {{ip-spoofing.png}} | ||
Line 185: | Line 183: | ||
root@srx# show | root@srx# show | ||
ids-option test { | ids-option test { | ||
- | | + | |
spoofing; | spoofing; | ||
} | } | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== IP source route === | === IP source route === | ||
**Атака**\\ | **Атака**\\ | ||
В ip заголовок можно прописать желаемый путь по которому должен пройти пакет от источника к назначению. Как правило ip source route применяется при каком-либо траблшутинге и в обычной работе не используется.\\ | В ip заголовок можно прописать желаемый путь по которому должен пройти пакет от источника к назначению. Как правило ip source route применяется при каком-либо траблшутинге и в обычной работе не используется.\\ | ||
Есть две разновидности source routing: | Есть две разновидности source routing: | ||
- | * strict source routing - точно прописывается путь по которому должен пройти пакет. Если маршрутизатор видит, что в соотвестствии с прописанным путем ему необходимо отправить пакет на маршрутизатор который не доступен ему напрямую, | + | * strict source routing - точно прописывается путь по которому должен пройти пакет. Если маршрутизатор видит, что в соответствии с прописанным путем ему необходимо отправить пакет на маршрутизатор который не доступен ему напрямую, |
* loose source routing - задается список ip адресов через которые пакет должен пройти, | * loose source routing - задается список ip адресов через которые пакет должен пройти, | ||
Line 206: | Line 204: | ||
**Настройка** | **Настройка** | ||
- | *Дропнуть пакет.< | + | *Дропнуть пакет. < |
[edit security screen] | [edit security screen] | ||
root@srx# show | root@srx# show | ||
ids-option test { | ids-option test { | ||
- | | + | |
source-routing-option; | source-routing-option; | ||
} | } | ||
} | } | ||
</ | </ | ||
- | + | | |
- | | + | |
[edit security screen] | [edit security screen] | ||
root@srx# show | root@srx# show | ||
ids-option test { | ids-option test { | ||
- | | + | |
loose-source-routing-option; | loose-source-routing-option; | ||
strict-source-routing-option; | strict-source-routing-option; | ||
Line 227: | Line 224: | ||
</ | </ | ||
+ | ---- | ||
=== Land === | === Land === | ||
**Атака**\\ | **Атака**\\ | ||
- | При такой атаке подделываеют адрес источника syn пакета, | + | При такой атаке подделывают адрес источника syn пакета, |
**Защита** | **Защита** | ||
Line 244: | Line 242: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== ICMP abnormalities === | === ICMP abnormalities === | ||
**Атака**\\ | **Атака**\\ | ||
- | Вся необходимая служебная информация передающаяся в icmp пакетах занимает очень мало места. Поэтому, | + | Вся необходимая служебная информация передающаяся в icmp пакетах занимает очень мало места. Поэтому, |
**Защита** | **Защита** | ||
SRX может дропать фрагментированные пакеты и пакеты размером больше 1024 байта. | SRX может дропать фрагментированные пакеты и пакеты размером больше 1024 байта. | ||
- | ХХip-abnormalities.pngЪЪ | + | {{ip-abnormalities.png}} |
**Настройка** | **Настройка** | ||
Line 264: | Line 262: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
=== IP packet fragments и bad ip option | === IP packet fragments и bad ip option | ||
**Атака**\\ | **Атака**\\ | ||
Line 289: | Line 287: | ||
{ | { | ||
</ | </ | ||
+ | ---- | ||
=== unknown protocol === | === unknown protocol === | ||
**Атака**\\ | **Атака**\\ | ||
Line 307: | Line 305: | ||
{ | { | ||
</ | </ | ||
+ | ---- | ||
=== syn fragmentation === | === syn fragmentation === | ||
**Атака**\\ | **Атака**\\ | ||
- | Пакеты с syn флагм не несут никакой информации и используются только для инициализации tcp соединения. Нет необходимости фрагментировать syn пакеты. | + | Пакеты с syn флагм не несут никакой информации и используются только для инициализации tcp соединения. Нет необходимости фрагментировать syn пакеты. |
Если кто-то фрагментирует пакеты значит что-то тут не чисто. | Если кто-то фрагментирует пакеты значит что-то тут не чисто. | ||
Line 328: | Line 326: | ||
{ | { | ||
</ | </ | ||
+ | ---- | ||
=== Атаки на МСЭ === | === Атаки на МСЭ === | ||
Применительно к srx главная цель атаки переполнить таблицу сессий.\\ | Применительно к srx главная цель атаки переполнить таблицу сессий.\\ | ||
Line 347: | Line 345: | ||
**Защита**\\ | **Защита**\\ | ||
- | Для смягчения последствий такого флуда применяется механизмы ограничения колличества сессий.\\ | + | Для смягчения последствий такого флуда применяется механизмы ограничения количества сессий.\\ |
Есть два типа ограничений: | Есть два типа ограничений: | ||
- | * source based session limit – ограничивает колличество сессий которое можно построить с одного ip адреса источника. Пример - сервер, | + | * source based session limit – ограничивает количество сессий которое можно построить с одного ip адреса источника. Пример - сервер, |
* destination based session limit - ограничение количества одновременных сессий разрешенное строить на один ip адрес назначения. Такое помогает защититься от доса когда много серверов атакуют один ip адрес. | * destination based session limit - ограничение количества одновременных сессий разрешенное строить на один ip адрес назначения. Такое помогает защититься от доса когда много серверов атакуют один ip адрес. | ||
- | По умолчанию количество сессий равно 128. Диапозон значений в которых можно изменять количество сессий зависит от модели srx. | + | По умолчанию количество сессий равно 128. Диапазон значений в которых можно изменять количество сессий зависит от модели srx. |
**Настройка** | **Настройка** | ||
Line 364: | Line 362: | ||
} | } | ||
</ | </ | ||
+ | ---- | ||
== SYN-ACK-ACK proxy flood == | == SYN-ACK-ACK proxy flood == | ||
**Атака**\\ | **Атака**\\ | ||
- | SRX может проксировать telnet\ftp\http сессии в которых проходит аунтификация. | + | SRX может проксировать telnet\ftp\http сессии в которых проходит аунтификация. |
- | Смысл атаки заключается в том, что сделать как можно больше “правильных” tcp рупопожатий. | + | Смысл атаки заключается в том, что сделать как можно больше “правильных” tcp рупопожатий. |
- | После установки tcp сессии, | + | После установки tcp сессии, |
В итоге получается много открытых сессий в таблице srx или клиента по которым не ходит трафик. | В итоге получается много открытых сессий в таблице srx или клиента по которым не ходит трафик. | ||
- | |||
- | Илюстрация: | ||
{{syn-ack-ack-proxy.png}} | {{syn-ack-ack-proxy.png}} | ||
**Защита**\\ | **Защита**\\ | ||
- | Поскольку srx выступает в качестве прокси для tcp рукопожатий он может определить факт наличия syn-ack-ack флуда. Защита заключается в ограничении количества установленных, | + | Поскольку srx выступает в качестве прокси для tcp рукопожатий он может определить факт наличия syn-ack-ack флуда. Защита заключается в ограничении количества установленных, |
**Настройка** | **Настройка** | ||
Line 385: | Line 381: | ||
ids-option test { | ids-option test { | ||
tcp { | tcp { | ||
- | syn-ack-ack proxy treshold 600; | + | syn-ack-ack-proxy treshold 600; |
| | ||
} | } | ||
</ | </ | ||
+ | --- | ||
=== Флуд атаки === | === Флуд атаки === | ||
== SYN-flood == | == SYN-flood == | ||
- | = ICMP-flood и udp-flood | + | **Атака**\\ |
- | **Атака** | + | Атакующий посылает толпу tcp syn пакетов в сторону жертвы (сервер). Сервер отвечает syn-ack и ждет ack. ACK не приходит и в итоге может переполниться таблица соединений сервера. |
- | Засылают толпу icmp\udp пакетов в результате конечный конечный хост може перестает обрабатывать новые соединения и стать недоступным. | + | |
+ | {{: | ||
+ | |||
+ | **Защита**\\ | ||
+ | SRX может ограничивать частоту прохождения через себя syn пакетов. После определенного значения частоты поступления syn пакетов в секунду srx начинает проксировать syn пакеты. \\ | ||
+ | Можно задать следующие пороги: | ||
+ | * Alarm threshold - порог, syn пакетов в секунду (half-complete TCP connection requests), после которого пишется запись в лог. | ||
+ | * Attak threshold - порог, после включается механизм проксирования syn пакетов. | ||
+ | * Source threshold - порог, syn пакетов в секунду, | ||
+ | * Destination threshold - порог, syn пакетов в секунду, | ||
+ | * Timeout - время жизни не законченного трехстороннего рукопожатия. По дефолту 20 секунду, | ||
+ | |||
+ | **Настройка**\\ | ||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | ids-option untrust-screen { | ||
+ | ... | ||
+ | tcp { | ||
+ | syn-flood { | ||
+ | alarm-threshold 1024; | ||
+ | attack-threshold 200; | ||
+ | source-threshold 1024; | ||
+ | destination-threshold 2048; | ||
+ | timeout 20; | ||
+ | } | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | == Syn cookie | ||
+ | Еще один способ бороться с syn flood, его вроде как включаю когда атака уже идет и надо отбиваться. \\ | ||
+ | Сервер, | ||
+ | Значение хэша засовывается в куку и отправляется клиенту вместе с syn-ack, при этом не открывается новая сессия\соединение в таблице соединений сервера. \\ | ||
+ | Злоумышленник скорее всего ack не ответит, | ||
+ | Сервер получит ack, убедится что полученная кука правильная и из неё сможет восстановить данные о номерах портов, | ||
+ | |||
+ | Если возвращаться к srx, то он встает между сервером и клиентом как прокси, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **Настройка**\\ | ||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | syn-flood-protection-mode syn-cookie; | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | == ICMP-flood и udp-flood | ||
+ | **Атака**\\ | ||
+ | Засылают толпу icmp\udp пакетов в результате конечный конечный хост может перестает обрабатывать новые соединения и стать недоступным. | ||
**Защита**\\ | **Защита**\\ | ||
- | С атакой борятся путем выставления допустимого значения icmp\udp пакетов в секунду (дефолтное значение 1000pps). | + | С атакой борются путем выставления допустимого значения icmp\udp пакетов в секунду (дефолтное значение 1000pps). |
- | Как только значение превышено пакеты начинают тихо дропаться до момента когда частоста станет ниже пороговой и плюс еще одну секунду. | + | Как только значение превышено пакеты начинают тихо дропаться до момента когда частота станет ниже пороговой и плюс еще одну секунду. |
Дропаются не все icmp\udp пакеты проходящие через srx, а только те которые идут в направлении от атакующего к жертве. | Дропаются не все icmp\udp пакеты проходящие через srx, а только те которые идут в направлении от атакующего к жертве. | ||
Line 424: | Line 470: | ||
== Ping of dead == | == Ping of dead == | ||
**Атака**\\ | **Атака**\\ | ||
- | На жертву осылается icmp пакет большого размера (больше 65507 байт), который может вызвать непредсказуемую реакцию ОС – может упасть. | + | На жертву |
**Защита**\\ | **Защита**\\ | ||
Line 439: | Line 485: | ||
{ | { | ||
</ | </ | ||
+ | ---- | ||
== Teardrop == | == Teardrop == | ||
**Атака**\\ | **Атака**\\ | ||
Line 457: | Line 503: | ||
{ | { | ||
</ | </ | ||
+ | ---- | ||
== Winnuke == | == Winnuke == | ||
**Атака**\\ | **Атака**\\ | ||
Line 475: | Line 521: | ||
{ | { | ||
</ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Настройка ==== | ||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | Possible completions: | ||
+ | alarm-without-drop | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | description | ||
+ | > icmp | ||
+ | > ip | ||
+ | > limit-session | ||
+ | > tcp Configure TCP Layer ids options | ||
+ | > udp Configure UDP layer ids options | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | Possible completions: | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | fin-no-ack | ||
+ | land | ||
+ | > port-scan | ||
+ | > syn-ack-ack-proxy | ||
+ | syn-fin | ||
+ | > syn-flood | ||
+ | syn-frag | ||
+ | tcp-no-flag | ||
+ | > tcp-sweep | ||
+ | winnuke | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | Possible completions: | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | > flood Configure icmp flood ids option | ||
+ | fragment | ||
+ | icmpv6-malformed | ||
+ | > ip-sweep | ||
+ | large Enable large ICMP packet (size > 1024) ids option | ||
+ | ping-death | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | Possible completions: | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | bad-option | ||
+ | block-frag | ||
+ | > ipv6-extension-header | ||
+ | ipv6-extension-header-limit | ||
+ | ipv6-malformed-header | ||
+ | loose-source-route-option | ||
+ | record-route-option | ||
+ | security-option | ||
+ | source-route-option | ||
+ | spoofing | ||
+ | stream-option | ||
+ | strict-source-route-option | ||
+ | tear-drop | ||
+ | timestamp-option | ||
+ | unknown-protocol | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | Possible completions: | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | destination-ip-based | ||
+ | source-ip-based | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | {primary: | ||
+ | admin@msk-02-srx3-n0# | ||
+ | Possible completions: | ||
+ | + apply-groups | ||
+ | + apply-groups-except | ||
+ | > flood Configure UDP flood ids option | ||
+ | > udp-sweep | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ===== Полезные ссылки ===== | ||
+ | * [[https:// | ||
+ | |||
+ | {{tag> |
workbook/jno-332/332_screen.1488703354.txt.gz · Last modified: (external edit)