Table of Contents

JN0-332: Firewall User Authentication


Необходимые знания по Firewall User Authentication:


Общая информация

Firewall User Authentication (FUA) это механизм который позволяет запрашивать имя пользователя и пароль перед тем как предоставить доступ к определенному сервису.
C помощью FUA можно разрешить или запретить доступ конкретному пользователю или группе пользователей.

Пользователи могут аутентифициваться с помощью:

Общая схема работы.

Доступно два метода запроса пользователя и пароля:


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;
    }
}
[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!!";
            }
        }
    }
}
[edit security zones security-zone VPN]
root@srx# show 
interfaces {
    gr-0/0/0.99 {
        host-inbound-traffic {
            system-services {
                ping;
                http;
            }
        }
    }
}
[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;
    }
}
firewall-authentication {
    web-authentication {                
        default-profile WA-PROFILE;
        banner {
            success "Welcome! Dude.";
        }
    }
}
[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;
            }
        }
    }
[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) информацию о пользователях и группах можно брать из внешних источников.
Поддерживаются следующие способы внешней аутентифиции:

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

Настройка

[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
    }
}