Linux基本防护
1)用户账号安全
] chage -l yaya #查看用户信息
] chage -d 0 yaya #强制用户登录后修改密码
] chage -E 2020/2/29 yaya #设置过期时间
] passwd -S yaya #查看用户密码信息
yaya PS 2020-01-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
] passwd -l yaya #锁定用户
yaya LK 2020-01-21 0 99999 7 -1 (密码已被锁定。)
] passwd -u yaya #解锁
- 设置强制定期修改密码(对新建的用户有效)
/etc/login.defs
PASS_MAX_DAYS 99999 #密码最大有效天数
PASS_MIN_DAYS 10 #密码最小有效天数
- 伪装登录提示
/etc/issue #本地登录提示信息,修改内容即可
/etc/issue.net #远程登录提示信息
2)文件系统安全
rehl7:
systemctl enable 服务名
systemctl disable 服务名
systemctl start 服务名
systemctl stop 服务名
rehl6:
chkconfig 服务名 on #设置服务开机自启
chkconfig 服务名 off #设置服务开机不自启
service 服务名 start #启动服务
service 服务名 stop #停止服务
- 锁定/解锁文件
- EXT3/EXT4文件属性控制
参数 | 作用 |
---|---|
i | 不可变 |
a | 仅可追加 |
] lsattr /etc/resolv.conf #查看
---------------- /etc/resolv.conf
] chattr +i /etc/resolv.conf #添加不可变属性
] lsattr /etc/resolv.conf
----i----------- /etc/resolv.conf
] chattr +a /etc/resolv.conf #添加仅可追加属性
alias
:不熟悉的机器最好先熟悉别名,以防踩雷
] alias #显示所有别名
] vim /etc/profile
] vim /etc/bashrc
] vim ~/.bashrc
用户切换与提权
1)用户切换
su [-] [用户名] #切换用户,加 - 为同时切换到目标用户的环境,不加 - 为保持当前环境
su [-] -c '命令' [用户名] #使用'用户'执行'命令'
- 安全日志
/var/log/secure
,记录su操作,shell开启和关闭 last
lastb
2)sudo提权
] sudo 提权命令
] sudo -l #查看当前用户的sudo列表
配置sudo提权:
] visudo
] vim /etc/sudoers
授权记录格式:
用户名 主机名(列表)=(用户名) 命令列表
#命令写绝对路径,用户名不写时为使用root用户执行,命令之间逗号分隔
%组名 ALL=(ALL) ALL
#为一个组的用户进行提权,需要验证密码
%组名 ALL=(ALL) NOPASSWD: ALL
#不需要验证密码
例:
mike localhost,node1=/sbin/*,!/sbin/ifconfig eth1
# 允许mike以root身份执行/sbin/下的所有命令,但是禁止修改eth1网卡的参数
3)分析sudo提权的使用情况
vim /etc/sudoers
Defaults logfile="/var/log/sudo" #启用日志
tail /var/log/sudo
4)sudo别名
vim /etc/sudoers
#文件中有预设的别名,可以直接打开注释使用
User_Alias USER_MY=jim,dc #别名名称必须大写
Host_Alias HOST_MY=localhost,node51,webserver1
Cmnd_Alias CMND_MY=/usr/bin/yum,/usr/bin/systemctl * httpd,/usr/bin/vim /etc/httpd/conf/httpd.conf
Cmnd_Alias ACCADM_MY=/usr/sbin/user*,/usr/bin/passwd,!/usr/bin/passwd * root,!/usr/sbin/user* * root
USER_MY HOST_MY=CMND_MY,NETWORKING,SERVICE
admin HOST_MY=CMND_MY
softadm HOST_MY=SERVICE
useradm HOST_MY=ACCADM_MY