资料来源:http://star.nsctf.cn/
在此记录下部分操作系统的检查方法和加固方法,其中为防止误操作请务必使用cp指令备份原有配置(养成良好习惯)
检查方法
ls -l#查看目录及权限
加固方法
对于重要目录,权限设置为750
举例:
chmod -R 750 /etc/rc.d/init.d/ #这样只有root可以读写和执行这个目录下的脚本,group可以读和执行,不可写
检查方法
使用umask指令查看是否为默认027
加固方法
使用
vi /etc/profile修改配置文件,添加行 umask 027,
即新创建文件属主读写执行权限,同组用户读和执行,其他用户无权限
同750(777-750=027)
检查方法
cat /etc/profile | grep HISSIZE=
cat /etc/profile | grep HISTFILESIZE=#查看历史命令条数
加固方法
vi /etc/profile #修改配置文件
HISSIZE=5
HISTFILESIZE=5
#仅保留最新执行的5条命令
检查方法
cat /etc/profile | grep TMOUT#查看TMOUT是否被设置
加固方法
vi /etc/profile#添加行
TMOUT=180#超时时间3分钟
检查方法
sudo echo $PATH
加固方法
修改/etc/profile文件中对应的路径去掉"."
检查方法
cat /etc/passwd#查看
对于ftp等服务账号,如果不需要登录系统,shell应该/sbin/nologin
加固方法
passwd -l <用户名>#锁定不必要的账号
检查方法
cat /etc/pam.d/system-auth
加固方法
设置连续输错次数,账号锁定时间
在/etc/pam.d/system-auth添加
auth required pam_tally.so onerr=fail deny=10 unlock_time=300
检查方法
awk -F:'($2=="")' /etc/shadow #查看空口令账号
awk -F:'($3==0)' /etc/passwd #查看UID为零账号(root权限)
加固方法
使用passwd <用户名>为空口令账号设置密码
UID为0的账号应该只有root,设置UID方法
usermod -u UID <用户名>
检查方法
cat /etc/login.defs | grep PASS
cat /etc/pam.d/system-auth
#查看密码策略设置
加固方法
vi /etc/login.defs
PASS_MAX_DAYS 90 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
使用change
change -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>
#同样效果(账号2000年1月1日过期)
检查方法
cat /etc/pam.d/system-auth | grep pam_cracklib.so
#查看密码复杂度
加固方法
在/etc/pam.d/system-auth中添加
password required pam_cracklib.so difok=3 minlen=8 ucredit=-1 lcredit=-1 dcredit=-1
#至少8位包含一位大写字母,一位小写字母和一位数字
检查方法
cat /etc/securetty | grep CONSOLE #查看是否禁止root远程登录
加固方法
在/etc/securetty配置对应CONSOLE = /dev/tty01
另外
检查SSH服务查看/etc/ssh/sshd_config
设置允许/禁止运行用户访问地址及程序分别在 /etc/hosts.allow和/etc/hosts.deny中
设置NFS共享查看/etc/exports删除不必要的共享
syslogd日志查看可以查看配置/etc/rsyslog.conf,
系统日志(默认) /car/log/messages
cron日志(默认) /car/log/cron
安全日志(默认) /car/log/secure
限制用户su查看并修改 /etc/pam.d/su添加对应pam_wheel.so部分