Linux系统安全

目录

1. 账号安全控制

1.1 系统账号清理

1.2密码安全控制

1.2.1 设置密码有效期

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

1.3 账号安全基本措施

1.3.1常用四个系统配置文件

1.3.1 命令历史限制

1.3.2 终端自动注销

2.系统引导和登录控制

2.1 使用su命令切换用户

2.1.1 切换用户

2.1.2密码验证

2.1.3 限制使用su命令的用户

2.2 PAM安全认证

2.2.1 Linux中的PAM安全认证

2.2.2 PAM认证原理

2.2.3 PAM认证的构成

2.3使用sudo机制提升权限

2.3.1 sudo命令的用途及用法

2.4 使用sudo机制提升

3 系统引导和登录控制

3.1 开关机安全控制

3.1.1 调整BIOS引导设置原则

3.1.2 GRUB限制

3.1.3 GRUB菜单加密的实现

3.2 终端登录安全控制

3.2.1 限制root只在安全终端登录

3.2.2 禁止普通用户登录

4 网络端口扫描——nmap工具

4.1 nmap工具

4.2 netstat命令


1. 账号安全控制

1.1 系统账号清理

  • 将非登录用户的shell设为/sbin/nologin
usermod -s /sbin/nologin 用户名
  • 锁定长期不使用的账户
usermod -L 用户名
passwd -l 用户名`
  • 删除无用的账号
userdel [-r] 用户名
  • 锁定账号文件passwd、shadow
[root@localhost ~]# chattr +i /etc/passwd /etc/shadow  `##锁定账号文件`
[root@localhost ~]# lsattr /etc/passwd /etc/shadow   `##锁定文件并查看状态`
----i----------- /etc/passwd
----i----------- /etc/shadow  
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow  `##解锁文件`
[root@localhost ~]# lsattr /etc/passwd /etc/shadow  `##锁定文件并查看状态`
---------------- /etc/passwd
---------------- /etc/shadow
`这两个文件被锁了以后用户也会无法创建`

1.2密码安全控制

1.2.1 设置密码有效期

法一

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

法二

[root@localhost ~]# chage -M 30 zhangsan `##适用于已有的用户`
[root@localhost ~]# cat /etc/shadow | grep zhangsan  `##查看shadow文件的zhnagsan的那一行`

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

    chage ##修改账号和密码有效期限
    语法:chage [参数] [数值] username

常用参数

选项 说明
l 列出当前用户过期时间设置信息
m 密码可以更改的最小天数,为0时任何时候都能更改
M 密码保持有效的最大天数
E 设置用户的过期时间 过了这些天账号将不可用 0表示马上过期 -1表示永不过期
d 上一次更改的日期
[root@localhost ~]# chage -d 0 zhangsan  `##下次登录时强制请求修改密码`

1.3 账号安全基本措施

1.3.1常用四个系统配置文件

/etc/profile
系统环境变量得配置文件(全局有效)  环境变量  PATH   HISTSIZE
开机时,用户登录会自动加载

/etc/bashrc
全局有效,用户在切换shell环境时也会自动加载此文件中的配置
source 刷新

~/.bash_profile
只针对当前用户有效
echo ''>  ~/.bash_history放在当前文件夹中
当前用户开机后首次登录系统时会执行一次这个命令

~/ . bashrc
只针对当前用户有效
echo ' ' > ~/ .bash_ history
当前用户每次登录或者切换shell环境时都会执行一次命令

1.3.1 命令历史限制

[root@localhost ~]# history -c  `##临时清空历史命令`
[root@localhost ~]# vim /etc/profile
export HISTSI本E=200  `##减少记录的命令条数`
[root@localhost ~]# source /etc/profile 
[root@localhost ~]# vim ~/.bashre  
echo " " > -/.bash_ history  `##添加这一行后登录时自动清空命令历史`

1.3.2 终端自动注销

[root@localhost ~]# vim /etc/profile

[root@localhost ~]# source /etc/proflie  `##刷新配置文件`

2.系统引导和登录控制

2.1 使用su命令切换用户

2.1.1 切换用户

格式 su [-] 目标用户

[root@localhost ~]# pwd
/root
[root@localhost ~]# su wangwu  `##该方法切换用户不会改变目录`
[wangwu@localhost root]$ pwd
/root
[root@localhost ~]# su - wangwu  `##该方法切换用户会进入当前用户的家目录,并自动加载shell环境`
上一次登录:二 8月  9 17:12:30 CST 2022pts/0 上
[wangwu@localhost ~]$ pwd
/home/wangwu

2.1.2密码验证

root→任意用户,不验证密码

[root@localhost ~]# su wangwu
[wangwu@localhost root]$ 

普通用户→其他用户,验证目标用户的密码

[wangwu@localhost ~]$ su - root
密码:
上一次登录:二 8月  9 14:11:59 CST 2022tty2 上
[root@localhost ~]# whoami
root

2.1.3 限制使用su命令的用户

将允许使用su命令的用户加入wheel组

[root@localhost ~]# gpasswd -a wangwu wheel
正在将用户“wangwu”加入到“wheel”组中
[root@localhost ~]# id wangwu
uid=1003(wangwu) gid=1003(wangwu) 组=1003(wangwu),`10(wheel)  ##已经将用户加入到wheel组中`  

启用pam_ wheel认证模块

[root@localhost ~]# vim /etc/pam.d/su

2.2 PAM安全认证

2.2.1 Linux中的PAM安全认证

su命令的安全隐患

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险
  • 为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换

PAM(Pluggable Authentication Modules)可插拔式认证模块

  • 是一种高效而且灵活便利的用户级别的认证方式
  • 也是当前Linux服务器普遍使用的认证方式

2.2.2 PAM认证原理

  • 一般遵循的顺序

      Service (服务) → PAM (配置文件) → +pam_ *.so
    
  • 首先要确定哪-项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于 /lib64/security下)进行安全认证

  • 用户访问服务器时,服务器的某-个服务程序把用户的请求发送到PAM模块进

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值