<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "../rfc2629.dtd"[
  <!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
  <!ENTITY RFC6241 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6241.xml">
  <!ENTITY RFC6020 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6020.xml">
]>
<?xml-stylesheet type="text/css" href="../rfc7749.css"?>
<rfc ipr="trust200902" category="info" docName="draft-waltermire-panic-scope-02">
  <!-- Working draft of draft05 -->
  <?rfc compact="yes"?>
  <?rfc subcompact="no"?>
  <?rfc toc="yes"?>
  <?rfc symrefs="yes"?>
  <front>
    <title abbrev="PANIC Scope">Posture Assessment Through Posture
      Information Collection Discussion Scope</title>
    <author fullname="David Waltermire" initials="D.W." surname="Waltermire">
      <organization abbrev="NIST">National Institute of Standards and
        Technology</organization>
      <address>
        <postal>
          <street>100 Bureau Drive</street>
          <city>Gaithersburg</city>
          <region>Maryland</region>
          <code>20877</code>
          <country>USA</country>
        </postal>
        <phone/>
        <email>david.waltermire@nist.gov</email>
      </address>
    </author>
        <author fullname="Jessica Fitzgerald-McKay" initials="J.M."
      surname="Fitzgerald-McKay">
      <organization>Department of Defense</organization>
      <address>
        <postal>
          <street>9800 Savage Road</street>
          <city>Ft. Meade</city>
          <region>Maryland</region>
          <country>USA</country>
        </postal>
        <email>jmfitz2@nsa.gov</email>
      </address>
    </author>
    <date year="2017"/>

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Security</area>

    <workgroup>Internet Engineering Task Force</workgroup>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>posture network device assessment</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>This document defines an intended discussion scope for the
        non-working group posture assessment through network information
        collection (PANIC) non-WG discussion list.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Network operators need to know what is connected to their
        organization's networks so that they can properly manage those
        network elements. Managing these network elements, consisting of
        physical and virtual network infrastructure devices, requires
        access to information pertaining to these endpoint devices,
        including endpoint identity, the identity of software installed
        on the endpoint, and the configuration settings for the
        installed software. This information can be collected from
        different classes of endpoints over different protocols and
        using different data models. PANIC will identify a standardized
        solution to collect posture information for network devices, and
        allow that information to be shared with authorized users and
        devices on the network supporting security automation. PANIC
        aims to reuse available standards for posture assessment where
        possible. In particular, PANIC will leverage <xref target="RFC6241">NETCONF</xref>", extending the <xref target="RFC6020">YANG</xref> data model as necessary to meet PANIC requirements. The PANIC effort will avoid redefining information
        exchange technologies for use cases that have already been
        defined. </t>
    </section>
    
      <section title="Terminology">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in <xref
        target="RFC2119">RFC 2119</xref>.</t>
      </section>

    <section title="Components">
      <t>The solution will consist of the following components:<list style="hanging">
        <t hangText="Network Device:">Endpoints such as routers, switches, firewalls.
          Virtualized network functions are currently considered in scope.</t>
        <t hangText="Posture Server:">Collects information from the network device.
          Receives information via pushes, and requests information via pulls.</t>
        <t hangText="Data Repository:">Stores the information collected by the posture server from the network device.</t>
      </list></t>
        
        <figure align="center" anchor="xml_happy">
          <preamble>PANIC components</preamble>
          
          <artwork align="center"><![CDATA[
------------            
| Network  |----------
|  Device  |         |          
------------   ------------        
               | Posture  |    ________
               |  Server  |---/        \
------------   ------------   |  Data  |                
| Network  |         |        | Store  |
|  Device  |----------        \________/
------------
]]></artwork>
        </figure>
    </section>

    <section title="PANIC Solution Requirements">
      <t>The solution will meet the following requirements:<list style="hanging">
        <t hangText="Information Requirements for Network Device Management:">PANIC will identify a minimal set of information necessary to manage network devices and to support network security functions including configuration and vulnerability management. Additional information may also be used through extension mechanisms identified by PANIC.</t>
		<t hangText="Authorized Posture Server Discovery:">Network devices will be able to identify the posture servers with which they are authorized to communicate. PANIC will identify requirements in support of a Posture Server discovery capability.</t>
		<t hangText="Data Push Functionality:">Network devices will push information to an authorized Posture Server. Data pushes will be event driven. PANIC will identify what data should be pushed from the network device, and what events will trigger a push. Data pushes from Posture Server to Network Device (for example, pushing new configurations to a network device) are out of scope for PANIC.</t>
        <t hangText="Data Pull Functionality:">A Posture Server will pull information from a network device. Data pulls will be driven by requests to the server. PANIC will identify what data should be pulled from the network device, and how requests for the server to pull will be made.</t>
        <t hangText="Secure Transport of Data:">Data between the network device and the Posture Server will be protected in transit by a protocol that provides authorization and authentication. PANIC will identify the protocols that can be used for transport of posture information.</t>
        <t hangText="Secure Storage of Data:">Network device data reported to a posture server will be stored in a data repository. This data can be used to support numerous security functions on the network; therefore, this repository should be accessible by (and only by) authorized users and devices. PANIC will identify requirements for a centralized data repository, including requirements for a secure interface between between a Posture Server and a Data Repository.</t>
        <t hangText="Standardized Data Model:">Network device data will be expressed in a standardized data model that enables use and reuse of the data. PANIC will identify available data models for the expression of required information and the models used for a given exchange of posture.</t>
      </list></t>
      <t>Note: Use of <xref target="RFC2119"/> text is omitted at this point. More discussion is needed around these requirements.</t>
    </section>
<!--
    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>This template was derived from an initial version written by Pekka
      Savola and contributed by him to the xml2rfc project.</t>

      <t>This document is part of a plan to make xml2rfc indispensable <xref
      target="DOMINATION"></xref>.</t>
    </section>
-->
    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>This memo includes no request to IANA.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>The solution described by this document provides a mechanism to
        gather network device posture into a centralized datastore.
        Discussion is needed here about:<list style="symbol">
          
        <t>The need to protect such an information collection from unauthorized access or disclosure</t>
        <t>Privacy considerations around how the endpoint devices is identified when posture is gathered</t>
        <t>The threat introduced to the network elements by the posture information collection.
          There should be protections implemented to prevent the element from being vulnerable to DoS attacks by frequent polling or pushing of posture data.</t>
      </list></t>
    </section>
  </middle>

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC2119;
	 
    </references>

    <references title="Informative References">
	
	  &RFC6241;
	  &RFC6020;
    </references>

    <!-- Change Log

v00 2018-03-31  DAW   Initial version
v01 2017-07-23  JMF   Updates from list discussion, including explicit mention of NETCONF/YANG, Posture Server Discovery Requirements
    -->
  </back>
</rfc>
