JumpServer是一款很強大的堡壘機,可以對服務器實現嚴格的管控。而在這過程中,對于登陸服務器進行的操作,就需要進行審計,即對跳板機上的一切操作都要進行記錄,便于后續溯源。在JumpServer中,使用MySQL來進行日志的存儲,這里就為大家介紹一下JumpServer MySQL審計的相關知識。
為了保證安全性能,JumpServer使用MySQL的方式進行審計處理。MySQL具有較好的安全性和管理性,采用MySQL能夠將每個用戶操作的日志記錄下來,查看歷史會話記錄。
CREATE TABLE `audit_log` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, `user` varchar(64) NOT NULL DEFAULT '', `ip` varchar(64) NOT NULL DEFAULT '', `proto` varchar(16) NOT NULL DEFAULT '', `cmd` varchar(1024) NOT NULL DEFAULT '', `result` tinyint(3) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
JumpServer中audit_log表用來存放所有審計的日志信息。在 JumpServer 數據庫配置 settings.py 中,配置"LOG_DB_NAME": "jumpserver,即可以把JumpServer的審計日志信息存入到指定的數據庫中
LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console': { 'class': 'logging.StreamHandler', }, 'interval': { 'class': 'logging.handlers.TimedRotatingFileHandler', ..... }, 'file': { 'class': 'logging.handlers.RotatingFileHandler', 'filename': os.path.join(BASE_DIR, 'logs', 'jumpserver.log'), ...... }, 'mysql_audit': { 'class': 'jumpserv.plugins.log.handlers.JumpserverMysqlHandler', 'level': 'INFO', # 如果要全部存儲USER級別,則改為USER 'host': '127.0.0.1:3306', 'user': 'jumpserver', 'password': 'jumpserver', 'database': 'jumpserver', 'table': 'audit_log' } }, 'loggers': { 'django': { 'handlers': ['console', 'file', 'mysql_audit'], 'level': 'DEBUG', }, 'django.request': { 'handlers': ['file'], 'level': 'DEBUG', }, } }
以上簡要介紹了JumpServer MySQL審計相關的內容。通過MySQL,可以輕易實現對JumpServer的審計,將每個用戶的操作記錄下來,便于售后跟進。對于數據安全來說,JumpServer MySQL審計是非常必要的。