账户和口令
禁用或删除无用账号 //减少系统无用账户,降低安全风险
- cat /etc/shadow 查看有多少账户
- 使用命令 userdel <用户名> 删除不必要的账号
- 使用命令 passwd -l <用户名> 锁定不必要的账号。
- 使用命令 passwd -u <用户名> 解锁必要的账号。
检查特殊账户
检查是否存在空口令和root权限的账号。
使用命令 awk -F: '($2=="")' /etc/shadow 查看空口令账号。
使用命令 awk -F: '($3==0)' /etc/passwd 查看UID为零的账号。
AWK 解释
awk [options] 'pattern + action' filename
options : -F : 指明输入时用到的字段分隔符
-v var=VALUE : 自定义变量
pattern: 正则表达式
action:某些计算操作
filename:文件名称
使用命令 passwd <用户名> 为空口令账号设定密码
添加口令正常(SSH服务安全)
加强口令的复杂度,降低被猜解的可能性
使用vim /etc/login.defs 修改配置文件
PASS_MAX_DAYS 9999 #新建用户的密码最长使用天数
PASS_MIN_DAYS 0 #新建用户的密码最短使用天数
PASS_MIN_LEN 5 #新建用户的密码长度为5
PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数
限制用户su
限制能su到root的用户
使用命令 vi /etc/pam.d/su修改配置文件
将命令修改为
auth required pam_wheel.so group=test
禁止root用户直接登录
使用命令 vi /etc/ssh/sshd_config修改配置文件
将前面#删掉 PermitRootLogin的值改成no
保存退出,使用service sshd restart命令重启服务
服务
关闭不必要的服务
关闭不必要的服务可降低 风险
使用命令 systemctl disable <服务名> 设置开机不自启
systemctl list-unit-files 查看启动服务
- systemctl enable 服务名 //开机自启
- systemctl disable 服务名 //开机不启动
文件系统
设置默认的umask值,增强安全性
使用命令 vim /etc/profile 修改配置文件
添加umask 027
设置登录超时
使用命令 vim /etc/profile 修改配置文件
更改TMOUT=开头的行注释,没有则添加一个,数字为时间,以秒为单位
日志
syslogd日志,启用日志功能,并配置日志记录
Linux系统默认开启的日志类型
- 系统日志(默认)/var/log/messages
- cron日志 (默认)/var/log/cron
- 安全日志(默认)/var/log/secure
使用vim /etc/profile 打开配置文件
在配置中输入以下内容
history
USER=`whoami`
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]; then
USER_IP=`hostname`
fi
if [ ! -d /var/log/history ]; then
mkdir /var/log/history
chmod 777 /var/log/history
fi
if [ ! -d /var/log/history/${LOGNAME} ]; then
mkdir /var/log/history/${LOGNAME}
chmod 300 /var/log/history/${LOGNAME}
fi
export HISTSIZE=4096
DT=`date +"%Y%m%d_%H:%M:%S"`
export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
同时,建议您使用OSS服务收集存储日志
使用ssh root@ip 登录服务器
输入password密码,
保存退出后执行 source /etc/profile 加载配置生效
时间
date //查看系统时间
cat /etc/rsyslog.conf 中查看是否存在
使用命令uname -sr 查看系统内核版本