Network Working Group W. Fan Internet-Draft Huaweisymantec Inc. Intended status: Standards Track February 27, 2009 Expires: August 31, 2009 Syslog Sending Policy Messages draft-fan-syslog-sending-policy-00 Status of This Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire on August 31, 2009. Copyright Notice Copyright (c) 2009 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Fan Expires August 31, 2009 [Page 1] Internet-Draft Syslog Sending Policy Messages February 2009 Provisions Relating to IETF Documents in effect on the date of publication of this document (http://trustee.ietf.org/license-info). Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Abstract This document defines special syslog messages called Sending Policy messages for indicating how syslog senders process syslog messages before sending them. The information Sending Policy messages convey is of interest to syslog receivers and helpful for audit. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions Used in this Document . . . . . . . . . . . . . . 3 3. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Sending Policy . . . . . . . . . . . . . . . . . . . . . . . . 4 4.1. Policy Type . . . . . . . . . . . . . . . . . . . . . . . 4 4.1.1. Priority Policy . . . . . . . . . . . . . . . . . . . 4 4.1.2. Filtering Policy . . . . . . . . . . . . . . . . . . . 4 4.1.3. Persistency Policy . . . . . . . . . . . . . . . . . . 5 4.2. Criteria For Importance Evaluation . . . . . . . . . . . . 5 4.2.1. Based on Priority Value . . . . . . . . . . . . . . . 5 4.2.2. Based on Timestamp Value . . . . . . . . . . . . . . . 5 5. Sending Policy Messages . . . . . . . . . . . . . . . . . . . 6 5.1. Sending Policy Block Format and Fields . . . . . . . . . . 6 5.1.1. Version . . . . . . . . . . . . . . . . . . . . . . . 7 5.1.2. Type . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.1.3. TimeType and TimeValue . . . . . . . . . . . . . . . . 8 5.1.4. Criteria and Threshold . . . . . . . . . . . . . . . . 8 5.2. Usages . . . . . . . . . . . . . . . . . . . . . . . . . . 9 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 6.1. Message stream . . . . . . . . . . . . . . . . . . . . . . 10 6.2. Message loss . . . . . . . . . . . . . . . . . . . . . . . 10 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 11 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.1. Normative References . . . . . . . . . . . . . . . . . . . 11 9.2. Informative References . . . . . . . . . . . . . . . . . . 11 Fan Expires August 31, 2009 [Page 2] Internet-Draft Syslog Sending Policy Messages February 2009 1. Introduction Generally, syslog senders would send all generated messages to targeted receivers. But there would be a different story in some circumstances. For some reason, syslog system may buffer messages before sending them further. When some important messages have been hold in sending queue for a long time, the senders would like to send those urgent messages timely even out of order they are in sending queue or they were generated. When transport senders are going to drain their sending queue, they would not be able to send all the messages timely. In this case, senders would filter out less important messages to reduce queue overload or store new coming messages persistently in disk for sending them later. These scenarios may be not rare in real world. When congestion control is applied to syslog transport, some mechanisms will be employed to adjust sending rate based on feedback approach. When network congestion occurs, in order to reduce package loss in transit and improve network throughout, sending rate will slow down. Congestion control increase the latency of messages sending and the chance sending queue is full. Message burst due to malicious behaviors is likely to exhaust sending queue, too. When senders process messages before sending them, something would have happend, e.g, network congestion occurs or intrusion led to log messages burst. So the event that senders process messages before sending them might be an alert to operators. Additionally, the information how senders process messages before sending them is of interest to receivers and helpful for audit, e.g, the information which messages are more important than others may be of value to receivers. For an instance, when receivers can identify the more important messages from the sender's perspective, it could handle this event timely when many messages near-simultaneously arrive. For another instance, taking into account that the sender has dropped which messages during which period of time may help us do a more accurate audit. This document defines special messages called Sending Policy messages to notify this kind of event and deliver this information. 2. Conventions Used in this Document 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 RFC 2119 [RFC2119]. Fan Expires August 31, 2009 [Page 3] Internet-Draft Syslog Sending Policy Messages February 2009 3. Definitions o Message refer to syslog message whose on-the-wire format is defined in section 6, [RFC5424]. o Sender refer to transport sender which is defined in section 3, [RFC5424]. o Receiver refer to transport receiver which is defined in section 3, [RFC5424]. o Sending queue is a conceptual buffer for buffering messages to be sent in sender's side. o Receiving queue is a conceptual buffer for buffering messages to be received and processed in receiver's side. 4. Sending Policy A Sending Policy contains an action senders take on messages before sending them and criteria which are used to evaluate the importance of messages. Actions should be taken based on criteria. 4.1. Policy Type According to what kind of actions senders would take, Sending Policies can be probably divided into three category: 4.1.1. Priority Policy When latency occurs, senders would like to send the more important messages timely even out of order the messages were generated or are in sending queue. How to evaluate the importance of messages depend on what criteria senders adopts.The criteria are of interest to the receiver, as the receiver can also pick up important messages to be processed timely when it starves, i.e, when so many near- simultaneously messages arrive. Priority Policy indicates messages would be sent based on level of importance even out of order they were generated or are in sending queue. Priority Policy also contains the criteria adopted to evaluate the importance of messages. 4.1.2. Filtering Policy When the number of messages to be sent increases, it is possible to drain the sending queue. Senders may simply dropping messages to alleviate sending queue load. Comparing to messages dropped by Fan Expires August 31, 2009 [Page 4] Internet-Draft Syslog Sending Policy Messages February 2009 routers in transit, senders has more sense what messages they'd like to abondon whilst the others preserved. We assume senders always drop less important messages. This policy may do not affect receiver's behavior very much. But when audit later, it would do more accurate analysis by taking criteria which are used to evaluate importance of messages into account. Filtering Policy indicates some messages would be dropped based on their importance. Filtering Policy also contains the criteria adopted to evaluate the importance of messages. 4.1.3. Persistency Policy As an alternative to Filtering Policy, Senders may want to store the messages persistently for more reliability but less timeliness. This policy may not affect receiver's bahavior very much. The event that this policy has been applied may be of interest to receivers. It would be considered as an alert indicating congestion occurs or messages burst. 4.2. Criteria For Importance Evaluation Persistency Policy do not care about importance of messages, since no messages dropping and no messages sent out of order. With regard to Priority Policy and Filtering Policy, they both need to identify the more important messages to be processed before sending them. There are commonly 2 ways to evaluate importance of syslog messages: 4.2.1. Based on Priority Value Priority Value consists of two parts: Facility and Severity. Facility value takes value from 0 to 23. Severity value takes value from 0 to 6. In both cases, the lower the value is, the more important the message is. 4.2.2. Based on Timestamp Value Timestamp Value is not mandatory in syslog messages, but when it shows up, it indicates the time when message was generated. When we filter out messages, we can simply dropping new coming messages or let new coming messages override the old ones(e.g, circular queue). The latter takes newer message more valuable, but the former takes newer message less important. Priority Policy would not base on these criteria. Fan Expires August 31, 2009 [Page 5] Internet-Draft Syslog Sending Policy Messages February 2009 5. Sending Policy Messages Sending Policy Messages are used to contain policies specified in section 4 and the event when specific policy was applied or revoked. These information are carried as Sending Policy Blocks in Sending Policy Messages actually. There is a need to distinguish the Sendig Policy Block itself from the syslog message that is used to carry a Sending Policy Block. Sending Policy Blocks MUST be encompassed within completely formed syslog messages. Syslog messages that contain a Sending Policy Block are also referred to as Sending Policy messages. A Sending Policy message is identified by the presence of an SD ELEMENT with an SD-ID with the value "sending-policy". In addition, a Sending Policy message MUST contain valid APP-NAME, PROCID, and MSGID fields to be compliant with [RFC5424]. This specification does not mandate particular values for these fields; however, for consistency, originators MUST use the same values for APP-NAME, PROCID, and MSGID fields for every Sending Policy message that is sent, whichever values are chosen. To allow for the possibility of multiple originators per host, the combination of APP-NAME, PROCID, and MSGID MUST be unique for each such originator. If an originator daemon is restarted, it MAY use a new PROCID for what is otherwise the same originator but MUST continue to use the same APP-NAME and MSGID. The Sending Policy Block is carried as Structured Data within the Sending Policy Block message, per the definitions that follow in the subsection. The MSG part of a Sending Policy message SHOULD be any readable text for explaining the Sending Policy Block. 5.1. Sending Policy Block Format and Fields The Sending Policy Block MUST be encoded as an SD ELEMENT, as defined in [RFC5424]. The SD-ID MUST have the value of "sending-policy". The SDE contains the fields of the Sending Policy Block encoded as SD Parameters, as specified in the following. The Sending Policy Block is composed of the following fields. The value of each field MUST be printable ASCII. Fan Expires August 31, 2009 [Page 6] Internet-Draft Syslog Sending Policy Messages February 2009 +-----------+---------------+----------------+ | Field | SD-PARAM-NAME | Size in octets | +-----------+---------------+----------------+ | Version | VER | 2 | | Type | TYPE | 1 | | TimeType | TT | 1 | | TimeValue | TV | 1-50 | | Criteria | CRI | 1 | | Threshold | THRE | 1-10 | +-----------+---------------+----------------+ The fields MUST be provided in the order listed if they were present. Each SD parameter MUST occur once in the Sending Policy Block. Version is mandatory. A Sending Policy Block is likely to be accordingly encoded as follows, where xxx denotes a placeholder for the particular values: [sending-policy VER="xxx" TYPE="xxx" TT="xxx" TV="xxx" CRI="xxx" THRE="xxx"] Values of the fields constitute SD parameter values and are hence enclosed in quotes, per [RFC5424]. The fields are separated by single spaces and are described in the subsequent subsections. 5.1.1. Version The Version field is a numeric value that has a length of 2 octets, which may include leading zeroes. The two octets contain a decimal character in the range of "0" to "9". The value in this field specifies the version of this Block with "01" as the value for the protocol version that is described in this document. 5.1.2. Type This field indicates which type of policies specified in section 4 the sender has adopted. The TYPE parameter may take any value from 0-2 inclusive. a. "0" -- Priority Policy has been adopted by the sender. b. "1" -- Filtering Policy has been adopted by the sender. c. "2" -- Persistency Policy has been adopted by the sender. Fan Expires August 31, 2009 [Page 7] Internet-Draft Syslog Sending Policy Messages February 2009 5.1.3. TimeType and TimeValue The two fields show us when the sender starts to apply the policy indicated in TYPE field or when the sender revokes it, that is dependent on TimeType Value. TT parameter may take any value from 0-1 inclusive a. "0" -- Subsequent TimeValue field represent start time. b. "1" -- Subsequent TimeValue field represent end time. When Priority Policy was applied, if TT Value equals "0", TV Value SHOULD be the TIMESTAMP Value of the first message out of order; if TT Value equals "1", TV Value SHOULD be the TIMESTAMP Value of the last message out of order. When Filtering Policy was applied, if TT Value equals "0", TV Value SHOULD be the TIMESTAMP Value of the first message dropped; if TT Value equals "1", TV Value SHOULD be the TIMESTAMP Value of the last message dropped. When Persistency Policy was applied, if TT Value equals "0" or "1", TV Value SHOULD be the system time when the Policy message was sent(I.e., TV Value equals to TIMESTAMP Value in message HEADER). sending-policy SDE can convey only criteria for importance evaluation, in this case, no indicator for policy has been applied or revoked, so this two field can be absent. TV parameter is a formalized timestamp derived from [RFC3339] and follow the restrictions specified in [RFC5424](section 6.2.3). 5.1.4. Criteria and Threshold Criteria field indicates the criteria which are used to evaluate the importance of messages. Criteria parameter may take any value from 0-2 inclusive. a. "0" -- Evaluate importance of a message based on Severity Value which is a part of PRI Value contained in HEADER part. b. "1" -- Evaluate importance of a message based on Facility Value which is a part of PRI Value contained in HEADER part. c. "2" -- Evaluate importance of a message based on Timestamp Value contained in HEADR part. When Criteria field takes value "2", Threshold Value indicates Fan Expires August 31, 2009 [Page 8] Internet-Draft Syslog Sending Policy Messages February 2009 whether earlier or older messages are considered more important. In this case, Threshold Value can be intepreted in this way: a. "0" -- the earlier messages were generated, more important they were. b. "1" -- the older messages were generated, more important they were. When Criteria field takes value "0" or "1", Threshold Value indicates the border of more important messages and less important messages. E.g, when Criteria parameter takes value "0", and, Threshold Value equals "3", that means any messages bearing severity Value greater than 3 may be dropped(when Filter Policy was adopted) or delayed their sending(when Priority Policy was adopted). When Persistency Policy was adopted, these two fields can be absent. 5.2. Usages Sending Policy messages can only convey criteria for importance evaluation, in this case, Version, CRI and THRE MUST be present. E.g., senders would send this messages following the session is established. The following example shows the criteria are that messages bearing Severity Value which is less than or equals to 3 are more important. [sending-policy VER="01" CRI="0" THRE="3"] When Sending Policy messages are used as event notification, TT and TV MUST be present, CRI and THRE MUST be present unless criteria for importance evaluation have been delivered before. two Sending Policy messages are recommended to indicate event start and event end respectively. In this case, Sending Policy messages SHOULD have enough high priority to be sent timely and avoid being filtered out. The following example shows Filtering Policy has been adopted by the sender and the first affected message(i.e. the first message dropped) was generated on Feb 24 2009 05:14:15am, 3 microseconds into the next second( and the local time is -7 hours from UTC). The CRI and THRE are interpreted as last example [sending-policy VER="01" TYPE="1" TT="0" TV="2009-02- 24T05:14:15.000003-07:00" CRI="0" THRE="3"] Fan Expires August 31, 2009 [Page 9] Internet-Draft Syslog Sending Policy Messages February 2009 6. Security Considerations This specification shares the same security considerations addressed in section 8.5, [RFC5424]. Additionally, two issues should be taken care of. 6.1. Message stream When Priority Policy was applied, syslog messages may be sent out of order they were generated. The receivers should not reconstruct sequence of events based on the order they were received. In this case, TIMESTAMP may be used to do this work. Besides, when Priority Policy message is used as real-time event notification, syslog-sign may not work well in this case, since the urgent message sent out of order can not be verified until the corresponding Signature message has been interpreted. By the same token, receivers would not process messages out of order they were received. 6.2. Message loss When Filtering Policy was applied, syslog messages may be lost by senders. In this case, Sending Policy messages could tell what kind of messages was dropped. If syslog-sign is also applied, syslog-sign can tell how many and which messages was dropped. It is recommended that Signature Block messages have enough high priority to avoid being filtered out by senders easily. If UDP-like congestion control is adopted for syslog transport, Sending Policy messages themselves would probably be lost in transit. Sending Policy messages should be sent several times in this case. 7. IANA Considerations IANA is requested to register the SD-ID value "sending-policy" together with the PARAM-NAME values specified in Section 5.1 in the registry for SYSLOG structured data id values according to section 9 in [RFC5424]. +----------------+------------+-----------+ | SD-ID | PARAM-NAME | | +----------------+------------+-----------+ | sending-policy | | | | | VER | mandatory | | | TYPE | optional | | | TT | optional | | | TV | optional | | | CRI | optional | Fan Expires August 31, 2009 [Page 10] Internet-Draft Syslog Sending Policy Messages February 2009 | | THRE | optional | +----------------+------------+-----------+ 8. Acknowledgements 9. References 9.1. Normative References [RFC5424] Gerhards, R., "The syslog Protocol", RFC 5424, December 2008. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 9.2. Informative References [RFC3339] Klyne, G. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, July 2002. Author's Address Washam Fan Huaweisymantec Inc. Building 17 Zhongguancun Software Park No.8 Dongbeiwang West Road Beijing 100085 PRC Phone: +86 010 58791314 EMail: washam.fan@huaweisymantec.com Fan Expires August 31, 2009 [Page 11]