Межсетевые экраны SRX

Межсетевые экраны Juniper networks серии SRX являются мощным средством защиты от несанкционированного доступа к ресурсам сети внешних пользователей, так и пользователей сети к внешним ресурсам. Система использует такие механизмы как intrusion detection, application firewall, security policies, nat, ipsec vpn, firewall protection, user athentification. Так же может использоваться как простой прозрачный коммутатор, небольшой маршрутизатор и устройство управления беспроводными точками доступа AX411.

Платформа SRX очень популярна для установки на распределенных корпоративных сетях, в качестве граничного оборудования для подключения удаленных офисов, благодаря своим возможностям по разграничению доступа к ресурсам сети, обеспечению безопасности, возможностям организации каналов связи по технологии IPsec VPN, и установки модулей расширения с поддержкой различных WAN интерфейсов.

Модульные модели, более старшей серии в линейке, используются в ЦОД предприятий как мощная платформа для обеспечения безопасности доступа к информации и внутренним ресурсам сети, авторизации пользователей КСПД, и распределения доступа.

Так же устройства могут быть использованы провайдерами услуг связи, для осуществления контент фильтрации трафика, ограничения доступа пользователей до определенных ресурсов в сети, а так же для использования технологии NAT.

Рассмотрим основные принципы работы данного устройства. По умолчанию SRX серия устройств работает в потоковом режиме, т.е. анализ трафика производится не по пакетам, а создаются так называемые потоки трафика и к ним применяются все правила, настроенные на оборудовании. При желании можно перевести оборудование в пакетный режим, что не позволит использовать его как защитный экран, позволит работать как полноценному маршрутизатору.

Принцип действия устройства основывается на разделении всей конфигурации на так называемые зоны. Каждая зона содержит свои пользовательские интерфейсы свои наборы протоколов, возможных к использованию внутри зоны.

Приведем пример:

!

zones {

  security-zone trust {

    host-inbound-traffic {

      system-services {

        all;

      }

      protocols {

        all;

      }

    }

    interfaces {

      ge-0/0/0.0;

      vlan.0;

    }

  }

  security-zone users {

    host-inbound-traffic {

      system-services {

        all;

      }

      protocols {

        all;

      }

    }

    interfaces {

      ge-0/0/14.0;

    }

  }

  security-zone Internet {

    host-inbound-traffic {

      system-services {

        all;

      }

      protocols {

        all;

      }

    }

    interfaces {

      ge-0/0/15.0;

      vlan.1;

      ge-0/0/12.0;

    }

  }

}

!

В нашем случае наглядно видно что создано несколько зон, с разрешением использования всех протоколов сервисов, и содержащих определенный набор интерфейсов.

При необходимости можно изменить разрешенные сервисы или протоколы в каждой зоне:

!

set security zones security-zone users host-inbound-traffic protocols ?

Possible completions:

 all         All protocols

 bfd         Bidirectional Forwarding Detection

 bgp         Border Gateway Protocol

 dvmrp        Distance Vector Multicast Routing Protocol

 igmp        Internet Group Management Protocol

 ldp         Label Distribution Protocol

 msdp        Multicast Source Discovery Protocol

 nhrp        Next Hop Resolution Protocol

 ospf        Open Shortest Path First

 ospf3        Open Shortest Path First version 3

 pgm         Pragmatic General Multicast

 pim         Protocol Independent Multicast

 rip         Routing Information Protocol

 ripng        Routing Information Protocol next generation

 router-discovery  Router Discovery

 rsvp        Resource Reservation Protocol

 sap         Session Announcement Protocol

 vrrp        Virtual Router Redundancy Protocol

[edit]

!

Выбрать мы можем любые протоколы из списка, остальные протоколы будут запрещены в данной зоне, и работать просто не будут.

!

set security zones security-zone users host-inbound-traffic system-services ?

Possible completions:

 all         All system services

 any-service     Enable services on entire port range

 dns         DNS service

 finger       Finger service

 ftp         FTP

 http        Web management service using HTTP

 https        Web management service using HTTP secured by SSL

 ident-reset     Send back TCP RST to IDENT request for port 113

 ike         Internet Key Exchange

 lsping       Label Switched Path ping service

 netconf       NETCONF service

 ntp         Network Time Protocol service

 ping        Internet Control Message Protocol echo requests

 r2cp        Enable Radio-Router Control Protocol service

 reverse-ssh     Reverse SSH service

 reverse-telnet   Reverse telnet service

 rlogin       Rlogin service

 rpm         Real-time performance monitoring

 rsh         Rsh service

 sip         Enable Session Initiation Protocol service

 snmp        Simple Network Management Protocol service

 snmp-trap      Simple Network Management Protocol traps

 ssh         SSH service

 telnet       Telnet service

 tftp        TFTP

 traceroute     Traceroute service

 xnm-clear-text   JUNOScript API for unencrypted traffic over TCP

 xnm-ssl       JUNOScript API service over SSL

!

Тоже самое для сервисов. Если допустим создать управляющий интерфейс, третьего уровня, или создать интерфейс влан для управления устройством, и поместить его в зону с запрещенным «telnet», то доступа на оборудование не будет, несмотря на то что интерфейс нормально работает.

Используя все вышесказанное мы можем создать зону для пользователей внутренней сети, и зону для внешнего мира.

Рассмотрим основной механизм работы устройства: трафик переходит из зоны в зону. По умолчанию, при этом переходе весь трафик блокируется. Для разрешения перехода, необходимо создать определенный набор правил. Данные правила называются security-policy, они позволяют нам применять все те механизмы защиты, перечисленные в начале статьи. Так же существует правило разрешающее общение между зоной «trust», которая существует по умолчанию на оборудовании, и любой другой зоной. Как видно из названия «trust» является доверительной зоной. Для того что бы трафик перенаправлялся между зонами необходимо создать политику:

!

show security policies                            

from-zone ххх to-zone yyy {

  policy permit {

    match {

      source-address any;

      destination-address any;

      application any;

    }

    then {

      permit;

    }

  }

}

!

Данная политика разрешает любой трафик при переходе из зоны в зону. Рассмотрим что мы можем изменить в примере выше:

application - данный параметр позволяет выбрать набор приложений пользователя, идентифицируя их по порту и протоколу. Junos имеет встроенный набор приложений, который можно использовать для настройки. Для того что бы воспользоваться встроенным набором приложений, и просмотреть доступные приложения созданные разработчиками ПО следует воспользоваться командой:

!

 show configuration groups junos-defaults applications

список довольно длинный, поэтому приводить его здесь не имеет смысла.

 

так же можно настроить собственное приложение вида:

!

set applications application test

application-protocol Application protocol type

+ apply-groups    Groups from which to inherit configuration data

+ apply-groups-except Don't inherit configuration data from these groups

 description     Text description of application

 destination-port  Match TCP/UDP destination port

 do-not-translate-A-query-to-AAAA-query Knob to control the translation of A query to AAAA query

 do-not-translate-AAAA-query-to-A-query Knob to control the translation of AAAA query to A query

 ether-type     Match ether type

 icmp-code      Match ICMP message code

 icmp-type      Match ICMP message type

 icmp6-code     Match ICMP6 message code

 icmp6-type     Match ICMP6 message type

 inactivity-timeout Application-specific inactivity timeout (seconds)

 protocol      Match IP protocol type

 rpc-program-number Match range of RPC program numbers

 source-port     Match TCP/UDP source port

> term        Define individual application protocols

 uuid        Match universal unique identifier for DCE RPC objects

!

Основной функционал это задать протокол, и задать порт, как два определяющих параметра для приложения.

!

show applications

application test {

  application-protocol ftp;

  source-port yy;

  destination-port xx

}

!

так же с помощью параметра ether-type можно задать соответствующий ethertype пакета, чтобы осуществить дополнительный вид фильтрации, или воспользоваться функционалом term

функционал term был описан в статье про фильтры и политики.

!

 set applications application test term 1 

Possible completions:

 <[Enter]>      Execute this command

 alg         Application Layer Gateway

 destination-port  Match TCP/UDP destination port

 icmp-code      Match ICMP message code

 icmp-type      Match ICMP message type

 icmp6-code     Match ICMP6 message code

 icmp6-type     Match ICMP6 message type

 inactivity-timeout Application-specific inactivity timeout (seconds)

 protocol      Match IP protocol type

 rpc-program-number Match range of RPC program numbers

 source-port     Match TCP/UDP source port

 uuid        Match universal unique identifier for DCE RPC objects

 |          Pipe through a command

[edit]

!

Если внимательно посмотреть на пример, то можно увидеть что функционал состоит из аналогии команды:

!

 set applications application test

!

с одним небольшим добавлением: alg (application layer gateway )

!

set applications application test term 1 alg ?

Possible completions:

 dns         Domain Name Service

 ftp         File Transfer Protocol

 http        Hyper Text transfer protocol

 https        Secure HyperText Transfer Protocol

 ignore       Ignore application type

 imap        Internet Message Access Protocol

 mgcp-ca       MGCP-CA

 mgcp-ua       MGCP-UA

 ms-rpc       Microsoft RPC

 pptp        Point-to-Point Tunneling Protocol

 q931         Q.931

 ras         RAS

 realaudio      RealAudio

 rsh         Remote Shell

 rtsp        Real Time Streaming Protocol

 sccp        Skinny Client Control Protocol

 sip         Session Initiation Protocol

 smtp        Simple Mail Transfer Protocol

 sqlnet-v2      Oracle SQL*Net Version 2

 ssh         Secure Shell

 sun-rpc       Sun Microsystems RPC

 talk        Talk program

 telnet       Telnet Terminal Emulation Protocol

 tftp        Trivial File Transfer Protocol

[edit]

!

alg дает возможность настроить дополнительную фильтрацию трафика пользователей воспользовавшись дополнительными протоколами. что дает еще более гибкую настройку разграничений и прав.  

source-address - адрес источника трафика.

destination-address - адрес назначения трафика.

По заданным параметрам мы можем фильтровать трафик пользователей, и применять к нему определенные действия. Базовые из которых, это запретить, разрешить, произвести запись в логи, и посчитать.

Это основные принципы работы системы SRX. Опираясь на данную информацию можно настроить базовый межсетевой экран и разграничить доступ. Более подробно на технологиях IDP UTM firewall мы остановимся в отдельной статье.