首页 > 技术文章 > linux帐户安全管理与技巧

fdsa 2021-09-13 17:37 原文

一.Linux:

CentOS6.5  一切皆文件(VFS)

Linux主要作为服务器来使用

二.安全机制

身份认证+访问控制(权限)+审计(日志)

身份认证:本地 远程(talnet--明文 暴露密码 不安全  +  SSH 密文) 认证方法--PAM(Linux独有,程序间)

三.

用户(user):root # UID:0

                   普通用户 $ UID:500-65534 ,65534:nfsnobody

                   系统用户 UID:1-499

/etc/passwd 用户名

/etc/shadow 口令 密码

用户组:权限相同的用户集合(多任务多用户) 辨识用户 GID

            查看 用户名 /etc/gruop

          查看 组口令 /etc/gshadow

查看当前用户所在组 : id -a

任务一:建立与删除普通用户账户,管理组

管理帐户的俱行工具及功能如下:

    useradd [] 添加新用户

    usermod [] 修改已存在的指定用户

    userdel [-r] 删除已存在的指定帐户,-r参数用于删除用户自家目录

    groupadd [] 加新组

    groupmod [] 修改已存在的指定组

    groupdel 删除已存在的指定组

任务二:用户口令管理与口令时效管理

(1)passwd命令

    passwd命令用来设置用户口令,格式为:passwd [] []

    用户修改自己的用户密码可直接键入passwd,若修改其他用户密码需加用户名。超级用户还可以使用如下命令进行用户口令管理:

    passwd -l //禁用用户帐户口令

    passwd -S //查看用户帐户口令状态

    passwd -u //恢复用户帐户口令

    passwd -d //删除用户帐户口令

(2)chage命令

    口令时效是系统管理员用来防止机构内不良口令的一种技术。在Linux系统上,口令时效是通过chage命令来管理的,格式为:chage []

    下面列出了chage命令的选项说明:

    -m days: 指定用户必须改变口令所间隔的最少天数。如果值为0,口令就不会过期。

    -M days: 指定口令有效的最多天数。当该选项指定的天数加上-d选项指定的天数小于当前的日期时,用户在使用该帐号前就必须改变口令。

    -d days: 指定从1970年1月1日起,口令被改变的天数。

    -I days: 指定口令过期后,帐号被锁前不活跃的天数。如果值为0,帐号在口令过期后就不会被锁。

    -E date: 指定帐号被锁的日期。日期格式YYYY-MM-DD。若不用日期,也可以使用自1970年1月1日后经过的天数。

    -W days: 指定口令过期前要警告用户的天数。

    -l: 列出指定用户当前的口令时效信息,以确定帐号何时过期。

    例如下面的命令要求用户user1两天内不能更改口令,并且口令最长的存活期为30天,并且口令过期前5天通知用户

    chage -m 2 -M 30 -W 5 user1

    可以使用如下命令查看用户user1当前的口令时效信息:chage -l user1

任务三:PAM可插拔验证模块

1. 指定密码复杂性

    修改/etc/pam.d/system-auth配置:(注意:在root用户下进行,其余用户对这个文件只有读的权限)

    vi /etc/pam.d/system-auth

    限制密码最少有:2个大写字母,3个小写字母,3个数字,2个符号

    文件中有一行为:

    password requisite pam_cracklib.so try_first_pass retry=3

    在其后追加如下参数:

    ucredit=-2 lcredit=-3 dcredit=-3 ocredit=-2

2. 验证时若出现任何与pam_tally有关的错误则停止登录

    auth required pam_tally.so onerr=fail magic_root

3. 账号验证过程中一旦发现连续5次输入密码错误,就通过pam_tally锁定此账号600秒

    account required pam_tally.so deny=5 lock_time=600 magic_root reset

分析与思考

1)思考还有哪些加强linux账户安全的管理方法?
答:开启防火墙,禁止root远程登录
2)比较一下linux账户跟unix账户管理的异同。
答:前者是开发源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上。

 

 

 

 

 

 

 需要补充对密码策略有效性的验证和系统日志查看内容:

新建用户user2,对其输入密码111111,

显示

说明密码不符合密码规则。当输入3fCAbd9.6!a时,密码输入有效:

  

 系统日志查看内容:

 

推荐阅读