Linux:系统安全及应用

一、账号安全控制

1、账号安全基本措施
(1)系统账号清理
a、将非登录用户的Shall设为/sbin/nologin

usermod -s/sbin/nologin 用户名

b、锁定长期不使用的账号

usermod -L 用户名            passwd -l 用户名

passwd -S 用户名

c、删除无用的账号

userdel[-r]用户名

d、锁定账号文件passwd、shadow

chattr +i/etc/passwd/etc/shadow(锁定文件并查看状态)

isattr /etc/passwd/etc/shadow

chattr -i/etc/passwd/etc/shadow(解锁文件)

账号安全管理
禁止程序用户登录             usermod -s /sbin/nologin 用户名
锁定禁用长期不使用的用户     passwd -l 用户名       usermod -L 用户名        #查看锁定账号状态  passwd -S 用户名
删除无效用户                 userdel -r 用户名
禁止账号和密码的修改         chattr +i /etc/passwd /etc/shadow               #查看锁定文件状态  lsattr 文件名
 

(2)密码安全控住
a、设置密码有效期

b、要求用户下次登录时修改密码

[root@localhost~]# vi/etc/login.defs(修改密码配置文件适用于新建用户)

PASS_MAX_DAYS    30

[root@localhost~]# chage-M 30 lisi(适用于已有用户)

[root@localhost~]# cat/etc/shadow | grep lisi

 [root@localhost~]# chage -d 0 zhangsan(强制在下次登录时更改密码)

[root@localhost~]# cat /etc/shadow | grep zhangsan(shadow文件中的第三个字段被修改为0)

密码安全管理
设置密码有效期               chage -M 天数  用户名                            #针对已存在的用户,天数为 99999 表示为永不过期
                             vim /etc/login.defs  -->  PASS_MAX_DAYS 天数     #针对新建的用户
强制用户下一次登录修改密码   chage -d 0 用户名


(3)命令历史限制
a、减少记录的命令条数

b、登录时自动清空命令历史

(4)终端自动注销
a、闲置600秒后自动注销

历史命令安全管理
查看历史命令        history
限制历史命令数量    vim /etc/profile  -->  export HISTSIZE=XX  -->  source /etc/profile
清空历史命令        history -c      #临时清空
                    vim /etc/profile  -->  > ~/.bash_history

2、使用su命令切换用户


(1)限制使用su命令的用户
a、将允许使用su命令的用户加入wheel组

b、启用pam_wheel认证模块

限制su切换用户
1)将信任的用户加入到wheel组中     gpasswd wheel -a 用户名
2)修改su的PAM认证配置文件         vim /etc/pam.d/su -> 开启 auth   required   pam_wheel.so use_uid 的配置

ssh远程登录输入三次密码错误则锁定用户
vim /etc/pam.d/sshd  
auth       required     pam_tally2.so  deny=3 unlock_time=600 even_deny_root root_unlock_time=600


sudo提权


visudo     vim /etc/sudoers (要用 wq! 强制保存)
#用户/组授权
用户名  主机名=程序列表                 #命令要用绝对路径表示,支持使用通配符 * 表示所有, ! 表示取反
%组名 主机名=程序列表
用户名  主机名=NOPASSWD: 程序列表       #NOPASSWD: 表示sudo不用密码验证

#别名设置
User_Alias  大写别名=用户1, 用户2, ...
Host_Alias  大写别名=主机名1, 主机名2, ...
Cmnd_Alias  大写别名=命令路径1, 命令路径2, ...
用户别名  主机别名=命令别名

#设置sudo日志路径
Defaults logfile = "/var/log/sudo.log"

sudo -l           #普通用户查看有哪些sudo权限       


如何查看进程是否已经开启?
systemctl status 进程名
ps aux/-elf | grep 进程名 
netstat/ss -lntup | grep 进程名/:端口
lsof -i :端口  


如何通过端口查看进程号?
netstat -lntup | grep :端口
ss -lntup | grep :端口
lsof -i :端口 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值