Documentation
¶
Index ¶
- Variables
- func ParseMonitorPath(path string) (int, string, error)
- type EstimateRuleSrcCallback
- type FaMonProbeData
- type FaNotify
- func (fn *FaNotify) AddMonitorDirFile(path string, filter interface{}, protect, userAdded bool, ...) bool
- func (fn *FaNotify) AddMonitorFile(path string, filter interface{}, protect, userAdded bool, cb NotifyCallback, ...) bool
- func (fn *FaNotify) AddMonitorFileOnTheFly(path string, filter interface{}, protect, userAdded bool, cb NotifyCallback, ...) bool
- func (fn *FaNotify) Close()
- func (fn *FaNotify) ContainerCleanup(rootPid int)
- func (fn *FaNotify) GetProbeData(m *FaMonProbeData)
- func (fn *FaNotify) GetWatchFileList(rootPid int) []*share.CLUSFileMonitorFile
- func (fn *FaNotify) GetWatches() []*share.CLUSFileMonitorFile
- func (fn *FaNotify) MonitorFileEvents()
- func (fn *FaNotify) RemoveMonitorFile(path string)
- func (fn *FaNotify) SetMode(rootPid int, access, perm, capBlock, bNeuvectorSvc bool)
- func (fn *FaNotify) StartMonitor(rootPid int) bool
- func (fn *FaNotify) UpdateAccessRule(rootPid int, conf *share.CLUSFileAccessRule) error
- type FileMonitorConfig
- type FileWatch
- func (w *FileWatch) Close()
- func (w *FileWatch) ContainerCleanup(rootPid int, bLeave bool)
- func (w *FileWatch) GetAllFileMonitorFile() []*share.CLUSFileMonitorFile
- func (w *FileWatch) GetProbeData() *FmonProbeData
- func (w *FileWatch) GetWatchFileList(rootPid int) []*share.CLUSFileMonitorFile
- func (w *FileWatch) HandleWatchedFiles()
- func (w *FileWatch) SendNVProcessAlert(rootPid, ppid int, cid, path, ppath string)
- func (w *FileWatch) SetMonitorTrace(bEnable bool, logLevel string)
- func (w *FileWatch) SetNVProtectFlag(bEnabled bool)
- func (w *FileWatch) StartWatch(id string, rootPid int, conf *FsmonConfig, capBlock, bNeuvectorSvc bool)
- func (w *FileWatch) UpdateAccessRules(name string, rootPid int, conf *share.CLUSFileAccessRule)
- type FmonProbeData
- type FsmonConfig
- type IFile
- type IMonProbeData
- type Inotify
- func (n *Inotify) AddMonitorDirFile(path string, files map[string]interface{}, cb NotifyCallback, ...) bool
- func (n *Inotify) AddMonitorFile(path string, cb NotifyCallback, params interface{}) bool
- func (n *Inotify) CheckMonitorFileExist(path string) (interface{}, bool)
- func (n *Inotify) Close()
- func (n *Inotify) ContainerCleanup(rootPid int)
- func (n *Inotify) GetProbeData(m *IMonProbeData)
- func (n *Inotify) GetWatchCount() uint32
- func (n *Inotify) GetWatchFileList(rootPid int) []string
- func (n *Inotify) GetWatches() []string
- func (n *Inotify) MonitorFileEvents()
- func (n *Inotify) RemoveMonitorFile(path string)
- type MonitorMessage
- type NotifyCallback
- type PidLookupCallback
- type ProcInfo
- type SendAggregateReportCallback
- type SendFileAccessRuleCallback
- type SendNVrptCallback
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultContainerConf share.CLUSFileMonitorProfile = share.CLUSFileMonitorProfile{ Filters: ImportantFiles, }
View Source
var ImportantFiles []share.CLUSFileMonitorFilter = []share.CLUSFileMonitorFilter{ {Behavior: share.FileAccessBehaviorMonitor, Path: "/var/lib/dpkg/status", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/var/lib/rpm/Packages", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib/apk/db/installed", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/var/lib/rpm/Packages.db", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/etc/hosts", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/etc/passwd", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/etc/shadow", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/etc/resolv\\.conf", Regex: ""}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/home/.*/\\.ssh", Regex: ".*"}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib", Regex: "ld-linux\\..*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib", Regex: "libc\\..*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib", Regex: "libpthread.*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib64", Regex: "ld-linux.*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib64", Regex: "libc\\..*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/lib64", Regex: "libpthread.*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/bin", Regex: ".*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/sbin", Regex: ".*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/usr/bin", Regex: ".*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/usr/sbin", Regex: ".*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/usr/local/bin", Regex: ".*", Recursive: true}, {Behavior: share.FileAccessBehaviorMonitor, Path: "/usr/local/sbin", Regex: ".*", Recursive: true}, }
Functions ¶
Types ¶
type EstimateRuleSrcCallback ¶
type FaMonProbeData ¶
type FaNotify ¶
type FaNotify struct {
// contains filtered or unexported fields
}
func NewFaNotify ¶
func NewFaNotify(endFaChan chan bool, cb PidLookupCallback, nvrpt SendNVrptCallback, sys *system.SystemTools, bNvProtect bool) (*FaNotify, error)
func (*FaNotify) AddMonitorDirFile ¶
func (fn *FaNotify) AddMonitorDirFile(path string, filter interface{}, protect, userAdded bool, files map[string]interface{}, cb NotifyCallback, params interface{}) bool
///
func (*FaNotify) AddMonitorFile ¶
func (fn *FaNotify) AddMonitorFile(path string, filter interface{}, protect, userAdded bool, cb NotifyCallback, params interface{}) bool
//
func (*FaNotify) AddMonitorFileOnTheFly ¶
func (fn *FaNotify) AddMonitorFileOnTheFly(path string, filter interface{}, protect, userAdded bool, cb NotifyCallback, params interface{}) bool
// TODO
func (*FaNotify) ContainerCleanup ¶
func (*FaNotify) GetWatchFileList ¶
func (fn *FaNotify) GetWatchFileList(rootPid int) []*share.CLUSFileMonitorFile
func (*FaNotify) GetWatches ¶
func (fn *FaNotify) GetWatches() []*share.CLUSFileMonitorFile
func (*FaNotify) SetMode ¶
set file monitor policy mode. but not update the watches. the upper layer need to re-add the watches.
func (*FaNotify) UpdateAccessRule ¶
func (fn *FaNotify) UpdateAccessRule(rootPid int, conf *share.CLUSFileAccessRule) error
type FileMonitorConfig ¶
type FileMonitorConfig struct { ProfileEnable bool IsAufs bool EnableTrace bool NVProtect bool EndChan chan bool WalkerTask *workerlet.Tasker PidLookup PidLookupCallback SendReport SendAggregateReportCallback SendAccessRule SendFileAccessRuleCallback EstRule EstimateRuleSrcCallback }
type FileWatch ¶
type FileWatch struct {
// contains filtered or unexported fields
}
func NewFileWatcher ¶
func NewFileWatcher(config *FileMonitorConfig, logLevel string) (*FileWatch, error)
func (*FileWatch) ContainerCleanup ¶
func (*FileWatch) GetAllFileMonitorFile ¶
func (w *FileWatch) GetAllFileMonitorFile() []*share.CLUSFileMonitorFile
func (*FileWatch) GetWatchFileList ¶
func (w *FileWatch) GetWatchFileList(rootPid int) []*share.CLUSFileMonitorFile
func (*FileWatch) HandleWatchedFiles ¶
func (w *FileWatch) HandleWatchedFiles()
func (*FileWatch) SendNVProcessAlert ¶
func (*FileWatch) SetMonitorTrace ¶
func (*FileWatch) SetNVProtectFlag ¶
func (*FileWatch) StartWatch ¶
func (w *FileWatch) StartWatch(id string, rootPid int, conf *FsmonConfig, capBlock, bNeuvectorSvc bool)
func (*FileWatch) UpdateAccessRules ¶
func (w *FileWatch) UpdateAccessRules(name string, rootPid int, conf *share.CLUSFileAccessRule)
type FmonProbeData ¶
type FmonProbeData struct { NFileEvents int NGroups int Fan FaMonProbeData Ino IMonProbeData }
type FsmonConfig ¶
type FsmonConfig struct { Profile *share.CLUSFileMonitorProfile Rule *share.CLUSFileAccessRule }
type IMonProbeData ¶
type Inotify ¶
type Inotify struct {
// contains filtered or unexported fields
}
func NewInotify ¶
func (*Inotify) AddMonitorDirFile ¶
func (n *Inotify) AddMonitorDirFile(path string, files map[string]interface{}, cb NotifyCallback, params interface{}) bool
func (*Inotify) AddMonitorFile ¶
func (n *Inotify) AddMonitorFile(path string, cb NotifyCallback, params interface{}) bool
func (*Inotify) CheckMonitorFileExist ¶
func (*Inotify) ContainerCleanup ¶
func (*Inotify) GetWatchCount ¶
func (*Inotify) GetWatchFileList ¶
func (*Inotify) GetWatches ¶
func (*Inotify) MonitorFileEvents ¶
func (n *Inotify) MonitorFileEvents()
func (*Inotify) RemoveMonitorFile ¶
type MonitorMessage ¶
type NotifyCallback ¶
type PidLookupCallback ¶
type SendAggregateReportCallback ¶
type SendAggregateReportCallback func(fsmsg *MonitorMessage) bool
var packageFile utils.Set = utils.NewSet(
"/var/lib/dpkg/status", "/var/lib/rpm/Packages", "/var/lib/rpm/Packages.db", "/lib/apk/db/installed")
type SendFileAccessRuleCallback ¶
type SendFileAccessRuleCallback func(rules []*share.CLUSFileAccessRuleReq) error
type SendNVrptCallback ¶
Click to show internal directories.
Click to hide internal directories.