1. chattr命令
chattr用法:chattr [-RV] [-v version] [mode] 文件或目录
- R:递归修改所有文件及子目录
- V:详细显示修改内容,并打印输出
+
:在原有参数设定的基础上,追加参数-
:在原有参数设定的基础上,移除参数=
:更新为指定参数a
:即append
,设定此参数后,只能向文件中添加数据,而不能删除。常用于服务器日志文件安全,只有root用户可以设置这个属性i
:即immutable
,设定后,文件不能被个修改、删除、重命名、设定链接等,同时不能写入或新增内容,即使是root用户
2. lsattr命令
lsattr用法:lsattr [-adlRvV] 文件或目录
-a
:列出目录中的所有文件,包括以"."开始的文件-d
:显示指定目录的属性
3. chattr应用
chattr -R +i /bin /boot /lib /sbin
chattr -R +i /usr/bin /usr/include /usr/lib /usr/sbin
chattr +i /etc/passwd
chattr +i /etc/group
chattr +i /etc/shadow
chattr +i /etc/gshadow
chattr +i /etc/hosts
chattr +i /etc/resolv.conf
chattr +i /etc/fstab
chattr +i /etc/sudoers
chattr +i /etc/inittab
chattr +a /var/log/messages
chattr +a /var/log/wtmp
chattr +a /var/log/secure
对重要的文件加锁,虽然能够提高服务器安全性,但同时也会带来一些不方便。如软件安装,升级,或者日志切割轮换等都需去掉相关目录和文件的immutable
属性和append-only
属性。在使用chattr前,需要结合服务器的应用环境来权衡是否需要设置。并且chattr命令不能保护/、/dev、/tmp、/var
等目录。/dev、/tmp的安全性可以通过另外的方法实现。
4. 文件权限检查和修改
不正确的权限设置直接威胁系统的安全。因此生产中我们应该及时发现这些不正确的权限设置,并立刻修正,防患于未然。
(1) 查找系统中任何用户都有写权限的文件或目录
查找文件:find / -type f -perm -2 -o -perm -20 | xargs ls -al
查找目录:find / -type d -perm -2 -o -perm -20 | xargs ls -ld
(2) 查找系统中所有含有"s"位的程序
find / -type f -perm -4000 -o -perm -2000 -print | xargs ls -al
含有"s"位权限的程序对系统安全性威胁很大,要多注意!
(3) 检查系统中所有suid
及sgid
文件
find / -user root -perm -2000 -print -exec md5sum {} \;
find / -user root -perm -4000 -print -exec md5sum {} \;
将检查的结果保存在到文件中,可在以后的系统检查中作为参考,可以用shell脚本方便实现。
(4) 检查系统中没有属主的文件
find / -nouser -o -nogroup
没有属主的孤儿文件比较危险,往往成为黑客利用的式个,因此在找到这些文件后,要么删除,要么修改文件的属主,使其处于安全状态。
5. 更改危险文件(命令)权限
只有root用户能使用以下命令
chmod 700 /bin/ping
chmod 700 /usr/bin/who
chmod 700 /usr/bin/w
chmod 700 /usr/bin/{last,lastb,lastlog}
chmod 700 /usr/bin/whereis
chmod 700 /sbin/ifconfig
chmod 700 /usr/bin/pico
chmod 700 /usr/bin/{vi,vim}
chmod 700 /usr/bin/which
chmod 700 /usr/bin/gcc
chmod 700 /usr/bin/make
chmod 700 /bin/rpm
chmod 700 /usr/bin/wget
附录:
passwd -l
<用户名> 锁定不必要的账号passwd -u
<用户名> 解锁需要恢复的账号检查 shadow 中空口令帐号:
awk -F: '($2 =="") {print $1}' /etc/shadow
常用
w、last、lastlog、lastb
命令设定sudo权限
参考:《高性能Linux服务器构建实战》