一 用户账号安全
1 设置账号有效期#
使用chage工具
指定失效日期
chage -E 日期 用户名
强制修改密码
chage -d 0 用户名
查看账户信息
chage -l 用户名
2 账号的锁定/解锁
使用passwd命令
查看密码状态
passwd -S 用户名
锁定账号
passwd -l 用户名
解锁账号
passwd -u 用户名
3 强制定期修改密码
配置文件/etc/login.defs
PASS_MAX_DAYS
PASS_MIN_DAYS
PASS_WARN_AGE
4 伪装登录提示
配置文件/etc/issue(本地) /etc/issue.net(远程)
默认会提示内核 系统等版本信息
二 文件系统安全
1 程序和服务控制
禁用非必要的系统服务
systemctl
chkconfing
2 锁定 解锁保护文件
保护文件:服务配置文件 系统配置文件
ext3 ext4 的文件属性控制
chattr 设置
lsattr 查看
控制方式
属性i:(不可变)
chattr +i
chattr -i
属性a:(仅可追加)
chattr +a
chattr -a
三 sudo提升执行权限
1 sudu提权的基本用法
配置系统的普通用户有执行root用户命令的权限
注意:被授权用户有权执行授权的命令,验证自己的口令
执行提权命令
sudo 提权命令
查看提权命令
sudo -l导入
2 配置sudo提权
修改方法
visudo (打开提权配置的专属命令,可快捷打开配置文件.缺点是字体是黑白显示,无法显示错误字体)
vim /etc/sudoers(缺点是保存退出时要强制保存退出)
授权记录格式
系统普通账户用户名 主机列表=命令列表
案例:
允许用户lisi以root权限执行zabbix1主机/sbin/下的所有命令,同时禁止修改eth1网卡的参数
vim /etc/sudoers
lisi localhost,zabbix1=/sbin/*,!/sbin/ifconfig eth1
wq!
3 sudu别名设置
作用:
提高可重用性 易读性
简化配置 使记录更加有条理
别名的名称必须使用大写字母表示
User_Alias OPERATORS=定义用户
Host_Alias MAILSERVERS=定义主机名
Cmnd_Alias SOFTMGR=定义命令
OPERATORS MAILSERVERS=SOFTMGR
四 ssh访问控制
1 ssh防护概述
存在的安全隐患:
密码嗅探 键盘记录
暴力枚举账号 猜解密码
常见的防护措施
用户限制 黑白名单
更改验证方式(密码–>密钥对)
防火墙
2 第一道防线(sshd端口修改)
配置文件 /etc/ssh/sshd_config
Port 端口号 改用非标准端口0
3 第二道防线(sshd黑白名单配置)
配置文件/etc/ssh/sshd_config
DenyUsers
AllowUsers
DenyGroups
AllowGroups
4 第三道防线(ssh密钥对验证)
4.1 创建ssh密钥对
ssh-keygen
4.2 部署ssh公钥
方式一 通过ssh-copy-id自动部署
方式二 通过ftp等方式上传 手动添加