Linux 主機安全
一、身份鑒别
A、登入,密碼密碼 cat /etc/passwd; Passwd 結果記錄:
root:x:0:0:root:/root:/bin/bash
(注 釋:使用者名:密碼:UID:GID:使用者全稱:使用者“home”目錄所在位置:使用者所用 SHELL 的類型)
B、cat /etc/login.defs(檢視密碼政策)
cat /etc/pam.d/system-auth(複雜度)
(1)PASS_MAX_DAYS 99999#密碼最大有效期、
PASS_MIN_DAYS 0#兩次修改密碼的最小間隔時間、
PASS_MIN_LEN 5#密碼最小長度,對于 root 無效、
PASS_WARN_AGE 7#密碼過期前多少天開始提示;
(2)(CentOS 版本)編輯 vi /etc/pam.d/common-password 檔案,
password requisite pam_cracklib.so retry=3 minlen=10 difok=3
ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1【minlen=10 表示
最小密碼長度為,至少包含一個大寫字母(ucredit),兩個小寫字
母(lcredit),一個數字(dcredit)和一個标點符号(ocredit】
(USERGROUPS_ENAB yes #用 MD5 加密密碼)
其他版本在/etc/pam.d/system-auth 下,requisite
pam_pwquality.so try_first_pass local_users_only retry=3 中
添加 authtok_type= difok=1 minlen=8 ucredit=-1 lcredit=-1
dcredit=-1,ocredit=-1,即 difok=1 為新密碼中必須要有 1 個字元
和舊密碼不同,minlen 為新密碼的最小長度,ucredit=-1 為新密碼
中至少包含 1 個大寫字母, lcredit=-1 為新密碼中至少包含 1 個小
寫字母, dcredit=-1 為新密碼中至少包含 1 個數字 ,ocredit=-1
為新密碼中至少包含 1 個标點符号,
C、cat /etc/pam.d/system-auth(登入失敗處理政策)
【auth required pam_tally2.so deny=3 unlock_time=150
even_deny_root root_unlock_time300 表示密碼錯誤三次鎖定使用者
300 秒,root 使用者輸入密碼錯誤達到 3 次,鎖定 300 秒】
【】
D、詢問是否需要遠端登入,需要再查 service --status-all|grep
sshd(ssh 配置)service --status-all|grep running(正在運作
的服務)
rpm -aq|grep ssh;或者看是否運作 sshd 服務:service -status-all
| grep sshd;若安裝則看相關端口是否打開:netstat -an|grep 22;
若未用 SSH,則看是否用 Telnet 遠端:service -status-all | grep
running。
【ps -e | grep ssh(Centos7 系統指令)】、【#service --status-all |grep
running】,檢視是否開啟了 telnet 服務,telnet 使用明文傳輸資訊,
應當禁用此服務。
E、cat /etc/shadow(顯示使用者名、唯一性)
Shadow 結果記錄:
root: 1 1 1crp/dym:14296:0:99999:7:::
(注釋:使用者名:加密密碼(如果此段為*、!則該使用者無法登入系統):
上次修改密碼距今時間(從 1970 年 1 月 1 日算起):最短修改密碼
時間:最長密碼修改時間:密碼過期警告時間:密碼過期後多少天禁
用此使用者使用者密碼過期日期,為空則表明永久可用) “星号代表帳号被鎖定,雙歎号表示這個密碼已經過期了。奇奇怪怪
的字元串是以 6 6 6開頭的,表明是用 SHA-512 加密的, 1 1 1 表明是用
MD5 加密的、 2 2 2 是用 Blowfish 加密的、 5 5 5是用 SHA-256 加密的。”
二、通路控制
A、 umask、ls -l /etc/profile、passwd、shadow、
ls -l /var/log/messages
(通路控制功能)配置檔案權限不能大于 644、可執行檔案不能大于
755,。
B、詢問管理者,并檢視系統日志,确定哪些使用者曾經以 root 身份
對 Linux 系統進行系統維護。角色配置設定,權限分離,審計、管理賬
戶
C、詢問作業系統是否涉及資料庫,如果有,看是否有賬戶密碼
D、在 cat /etc/passwd 中檢視不需要的賬号 games, news, gopher,
ftp 、lp 是否被删除;檢視不需要的特權賬号 halt, shutdown,
reboot 、who 是否被删除;{結果描述為不需要賬号未删除。}
E、存在多餘、過期的賬戶,應為自建賬戶是否多餘過期等
三、安全審計
A、ps -ef |grep syslogd、rsyslogd、auditd(啟用了 syslogd 進
程或有第三方審計系統)
B、cat /etc/syslog.conf 或者 cat /etc/rsyslog.conf、audit.conf
(日志配置)syslog.conf 配置檔案設定合理,對大多數系統行為、
使用者行為進行了紀錄,并存儲在指定的文檔中,syslong.conf 中至
少應包括*.info;mail.none;news.none;authpriv.none;
cron.none /var/log/messagesauthpriv.* /var/log/secure、
mail.-/var/log/maillog、cron. /var/log/cron*.emerg ;
C、cat /var/log/messages(審計記錄時間等)、
cat /etc/audit/auditd.conf 重 點 檢 查 num_logs,
max_log_file,max_log_file_actio , disk_full_action,
disk_erro_action 等字段。部分也可以在 1-3 行指令看到日志存留
期限。
D、是否部署了日志集中審計系統;
E、auditd是審計程序audit的守護程序,syslogd是日志程序syslog
的守護程序,【ps -aux|grep auditd】,以及【ps -aux|grep syslogd】
F、Linux 作業系統版本為 CentOS X,CentOS
AS 自帶報表功能,輸入 aureport 指令(需要配置過),發現能夠根
據記錄資料進行分析,并生成審計報表。輸入 aureport 及加入參數
可生成報表,檢視有無報表生成曆史
D、超管無法保護審計記錄不被删除、修改等
四、剩餘資訊保護(Linux 作業系統具備)
五、入侵防範
A、檢視是否安裝入侵防禦軟體(主機入侵檢測系統(HIDS)或者主
機系統網絡入侵檢測系統(NIDS)保護。)
B、完整性:伺服器是否備援部署
C、最小安裝原則:ifconfig -a、核心【uname-a】、版本
【Isb-release-a 】【cat /etc/redhat-release[centos 系
列]】
df -h(磁盤使用)、rpm -qa|gerp path(檢視更新檔安裝情況)
【netstat -antp】、【netstat -anup】關閉端口對應服務,
21—ftp、23-telnet,25/111-sendmail,(通過 service xxx stop
關閉服務);
【service --status-all |grep running】,關閉危險網絡服
務 echo、shell、login、finger、r 指令等;關閉非必須的網絡服
務:talk、ntalk、pop-2、Imapd 等。
六、惡意代碼防範
A、檢視是否安裝防毒軟體并更新;
B、檢視是否安裝網絡版防惡意代碼産品;
C、檢視能否對惡意代碼統一管理;
七、資源控制*:**
1、cat /etc/hosts.allow(白名單) cat /etc/hosts.deny(黑名
單)、iptables -L # 檢視防火牆設定
檢視 cat /etc/hosts.deny 中是否有 ALL:ALL”,禁止所有請求;cat
/etc/hosts.allow 是否有如下配置:sshd 192.x.x.x/255.;或者
IPtable 中是否有限制
2、cat /etc/profile|grep TMOUT(操作逾時鎖定)
3、詢問能否對重要伺服器進行監視,CPU、記憶體等使用情況
4、cat /etc/security/limits.conf(限制單使用者對資源使用限度)
中參數 nproc 可設定最大程序數,其中 maxlogins 字段可設定最大登
錄數
-
soft core 0、* hard rss 5000(所有使用者:記憶體 5m)、@student hard
nproc 20 (student 使用者程序 20)、@faculty softnproc 20;
5、詢問是否能對伺服器服務水準進行檢測和報警
6、是否對 USB 口、CD光牒驅動、串行口進行封閉或者拆除。(廣電、
電力)
(生死看淡,不服就幹——平頭哥)