一、操作系統
1、查看文件權限
查看該文件的權限 ls -la /var/log/audit/audit.log 查看如下文件的權限是否滿足 ls -l /etc/passwd ls -l /etc/hosts ls -l /etc/login.defs ls -l /etc/hosts.allow ls -l /etc/shadow ls -l /etc/hosts.deny ls -l /etc/group ls -l /etc/services 文件中日志信息所在文件的訪問權限 ls -l /var/log/messages ls -l /var/log/secure ls -l /var/log/audit/audit.log find / -name ".rhosts" 查看rhost文件 pwck -r /etc/passwd 查看文件的完整性,結果在結尾顯示是否改變 pwck -r /etc/shadow 查看文件的完整性,結果在結尾顯示是否改變
2、查看系統版本
more /proc/version 查看系統版本號 rpm -qa| grep patch 查看已安裝系統補丁
more /etc/issue 或者
more /etc/redhat-release 查看當前系統版本
3、服務相關
yum list installed 查看操作系統中已安裝的程序包 systemctl list-unit-files 查看開機自啟項 systemctl list-units |grep running centos系統查看運行的服務) service --status-all 查看所運行中服務情況(否已經關閉危險的網絡服務如echo、shell、login、finger、命令等。關閉非必需的網絡服務如talk、ntalk、pop-2、Sendmail、Imapd、Pop3d等) lsof -i:21、lsof -i:22、lsof -i:23 查看端口開啟情況 more /etc/services|grep telnet 查看是否啟用對應的telnet端口服務 rpm -aq|grep ssh 查看是否安裝了SSH相應的包 ps -e | grep ssh 查看ssh是否啟動 netstat -an -t 核查是否不存在非必要的高危端口
more /etc/ssh/sshd_config 訪問ssh配置文件
3、審計相關
systemctl status rsyslog 檢查日志運行 service auditd status (service rsyslog status ) 查看審計功能是否正常運行 more /var/log/audit/audit.log 審計日志存放位置 auditctl -l 查看audit規則 auditctl -s 查看audit運行狀態; more /var/log/messages 系統日志信息存放在此文件 more /var/log/audit/audit.log 查看審計具體記錄內容 more /etc/audit/audit.rules 查看審計規則 more /etc/rsyslog.conf 審計配置內容 more /etc/audit/auditd.conf 審計配置內容 more /etc/rsyslog.conf 配置文件里設置了日志服務器
authconfig --test | grep hashing 查看加密
more /etc/audit/auditd.conf 重點檢查num_logs(最大能生成幾個審計文件),max_log_file(單個審計文件最大容量多少兆),
max_log_file_action(日志容量達到最大后的操作),disk_full_action,disk_erro_action 等字段。
4、密碼復雜度
chage -l root Root密碼復雜度 cat /etc/login.defs|grep PASS 查看當前所設置的密碼長度及更換周期 more /etc/pam.d/system-auth 確認密碼復雜度要求及針對終端直接登錄,如:登錄失敗等 more /etc/pam.d/sshd 只針對SSH遠程登錄也可設置登錄失敗次數 more /etc/sudo.conf (cat /etc/sudoers|grep =\(ALL\)) 核查root級用戶的權限都授予哪些賬戶 more /etc/passwd |awk -F: '{print $1,$2}' 用戶中的第二個字段(口令)不為空,為x表示設置了密碼。 more /etc/shadow
第二個字段為口令加密字段。(第一位:賬號、第二位:加密加密、第三位:上次修改密碼的時間、第四位:兩次修改口令之間所需的最小天數、第五位:密碼保持有效的最大天數天數、第六位:密碼變更前提前幾天警告、
第七位:賬號失效日期、第八位:賬號取消日期。其中在密碼欄的第一個字星號代表帳號被鎖定、雙嘆號表示這個密碼已經過期了,失效日期是從1970年1月1日開始的多少天)
5、入侵檢測
find / -namie <daemonname> -print 檢查是否安裝了主機入侵檢測軟件 more /var/log/secure | grep refused 查看入侵檢測的措施 more /etc/hosts.deny (黑名單)對終端接入范圍進行限制 more /etc/hosts.allow (白名單)或more /etc/ssh/sshd_config指定終端地址可訪問 crontab -l 核查入侵和病毒行規則 more /etc/profile 查看有無tmout連接超時 more /etc/profile 清除敏感數據所在的存儲空間 more /etc/security/limits.conf 是否對資源進行了限定
二、mysql數據庫
1、檢查
mysql -u root -p 進入數據庫 SELECT * FROM mysql.user; 查看設置的用戶 SELECT Host,User,plugin FROM mysql.user; SELECT Host,User,Password,plugin FROM mysql.user; 檢查是否存在空口令用戶(MySQL5.6及以下) SELECT Host,User,authentication_string,plugin FROM mysql.user; 檢查是否存在空口令用戶(MySQL5.7及以上) SHOW VARIABLES LIKE'validate_password%'; 檢查口令復雜度(MySQL5.6及以下) SELECT Host,User,password_lifetime FROM mysql.user; 檢查口令定期更換(MySQL5.7及以上) SELECT * FROM information_schema.PLUGINS WHERE PLUGIN_NAME='connection_control' ; 檢查是否安裝登錄失敗處理模塊(MySQL5.6及以下) SHOW variables LIKE 'connection_control%'; 檢查是否配置登錄失敗處理參數;(MySQL5.6及以下) SHOW variables LIKE '%timeout'; 檢查連接超時 SHOW variables LIKE 'general_log%'; 檢查數據庫日志模塊狀態 SELECT * FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME='audit_log'; 檢查是否安裝並開啟MySQL Enterprise Audit模塊 SHOW variables LIKE'require_secure_transport'; 檢查是否開啟SSL通信