您的位置:首页 > 健康 > 美食 > 系统安全及应用

系统安全及应用

2024/10/7 4:25:27 来源:https://blog.csdn.net/2401_83958584/article/details/141158795  浏览:    关键词:系统安全及应用

基本安全措施

1 .系统账号清理
Linux 系统中,除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他 大量账号.
常见的非登录用户账号包括 bin daemon adm lp mail 等。为了确保系统安全,这些用户账号的登录 Shell 通常是 /sbin/nologin ,表示禁止终端登录
# grep "/sbin/nologin$" /etc/passwd
Linux 服务器中长期不用的用户账号,若无法确定是否应该删除,可以暂时将其锁定
usermod -L zhangsan //锁定账号
passwd -S zhangsan//查看账号状态
usermod -U zhangsan //解锁账号
服务器中的用户账号已经固定,不再进行更改,还可以采取锁定账号配置文件的方法。使用 chattr 命令,分别结合 i”“-i” 选项来锁定、解锁文件
chattr +i /etc/passwd /etc/shadow // 锁定文件
lsattr /etc/passwd /etc/shadow //查看为锁定的状态
chattr -i /etc/passwd /etc/shadow // 解锁文件
  lsattr /etc/passwd /etc/shadow //查看为解锁的状态
2 .密码安全控制
管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。
vi /etc/login.defs //适用于新建的用户
chage -M 30 lisi //适用于已有的 lisi 用户
3 .命令历史、自动注销
Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户
vi /etc/profile //适用于新登录用户
export HISTSIZE=200 //适用于当前用户

用户切换与提权

su 命令 —— 切换用户

1.su 命令用法

可以切换为指定的另一个用户,从而具有该用户的所有权限

su - root  //查看

用户都允许使用 su 命令,从而有机会反复尝试其他用户(如 root) 的登录密码,这样带来了安全风险
gpasswd -a tsengyia wheel //添加授权用户 tsengyia
grep wheel /etc/group //确认 wheel 组成员
  vi /etc/pam.d/su 
2. PAM 安全认证
PAM 认证一般遵循的顺序: Service (服务) →PAM (配置文件) →pam_*.so
PAM 认证首先要确定哪一项服务,然后加载相应的 PAM 的配置文件 ( 位于 /etc/pam.d
) ,最后调用认证文件 ( 位于 /lib/security ) 进行安全认证;
用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到 PAM 模块进行
认证。不同的应用程序所对应的 PAM 模块也是不同的
每一行可以区分为三个字段:
认证类型
控制类型
  PAM 模块及其参数
PAM 认证类型包括四种:
认证管理( authentication management ):接受用户名和密码,进而对该用户的密码进
行认证;
帐户管理( account management ):检查帐户是否被允许登录系统,帐号是否已经过
期,帐号的登录是否有时间段的限制等;
密码管理( password management ):主要是用来修改用户的密码;
会话管理( session management ):主要是提供对会话的管理和记账。
控制类型也可以称做 Control Flags ,用于 PAM 验证类型的返回结果。
1. required 验证失败时仍然继续,但返回 Fail
2. requisite 验证失败则立即结束整个验证过程,返回 Fail
3. sufficient 验证成功则立即返回,不再继续,否则忽略结果并继续
4. optional 不用于验证,只是显示信息(通常用于 session 类型)

sudo 命令 —— 提升执行权限

1.在配置文件/etc/sudoers 中添加授权

授权配置主要包括用户、主机、命令三个部分,即授权哪些人在哪些主机上执行哪些命
用户( user ):直接授权指定的用户名,或采用 “% 组名 的形式(授权一个组的所有
用户)。
主机( MACHINE ):使用此配置文件的主机名称。此部分主要是方便在多个主机
间共用同一份 sudoers 文件,一般设为 localhost 或者实际的主机名即可。
命令( COMMANDS ):允许授权的用户通过 sudo 方式执行的特权命令,需填写
命令程序的完整路径,多个命令之间以逗号 “,” 进行分隔
2.通过 sudo 执行特权命令
sudo 方式执行特权命令时,只需要将正常的命令行作为sudo 命令的参数即可
/sbin/ifconfig ens33:0 192.168.1.11/24 //查看sudo 的情况
password for jerry: //验证 jerry 的密码
/sbin/ifconfig ens33:0  //查看执行结果
若要查看用户自己获得哪些 sudo 授权,可以执行 “sudo -l” 命令。未授权的用户将会得
“may not run sudo” 的提示,已授权的用户则可以看到自己的 sudo 配置。
sudo -l
password for syrianer: //验证 syrianer 用户的密码

开关机安全控制

调整 BIOS 引导设置

1. 将第一优先引导设备(First Boot Device)设为当前系统所在磁盘。

2. 禁止从其他设备(如光盘、U 盘、网络等)引导系统,对应的项设为“Disabled”

3. 将 BIOS 的安全级别改为 “setup” ,并设置好管理密码,以防止未授权的修改

限制更改 GRUB 引导参数

GRUB 菜单设置的密码建议采用 “grub2-mkpasswd-pbkdf2” 命令生成,表现为经过
PBKDF2 算法加密的字符串,安全性更好
grub2-mkpasswd-pbkdf2 //根据提示指定密码
使用 grub2-mkconfig 命令生成新的 grub.cfg 配置文件。
grub2-mkconfig -o /boot/grub2/grub.cfg //生成新的 grub.cfg 文件

终端及登录控制

1. 禁止 root 用户登录

要禁止 root 用户从指定的终端登录,只需从该文件中删除或者注释掉对应的行即可
vi /etc/securetty
2. 禁止普通用户登录
简单地建立 /etc/nologin 文件即可。 login 程序会检查 /etc/nologin 文件是否存在,如果存在,则拒绝普通用户登录系统(root 用户不受限制)。
touch /etc/nologin

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com