一、 用戶賬號安全優化
1、 基本安全措施
刪除系統中不使用的用戶和組
passwd -l zhangsan或 vi /etc/shadow(用戶名前加!)
userdel lp
確認程序或服務用戶的登錄shell不可用
vi /etc/passwd
usermod –s /sbin/nologin rpm
限制用戶的密碼有效期(最大天數)
vi /etc/login.defs (PASS_MAX_DAYS 30) 只對新建立的用戶有效
chage -M 30 zhangsan 對已有用戶有效
指定用戶在下次登錄時必須修改密碼
Chage -d 0 zhangsan
限制用戶密碼的最小長度
vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
限制記錄命令歷史的條數
HISTSIZE=100
設置閒置超時自動註銷終端
vi /etc/profile
export TMOUT=600
2、 使用su切換切換用戶身份
gpasswd -a zhangsan wheel
vi /etc/pam.d/su
auth required pam_wheel.so use_uid
3、 使用sudo提升執行權限
vi /etc/sudoers 或 visudo
用戶 主機名=(權限用戶) NOPASSWD:命令列表
lisi localhost=/sbin/ifconfig
jerry localhost= NOPASSWD:/sbin/ifconfig
%wheel ALL=(ALL) NOPASSWD:ALL
zhangsan localhost=(lisi) NOPASSWD:ALL
使用sudo執行命令(以jerry爲例)
sudo -l
sudo /sbin/ifconfig eth0 10.0.0.1
二、 文件和文件系統安全優化
1、 文件系統層次的安全優化
合理規劃系統分區
建議部分分區爲獨立的分區/boot、/home、/var、/opt等
通過掛載選項禁止執行set位程序、二進制程序
vi /etc/fstab
/dev/sdc1 /var ext3 defaults,noexec 1 2
mount -o remount /var
鎖定不希望更改的系統文件
chattr +i /etc/services /etc/passwd /boot/grub.conf
lsattr /etc/passwd
chattr -i /etc/passwd
2、 應用程序和服務
關閉不需要的系統服務,如cupsd、bluetooth等
禁止普通用戶執行init.d目錄中的腳本
chmod -R o-rwx /etc/init.d
或 chmod -R 750 /etc/init.d/
禁止普通用戶執行控制檯程序
cd /etc/security/console.apps/
tar jcpvf /etc/conheplpw.tar.bz2 poweroff halt reboot --remove
去除程序文件中非必需的set-uid或set-gid附加權限
find / -type f -perm +6000 > /etc/sfilelist
vi /usr/sbin/chksfile
#!/bin/bash
OLD_LIST=/etc/sfilelist
for i in `find / -type f -perm +6000`
do
grep -F “$i” $OLD_LIST > /dev/null
[ $? -ne 0 ] && ls -lh $i
done
chmod 700 /usr/bin/chksfile
三、 系統引導和登錄安全優化
1、開關機安全控制
調整BIOS引導設置(只設置系統硬盤啓動,並設置BIOS口令)
防止用戶Ctrl+Alt+Del熱鍵重啓系統(vi /etc/inittab)
2、GRUB引導菜單加密
vi /boot/grub/grub.conf
添加password 123456
(可通過grub-md5-crypt生成加密字串)
Password --md5 加密字串
3、終端及登錄控制
即時禁止普通用戶登錄: touch /etc/nologin
控制服務器開放的tty終端 vi /etc/inittab
控制允許root用戶登錄的tty終端 vi /etc/securetty
更改系統登錄提示,隱藏內核版本信息 vi /etc/issue、vi /etc/issue.net
使用pam_access認證控制用戶登錄地點
禁止除了root以外的用戶從tty1終端上登錄系統
vi /etc/pam.d/login
account required pam_access.so
vi /etc/security/access.conf
- : ALL EXCEPT root : tty1
禁止root用戶從192.168.1.0/24、172.16.0.0/16網絡中遠程登錄
vi /etc/pam.d/sshd
account required pam_access.so
vi /etc/security/access.conf
- : root :192.168.1.0/24 172.16.0.0/8