Wed Jan 8 2020 09:50:20

Asterisk developer's documentation


security_events_defs.h File Reference

Security Event Reporting Data Structures. More...

#include "asterisk/network.h"

Go to the source code of this file.

Data Structures

struct  ast_security_event_auth_method_not_allowed
 Auth method used not allowed. More...
 
struct  ast_security_event_chal_resp_failed
 An attempt at challenge/response auth failed. More...
 
struct  ast_security_event_common
 Common structure elements. More...
 
struct  ast_security_event_failed_acl
 Checking against an IP access control list failed. More...
 
struct  ast_security_event_inval_acct_id
 Invalid account ID specified (invalid username, for example) More...
 
struct  ast_security_event_inval_password
 An attempt at basic password auth failed. More...
 
struct  ast_security_event_ipv4_addr
 
struct  ast_security_event_load_avg
 Request denied because of a load average limit. More...
 
struct  ast_security_event_mem_limit
 Request denied because of a memory limit. More...
 
struct  ast_security_event_req_bad_format
 Invalid formatting of request. More...
 
struct  ast_security_event_req_no_support
 Request denied because we don't support it. More...
 
struct  ast_security_event_req_not_allowed
 Request denied because it's not allowed. More...
 
struct  ast_security_event_session_limit
 Request denied because of a session limit. More...
 
struct  ast_security_event_successful_auth
 Successful authentication. More...
 
struct  ast_security_event_unexpected_addr
 Unexpected source address for a session in progress. More...
 

Macros

#define AST_SEC_EVT(e)   ((struct ast_security_event_common *) e)
 
#define AST_SECURITY_EVENT_AUTH_METHOD_NOT_ALLOWED_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_CHAL_RESP_FAILED_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_FAILED_ACL_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_INVAL_ACCT_ID_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_INVAL_PASSWORD_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_LOAD_AVG_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_MEM_LIMIT_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_REQ_BAD_FORMAT_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_REQ_NO_SUPPORT_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_REQ_NOT_ALLOWED_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_SESSION_LIMIT_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_SUCCESSFUL_AUTH_VERSION   1
 Event descriptor version. More...
 
#define AST_SECURITY_EVENT_UNEXPECTED_ADDR_VERSION   1
 Event descriptor version. More...
 

Enumerations

enum  ast_security_event_severity { AST_SECURITY_EVENT_SEVERITY_INFO = (1 << 0), AST_SECURITY_EVENT_SEVERITY_ERROR = (1 << 1) }
 the severity of a security event More...
 
enum  ast_security_event_transport_type { AST_SECURITY_EVENT_TRANSPORT_UDP, AST_SECURITY_EVENT_TRANSPORT_TCP, AST_SECURITY_EVENT_TRANSPORT_TLS }
 Transport types. More...
 
enum  ast_security_event_type {
  AST_SECURITY_EVENT_FAILED_ACL, AST_SECURITY_EVENT_INVAL_ACCT_ID, AST_SECURITY_EVENT_SESSION_LIMIT, AST_SECURITY_EVENT_MEM_LIMIT,
  AST_SECURITY_EVENT_LOAD_AVG, AST_SECURITY_EVENT_REQ_NO_SUPPORT, AST_SECURITY_EVENT_REQ_NOT_ALLOWED, AST_SECURITY_EVENT_AUTH_METHOD_NOT_ALLOWED,
  AST_SECURITY_EVENT_REQ_BAD_FORMAT, AST_SECURITY_EVENT_SUCCESSFUL_AUTH, AST_SECURITY_EVENT_UNEXPECTED_ADDR, AST_SECURITY_EVENT_CHAL_RESP_FAILED,
  AST_SECURITY_EVENT_INVAL_PASSWORD, AST_SECURITY_EVENT_NUM_TYPES
}
 Security event types. More...
 

Detailed Description

Security Event Reporting Data Structures.

Author
Russell Bryant russe.nosp@m.ll@d.nosp@m.igium.nosp@m..com

Definition in file security_events_defs.h.

Macro Definition Documentation

#define AST_SECURITY_EVENT_AUTH_METHOD_NOT_ALLOWED_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 343 of file security_events_defs.h.

#define AST_SECURITY_EVENT_CHAL_RESP_FAILED_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 427 of file security_events_defs.h.

Referenced by report_failed_challenge_response().

#define AST_SECURITY_EVENT_FAILED_ACL_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 211 of file security_events_defs.h.

Referenced by report_failed_acl().

#define AST_SECURITY_EVENT_INVAL_ACCT_ID_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 232 of file security_events_defs.h.

Referenced by report_invalid_user().

#define AST_SECURITY_EVENT_INVAL_PASSWORD_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 458 of file security_events_defs.h.

Referenced by report_inval_password().

#define AST_SECURITY_EVENT_LOAD_AVG_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 280 of file security_events_defs.h.

#define AST_SECURITY_EVENT_MEM_LIMIT_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 264 of file security_events_defs.h.

#define AST_SECURITY_EVENT_REQ_BAD_FORMAT_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 364 of file security_events_defs.h.

Referenced by report_req_bad_format().

#define AST_SECURITY_EVENT_REQ_NO_SUPPORT_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 296 of file security_events_defs.h.

#define AST_SECURITY_EVENT_REQ_NOT_ALLOWED_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 317 of file security_events_defs.h.

Referenced by report_req_not_allowed().

#define AST_SECURITY_EVENT_SESSION_LIMIT_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 248 of file security_events_defs.h.

Referenced by report_session_limit().

#define AST_SECURITY_EVENT_SUCCESSFUL_AUTH_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 390 of file security_events_defs.h.

Referenced by report_auth_success().

#define AST_SECURITY_EVENT_UNEXPECTED_ADDR_VERSION   1

Event descriptor version.

Note
This must be changed if this event descriptor is changed.

Definition at line 406 of file security_events_defs.h.

Enumeration Type Documentation

the severity of a security event

This is defined as a bit field to make it easy for consumers of the API to subscribe to any combination of the defined severity levels.

XXX

Todo:
Do we need any more levels here?
Enumerator
AST_SECURITY_EVENT_SEVERITY_INFO 

Informational event, not something that has gone wrong.

AST_SECURITY_EVENT_SEVERITY_ERROR 

Something has gone wrong.

Definition at line 126 of file security_events_defs.h.

126  {
127  /*! \brief Informational event, not something that has gone wrong */
129  /*! \brief Something has gone wrong */
131 };
Informational event, not something that has gone wrong.

Transport types.

Enumerator
AST_SECURITY_EVENT_TRANSPORT_UDP 
AST_SECURITY_EVENT_TRANSPORT_TCP 
AST_SECURITY_EVENT_TRANSPORT_TLS 

Definition at line 136 of file security_events_defs.h.

Security event types.

AST_EVENT_SECURITY is the event type of an ast_event generated as a security event. The event will have an information element of type AST_EVENT_IE_SECURITY_EVENT which identifies the security event sub-type. This enum defines the possible values for this sub-type.

Enumerator
AST_SECURITY_EVENT_FAILED_ACL 

Failed ACL.

This security event should be generated when an incoming request was made, but was denied due to configured IP address access control lists.

AST_SECURITY_EVENT_INVAL_ACCT_ID 

Invalid Account ID.

This event is used when an invalid account identifier is supplied during authentication. For example, if an invalid username is given, this event should be used.

AST_SECURITY_EVENT_SESSION_LIMIT 

Session limit reached.

A request has been denied because a configured session limit has been reached, such as a call limit.

AST_SECURITY_EVENT_MEM_LIMIT 

Memory limit reached.

A request has been denied because a configured memory limit has been reached.

AST_SECURITY_EVENT_LOAD_AVG 

Load Average limit reached.

A request has been denied because a configured load average limit has been reached.

AST_SECURITY_EVENT_REQ_NO_SUPPORT 

A request was made that we understand, but do not support.

AST_SECURITY_EVENT_REQ_NOT_ALLOWED 

A request was made that is not allowed.

AST_SECURITY_EVENT_AUTH_METHOD_NOT_ALLOWED 

The attempted authentication method is not allowed.

AST_SECURITY_EVENT_REQ_BAD_FORMAT 

Request received with bad formatting.

AST_SECURITY_EVENT_SUCCESSFUL_AUTH 

FYI FWIW, Successful authentication has occurred.

AST_SECURITY_EVENT_UNEXPECTED_ADDR 

An unexpected source address was seen for a session in progress.

AST_SECURITY_EVENT_CHAL_RESP_FAILED 

An attempt at challenge/response authentication failed.

AST_SECURITY_EVENT_INVAL_PASSWORD 

An attempt at basic password authentication failed.

AST_SECURITY_EVENT_NUM_TYPES 

Definition at line 44 of file security_events_defs.h.

44  {
45  /*!
46  * \brief Failed ACL
47  *
48  * This security event should be generated when an incoming request
49  * was made, but was denied due to configured IP address access control
50  * lists.
51  */
53  /*!
54  * \brief Invalid Account ID
55  *
56  * This event is used when an invalid account identifier is supplied
57  * during authentication. For example, if an invalid username is given,
58  * this event should be used.
59  */
61  /*!
62  * \brief Session limit reached
63  *
64  * A request has been denied because a configured session limit has been
65  * reached, such as a call limit.
66  */
68  /*!
69  * \brief Memory limit reached
70  *
71  * A request has been denied because a configured memory limit has been
72  * reached.
73  */
75  /*!
76  * \brief Load Average limit reached
77  *
78  * A request has been denied because a configured load average limit has been
79  * reached.
80  */
82  /*!
83  * \brief A request was made that we understand, but do not support
84  */
86  /*!
87  * \brief A request was made that is not allowed
88  */
90  /*!
91  * \brief The attempted authentication method is not allowed
92  */
94  /*!
95  * \brief Request received with bad formatting
96  */
98  /*!
99  * \brief FYI FWIW, Successful authentication has occurred
100  */
102  /*!
103  * \brief An unexpected source address was seen for a session in progress
104  */
106  /*!
107  * \brief An attempt at challenge/response authentication failed
108  */
110  /*!
111  * \brief An attempt at basic password authentication failed
112  */
114  /* \brief This _must_ stay at the end. */
116 };
An attempt at basic password authentication failed.
FYI FWIW, Successful authentication has occurred.
The attempted authentication method is not allowed.
A request was made that is not allowed.
An unexpected source address was seen for a session in progress.
Request received with bad formatting.
Load Average limit reached.
An attempt at challenge/response authentication failed.
A request was made that we understand, but do not support.