Table of Contents
JN0-332: Firewall User Authentication
Необходимые знания по Firewall User Authentication:
- User Firewall
- User authentication types
- Authentication server support
- Сlient groups
Общая информация
Firewall User Authentication (FUA) это механизм который позволяет запрашивать имя пользователя и пароль перед тем как предоставить доступ к определенному сервису.
C помощью FUA можно разрешить или запретить доступ конкретному пользователю или группе пользователей.
Пользователи могут аутентифициваться с помощью:
- Локальной базы - пароли хранятся локально, доступна аунтетификация и авторизация.
- RADIUS - пароли хранятся на радиус сервере, srx выступает а качествет клиента запрашивая данные, доступна аунтетификация и авторизация.
- LDAP - пароли хранятся на лдап сервере, доступна только аунтетификация, совестим с LDAPv3 и Windows Server AD.
- SecureID - для аутентификации используется внешний RSA SecureID сервер. Пользователи могут использовать статические или или динамические пароли. Динамический пароль это комбинация пользовательского ПИН-кода и рандомно сгенерированного токена, время жизни токена ограничено.
Общая схема работы.
Доступно два метода запроса пользователя и пароля:
- Pass-through authentication - пользователь аутентифицируется когда пытается получить доступ к сетевому ресурсу.
- Web authentication - пользователь должен сам пройти аутентификацию на srx.
Pass-through authentication
Этот тип аутентификации применим для telnet, ftp и http трафика.
Когда пользователь обращается к telnet, ftp или http ресурсу srx (в случае если удовлетворяются условия политики безопасности) перехватывает сессию и передает пользователю форму для для ввода имени и пароля. Если аутентификация прошла успешно srx разрешает прохождения трафика через политику безопасности, весь последующий трафик с таким же ip адресом источника так же сможет проходить через srx. Если трафик не ходил в течении 10 минут (дефолтное значение) процесс аутентификации надо будет повторить, значение таймаута можно изменить в пределах от 10 минут до 24 часов (1440 мин.).
Настройка
- Создадим профиль, пользователя и зададим таймаут.
[edit access] root@srx# show profile FUA-PROFILE { client test-client { firewall-user { password "$9$wXY2aZGikqf"; ## SECRET-DATA } } session-options { client-idle-timeout 11; } }
- Зададим профиль по умолчанию для типа аутентификации pass-through.
[edit access] root@srx# show ... firewall-authentication { pass-through { default-profile FUA-PROFILE; http { banner { login "Come on,try it"; success "BRO!"; fail "HA-HA! LOooser!!"; } } } }
- Разрешим обращаться к srx по http на интерфейсе на который прийдет http трафик от клиента.
[edit security zones security-zone VPN] root@srx# show interfaces { gr-0/0/0.99 { host-inbound-traffic { system-services { ping; http; } } } }
- Применим FUA к политике безопасности.
[edit security policies from-zone VPN to-zone PX] root@srx# show ... policy VPN-TO-PX-PERMIT-LENTA { match { source-address test-net; destination-address lenta.ru; application [ junos-icmp-ping junos-http ]; } then { permit { firewall-authentication { pass-through { access-profile FUA-PROFILE; } } } } } ...
Так же в этом разделе конфигурации можно указать конкретных пользователей которым надо разрешить доступ.
Траблшутинг
- Посмотреть залогинившихся пользователей.
root@srx> show security firewall-authentication users Firewall authentication data: Total users in table: 1 Id Source Ip Src zone Dst zone Profile Age Status User 1 10.20.20.2 VPN PX FUA-PROF 0 Success test-clien
- Посмотреть историю.
root@srx> show security firewall-authentication history History of firewall authentication data: Authentications: 2 Id Source Ip Date Time Duration Status User 0 10.20.20.2 2015-08-03 18:39:35 0:01:02 Failed 1 10.20.20.2 2015-08-03 18:40:53 0:01:47 Success test-client
- Сбросить пользователя.
root@srx> clear security firewall-authentication users identifier 1 root@srx> show security firewall-authentication users Firewall authentication data: Total users in table: 0
Web authentication
Этот тип аутентификации применим для любого типа трафика.
Перед началом работы пользователь сам должен пройти процедуру аутентификации на srx.
Пользователь по http обращается к srx, получает форму ввода имени и пароля и вводит свои данные. Если все правильно, то srx разрешает прохождение трафика через политику безопасности к которой применяется данный тип аутентификации. Доступ открывается для ip адреса с которого прошла аутентификация. Если трафик не ходил в течении 10 минут (дефолтное значение) процесс аутентификации надо будет повторить, значение таймаута можно изменить.
Настройка
- Создадим профиль, пользователя и зададим таймаут.
[edit access] admin@srx# show profile WA-PROFILE { client test-client2 { firewall-user { password "$9$MSSWNb4oGiqfZU/C"; ## SECRET-DATA } } client test-client3 { firewall-user { password "$9$Nf-YoDjqfQnk.O1"; ## SECRET-DATA } } session-options { client-idle-timeout 60; } }
- Зададим профиль по умолчанию для типа аутентификации web.
firewall-authentication { web-authentication { default-profile WA-PROFILE; banner { success "Welcome! Dude."; } } }
- Разрешим рабатать с srx по http на интерфейсе с которого ожидается трафик от клиента.
[edit] admin@srx# show security zones security-zone TRUST interfaces { fe-0/0/0.166 { host-inbound-traffic { system-services { ping; ssh; http; } } } ... [edit] admin@srx# show system services ssh; web-management { http { interface fe-0/0/0.166; } } ... [edit] admin@srx# show interfaces fe-0/0/0 { description to_superswitch1/p167; vlan-tagging; unit 166 { description uservlan; vlan-id 166; family inet { address 10.166.12.2/24 { web-authentication http; } } }
- Применим WA к политике безопасности.
[edit security policies from-zone TRUST to-zone PX] admin@srx# show ... policy TR-TO-PX-PERMIT-LENTA { match { source-address test-net; destination-address lenta.ru; application [ junos-icmp-ping junos-http ]; } then { permit { firewall-authentication { web-authentication { client-match test-client2; } } } } }
Группы пользователей
Пользователей которых заводят локально на srx можно для удобства определять в группы.
Один пользователь может состоять в нескольких группах.
Настройка
- Создадим пару пользователей и одного из них определим в группу.
profile TEST-PROFILE { client test-client { firewall-user { password "$9$wXY2aZGikqf"; ## SECRET-DATA } } client test-client2 { client-group TEST-GROUP; firewall-user { password "$9$K8Evxd2gJDHmaZn/"; ## SECRET-DATA } } session-options { client-idle-timeout 11; } }
- Сопоставим политику безопасности и группы пользователей.
[edit security policies from-zone VPN to-zone PX] root@srx# show ... policy VPN-TO-PX-PERMIT-LENTA { match { source-address test-net; destination-address lenta.ru; application [ junos-icmp-ping junos-http ]; } then { permit { firewall-authentication { pass-through { client-match [ TEST-GROUP test-client ];; } } } } }
- Объединение нескольких групп в один акцес профиль.
Это делается для того, что бы была воможность собрать всех пользователей в одном профиле.
[edit] root@srx# show access ... profile DEFAULT-PROFILE { session-options { client-group [ TEST-GROUP TEST-GROUP2 ]; } } ...
Еще раз обращаю внимание, процесс аутентификации идет с привязкой к ip адресу источника.
Если есть два пользователя которые имеют одинаковый ip адрес, то в случае успешной аутентификации одного пользователя, второй пользователь будет иметь доступ к ресурсу, но уже без аутентификации.
Внешние серверы аутентификации
Помимо локальной базы (password) информацию о пользователях и группах можно брать из внешних источников.
Поддерживаются следующие способы внешней аутентифиции:
- ldap - Lightweight Directory Access Protocol
- radius - Remote Authentication Dial-In User Service
- securid - RSA SecurID Authentication
Одновременно можно использовать только один внешний источник. Если внешний источник не доступен, то можно посмотреть в локальной базе.
Если со стороны внешнего источника пришел отказ в аутентификации, то доступ запрещается, дополнительно в локальную базу не смотрят.
Настройка
[edit access] admin@srxr# show profile FUA-PROFILE { authentication-order [ radius password ]; client test-client { firewall-user { password "$9$wXY2aZGikqf"; ## SECRET-DATA } } client test-client2 { client-group TEST-GROUP; firewall-user { password "$9$K8Evxd2gJDHmaZn/"; ## SECRET-DATA } } session-options { client-idle-timeout 11; } radius-server { 1.2.3.4 secret "$9$HmQntu1IhrfTRSeK7Ns24ZGiqmT6/t5Q"; ## SECRET-DATA } }