Documentation
¶
Index ¶
- Constants
- type Action
- type AdditionalData
- type Address
- type Alert
- type AlertIdent
- type Analyzer
- type Assessment
- type Classification
- type Confidence
- type CorrelationAlert
- type File
- type FileAccess
- type Heartbeat
- type Impact
- type Linkage
- type Message
- type Node
- type Permission
- type Process
- type Reference
- type Service
- type Source
- type Target
- type Time
- type User
- type UserID
- type WebService
Constants ¶
View Source
const ( IPV4Addr = "ipv4-addr" IPV4AddrHex = "ipv4-addr-hex" IPV4NetMask = "ipv4-net-mask" CategoryOSDevice = "os-device" LocationConsole = "console" LocationLocal = "local" ServiceDNS = "dns" ServiceFinger = "finger" ServiceLogin = "login" ServiceNIS = "nis" ServiceNISPlus = "nisplus" UserIDTypeCurrentUser = "current-user" UserIDTypeOriginalUser = "original-user" UserIDTypeTargetUser = "target-user" UserIDTypeGroupPrivs = "group-privs" UserIDTypeUserPrivs = "user-privs" OriginUserSpecific = "user-specific" OriginVendorSpecific = "vendor-specific" DateTime = "date-time" StartTime = "start-time" StopTime = "stop-time" TypeReal = "real" )
View Source
const ( XMLNSIDMEFURL = "http://iana.org/idmef" XMLNSIDMEFVersion = "1.0" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdditionalData ¶ added in v0.2.0
type Alert ¶
type Alert struct {
MessageID string `xml:"messageid,attr,omitempty"`
Analyzer Analyzer `xml:"idmef:Analyzer"` // Exactly one.
CreateTime Time `xml:"idmef:CreateTime"` // Exactly one.
DetectTime *Time `xml:"idmef:DetectTime"` // Zero or one
AnalyzerTime *Time `xml:"idmef:AnalyzerTime"` // Zero or one.
Source []Source `xml:"idmef:Source"` // Zero or more.
Target []Target `xml:"idmef:Target"` // Zero or more.
Classification Classification `xml:"idmef:Classification"` // Exactly one.
Assessment *Assessment `xml:"idmef:Assessment"`
CorrelationAlert *CorrelationAlert `xml:"idmef:CorrelationAlert"` // Zero or one.
AdditionalData []AdditionalData `xml:"idmef:AdditionalData"`
}
type AlertIdent ¶ added in v0.3.0
type Analyzer ¶
type Analyzer struct {
AnalyzerID string `xml:"analyzerid,attr"`
Name string `xml:"name,attr,omitempty"`
Manufacturer string `xml:"manufacturer,attr,omitempty"`
Model string `xml:"model,attr,omitempty"`
Version string `xml:"version,attr,omitempty"`
Class string `xml:"class,attr,omitempty"`
OSType string `xml:"ostype,attr,omitempty"`
OSVersion string `xml:"osversion,attr,omitempty"`
Node *Node `xml:"idmef:Node"`
Process *Process `xml:"idmef:Process"`
}
Analyzer class identifies the analyzer from which the Alert or Heartbeat message originates. Only one analyzer may be encoded for each alert or heartbeat, and that MUST be the analyzer at which the alert or heartbeat originated. Although the IDMEF data model does not prevent the use of hierarchical intrusion detection systems (where alerts get relayed up the tree), it does not provide any way to record the identity of the "relay" analyzers along the path from the originating analyzer to the manager that ultimately receives the alert. (from RFC 4765)
type Assessment ¶ added in v0.2.0
type Assessment struct {
Impact *Impact `xml:"idmef:Impact,omitempty"`
Action []Action `xml:"idmef:Action,omitempty"`
Confidence *Confidence `xml:"idmef:Confidence,omitempty"`
}
type Classification ¶
type Confidence ¶ added in v0.2.0
type Confidence struct {
Rating string `xml:"rating,attr,omitempty"`
}
type CorrelationAlert ¶ added in v0.3.0
type CorrelationAlert struct {
Name string `xml:"idmef:name,omitempty"`
AlertIdent []AlertIdent `xml:"idmef:alertident,omitempty"`
}
type File ¶ added in v0.2.0
type File struct {
Category string `xml:"category,attr,omitempty"`
FSType string `xml:"fstype,attr,omitempty"`
Name string `xml:"idmef:name,omitempty"`
Path string `xml:"idmef:path,omitempty"`
FileAccess []FileAccess `xml:"idmef:FileAccess,omitempty"`
Linkage *Linkage `xml:"idmef:Linkage,omitempty"`
}
type FileAccess ¶ added in v0.2.0
type FileAccess struct {
UserID *UserID `xml:"idmef:UserId,omitempty"`
Permission []Permission `xml:"idmef:permission,omitempty"`
}
type Heartbeat ¶ added in v0.3.0
type Heartbeat struct {
MessageID string `xml:"messageid,attr,omitempty"`
Analyzer Analyzer `xml:"idmef:Analyzer"` // Exactly one.
CreateTime Time `xml:"idmef:CreateTime"` // Exactly one.
AdditionalData []AdditionalData `xml:"idmef:AdditionalData"`
}
type Message ¶
type Message struct {
XMLName xml.Name `xml:"idmef:IDMEF-Message"`
XMLNSIDMEF string `xml:"xmlns:idmef,attr"`
Version string `xml:"version,attr"`
Alert *Alert `xml:"idmef:Alert"`
Heartbeat *Heartbeat `xml:"idmef:Heartbeat"`
}
Message is for authoring. For parsing use `github.com/grokify/go-idmef/unmarshal/Message`.
type Permission ¶ added in v0.2.0
type Permission struct {
Perms string `xml:"perms,attr,omitempty"`
}
type Service ¶ added in v0.2.0
type Service struct {
Ident string `xml:"ident,attr,omitempty"`
Name string `xml:"idmef:name,omitempty"`
Port int `xml:"idmef:port,omitempty"`
Portlist string `xml:"idmef:portlist,omitempty"`
WebService *WebService `xml:"idmef:WebService,omitempty"`
}
type Target ¶ added in v0.2.0
type Target struct {
Ident string `xml:"ident,attr,omitempty"`
Decoy string `xml:"decoy,attr,omitempty"` // Target
Node *Node `xml:"idmef:Node,omitempty"`
User *User `xml:"idmef:User,omitempty"`
Process *Process `xml:"idmef:Process,omitempty"`
Service *Service `xml:"idmef:Service,omitempty"`
File *File `xml:"idmef:File,omitempty"`
}
type Time ¶
func (*Time) InflateNtpStamp ¶
func (t *Time) InflateNtpStamp()
type WebService ¶ added in v0.3.0
Click to show internal directories.
Click to hide internal directories.