基本安全措施
1. 刪除或禁用系統(tǒng)中不使用的用戶和組
# passwd -l wang //禁用賬戶wang
# passwd -u wang //解鎖賬戶wang
或
# vi /etc/shadow //保存時為 :wq! 因為文件為只讀
在密碼字符前加兩個嘆號!
2. 確認程序或服務的登錄shell不可用
# vi /etc/passwd //將用戶的登錄shell改為/sbin/nologin
或
# usermod -s /sbin/nologin wang
3. 限制用戶的密碼有效期(最大天數(shù))
# vi /etc/login.defs //只對新建立的用戶有效
PASS_MAX_DAYS 30
或
# chage -M 30 wang //只對已經(jīng)存在的wang用戶有效
4. 指定用戶下次登錄時必須更改密碼
# chage -d 0 wang
或
# vi /etc/shadow
//將shadow文件中wang用戶LAST DAY 域(冒號 :分割的第三列)的值設為0
5. 限制用戶密碼的最小長度
# vi /etc/pam.d/system-auth
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
retry 重試時間 minlen 安全級別
6. 限制記錄命令歷史的條數(shù)
# vi /etc/profile
HISTSIZE=50 (默認為1000)
# echo “history -c “ >> ~/.bash_logout //注銷時清除命令歷史記錄
7. 設置閑置超時自動注銷終端
# vi /etc /profile
export TMOUT=600 //添加此行使用SU切換用戶身份
su [-] 用戶名
[-] 區(qū)別 :
使用:相當于 - -login,表示使用目標用戶的登錄shell環(huán)境,工作目錄,PATH變量等
不使用: 保持原有的用過環(huán)境不便
案例說明su的使用方法
允許wang用戶可以通過su命令切換為root身份,以便執(zhí)行管理任務
禁止其他用戶使用su命令切換用過身份
。1) 將允許用戶加入wheel組
# gpasswd -a wang wheel
# id wang //查看wang用戶的附加組
(2) 修改PAM設置,添加pam_wheel認證
# vi /etc/pam.d/su
auth required pam_wheel.so use_uid //去掉該行的#號
。3) 驗證su權(quán)限
? 使用sudo提升執(zhí)行權(quán)限
1./etc/sudoers配置文件---------visudo
sudo命令提供一種機制,只需要預先在/etc/sudoers配置文件中進行授權(quán),即可以允許特定用戶以超級用戶(或其他普通用戶)的身份執(zhí)行命令,而該用戶不需知道root用戶的密碼(或其他用戶)的密碼。常見語法格式如下:
user MACHINE=COMMANDS
user: 授權(quán)指定用戶
MACHINE主機: 授權(quán)用戶可以在哪些主機上使用
COMMANDS命令:授權(quán)用戶通過sudo調(diào)用的命令,多個命令用 , 分隔
/etc/sudoers文件配置中的用戶、主機、命令三個部分均為可以自定義別名進行代替,格式如下
User_Alias OPERATORS=jerry, tom, tsengyia
Host_Alias MAILSERVERS=smtp , pop
Cmnd_Alias SOFTWARE=/bin/rpm , /usr/bin/yum
2.使用sudo執(zhí)行命令
sudo -l :查看當前用過被授權(quán)使用的sudo命令
sudo -k :清除timestamp時間戳標記,再次使用sudo命令時需要重新驗證密碼
sudo -v :重新更新時間戳(必要時系統(tǒng)會再次詢問用戶密碼)
案例說明:
因系統(tǒng)管理工作繁重,需要將用戶賬號管理工作交給專門管理組成員負責
設立組賬號 managers ,授權(quán)組內(nèi)的各個成員用戶可以添加、刪除、更改用戶賬號
。1) 建立管理組賬戶 managers
# groupadd managers
。2) 將管理員賬號,如wang加入managers組
# gpasswd -M wang.nan managers
。3) 配置sudo文件,針對managers組開放useradd 、 userdel 等用戶管理命令的權(quán)限
# visudo
Cmns_Alias USERADM = /usr/sbin/useradd , /usr/sbin/userdel , /usr/sbin/usermod
%managers localhost = USERADM
。4) 使用wang賬號登錄,驗證是否可以刪除他、添加用戶
# su - wang
# whoami
# sudo -l
# sudo /usr/sbin/useradd user1
# sudo /usr/sbin/usermod -p “ “ user1
# sudo /usr/sbin/userdel -r user1
文件和文件系統(tǒng)安全優(yōu)化文件系統(tǒng)層次的安全優(yōu)化
1. 合理規(guī)劃系統(tǒng)分區(qū)
建議劃分為獨立分區(qū)的目錄
/boot :大小建議在200M以上。
/home :該目錄是用戶默認宿主目錄所在的上一級文件夾,若服務器用戶數(shù)量較多,通常無法預知每個用戶所使用的磁盤空間大小
/var : 該目錄用于保存系統(tǒng)日志、運行狀態(tài)、用戶郵箱目錄等,文件讀寫頻繁。占用空間可能會較多
/opt : 用于安裝服務器的附加應用程序及其他可選工具,方便擴展使用
2. 通過掛載選項禁止執(zhí)行set位程序、二進制程序
使/var分區(qū)中程序文件的執(zhí)行(x)權(quán)限失效,禁止直接執(zhí)行該分區(qū)中二進制程序
# vi /etc/fstab
/dev/sdc1 /var ext3 defaults,noexec 1 2
# mount -o remount /var
如果想要從文件系統(tǒng)層面禁止文件的suid 或 sgid位權(quán)限,將上邊的noexec改為nosuid即可
3. 鎖定不希望更改的系統(tǒng)文件
使用 +i 屬性鎖定service 、passwd、grub.conf 文件(將不能正常添加系統(tǒng)用戶)
# chattr +i /etc/service /etc/passd /boot/grub.conf
解除/etc/passwd文件的 +i 鎖定屬性
# lsattr /etc/passwd //查看文件的屬性狀態(tài)
# chattr -i /etc/passwd
? 應用程序和服務
1. 關閉不必要的系統(tǒng)服務
2. 禁止普通用戶執(zhí)行init.d目錄中的腳本
# chmod -R o-rwx /etc/init.d
或
# chmod -R 750 /etc/init.d
3. 禁止普通用戶執(zhí)行控制臺程序
/etc/security/console.apps/目錄下每一文件對應一個系統(tǒng)程序,如果不希望普通用戶調(diào)用這些控制臺程序,可以將對應的配置文件移除
# cd /etc/security/console.apps/
# tar jcpvf /etc/conhlp.pw.tar.bz2 poweroff halt reboot - - remove
4. 去除程序文件中非必需的set-uid 或 set-gid 附加權(quán)限
查找系統(tǒng)中設置了set-uid或set-gid權(quán)限的文件,并結(jié)合 –exec 選項顯示這些文件的詳細權(quán)限屬性
# find / -type f perm +6000 -exec ls -lh { } \ ;
去掉程序文件的suid/sgid位權(quán)限
# chmod a-s /tmp/back.vim
編寫shell腳本,檢查系統(tǒng)中新增加的帶有suid或者sgid位權(quán)限的程序文件
(1) 在系統(tǒng)處于干凈狀態(tài)時,建立合法suid/sgid文件的列表,作為是否有新增可疑suid文件的比較依據(jù)
# find / -type f -prem +6000 > /etc/sfilelist
# chmod 600 /etc/sfilelist
(2) 建立chksfile腳本文件,與sfilelist比較,輸出新增的帶suid/sgid屬性的文件
# vi /usr/sbin/chksfile
#!/bin/bash
OLD_LIST=/etc/sfilelist
for i in ` find / -type -prem +6000 `
do
grep -F “$i” $OLD_LIST > /dev/null
[ $? -ne 0 ] && ls -lh $i
done
# chmod 700 /usr/bin/chkfile
(3) 執(zhí)行chkfile腳本,檢查是否有新增suid/sgid文件
# cp /bin/touch /bin/mytouch //建立測試用程序文件
# chmod 4755 /bin/mytouch
# chksfile //執(zhí)行程序腳本,輸出檢查結(jié)果
系統(tǒng)引導和登錄安全優(yōu)化文件系統(tǒng)層次的安全優(yōu)化
1. 合理規(guī)劃系統(tǒng)分區(qū)
建議劃分為獨立分區(qū)的目錄
/boot :大小建議在200M以上。
/home :該目錄是用戶默認宿主目錄所在的上一級文件夾,若服務器用戶數(shù)量較多,通常無法預知每個用戶所使用的磁盤空間大小
/var : 該目錄用于保存系統(tǒng)日志、運行狀態(tài)、用戶郵箱目錄等,文件讀寫頻繁。占用空間可能會較多
/opt : 用于安裝服務器的附加應用程序及其他可選工具,方便擴展使用
2. 通過掛載選項禁止執(zhí)行set位程序、二進制程序
使/var分區(qū)中程序文件的執(zhí)行(x)權(quán)限失效,禁止直接執(zhí)行該分區(qū)中二進制程序
# vi /etc/fstab
/dev/sdc1 /var ext3 defaults,noexec 1 2
# mount -o remount /var
如果想要從文件系統(tǒng)層面禁止文件的suid 或 sgid位權(quán)限,將上邊的noexec改為nosuid即可
3. 鎖定不希望更改
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【mszdt.com】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|