账号与密码安全

目录

        一、系统的安全隐患

        1.1 系统账号清理与管理

        1.2 密码安全控制

         1.3 历史命令安全配置

         二、用户安全操作

        2.1 用户切换配置

         2.2 限制使用命令的用户

         三、PAM安全认证

        3.1 查看su的PAM配置文件

         四、使用命令机制提升权限

        4.1 使用sudo提升权限


        一、系统的安全隐患

        世界上没有绝对安全的系统,即使是普遍认为稳定的Linux系统,在管理和安全方面也存在不足之处。我们期望让系统尽量在承担低风险的情况下工作,这就要加强对系统安全的管理。

        防御措施:让系统只能硬盘启动,给予一定的权限让root用户不在随意的修改密码,定时管理查看服务器内用户账户与权限设置,定时查看日志任务,购买防火墙抵御外来攻击。

        1.1 系统账号清理与管理

        将非登录用户的shell设为/sbin/nologin:usermod -s /sbin/nologin

        锁定长期不使用的的账号:usermod -L 用户名 、passwd -l

        解锁账户:passwd -u、usermod -U

        删除无用的账户:userdel[-r]

        锁定账户文件passwd(存放用户信息)、shadow(存放密码信息)

        chattr +i /etc/passwd /etc/shadow :锁定文件

        lsattr /etc/passwd /etc/shadow :查看文件状态

        chattr -i /etc/passwd /etc/shadow:解锁文件

        

         此时添加用户与密码都不可以修改

        1.2 密码安全控制

        修改已创建用户的密码期限

        chage -M +时间 +用户名

        chage -d 0 +用户名 每次登录都需要该密码

         修改新建用户密码期限

        vim /etc/login.defs

         1.3 历史命令安全配置

        查看历史命令:history

        临时清除密码:history -c (缺点是如果重启历史命令还在)

 

         减少历史命令条数

        vim /etc/profile 修改它默认的历史条数,默认为1000条

         清空历史命令

         修改文件:vim ~/.bashrc      并添加:echo “” >  ~/bash_history 最后切换一下用户或者重启即可。

         终端自动注销

        修改文件:vim ~/.bash_profile

        添加:eport TMOUT=设置的时间,单位秒  

         二、用户安全操作

        2.1 用户切换配置

        su:目标用户环境会改变

        su -:目标用户环境会改变

        echo $PATH:系统中所在的环境

         查看登录用户

[liu@localhost ~]$ whoami
liu
[liu@localhost ~]$ 

         2.2 限制使用命令的用户

        将允许使用su命令的用户加入wheel组,启用pam_wheel认证模块

        首先修改su命令:切换到cd /etc/pam.d 查看并修改vim su 修改第六行去除注释,开启pam认证模块(只有wheel组中才能使用这个命令)

        (如果注释第二行,将只有wheel组中才能使用su命令,如果2与6都注释掉,都可以使用su命令,但root切换用户需要密码)

 将用户加入wheel组可以使用su命令(默认情况下任何人都可以使用su登入,root切换用户不需要密码)

[root@localhost pam.d]# gpasswd -a liu wheel
正在将用户“liu”加入到“wheel”组中
[root@localhost pam.d]# 
[root@localhost pam.d]# su lisi             没有加入wheel组中的用户
[lisi@localhost pam.d]$ su liu
密码:
su: 拒绝权限
[lisi@localhost pam.d]$ su root
密码:
su: 拒绝权限
[lisi@localhost pam.d]$ 



[root@localhost ~]# su liu                 加入wheel组中的用户
[liu@localhost root]$ su root
密码:
[root@localhost ~]#

         查看切换操作记录

        cat /var/log/secure

         三、PAM安全认证

        PAM认证模块,叫做可插拔式的认证模块。一项重要的功能就是为了加强su命令的使用控制,可以借助于PAM认证模块,只允许极个别用户使用su命令进行切换。PAM提供了对所有服务进行认证的中央机制,适用于login,远程登录(telnet,rlogin,fsh,ftp),su等应用程序中,系统管理员通过PAM配置文件来制定不同应用程序的不同认证策略。

        3.1 查看su的PAM配置文件

        文件位置:cat /etc/pam.d/su

         四、使用命令机制提升权限

        4.1 使用sudo提升权限

        普通用户使用sudo时没有权限

[lili@localhost root]$ ifconfig ens33:1 192.168.100.200/24   创建一块虚拟网卡配置IP
SIOCSIFADDR: 不允许的操作
SIOCSIFFLAGS: 不允许的操作
SIOCSIFNETMASK: 不允许的操作
[lili@localhost root]$ sudo ifconfig ens33:1 192.168.100.200/24

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] lili 的密码:
lili 不在 sudoers 文件中。此事将被报告。

         如果将一个用户加入wheel组中此时具有权限

[liu@localhost root]$ ifconfig ens33:1 192.168.100.100/24      创建配置虚拟网卡的IP
SIOCSIFADDR: 不允许的操作
SIOCSIFFLAGS: 不允许的操作
SIOCSIFNETMASK: 不允许的操作
[liu@localhost root]$ 
[liu@localhost root]$ sudo ifconfig ens33:1 192.168.100.100/24

我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:

    #1) 尊重别人的隐私。
    #2) 输入前要先考虑(后果和风险)。
    #3) 权力越大,责任越大。

[sudo] liu 的密码:
[liu@localhost root]$ ip a            查看网卡 (此时这里多一块ens33:1的虚拟网卡)
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e4:4e:df brd ff:ff:ff:ff:ff:ff
    inet 192.168.26.100/24 brd 192.168.26.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.100.100/24 brd 192.168.100.255 scope global ens33:1
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee4:4edf/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
[liu@localhost root]$ 

        编辑visudo文件,将不能使用此命令的用户授权可以使用

        格式:用户名  +  主机名  +命令的绝对路径

[root@localhost ~]# visudo

lili localhost=(root) /sbin/ifconfig

        此时这个用户可以成功创建

[lili@localhost root]$ sudo ifconfig ens33:2 192.168.100.200/24
[sudo] lili 的密码:
您在 /var/spool/mail/root 中有新邮件
[lili@localhost root]$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e4:4e:df brd ff:ff:ff:ff:ff:ff
    inet 192.168.26.100/24 brd 192.168.26.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet 192.168.100.100/24 brd 192.168.100.255 scope global ens33:1
       valid_lft forever preferred_lft forever
    inet 192.168.100.200/24 brd 192.168.100.255 scope global secondary ens33:2
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee4:4edf/64 scope link 
       valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:63:fe:7e brd ff:ff:ff:ff:ff:ff
[lili@localhost root]$

        五、系统的弱口令检测

        5.1 软件介绍

        John the Ripper免费的开源软件,是一个快速的密码破解工具,用于在已知密文的情况下尝试破解出明文的破解密码软件,支持目前大多数的加密算法,如DES、MD4、MD5等。它支持多种不同类型的系统架构,包括Unix、Linux、Windows、DOS模式、BeOS和OpenVMS,主要目的是破解不够牢固的Unix/Linux系统密码。

        5.2 实验配置

        配置前需要准备john编译的安装包

[root@localhost run]# rz  导入安装包
[root@localhost opt]# tar zxvf john-1.8.0.tar.gz    将tar包解开
等待解包

[root@localhost opt]# ls    此时安装包成功解开
john-1.8.0  john-1.8.0.tar.gz


[root@localhost src]# yum install gcc gcc-c++ make -y   安装运行程序的编译包
已加载插件:fastestmirror, langpacks

[root@localhost src]# make clean linux-x86-64 进行编译安装

[root@localhost run]# cp /etc/shadow ./shadow.txt  复制文件到当前目录下

[root@localhost run]# ./john /opt/john-1.8.0/shadow.txt   运行程序将密码强破解
Loaded 2 password hashes with 2 different salts (crypt, generic crypt(3) [?/64])
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:06 54% 1/3 0g/s 374.6p/s 374.6c/s 374.6C/s Li99999..liu9999901
0g 0:00:00:09 67% 1/3 0g/s 372.5p/s 372.5c/s 372.5C/s rootO..R99999P
0g 0:00:00:10 72% 1/3 0g/s 372.5p/s 372.5c/s 372.5C/s -root99999-..root30
0g 0:00:00:13 90% 1/3 0g/s 372.0p/s 372.0c/s 372.0C/s Root99999000000..r999991986
0g 0:00:00:14 94% 1/3 0g/s 371.8p/s 371.8c/s 371.8C/s 999992010..r999991955
0g 0:00:00:15 99% 1/3 0g/s 371.8p/s 371.8c/s 371.8C/s 999991931..r999991907
123456           (root)
123456           (liu)
2g 0:00:00:16 100% 2/3 0.1233g/s 365.3p/s 371.2c/s 371.2C/s 123456..pepper
Use the "--show" option to display all of the cracked passwords reliably
Session completed

        六、网络端口扫描

        6.1 概述

         nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评估网络系统安全。

         6.2 实验配置

        首先使用yum仓库下载软件

[root@localhost yum.repos.d]# yum install nmap* -y
已加载插件:fastestmirror, langpacks
centos7                                                                                                         | 3.6 kB  00:00:00     
(1/2): centos7/group_gz                                                                                         | 156 kB  00:00:00     
(2/2): centos7/primary_db                                                                                       | 3.1 MB  00:00:00     
Determining fastest mirrors
软件包 2:nmap-ncat-6.40-7.el7.x86_64 已安装并且是最新版本
正在解决依赖关系
--> 正在检查事务
---> 软件包 nmap.x86_64.2.6.40-7.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

=======================================================================================================================================
 Package                     架构                          版本                                   源                              大小
=======================================================================================================================================
正在安装:
 nmap                        x86_64                        2:6.40-7.el7                           centos7                        4.0 M

事务概要
=======================================================================================================================================
安装  1 软件包

总下载量:4.0 M
安装大小:16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : 2:nmap-6.40-7.el7.x86_64                                                                                           1/1 
  验证中      : 2:nmap-6.40-7.el7.x86_64                                                                                           1/1 

已安装:
  nmap.x86_64 2:6.40-7.el7                                                                                                             

完毕!
[root@localhost yum.repos.d]

        常用选项

        命令格式:nmap +命令选项

p指定扫描的端口
n禁用反向DNS解析
sSTCP的SYN扫描,只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即
sTTCP连接扫描,这是完整的TCP扫描方式(默认扫描类型),用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。
sFTCP的FIN扫描,开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对sYN数据包进行简单 过滤,而忽略了其他形式的TCP攻击包。这种类型的扫描可间接检测防火墙的健壮性。
sUUDP扫描,探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。
sPICMP 扫描,类似于ping检测,快速判断目标主机是否存活,不做其他扫描。
P0跳过ping检测, 这种方式认为所有的目标主机是存活的,当对方不响应ICMP请求时,使用这种方式可以避免因无法 ping通而放弃扫描。

        例如:

        查看192.168.26.0/24这个网段有那些活跃的主机

[root@localhost yum.repos.d]# nmap -n -sP 192.168.26.0/24

Starting Nmap 6.40 ( http://nmap.org ) at 2021-09-24 15:40 CST
Nmap scan report for 192.168.26.1
Host is up (0.0010s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 192.168.26.2
Host is up (0.00015s latency).
MAC Address: 00:50:56:E0:E1:3F (VMware)
Nmap scan report for 192.168.26.254
Host is up (0.00032s latency).
MAC Address: 00:50:56:EF:A9:16 (VMware)
Nmap scan report for 192.168.26.100
Host is up.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对账号密码安全的测试用例,可以按照以下方面进行设计: 1. 注册阶段: - 用例1: 测试密码强度要求 - 输入:密码长度过短、没有包含特殊字符等弱密码 - 预期结果:系统应该提示密码强度要求,并拒绝注册弱密码 - 实际结果:系统正确判断并拒绝了弱密码的注册 - 用例2: 测试账号重复注册 - 输入:已经存在的用户名或邮箱 - 预期结果:系统应该给出相应的提示,阻止重复注册 - 实际结果:系统正确判断并阻止了重复注册 2. 登录阶段: - 用例3: 测试密码正确性验证 - 输入:正确的用户名和错误的密码 - 预期结果:系统应该提示密码错误 - 实际结果:系统正确判断并提示了密码错误 - 用例4: 测试账号锁定功能 - 输入:连续多次输入错误密码 - 预期结果:系统应该在达到一定次数后锁定账号 - 实际结果:系统在达到设定次数后正确锁定了账号 3. 密码重置: - 用例5: 测试密码重置功能 - 输入:已注册的有效用户名或邮箱 - 预期结果:系统应该发送密码重置链接或验证码到用户邮箱 - 实际结果:系统成功发送了密码重置链接或验证码至用户邮箱 - 用例6: 测试密码重置链接的有效性 - 输入:已过期或无效的密码重置链接 - 预期结果:系统应该提示链接已失效或无效 - 实际结果:系统正确判断并提示了链接已失效或无效 4. 密码安全性: - 用例7: 测试密码加密存储 - 输入:注册时设置的密码 - 预期结果:系统应该将密码进行加密存储 - 实际结果:系统成功将密码进行加密存储 - 用例8: 测试密码可见性 - 输入:在密码输入框中查看密码 - 预期结果:系统应该隐藏密码,不可见 - 实际结果:系统正确隐藏了密码,不可见 请注意,在设计测试用例时,需要根据具体的业务和安全要求进行相应的设计。同时,应尽量覆盖不同的安全方面,例如密码强度、账号锁定、密码重置等,并结合安全标准和最佳实践来设计测试用例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值