47 lines
1.5 KiB
Go
47 lines
1.5 KiB
Go
package config
|
|
|
|
import "time"
|
|
|
|
type Configuration struct {
|
|
Local Localconfig // 本地配置
|
|
Offical OfficialConfig // 官方配置
|
|
User UserConfig // 用户自定义配置
|
|
}
|
|
|
|
type Localconfig struct {
|
|
LogPath string `yaml:"log_path"`
|
|
CheckInterval time.Duration `yaml:"check_interval"`
|
|
ServerUrl string `yaml:"server_url"`
|
|
}
|
|
|
|
type OfficialConfig struct {
|
|
WhitelistFiles map[string][]string `yaml:"whitelist_files"`
|
|
WhitelistProcesses []string `yaml:"whitelist_processes"`
|
|
IgnoredPaths []string `yaml:"ignored_paths"`
|
|
}
|
|
|
|
type UserConfig struct {
|
|
AuditServerUrl string `json:"audit_server_url"` // 审计服务器地址
|
|
// 用户补充的白名单文件
|
|
SupplementFiles map[string][]string `json:"supplement_files"`
|
|
// 用户补充的进程列表
|
|
// Key: 进程名, Value: 启动指令(如果为空则仅作为白名单,如果不为空则需保活)
|
|
SupplementProcesses map[string]string `json:"supplement_processes"`
|
|
IgnoredPaths []string `json:"ignored_paths"`
|
|
CheckPermPaths []string `json:"check_perm_paths"` // 检查权限的目录
|
|
|
|
// 邮件配置
|
|
EmailConfig EmailConfig `json:"email_config"`
|
|
}
|
|
|
|
type EmailConfig struct {
|
|
ImapServer string `json:"imap_server"`
|
|
EmergencyMail []string `json:"emergency_mail"`
|
|
}
|
|
|
|
type SSHMonitor struct {
|
|
Enabled bool `yaml:"enabled"`
|
|
DisplayOnShell bool `yaml:"display_on_shell"`
|
|
AlertOnRootLogin bool `yaml:"alert_on_root_login"`
|
|
}
|