Juniper IDP — Защита от вторжения и обнаружения атак

И так если же есть необходимость , в этом (а стоить отметить что данная функция на серии MX стоить около 30 000 $ (со скидками 15 000 $) так же есть данная опция и на SRX и J  серии )

По установке читаем тут — http://kb.juniper.net/library/CUSTOMERSERVICE/technotes/SRX_IDP_Local_Update.pdf

Для начало необходимо посмотреть есть ли у нас лицензия на все это хозяйство :

> ksa@j-mx# run show system license
> License usage:
>                                  Licenses     Licenses    Licenses
>                                     Expiry
>   Feature name                       used    installed      needed
>   scale-subscriber                      0         1000           0
>      permanent
>   scale-l2tp                            0         1000           0
>      permanent
>   scale-mobile-ip                       0         1000           0
>      permanent
> 
> Licenses installed: none

Как видно лицензии нет . Печально . Тогда прийдется раскошелится , или есть еще одно железное  решение компании ARBOR .

Принцип работы отображен ниже :

Juniper IDP

А конфиг , к примеру на Juniper MX240  выглядит следующим образом :


rule ids-ddos-best {
    match-direction output;  - тут ставим фильтр на вход для клиента (для железки это исход с интерфейса :)
    term 1 {
        from {
            destination-address {
                213.108.X.X/32;   - это ip к которому будет применятся детекция 
            }
            applications junos-icmp-all;  - это выбор протаколов 
        }
        then {
            force-entry;
            logging {
                threshold 1;
                syslog;
            }
            syn-cookie {
                threshold 3;            - это парог после которого SYN разрешены (ЕСТЬ предположение что после этого значения ставится задержка для пакета 1500)
                mss 1500;                - это обязательное время задержки для TCP сесии (тем самым можно снизить интенсивность)
            }
            session-limit {             
                by-destination {      - это правило будет подходит в след случаях  для всех any (public)    to   213.108.X.X/32; (поэтому если необходимо ставить это значение его необходимо ставить большое)
                    maximum 10;         
                    rate 8192;          
                    packets 10;         
                }                       
            }                           
        }                               
    }                                   
}
                        


            session-limit {             
                by-sourse {      - это правило будет подходить в след случаях  для всех Внешний IP (X.X.X.X/32)    to   any; (поэтому если необходимо ставить это значение его необходимо ставить большое) то есть с одного внешнего на все наши
                    maximum 10;        - поличество одновременных запросов (сессий) . 
                    rate 5;          - это величена одновременных патоков  (если привысил срабатует блокировка)
                    packets 10;         - это количество пакетов которые можно передать после чего клиент заблокируется 
                }                       
            }                           
        }                               
    }                                   
}                        



            session-limit {             
                by-sourse {      - это правило будет подходить в след случаях  для всех Внешний IP (X.X.X.X/32)    to   X.X.X.X/32; - то есть идет по конкретным адресам
                    maximum 10;        - поличество одновременных запросов (сессий) . 
                    rate 5;          - это величена одновременных патоков  (если привысил срабатует блокировка)
                    packets 10;         - это количество пакетов которые можно передать после чего клиент заблокируется 
                }                       
            }                           
        }                               
    }                                   
}                        


И так проверяем работу нашего IDS  cервиса 

И видим что наш фиревол пакеты нам пробрасывает :
ksa@j-mx> show services stateful-firewall flows | match 46.174.X.X
ICMP       46.174.X.X       -> 213.108.X.X       Forward  O            3860


Далее смотрим статистику IDS :


ksa@j-mx> show services ids source-table extensive         
Interface: sp-0/0/0, Service set: service-set-ddos-besthosting
IDS sorting order: Packets
Source address       Dest address      Time Flags             Application
46.174.X.X     ->            any     3m23s Forced           junos-icmp-all            
  Bytes: 23.7M, Packets: 22.5k, Flows: 1.0, Anomalies: 16.5k
    Anomaly description                               Count     Rate   Elapsed
    Packet rate exceeds IDS dst limit                 16.5k     81.6        0s        
    creating forward or watch flow                      1.0     15.6      3m1s        
    
    
    Если же вы поменя значения в конфиге IDS вам необходимо обнулить счетчики
    
    >clear services stateful-firewall flows

Можно еще ввести by-sourse hold-time  в секундах — к примеру заблокировала система пользователя   если не дать коммнду clear services stateful-firewall flows — система егоне разблокирует ….а hold-time  60 сек к примеру разблокирует его авто через 60 сек .

Так  с IDP мы определились , как правило бывают отдельные устройства или же на больших железках это платы + покупка лицензии (как в случае с Juniper) , это устройство выступает как пограничная железка , как правило в нее входит не менее 2х провайдеров , далее идет маршрутизатор , а далее может еще быть какой нить межсетевой экран или как минимум фаервол .