존을 기반으로 사용자 ID 정보 로깅
통합 사용자 방화벽 존 기반 기능은 보안 정책에 구성된 소스 존을 기반으로 사용자 식별 정보를 기록하도록 시스템을 지시합니다. 로그 정보에는 존에 속한 모든 사용자가 포함되며 해당 트래픽은 보안 정책과 일치합니다.
소스 존을 기반으로 하는 세션 로그 파일에 사용자 ID 정보를 포함하는 방법 이해
이 주제는 보안 정책에서 소스 ID(Source-IDENTITy)를 사용하지 않고도 사용자가 사용자 이름 또는 그룹 이름으로 사용자 ID를 세션 로그에 기록하도록 시스템을 구성할 수 있는 통합 사용자 방화벽 기능을 다룹니다. 사용자 장치의 IP 주소뿐만 아니라 로그에 기록된 이름으로 사용자 ID를 알면 활동에 대한 명확한 가시성을 확보할 수 있으며 보안 문제를 보다 빠르고 쉽게 해결할 수 있습니다. 소스 존(from-zone)에 의존하여 소스 ID가 아닌 사용자 ID 로깅을 트리거하면 소스 ID가 로깅되는 사용자의 범위가 넓어지게 됩니다.
일반적으로 각 보안 정책에 대해 정책에서 소스 및 대상 IP 주소와 트래픽이 일치하는 존을 지정해야 합니다. 트래픽과 일치하는 애플리케이션도 지정해야 합니다. 트래픽이 이러한 기준에 부합하는 경우, 보안 정책의 조치는 사용자 장치에서 발행된 트래픽에 적용됩니다. 그러나 세션 로그에 사용자 ID 정보는 기록되지 않습니다.
선택적으로, 트래픽 소스를 식별하기 위해 사용자 장비의 IP 주소에만 의존하는 대신 보안 정책의 소스 아이덴티티 tuple에서 사용자 ID(즉, 사용자 이름 또는 그룹 이름)를 지정할 수 있습니다. 이 접근 방식은 다른 보안 정책 일치 조건이 충족되는 경우 보안 정책의 애플리케이션을 식별된 단일 사용자 또는 사용자 그룹으로 좁혀 리소스 액세스에 대한 보다 강력한 제어를 제공합니다. 그러나 소스 아이덴티티의 사용은 단일 사용자 또는 사용자 그룹의 트래픽에 대한 정책의 적용을 제한합니다.
시스템이 세션 로그에 기록하여 트래픽이 속한 존(from-zone)을 기반으로 트래픽이 발생한 모든 사용자 ID를 작성하려고 할 수 있습니다. 이 경우 소스 아이덴티티 tuple을 구성하면 트래픽 일치 및 보안 정책 애플리케이션을 단일 사용자 또는 사용자 그룹으로 좁히는 것을 원하지 않습니다.
존 기반 사용자 ID 기능을 사용하면 일치하는 보안 정책에서 해당 존이 소스 존으로 사용될 때 소스 아이덴티티 로그 명령문으로 구성된 존에 속한 모든 사용자를 위해 시스템에 로그 사용자 ID 정보를 기록하도록 시스템을 지시할 수 있습니다.
소스 아이덴티티 로그 기능이 적용하려면 보안 정책의 조치의 일환으로 세션 초기화(세션 init) 및 세션 종료(세션 종료) 이벤트의 로깅을 구성해야 합니다.
표 1 은 이 기능을 지원하는 플랫폼을 식별합니다.
지원되는 SRX 시리즈 디바이스 플랫폼 |
---|
SRX320 |
SRX380 |
SRX550M |
SRX1500 시리즈 |
SRX500 시리즈 |
예: 소스 존을 기반으로 세션 로그에 사용자 ID를 작성하기 위해 통합 사용자 방화벽 구성
이 예에서는 보안 정책에 구성된 소스 존(from-zone)을 기반으로 시스템이 사용자 ID 정보를 기록하도록 지시하는 통합 사용자 방화벽 존 기반 사용자 ID 기능을 구성하는 방법을 보여줍니다. 존 기반 사용자 아이덴티티 기능은 로그에 아이덴티티 정보가 기록된 사용자의 범위를 넓혀 트래픽이 보안 정책과 일치하는 존에 속한 모든 사용자를 포함합니다.
요구 사항
이 기능은 Junos OS 15.1X49-D60 및 Junos OS 릴리스 17.3R1부터 지원됩니다. Junos OS 15.1X49-D60부터 시작하는 현재 지원되는 SRX 시리즈 디바이스에서 이 기능을 구성하고 실행할 수 있습니다.
개요
이 예에서는 보안 정책의 소스 존을 기반으로 세션 로그에서 사용자 ID 정보를 기록하기 위해 통합 사용자 방화벽을 구성하는 방법을 보여줍니다. 이를 위해서는 소스 존으로 지정된 존이 소스 ID 로깅을 위해 구성되어야 합니다. 존 기반 사용자 ID 로깅의 경우, 보안 정책의 작업에는 세션 생성(세션 인잇) 및 세션 닫기(세션 종료) 이벤트가 포함되어야 합니다.
모든 조건이 충족되면 세션 시작(또는 세션 초기화)과 세션 종료 시(또는 세션 중단)에 사용자의 이름이 로그에 기록됩니다. 보안 정책이 리소스에 대한 사용자 액세스를 거부하는 경우, 이름으로 사용자를 식별하는 항목이 로그에 기록됩니다. 즉, 세션 종료가 구성되면 해당 항목이 기록됩니다.
존 기반 사용자 ID 기능을 사용하면 보안 정책에서 사용자 ID 로깅 이벤트를 시작하는 소스 존(from-zone)입니다.
이 기능을 도입하기 전에 시스템에 사용자 ID 정보(즉, 사용자 이름 또는 그룹 이름)를 기록하도록 시스템을 지시하기 위해 보안 정책에 소스 아이덴티티 tuple(Source-IDENTITy)을 포함해야 했습니다. 사용자 ID는 사용자의 트래픽과 일치하는 존 쌍의 정책 중에서 소스 아이덴티티 tuple이 구성되고 세션 종료 로그가 구성된 경우 로그에 기록되었습니다.
그러나 소스 아이덴티티 기능은 개별 사용자 또는 사용자 그룹에만 해당되며, 이와 관련하여 보안 정책의 적용이 제한됩니다.
이는 정책의 소스 존이 사용자 ID 로깅을 위해 구성되면 시스템이 로그에 기록하는 로컬 Active Directory 테이블에 저장되는 사용자 이름입니다. SRX 시리즈 디바이스는 이전에 도메인 컨트롤러 이벤트 로그를 읽어 사용자 ID 정보를 입수했습니다. SRX 시리즈 디바이스는 해당 정보를 Active Directory 테이블에 저장했습니다.
사용자 ID 로깅을 위해 구성된 존을 소스 존으로 지정하는 보안 정책에서 Source-IDENTITy tuple을 사용할 수 있습니다. 통합 사용자 방화벽은 통합 사용자 방화벽이 소스 ID tuple에 의존하는 경우에만 사용자가 Microsoft Domain Controller에서 속해 있는 그룹의 이름을 수집하기 때문에 소스 ID를 구성하지 않고 존 기반 사용자 ID 로깅 기능을 사용하는 경우 로그에는 사용자가 속한 그룹이 아니라 액세스를 요청하는 사용자의 이름만 포함됩니다.
소스 아이덴티티 로깅을 지원하기 위해 존을 구성한 후 사용자 ID 정보를 로깅하려는 모든 보안 정책에서 존을 from-zone 사양으로 재사용할 수 있습니다.
요약하면 다음과 같은 경우에 사용자의 이름이 로그에 기록됩니다.
사용자는 소스 ID 로깅을 위해 구성된 존에 속합니다.
사용자 생성된 트래픽이 보안 정책과 일치하는 리소스 액세스 요청을 발행합니다. 소스 존(from-zone) tuple이 검증 존을 지정합니다.
보안 정책에는 세션 초기화(세션 인잇) 및 세션 종료(세션 종료) 이벤트가 액션의 일부로 포함됩니다.
소스 아이덴티티 로그 기능의 이점은 다음과 같습니다.
단일 사양에서 광범위한 사용자, 즉 소스 ID 로깅을 위해 구성된 존에 속한 모든 사용자를 다룹니다.
사용자 ID 로깅을 박탈하지 않고 보안 정책에서 소스 주소의 주소 범위를 계속 사용합니다.
두 개 이상의 보안 정책에 로그인하는 소스 ID에 대해 구성된 존을 재사용합니다.
보안 정책과 독립적으로 구성되므로 하나 이상의 정책에서 존을 소스 존으로 지정할 수 있습니다.
존 기반 사용자 ID 로깅을 위해 구성된 존을 소스 존이 아닌 대상 존으로 지정하면 사용자 ID가 로깅되지 않습니다.
이 기능이 작동하려면 다음 정보를 구성해야 합니다.
의도한 보안 정책에서 소스 존(from-zone)으로 사용되는 존에 대해 구성된 소스 ID 로그 명령문입니다.
다음을 지정하는 보안 정책:
소스 존으로 검증된 존
세션 인잇(session-init) 및 세션 종료 이벤트가 해당 작업의 일부로 수행되었습니다.
구성
소스 ID 로깅 기능을 구성하려면 다음 작업을 수행합니다.
CLI 빠른 구성
이 예제를 신속하게 구성하려면 다음 명령을 복사하여 텍스트 파일에 붙여넣고, 줄 바꿈을 제거하고, 네트워크 구성에 필요한 세부 정보를 변경하고, 명령을 계층 수준에서 CLI [edit]
에 복사 및 붙여넣은 다음 구성 모드에서 입력 commit
합니다.
set security zones security-zone trust source-identity-log set security policies from-zone trust to-zone untrust policy appfw-policy1 match source-address any destination-address any application junos-ftp set security policies from-zone trust to-zone untrust policy appfw-policy1 then permit set security policies from-zone trust to-zone untrust policy appfw-policy1 then log session-init set security policies from-zone trust to-zone untrust policy appfw-policy1 then log session-close
소스 아이덴티티 로깅 및 보안 정책에서 사용하기 위해 존 구성
단계별 절차
다음 예제에서는 구성 계층에서 다양한 레벨을 탐색해야 합니다. 그 방법에 대한 지침은 구성 모드의 CLI 에디터 사용(Using in Configuration Mode)을 참조하십시오.
트러스트 존에 대한 소스 ID 로깅을 구성합니다. 이 존이 보안 정책의 소스 존으로 사용되는 경우 시스템은 보안 정책이 적용되는 모든 사용자에 대해 사용자 ID 정보를 세션 로그에 기록합니다.
[edit security] user@host# set zones security-zone trust source-identity-log
appfw-policy1이라는 보안 정책을 구성하여 존 트러스트를 소스 존의 용어로 지정합니다. 소스 ID 로깅은 트래픽이 보안 정책의 tuples와 일치하는 모든 사용자에게 적용됩니다.
이 보안 정책을 통해 사용자는 junos-ftp 서비스에 액세스할 수 있습니다. 사용자에 대한 세션이 설정되면 사용자의 ID가 로깅됩니다. 세션이 종료되었을 때도 로깅됩니다.
[edit security] user@host# set policies from-zone trust to-zone untrust policy appfw-policy1 match source-address any destination-address any application junos-ftp user@host# set policies from-zone trust to-zone untrust policy appfw-policy1 then permit
appfw-policy1 보안 정책의 작업을 구성하여 세션 시작 및 세션 종료 이벤트의 로깅을 포함합니다.
참고:소스 아이덴티티 로그 기능이 효력을 발휘하려면 보안 정책을 구성하여 세션 시작 및 세션 종료 이벤트를 기록해야 합니다. 사용자 ID 정보는 이들 이벤트와 함께 로그에 기록됩니다.
[edit security] user@host# set policies from-zone trust to-zone untrust policy appfw-policy1 then log session-init user@host# set policies from-zone trust to-zone untrust policy appfw-policy1 then log session-close
결과
구성 모드에서 명령을 입력하여 구성을 show security zones
확인합니다. 출력이 의도한 구성을 표시하지 않는 경우 이 예제의 구성 지침을 반복하여 수정합니다.
확인
이 섹션에서는 사용자 세션에 대해 생성된 세션 로그를 보여줍니다. 로그 출력:
세션 시작 시작 시, 그리고 세션 종료 시작 시 다시 나타나는 사용자 이름, user1을 보여줍니다.
사용자 이름을 로그에 작성하게 한 보안 정책 구성은 존 트러스트를 소스 존으로 지정합니다. 존 트러스트는 소스 아이덴티티 로깅을 위해 구성되었습니다.
사용자의 요청 트래픽, 정책 일치 기준 및 NAT 설정에서 얻은 정보를 포함합니다.
Active Directory 데이터베이스에서 얻은 사용자에 대한 ID 정보를 포함합니다. 이 정보에는 사용자의 그룹을 표시하는 "MyCompany/Administrator"의 역할 매개 변수가 포함됩니다.
이 시나리오에서 사용자는 로그가 기록되는 주니퍼 네트웍스 junos-ftp 서비스에 대한 액세스를 요청했습니다. 표 2 는 소스 ID 로그 기능 구성에 특정한 로그의 부품을 호출합니다.
세션 생성
세션 설정 정보를 기록하는 로그의 첫 번째 섹션을 시작하는 세션 시작입니다. 사용자의 이름인 user1은 세션 생성 로그 기록의 시작 부분에 표시됩니다. |
user1 RT_FLOW_SESSION_CREATE |
세션 생성에 이어 보안 정책과 일치하는 사용자의 트래픽을 기반으로 세션을 정의하는 표준 정보가 뒤따릅니다. |
|
소스 주소, 소스 포트, 대상 주소, 대상 포트입니다. |
소스 주소="198.51.100.13/24" 소스 포트="635" 대상-주소="198.51.100.10/24" 대상 포트="51" |
애플리케이션 서비스 사용자가 액세스를 요청하고 보안 정책이 허용하는 애플리케이션 서비스입니다. |
service-name="junos-ftp" |
소스 존, 대상 존 로그 아래로는 소스 존으로서 신뢰를 표시하고 정의된 대상 존과 신뢰할 수 없는 영역을 표시하는 존 규격이 있습니다. |
source-zone-name="trust" destination-zone-name="untrust" |
세션 종료 세션 종료 및 종료를 다루는 로그 레코드의 두 번째 부분을 시작하는 세션 닫기 시작입니다. 사용자의 이름인 user1은 세션 종료 레코드의 시작 부분에 표시됩니다. |
user1 RT_FLOW - RT_FLOW_SESSION_CLOSE |
사용자 ID 정보가 로깅되었는지 확인
목적
통합 사용자 방화벽은 Microsoft Domain Controllers에서만 소스 아이덴티티로 구성된 그룹을 수집한다는 점에 유의하십시오. 소스 아이덴티티를 구성하지 않고 존 기반의 사용자 아이덴티티 기능을 사용하는 경우, 로그에는 사용자 이름(즉, 그룹 정보가 기록되지 않음)만 포함됩니다. 이 경우 로그의 "roles=" 섹션에 "N/A"가 표시됩니다. 다음 예에서는 Source-IDENTITy tuple이 사용되었다고 가정하고 "roles=" 섹션에는 사용자 "Administrator"가 속한 그룹의 긴 목록이 나와 있습니다.
작업
로그 정보를 표시합니다.
샘플 출력
명령어 이름
<14>1 2015-01-19T15:03:40.482+08:00 user1 RT_FLOW - RT_FLOW_SESSION_CREATE [user@host2636 192.0.2.123 source-address=”198.51.100.13“ source-port=”635” destination-address=”198.51.100.10” destination-port=”51” service-name=”junos-ftp” nat-source-address=”203.0.113.10” nat-source-port=”12349” nat-destination-address ="198.51.100.13" nat-destination-port="3522" nat-rule-name="None" dst-nat-rule-name="None" protocol-id="6" policy-name="appfw-policy1" source-zone-name="trust" destination-zone-name="untrust" session-id-22="12245" username="MyCompany/Administrator " roles="administrators, Users, Enterprise Admins, Schema Admins, ad, Domain Users, Group Policy Creator Owners, example-team, Domain Admins" packet-incoming-interface="ge-0/0/0.1" application="UNKNOWN" nested-application="UNKNOWN" encrypted="UNKNOWN"] session created 192.0.2.1/21 junos-ftp 10.1.1.12/32898->10.3.1.10/21 junos-ftp 10.1.1.1/547798->10.1.2.10/21 None None 6 appfw-policy1 trust untrust 20000025 MyCompany/Administrator (administrators, Users, Enterprise Admins, Schema Admins, ad, Domain Users, Group Policy Creator Ownersexample-team, Domain Admins) ge-0/0/0.0 UNKNOWN UNKNOWN UNKNOWN <14>1 2015-01-19T15:03:59.427+08:00 user1 RT_FLOW - RT_FLOW_SESSION_CLOSE [user@host2636 192.0.2.123 reason="idle Timeout” source-address=”198.51.100.13“ source-port=”635”" destination-address=”198.51.100.10” destination-port=”51" service-name="junos-ftp" nat-source-address="203.0.113.10" nat-source-port="12349" nat-destination-address ="198.51.100.13" "nat-destination-port="3522" src-nat-rule-name="None" dst-nat-rule-name="None" protocol-id="6" policy-name="appfw-policy1" source-zone-name="trust" destination-zone-name="untrust"session-id-32="20000025" packets-from-client="3" bytes-from-client="180" packets-from-server="0" bytes-from-server="0" elapsed-time="19" application="INCONCLUSIVE" nested-application="INCONCLUSIVE" username=" J “MyCompany /Administrator” roles="administrators, Users, Enterprise Admins, Schema Admins, ad, Domain Users, Group Policy Creator Owners, example-team, Domain Admins" packet-incoming-interface="ge-0/0/0.1" encrypted="UNKNOWN"] session closed idle Timeout: 111.1.1.10/1234>10.1.1.11/21 junos-ftp 10.1.1.12/32898->10.3.1.10/21 1 None None 6 appfw-policy1 trust untrust 20000025 3(180) 0(0) 19 INCONCLUSIVE INCONCLUSIVE MyCompany/Administrator (administrators, Users, Enterprise Admins, Schema Admins, ad, Domain Users, Group Policy Creator Owners, example-team, Domain Admins) ge-0/0/0.1 UNKNOWN