賬號(hào)和口令
禁用或刪除無用賬號(hào)
減少系統(tǒng)無用賬號(hào)朝墩,降低安全風(fēng)險(xiǎn)绑莺。
- 操作步驟
使用命令 userdel <用戶名> 刪除不必要的賬號(hào)金麸。
使用命令 passwd -l <用戶名> 鎖定不必要的賬號(hào)悲幅。
使用命令 passwd -u <用戶名> 解鎖必要的賬號(hào)。
檢查特殊賬號(hào)
檢查是否存在空口令和root權(quán)限的賬號(hào)瘾杭。
- 操作步驟
- 查看空口令和root權(quán)限賬號(hào)诅病,確認(rèn)是否存在異常賬號(hào)
使用命令 awk -F: '($2=="")' /etc/shadow 查看空口令賬號(hào)。 使用命令 awk -F: '($3==0)' /etc/passwd 查看UID為零的賬號(hào)粥烁。
- 加固空口令賬號(hào)
使用命令 passwd <用戶名> 為空口令賬號(hào)設(shè)定密碼贤笆。 確認(rèn)UID為零的賬號(hào)只有root賬號(hào)。
添加口令策略
加強(qiáng)口令的復(fù)雜度等讨阻,降低被猜解的可能性
- 使用命令 vi /etc/login.defs 修改配置文件
PASS_MAX_DAYS 90 #新建用戶的密碼最長使用天數(shù)
PASS_MIN_DAYS 0 #新建用戶的密碼最短使用天數(shù)
PASS_WARN_AGE 7 #新建用戶的密碼到期提前提醒天數(shù)
PASS_MIN_LEN 8 #新建用戶的密碼長度8位
- 使用chage命令修改用戶設(shè)置芥永。
chage -m 0 -M 30 -E 2000-01-01 -W 7 <用戶名>表示將此用戶的密碼最長使用天數(shù)設(shè)為30,最短使用天數(shù)設(shè)為0钝吮,密碼2000年1月1日過期埋涧,過期前七天警告用戶。
- 設(shè)置連續(xù)輸錯(cuò)三次密碼
賬號(hào)鎖定五分鐘奇瘦。使用命令 vi /etc/pam.d/common-auth修改配置文件棘催,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300
限制用戶su
- 限制能su到root的用戶
使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行链患。例如巧鸭,只允許test組用戶su到root瓶您,則添加 auth required pam_wheel.so group=test麻捻。
禁止root用戶直接登錄
- 限制root用戶直接登錄
1.創(chuàng)建普通權(quán)限賬號(hào)并配置密碼,防止無法遠(yuǎn)程登錄;
2.使用命令 vi /etc/ssh/sshd_config修改配置文件將PermitRootLogin的值改成no纲仍,并保存,然后使用service sshd restart重啟服務(wù)贸毕。
服務(wù)
關(guān)閉不必要的服務(wù)
關(guān)閉不必要的服務(wù)(如普通服務(wù)和xinetd服務(wù))郑叠,降低風(fēng)險(xiǎn)。
使用命令systemctl disable <服務(wù)名>設(shè)置服務(wù)在開機(jī)時(shí)不自動(dòng)啟動(dòng)明棍。
說明: 對(duì)于部分老版本的Linux操作系統(tǒng)(如CentOS 6)乡革,可以使用命令chkconfig --level <服務(wù)名> off設(shè)置服務(wù)在指定init級(jí)別下開機(jī)時(shí)不自動(dòng)啟動(dòng)。
ssh服務(wù)安全
- 對(duì)SSH服務(wù)進(jìn)行安全加固摊腋,防止暴力破解成功
使用命令 vim /etc/ssh/sshd_config 編輯配置文件
不允許root賬號(hào)直接登錄系統(tǒng)沸版。
設(shè)置 PermitRootLogin 的值為 no。
修改SSH使用的協(xié)議版本兴蒸。
設(shè)置 Protocol 的版本為 2视粮。
修改允許密碼錯(cuò)誤次數(shù)(默認(rèn)6次)。
設(shè)置 MaxAuthTries 的值為 3橙凳。
重啟服務(wù)生效
systemctl restart sshd
文件系統(tǒng)
設(shè)置umask值
命令 vi /etc/profile 修改配置文件蕾殴,添加行 umask 027, 即新創(chuàng)建的文件屬主擁有讀寫執(zhí)行權(quán)限岛啸,同組用戶擁有讀和執(zhí)行權(quán)限钓觉,其他用戶無權(quán)限。
設(shè)置登錄超時(shí)
命令 vi /etc/profile 修改配置文件坚踩,將以 TMOUT= 開頭的行注釋荡灾,設(shè)置為TMOUT=180,即超時(shí)時(shí)間為三分鐘瞬铸。
日志
syslogd日志
Linux系統(tǒng)默認(rèn)啟用以下類型日志:
系統(tǒng)日志(默認(rèn))/var/log/messages
cron日志(默認(rèn))/var/log/cron
安全日志(默認(rèn))/var/log/secure
注意:部分系統(tǒng)可能使用syslog-ng日志卧晓,配置文件為:/etc/syslog-ng/syslog-ng.conf。您可以根據(jù)需求配置詳細(xì)日志赴捞。
記錄所有用戶的登錄和操作日志
通過腳本代碼實(shí)現(xiàn)記錄所有用戶的登錄操作日志逼裆,防止出現(xiàn)安全事件后無據(jù)可查。
- vim /etc/profile配置文件
history
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null運(yùn)行 source /etc/profile 加載配置生效赦政。