The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"juniper внешнее управление firewall"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Маршрутизаторы CISCO и др. оборудование. (ACL, фильтрация и ограничение трафика)
Изначальное сообщение [ Отслеживать ]

"juniper внешнее управление firewall"  +/
Сообщение от Артем (??) on 02-Ноя-16, 11:08 
ex3200
Как можно организовать внешнюю правку файрвола?
Смысл такой: есть белые адреса во внутренней сети, к которым обращаться разрешено не всем, эти не все (term 10) и белые адреса (term 20) описываются примерно так:

# show firewall family ethernet-switching
filter uplink {
    term 10 {
        from {
            source-address {
                1.2.3.4/32;
                5.6.7.8/32;
            }
        }
        then {
            accept;
        }
    }
    term 20 {
        from {
            destination-address {
                x.x.x.x/32;
            }
        }
        then {
            discard;
        }
    }
    term 200 {
        then accept;
    }
}

в term 10 хочется добавлять адреса автоматически, с внешнего сервера, не залезая в жунипер ручками, а зайдя, например, на какую-нибудь страничку и введя пароль и адрес который нужно добавить.
В snmp такой функциональности не нашел, можно написать expect-скрипт, но это не очень красиво...

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "juniper внешнее управление firewall"  +/
Сообщение от ivb (??) on 02-Ноя-16, 11:59 
Если добавлять часто изменяемые адреса, лучше configure dynamic,
в правиле файрвола использовать префикс лист.


>[оверквотинг удален]
>     }
>     term 200 {
>         then accept;
>     }
> }
> в term 10 хочется добавлять адреса автоматически, с внешнего сервера, не залезая
> в жунипер ручками, а зайдя, например, на какую-нибудь страничку и введя
> пароль и адрес который нужно добавить.
> В snmp такой функциональности не нашел, можно написать expect-скрипт, но это не
> очень красиво...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "juniper внешнее управление firewall"  +/
Сообщение от Артем (??) on 02-Ноя-16, 19:50 
> Если добавлять часто изменяемые адреса, лучше configure dynamic,
> в правиле файрвола использовать префикс лист.

Как частичное решение - интересно, но не работает, к сожалению

# show firewall family ethernet-switching filter uplink

term 100 {
    from {
        source-prefix-list {
            test;
        }
    }
    then accept;
}
term 110 {
    from {
        destination-address {
            x.x.x.x/32;
        }
    }
    then discard;
}
term 200 {                              
    then accept;                        
}                                      

# show policy-options prefix-list test                            
dynamic-db;

> configure dynamic

# show policy-options prefix-list test
8.8.8.8/32;

т.е. к х.х.х.х разрешен доступ только с 8.8.8.8, но x.x.x.x пингуется. Если dynamic-db заменить непосредственно на ip-адреса, то правила начинают работать.

Вот здесь, у народа, dynamic-db в filter тоже не заработал (правда там SRX): http://forums.juniper.net/t5/SRX-Services-Gateway/Configure-...

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "juniper внешнее управление firewall"  +/
Сообщение от ivb (??) on 03-Ноя-16, 07:23 
Да, действительно (подзабыл уже)
dynamic можно использовать только в policy.
Например, для политик настройки маршрутизации.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "juniper внешнее управление firewall"  +/
Сообщение от Аноним (??) on 03-Ноя-16, 15:29 

> в term 10 хочется добавлять адреса автоматически, с внешнего сервера, не залезая
> в жунипер ручками, а зайдя, например, на какую-нибудь страничку и введя
> пароль и адрес который нужно добавить.
> В snmp такой функциональности не нашел, можно написать expect-скрипт, но это не
> очень красиво...

У них есть xmlrpc api, пишите страничку, которая будет кидать ему запрос на xml с новым адресом и коммитить изменения.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "juniper внешнее управление firewall"  +/
Сообщение от mid0ri on 03-Ноя-16, 20:01 
А еще есть Junos PyEZ + Django
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "juniper внешнее управление firewall"  +/
Сообщение от anonymous (??) on 05-Ноя-16, 16:21 
На джунике есть flowspec, анонсируйте ему фаервольные правила по bgp.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "juniper внешнее управление firewall"  +/
Сообщение от Артем (??) on 07-Май-17, 08:48 
Если кому интересно, то задачу решил так:

В firewall правила с prefix-list:

        term 21 {
            from {
                source-prefix-list {
                    ACCEPT-IP-CLIENTS;
                }
                destination-prefix-list {
                    DISCARD-IP-RESOURCES;
                }
            }
            then accept;
        }
        term 22 {
            from {
                destination-prefix-list {
                    DISCARD-IP-RESOURCES;
                }
            }
            then {
                discard;
                count discard-ip-count;
            }
        }

таким образом моя задача свелась только к добавлению/удалению ip-адресов в соответсвующие prefix-list:
set policy-options prefix-list ACCEPT-IP-CLIENTS 1.2.3.4/32
set policy-options prefix-list DISCARD-IP-RESOURCES 10.10.10.111/32


для внешнего доступа сделал юзера с ограниченным доступом:

login {
    class POLICYEDIT {
        permissions [ admin configure routing routing-control view ];
    }
    user pe {
        uid 2001;
        class POLICYEDIT;
        authentication {
            encrypted-password "***"; ## SECRET-DATA
        }
    }
}


доступ к свитчу отсуществяется по ssh (скриптом написанным на php), c дальнейшим запуском junoscript shell-а скрытой командой: "netconf", попыткой получить эксклюзивные права на редактирование и в успешном варианте редактированием нужных мне prefix-list-ов.

Набор передаваемых junoscript команд примерно такой:

<rpc message-id='1'>
  <lock><target><candidate/></target></lock>
</rpc>

<rpc message-id='2'><edit-config> <target><candidate/> </target><config>
                        <configuration>
                      <policy-options>
                            <prefix-list>
                              <name>ACCEPT-IP-CLIENTS</name>
                              <prefix-list-item>
                                <name>1.2.3.4/32</name>
                              </prefix-list-item>
                            </prefix-list>
                          </policy-options>
                        </configuration>
</config></edit-config> </rpc>

<rpc message-id='3'><commit/></rpc>

<rpc message-id='4'><discard-changes/></rpc>

<rpc message-id='5'><unlock/></rpc>

<rpc message-id='6'><close-session/></rpc>

Оф. дока по netconf: http://www.juniper.net/documentation/en_US/junos/information...

Хорошее описание для быстрого старта есть непосредственно на opennet: https://www.opennet.ru/tips/2540_junoscript_junos_script_net...

Всем спасибо.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру