workbook:jno-332:332_screen

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
workbook:jno-332:332_screen [2017/06/06 09:50] kworkbook:jno-332:332_screen [2021/08/12 08:35] (current) – external edit 127.0.0.1
Line 1: Line 1:
-**332 Screen**+===== JN0-332Screen=====
  
----- +**Необходимые знания по 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 225: Line 223:
 } }
 </code> </code>
 +
 ---- ----
 === Land === === Land ===
 **Атака**\\ **Атака**\\
-При такой атаке подделываеют адрес источника syn пакета, адрес источника ставят равным адресу назначения. В этом случае жертва пытается послать syn-ack себе же, в результате создаются пустые соединения.+При такой атаке подделывают адрес источника syn пакета, адрес источника ставят равным адресу назначения. В этом случае жертва пытается послать syn-ack себе же, в результате создаются пустые соединения.
  
 **Защита** **Защита**
Line 243: Line 242:
 } }
 </code> </code>
 +----
 === ICMP abnormalities === === ICMP abnormalities ===
 **Атака**\\ **Атака**\\
-Вся необходимая служебная информация передающаяся в icmp пакетах занимает очень мало места. Поэтому, как правило, нет необходимости в фрагментировании и использовании большых icmp пакетов. Если приходит фрагментированный или слишком большой пакет, то скорее всего здесь что-то не чисто и лучше такой пакет сразу дропнуть. +Вся необходимая служебная информация передающаяся в icmp пакетах занимает очень мало места. Поэтому, как правило, нет необходимости в фрагментировании и использовании больших icmp пакетов. Если приходит фрагментированный или слишком большой пакет, то скорее всего здесь что-то не чисто и лучше такой пакет сразу дропнуть. 
  
 **Защита** **Защита**
 SRX может дропать фрагментированные пакеты и пакеты размером больше 1024 байта.  SRX может дропать фрагментированные пакеты и пакеты размером больше 1024 байта. 
  
-ХХip-abnormalities.pngЪЪ+{{ip-abnormalities.png}}
  
 **Настройка** **Настройка**
Line 263: Line 262:
  }  }
 </code> </code>
 +----
 === IP packet fragments и bad ip option  === === IP packet fragments и bad ip option  ===
 **Атака**\\ **Атака**\\
Line 288: Line 287:
 { {
 </code> </code>
 +----
 === unknown protocol === === unknown protocol ===
 **Атака**\\ **Атака**\\
Line 306: Line 305:
 { {
 </code> </code>
 +----
 === syn fragmentation === === syn fragmentation ===
 **Атака**\\ **Атака**\\
-Пакеты с syn флагм не несут никакой информации и используются только для инициализации tcp соединения. Нет необходимости фрагментировать syn пакеты. +Пакеты с syn флагм не несут никакой информации и используются только для инициализации tcp соединения. Нет необходимости фрагментировать syn пакеты. \\
 Если кто-то фрагментирует пакеты значит что-то тут не чисто.  Если кто-то фрагментирует пакеты значит что-то тут не чисто. 
  
Line 327: Line 326:
 { {
 </code> </code>
 +----
 === Атаки на МСЭ === === Атаки на МСЭ ===
 Применительно к srx главная цель атаки переполнить таблицу сессий.\\ Применительно к srx главная цель атаки переполнить таблицу сессий.\\
Line 346: Line 345:
  
 **Защита**\\ **Защита**\\
-Для смягчения последствий такого флуда применяется механизмы ограничения колличества сессий.\\+Для смягчения последствий такого флуда применяется механизмы ограничения количества сессий.\\
 Есть два типа ограничений: Есть два типа ограничений:
-  * source based session limit – ограничивает колличество сессий которое можно построить с одного ip адреса источника. Пример - сервер, производящий атаку, создает кучу сессий с одного и того же ip адреса. +  * source based session limit – ограничивает количество сессий которое можно построить с одного ip адреса источника. Пример - сервер, производящий атаку, создает кучу сессий с одного и того же ip адреса. 
   * destination based session limit - ограничение количества одновременных сессий разрешенное строить на один ip адрес назначения. Такое помогает защититься от доса когда много серверов атакуют один ip адрес.   * destination based session limit - ограничение количества одновременных сессий разрешенное строить на один ip адрес назначения. Такое помогает защититься от доса когда много серверов атакуют один ip адрес.
  
-По умолчанию количество сессий равно 128. Диапозон значений в которых можно изменять количество сессий зависит от модели srx. +По умолчанию количество сессий равно 128. Диапазон значений в которых можно изменять количество сессий зависит от модели srx. 
  
 **Настройка** **Настройка**
Line 363: Line 362:
 } }
 </code> </code>
 +----
 == SYN-ACK-ACK proxy flood == == SYN-ACK-ACK proxy flood ==
 **Атака**\\ **Атака**\\
-SRX может проксировать telnet\ftp\http сессии в которых проходит аунтификация.  +SRX может проксировать telnet\ftp\http сессии в которых проходит аунтификация. \\ 
-Смысл атаки заключается в том, что сделать как можно больше “правильных” tcp рупопожатий.   +Смысл атаки заключается в том, что сделать как можно больше “правильных” tcp рупопожатий. \\ 
-После установки tcp сессии, не производится передача логина и пароля, а начинает новое рукопожатие и так до тех пор пока не кончится ресурсы таблицы сессий у роутера или у конечного хоста. Дефолтное время жизни пары tcp сессий в srx составлет 1800 секунд, время отсчитывается с последнего пакета прошедшего через сессии.+После установки tcp сессии, не производится передача логина и пароля, а начинает новое рукопожатие и так до тех пор пока не кончится ресурсы таблицы сессий у роутера или у конечного хоста. \\ Дефолтное время жизни пары tcp сессий в srx составлет 1800 секунд, время отсчитывается с последнего пакета прошедшего через сессии.
 В итоге получается много открытых сессий в таблице srx или клиента по которым не ходит трафик. В итоге получается много открытых сессий в таблице srx или клиента по которым не ходит трафик.
- 
-Илюстрация: 
  
 {{syn-ack-ack-proxy.png}} {{syn-ack-ack-proxy.png}}
  
 **Защита**\\ **Защита**\\
-Поскольку srx выступает в качестве прокси для tcp рукопожатий он может определить факт наличия syn-ack-ack флуда. Защита заключается в ограничении количества установленных,  с одного ip адреса источника, сессий. По дефолту количество сессий составляет 512 штук с одного ip адреса, все что больше будет дропнуто. Количество сессий может задаваться в диапозоне 1-250К. +Поскольку srx выступает в качестве прокси для tcp рукопожатий он может определить факт наличия syn-ack-ack флуда. Защита заключается в ограничении количества установленных, с одного ip адреса источника, сессий. По дефолту количество сессий составляет 512 штук с одного ip адреса, все что больше будет дропнуто. Количество сессий может задаваться в диапозоне 1-250К. 
  
 **Настройка** **Настройка**
Line 384: Line 381:
 ids-option test {  ids-option test { 
     tcp {      tcp { 
-        syn-ack-ack proxy treshold 600;+        syn-ack-ack-proxy treshold 600;
                    
  
 </code> </code>
 +---
 === Флуд атаки === === Флуд атаки ===
 == SYN-flood == == SYN-flood ==
-= ICMP-flood и udp-flood +**Атака**\\ 
-**Атака** +Атакующий посылает толпу tcp syn пакетов в сторону жертвы (сервер). Сервер отвечает syn-ack и ждет ack. ACK не приходит и в итоге может переполниться таблица соединений сервера.  
-Засылают толпу icmp\udp пакетов в результате конечный конечный хост може перестает обрабатывать новые соединения и стать недоступным. + 
 +{{:workbook:jno-332:screen-tcp-flood.png?600}} 
 + 
 +**Защита**\\ 
 +SRX может ограничивать частоту прохождения через себя syn пакетов. После определенного значения частоты поступления syn пакетов в секунду srx начинает проксировать syn пакеты. \\ 
 +Можно задать следующие пороги: 
 +  * Alarm threshold - порог, syn пакетов в секунду (half-complete TCP connection requests), после которого пишется запись в лог.  
 +  * Attak threshold - порог, после включается механизм проксирования syn пакетов.   
 +  * Source threshold - порог, syn пакетов в секунду, с одного адреса источника после достижения которого пакеты начинают тихо дропаться.   
 +  * Destination threshold - порог, syn пакетов в секунду, в сторону одного адреса назначения после достижения которого пакеты начинают тихо дропаться.   
 +  * Timeout - время жизни не законченного трехстороннего рукопожатия. По дефолту 20 секунду, можно стивить от 1 до 50 секунд.  
 + 
 +**Настройка**\\ 
 +<code> 
 +{primary:node0}[edit security screen] 
 +admin@msk-02-srx3-n0# show 
 +ids-option untrust-screen { 
 +... 
 +    tcp { 
 +        syn-flood { 
 +            alarm-threshold 1024; 
 +            attack-threshold 200; 
 +            source-threshold 1024; 
 +            destination-threshold 2048; 
 +            timeout 20; 
 +        } 
 +... 
 +</code> 
 + 
 +== Syn cookie  == 
 +Еще один способ бороться с syn flood, его вроде как включаю когда атака уже идет и надо отбиваться. \\ 
 +Сервер, получив syn пакет, на основе каких-то счетчиков, адресов и портов источника и назначения высчитывает значение некого обратимого хэша. \\ 
 +Значение хэша засовывается в куку и отправляется клиенту вместе с syn-ack, при этом не открывается новая сессия\соединение в таблице соединений сервера. \\  
 +Злоумышленник скорее всего ack не ответит, там будет поддельный адрес источника. А легальный клиент пересчитает полученную куку, вставит в ответный ack. \\ 
 +Сервер получит ack, убедится что полученная кука правильная и из неё сможет восстановить данные о номерах портов, адресах которые которые были в первом syn пакете и вставит сессию в таблицу соединений.  
 + 
 +Если возвращаться к srx, то он встает между сервером и клиентом как прокси, производит расчеты куков и если все хорошо, то отправляет трехстороннее рукопожатие серверу. 
 + 
 +{{:workbook:jno-332:screen-tcp-cookie.png?600}} 
 + 
 +**Настройка**\\ 
 +<code> 
 +{primary:node0}[edit] 
 +admin@msk-02-srx3-n0# show security flow 
 +syn-flood-protection-mode syn-cookie; 
 +</code> 
 + 
 +---- 
 +== ICMP-flood и udp-flood  =
 +**Атака**\\ 
 +Засылают толпу icmp\udp пакетов в результате конечный конечный хост может перестает обрабатывать новые соединения и стать недоступным. 
  
 **Защита**\\ **Защита**\\
-С атакой борятся путем выставления допустимого значения icmp\udp пакетов в секунду (дефолтное значение 1000pps).  +С атакой борются путем выставления допустимого значения icmp\udp пакетов в секунду (дефолтное значение 1000pps).  
-Как только значение превышено пакеты начинают тихо дропаться до момента когда частоста станет ниже пороговой и плюс еще одну секунду. +Как только значение превышено пакеты начинают тихо дропаться до момента когда частота станет ниже пороговой и плюс еще одну секунду. \\
 Дропаются не все icmp\udp пакеты проходящие через srx, а только те которые идут в направлении от атакующего к жертве. Дропаются не все icmp\udp пакеты проходящие через srx, а только те которые идут в направлении от атакующего к жертве.
  
Line 423: Line 470:
 == Ping of dead == == Ping of dead ==
 **Атака**\\ **Атака**\\
-На жертву осылается icmp пакет большого размера (больше 65507 байт), который может вызвать непредсказуемую реакцию ОС – может упасть. +На жертву посылается icmp пакет большого размера (больше 65507 байт), который может вызвать непредсказуемую реакцию ОС – может упасть. 
  
 **Защита**\\ **Защита**\\
Line 438: Line 485:
 { {
 </code> </code>
 +----
 == Teardrop == == Teardrop ==
 **Атака**\\ **Атака**\\
Line 456: Line 503:
 { {
 </code> </code>
 +----
 == Winnuke == == Winnuke ==
 **Атака**\\ **Атака**\\
Line 474: Line 521:
 { {
 </code> </code>
 +
 +----
 +
 +==== Настройка ====
 +<code>
 +{primary:node0}[edit security screen]
 +admin@msk-02-srx3-n0# set ids-option TEST ?
 +Possible completions:
 +  alarm-without-drop   Do not drop packet, only generate alarm
 ++ apply-groups         Groups from which to inherit configuration data
 ++ apply-groups-except  Don't inherit configuration data from these groups
 +  description          Text description of screen
 +> icmp                 Configure ICMP ids options
 +> ip                   Configure IP layer ids options
 +> limit-session        Limit sessions
 +> tcp                  Configure TCP Layer ids options
 +> udp                  Configure UDP layer ids options
 +</code>
 +
 +<code>
 +{primary:node0}[edit security screen]
 +admin@msk-02-srx3-n0# set ids-option TEST tcp ?
 +Possible completions:
 ++ apply-groups         Groups from which to inherit configuration data
 ++ apply-groups-except  Don't inherit configuration data from these groups
 +  fin-no-ack           Enable Fin bit with no ACK bit ids option
 +  land                 Enable land attack ids option
 +> port-scan            Configure port scan ids option
 +> syn-ack-ack-proxy    Configure syn-ack-ack proxy ids option
 +  syn-fin              Enable SYN and FIN bits set attack ids option
 +> syn-flood            Configure SYN flood ids option
 +  syn-frag             Enable SYN fragment ids option
 +  tcp-no-flag          Enable TCP packet without flag ids option
 +> tcp-sweep            Configure TCP sweep ids option
 +  winnuke              Enable winnuke attack ids option
 +</code>
 +
 +<code>
 +{primary:node0}[edit security screen]
 +admin@msk-02-srx3-n0# set ids-option TEST icmp ?
 +Possible completions:
 ++ apply-groups         Groups from which to inherit configuration data
 ++ apply-groups-except  Don't inherit configuration data from these groups
 +> flood                Configure icmp flood ids option
 +  fragment             Enable ICMP fragment ids option
 +  icmpv6-malformed     Enable icmpv6 malformed ids option
 +> ip-sweep             Configure ip sweep ids option
 +  large                Enable large ICMP packet (size > 1024) ids option
 +  ping-death           Enable ping of death ids option
 +</code>
 +
 +<code>
 +{primary:node0}[edit security screen]
 +admin@msk-02-srx3-n0# set ids-option TEST ip ?
 +Possible completions:
 ++ apply-groups         Groups from which to inherit configuration data
 ++ apply-groups-except  Don't inherit configuration data from these groups
 +  bad-option           Enable ip with bad option ids option
 +  block-frag           Enable ip fragment blocking ids option
 +> ipv6-extension-header  Configure ipv6 extension header ids option
 +  ipv6-extension-header-limit  Enable ipv6 extension header limit ids option (0..32)
 +  ipv6-malformed-header  Enable ipv6 malformed header ids option
 +  loose-source-route-option  Enable ip with loose source route ids option
 +  record-route-option  Enable ip with record route option ids option
 +  security-option      Enable ip with security option ids option
 +  source-route-option  Enable ip source route ids option
 +  spoofing             Enable IP address spoofing ids option
 +  stream-option        Enable ip with stream option ids option
 +  strict-source-route-option  Enable ip with strict source route ids option
 +  tear-drop            Enable tear drop ids option
 +  timestamp-option     Enable ip with timestamp option ids option
 +  unknown-protocol     Enable ip unknown protocol ids option
 +</code>
 +
 +<code>
 +{primary:node0}[edit security screen]
 +admin@msk-02-srx3-n0# set ids-option TEST limit-session ?
 +Possible completions:
 ++ apply-groups         Groups from which to inherit configuration data
 ++ apply-groups-except  Don't inherit configuration data from these groups
 +  destination-ip-based  Limit sessions to the same destination IP (1..50000)
 +  source-ip-based      Limit sessions from the same source IP (1..50000)
 +</code>
 +
 +<code>
 +{primary:node0}[edit security screen]
 +admin@msk-02-srx3-n0# set ids-option TEST udp ?
 +Possible completions:
 ++ apply-groups         Groups from which to inherit configuration data
 ++ apply-groups-except  Don't inherit configuration data from these groups
 +> flood                Configure UDP flood ids option
 +> udp-sweep            Configure UDP sweep ids option
 +</code>
 +
 +----
 +
 +===== Полезные ссылки =====
 +  * [[https://ru.wikipedia.org/wiki/SYN_cookies|SYN cookies]]
 +
 +{{tag>juniper jn0-332 exam}}
workbook/jno-332/332_screen.1496731856.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki