系统安全及应用

本文详细介绍了IT系统中的账号安全措施,包括系统账号清理、密码安全控制、命令历史限制、su命令安全、PAM认证原理与流程以及如何使用sudo提升执行权限。着重讲解了如何通过PAM模块增强安全性,并提供了sudo配置示例。
摘要由CSDN通过智能技术生成

目录

一、账号安全基本措施

1、系统账号清理

1.1 禁止用户登录

1.2 锁定账户

1.3 删除账户

1.4 锁定配置文件 passwd、shadow

2、密码安全控制

2.1 设置密码有效期:

vim  /etc/login.defs (适合以后添加的用户)

2.2要求用户下次登录时改密码:

3、命令历史限制

3.1减少记录的命令条数

3.2登录时自动清空命令历史

二、切换用户 su

1、用途及用法

三、PAM安全认证

1、su的命令的安全隐患

2、什么是PAM

3、PAM认证原理

4、PAM安全认证流程

5、limit

四、提升执行权限 sudo

1、 sudo命令的用途及用法:

2、 配置sudo授权

1、visudo

2、vim /etc/sudoers 

实例:以普通用户cc登入,使用sudo命令会报错,显示cc用户未在sudoers文件中。

1、下面我们将cc用户添加到sudoers文件中:

2、也可配置免密运行sudo命令

总结:


一、账号安全基本措施

1、系统账号清理

1.1 禁止用户登录

usermod  -s  /sbin/nologin  用户名

1.2 锁定账户

passwd  -l  用户名 usermod  -L  用户名 :锁定

passwd  -u  用户名(或usermod  -U  用户名 :解锁

1.3 删除账户

userdel  -r  用户名

1.4 锁定配置文件 passwd、shadow

chattr  +i /etc/passwd  /etc/shadow (锁定)

lsattr  /etc/passwd  /etc/shadow (查看)

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

2、密码安全控制

2.1 设置密码有效期:

chage -M  30  用户名 (适合已存在的用户)

选项:chage  [选项]  [用户名]

-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。

-M:密码保持有效的最大天数(有效期)

-w:用户密码到期前,提前收到警告信息的天数。

-E:帐号到期的日期。过了这天,此帐号将不可用。

-d:上一次更改的日期。

-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。

-l:例出当前的设置(查看)

vim  /etc/login.defs (适合以后添加的用户)

新建用户验证一下 有效期设置是否生效:

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

chage  -d  0  用户名 (强制要求用户下次登陆时修改密码)

3、命令历史限制

3.1减少记录的命令条数

export HISTSIZE=200 (适用于当前用户)

source /etc/profile (刷新配置文件,使文件立即生效)

vim /etc/profile (适合新用户)

source /etc/profile (刷新配置文件,使文件立即生效)

3.2登录时自动清空命令历史

echo"" > ~/.bash_history (永久清除)

vim ~/.bash_logout (临时清除)

history -c

clear

二、切换用户 su

1、用途及用法

用途:su  用户名 (切换用户,root用户切换至其他用户无须密码

格式:su - 目标用户(横杠“ - ”代表切换到目标用户的家目录)

三、PAM安全认证

1、su的命令的安全隐患

1.默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root) 的登录密码,带来安全风险;

2.为了加强su命令的使用控制,可借助于PAM认证模块,只允许极个别用户使用su命令进行切换。

2、什么是PAM

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

2.是一种高效而且灵活便利的用户级别的认证方式

3.也是当前Linux服务器普遍使用的认证方式

4.PAM提供了对所有服务进行认证的中央机制,适用于login,远程登陆,su等应用5.系统管理员通过PAM配置文件来制定不同的应用程序的不同认证策略

3、PAM认证原理

1.PAM认证一般遵循的顺序: Service (服务) --> PAM(配置文件) --> pam *.so;

2.PAM认证首先要确定哪一项应用服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认模块(位于/lib64/security/下) 进行安全认证。

3.用户访问服务器的时候,服务器的某一个服务程序把用户的请求发送到PAM模块进行认证。不同的应用程席所对应的PAM模块也是不同的。

4.如果想查看某个程序是否支持PAM认证,可以用Is命令进行查看/etc/pam.d/.ls /etc/pam.d/ | grep su

5.PAM的配置文件中的每一行都是一个独立的认证过程,它们按从上往下的顺序依次由PAM模块调用。

4、PAM安全认证流程

1.required验证失败时仍然继续,但是返回Fail

2.requisite验证失败则立即结束整个验证过程,返回Fail

3.suficient验证成功则立即返回,不再继续,否则忽略结果并继续

4.optional不用于验证,只显示信息

5、limit

功能

在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间

修改限制的实现方式:ulimit命令

ulimit是linux shell的内置命令,它具有一套参数集,用于对shell进程及其子进程进行资源限制。

ulimit的设定值是 per-process 的,也就是说,每个进程有自己的limits值。使用ulimit进行修改,立即生效。

ulimit只影响shell进程及其子进程,用户登出后失效。可以在profile中加入ulimit的设置,变相的做到永久生效

选项:

-H 设置硬件资源限制.

-S 设置软件资源限制.

-a 显示当前所有的资源限制.

-c size:设置core文件的最大值.单位:blocks

-d size:设置数据段的最大值.单位:kbytes

-f size:设置创建文件的最大值.单位:blocks

-l size:设置在内存中锁定进程的最大值.单位:kbytes

-m size:设置可以使用的常驻内存的最大值.单位:kbytes

-n size:设置内核可以同时打开的文件描述符的最大值.单位:n

-p size:设置管道缓冲区的最大值.单位:kbytes

-s size:设置堆栈的最大值.单位:kbytes

-t size:设置CPU使用时间的最大上限.单位:seconds

-u size:最大用户进程数

-v size:设置虚拟内存的最大值.单位:kbytes

unlimited 是一个特殊值,用于表示不限制

四、提升执行权限 sudo

1、 sudo命令的用途及用法:

用途:以其他用户身份(如root)执行授权命令

用法:sudo 授权命令

2、 配置sudo授权

visudo 或者 vim /etc/sudoers  找到如下内容

1、visudo

2、vim /etc/sudoers 

以上标记处每一列的含义如下:

第一列:用户名,如root、test;

第二列:等号左边的ALL表示允许从任何主机登录当前的用户账户;等号右边的ALL表示第一列的用户可以切换成系统中任何一个其它用户(如:su test)。

第三列:第一列的用户能下达的命令,ALL表示可以下达任何命令也可以指定特定命令,如/sbin/useradd,/sbin/userdel

实例:以普通用户cc登入,使用sudo命令会报错,显示cc用户未在sudoers文件中。

1、下面我们将cc用户添加到sudoers文件中:

下一步切换到cc用户,使用命令:sudo useradd cc1,这里首次运行sudo需要输入cc的密码才会执行。

2、也可配置免密运行sudo命令

总结

sudo给运维带来很大便利,如果有很多人需要有root用户权限去执行命令,不用sudo方式,而是告诉他们root密码,对于安全需要非常的不便。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值