linux系統安全基礎應用
重點:
lSu、sudo的使用
l爲GRUB引導菜單設置密碼
4.1賬號安全控制
用戶帳號,是計算機使用者的身份憑證或標識,每個要訪問系統資源的人,必須憑藉他的用戶賬號才能進入計算機
4.1.1基本安全措施
系統賬號清理:
§用戶的Shell設爲/sbin/nologin
§鎖定長期不使用的賬號
§刪除無用的賬號
§鎖定賬號文件passwd、shadow
列:chattr +i/etc/passwd /etc/shadow //鎖定文件並查看狀態
lsattr /etc/passwd /etc/shadow
chattr -i /etc/passwd/etc/shadow //解鎖文件並查看狀態
lsattr /etc/passwd /etc/shadow
密碼安全控制 :
§設置密碼有效期
§要求用戶下次登錄時修改密碼
列: vi /etc/login.defs //適用於新建用戶
PASS_MAX_DAYS 30
chage -M 30 lisi //適用於已有用戶
列: chage -d 0zhangsan //強制在下次登錄時更改密碼
命令歷史限制
§減少記錄的命令條數
§註銷時自動清空命令歷史
列: vi/etc/profile //適用於新登錄用戶
HISTSIZE=200
vi ~/.bash_logout //添加清空歷史命令
history -c
clear
export HISTSIZE=200 //適用於當前用戶
終端自動動註銷 :閒置600秒後自動註銷
列: vi ~/.bash_profile
exportTMOUT=600
exportTMOUT=600
Ø4.1.2用戶切換和用戶提權
Su用來切換用戶,sudo用來提升執行權限
1.使用su命令切換用戶
用途及用法
§用途:Substitute User,切換用戶
§格式:su - 目標用戶
v密碼驗證
§rootà任意用戶,不驗證密碼
§普通用戶 à其他用戶,驗證目標用戶的密碼
列:su - root
注意:帶 - 選項表示將使用目標用戶的登錄Shell環境,-等同於—loging或-l
默認情況下,任何用戶都可以使用su命令,爲了加強su命令的使用控制,可以藉助pam_wheel模塊,只允許極個別的用戶使用su命令,實現過程如下:將授權使用蘇命令的用戶添加到wheel組,修改/etc/pam.d/su認證配置以啓用pam_wheel認證
列:gpasswd -a zhangsan wheel //添加授權用戶zhangsan
Grep wheel /etc/wheel //確認wheel組成員
Vim /etc/pam.d/su
Auth required pam_wheel。So use_uid //去掉此行開頭的#號
啓用pam_wheel認證後,未加入到wheel組內的其他用戶將無法使用su命令
查看su操作記錄
§安全日誌文件:/var/log/secure
使用su命令的切換用戶的操作將會記錄到安全日誌/var/log/secure文件中
列: tail /var/log/secure
2.使用sudo機制提升權限
使用sudo命令,需要有管理員預先進行授權,指定允許那些用戶以超級用戶(或其他普通用戶)的身份來執行哪些命令
v用途及用法
§用途:以其他用戶身份(如root)執行授權的命令
§用法:sudo 授權命令
v密碼驗證
§初次執行sudo命令時,驗證當前用戶的密碼
§不需驗證目標用戶的密碼
列: sudo -ujerry /bin/touch /tmp/test.file
ls -l /tmp/test.file
1)在配置文件/etc/sudoers中添加授權
配置sudo授權
visudo 或者 vi /etc/sudoers
記錄格式:用戶主機名列表=命令程序列表
用戶:(USER):授權的用戶名,或採用“%組名”的形式(授權一個組的多有用戶)
主機(MACHINE):使用此配置文件的主機名稱
命令(commands):允許授權用戶通過sudo方式執行的特權命令,許天敘命令程序的完整路徑,多個命令之間以“,”號進行分隔
列:visudo
……
%wheel ALL=NOPASSWD: ALL
jerry localhost=/sbin/ifconfig
syrianer localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route
Cmnd_Alias PKGTOOLS=/bin/rpm,/usr/bin/yum
mike localhost=PKGTOOLS
注意:可以使用通配符*、取反符號! 類似別名還包括:User_Alias、Host_Alias
查看sudo操作記錄
§需啓用 Defaults logfile 配置 默認情況下,通過sudo方式執行的操作並不記錄,應在/etc/sudores文件增加Defaults logfile設置
§默認日誌文件:/var/log/sudo
列:visudo //查找的defaults,在前面添加一行內容
Defaults logfile ="/var/log/sudo " //啓用日誌配置以後,sudo操作過程纔會被記錄
列:tail/var/log/sudo
查詢授權的sudo操作
§sudo –l 查看用戶獲得哪些sudo授權
§注意:初次使用sudo時需驗證當前用戶的密嗎
列:sudo /sbin/fdisk –l //再次使用sudo 默認超時不間隔5分鐘,在此期間不再重複驗證
4.2 系統引導和登錄控制
Ø4.2.1開關機安全控制
1.調整BIOS引導設置
§將第一引導設備設爲當前系統所在硬盤
§禁止從其他設備(光盤、U盤、網絡)引導系統
§將安全級別設爲setup,並設置管理員密碼
2.禁用重啓熱鍵Ctrl+Alt+Del
§避免因用戶誤操作導致重啓
列: vi /etc/inittab
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
init q /重新讀取配置
3.GRUB菜單限制
未經授權禁止修改啓動參數
未經授權禁止進入指定系統
密碼設置方式(grub.conf)
§password 明文密碼串
§password --md5 加密密碼串
v密碼記錄的位置
§全局部分(第一個“title”之前)
§系統引導部分(每個“title”部分之後)
列: grub-md5-crypt
Password:
Retype password:
$1$Kndw50$wRW2w1v/jbZ8n5q2fON4y/
列: vi/boot/grub/grub.conf
password --md5 $1$Kndw50$wRW2w1v/jbZ8n5q2fON4y/ //添加到第一個title前
title Red Hat Enterprise Linux Server (2.6.18-194.el5)
root (hd0,0)
kernel/vmlinuz-2.6.18-194.el5 ro root=/dev/VolGroup00/LogVol00
initrd/initrd-2.6.18-194.el5.img
注:title前(全局部分)-禁止修改啓動內核參數
Title後(系統部分)--不允許進入指定系統
4.2.2終端登錄安全控制
1.修改系統登錄提示
§本機登錄提示:/etc/issue
§網絡登錄提示:/etc/issue.net
列: vi/etc/issue
Microsoft Windows Server 2008 R2
2.減少開放終端個數
列: vi/etc/inittab //禁用三個終端tty1 tty2Tty3
# Run gettys in standard runlevels
#1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
[root@localhost ~]# initq
3.限制root只在安全終端登錄
§安全終端配置:/etc/securetty
列: vi/etc/securetty //禁止root從終端tty 5 tty6登錄
……
tty1
tty2
tty3
tty4
#tty5
#tty6
4.禁止普通用戶登錄
§建立/etc/nologin文件
§刪除nologin文件或重啓後即恢復正常
列: touch/etc/nologin // 禁止普通用戶登錄
rm -rf /etc/nologin //取消上述登錄限制