系统安全及应用

打印 上一主题 下一主题

主题 510|帖子 510|积分 1530

10.1  账号安全控制

10.1.1基本安全步调

种别
子项
形貌与操作
账号安全控制
基本安全步调
 
  禁止登录终端
设置登录 shell 为
/sbin/nologin
  锁定账号
使用
usermod -L 用户名
锁定账号,
usermod -U 用户名
解锁账号
  锁定文件
使用
chattr +i
锁定
/etc/passwd

/etc/shadow
文件,防止修改
   使用
lsattr
查看文件隐蔽属性
暗码安全控制
暗码有用期设置
查看
/etc/shadow
文件中用户暗码的具体信息
   修改
/etc/login.defs
文件中的
PASS_MAX_DAYS
设置暗码最长过期天数


  • chattr 下令用于设置文件的隐蔽属性,其中 +i 表现设置不可修改和删除的属性。
  • lsattr 下令用于显示文件的隐蔽属性。
  • /etc/passwd 和 /etc/shadow 是存储用户账号和暗码的文件,必要掩护其安全。
  • /etc/login.defs 文件界说了系统级的账号和暗码策略。
(1)chatter文件隐蔽属性参数阐明:



  • A: 访问时间不被修改
  • S: 同步写入磁盘
  • a: 文件只能增加数据,不能删除或修改
  • c: 自动压缩文件
  • d: 不被 dump 备份
  • i: 文件不能被删除、改名,不能写入或添加数据
  • s: 文件被删除后彻底删除
  • u: 文件删除后数据内容仍存在于磁盘
(2)lsattr显示隐蔽文件属性参数阐明



  • -a:将隐蔽文件的属性也显示出来
  • -d:假如接的是目录,仅列出目录本身的属性而不是目录内的文件名
  • -R:连同子目录的数据也显示出来
10.1.2:暗码安全控制

在 /etc/shadow 文件中,每个用户账号的暗码信息都存储为一行,并且使用冒号()分隔成多个字段
  1. [root@localhost ~]# cat /etc/shadow
  2. root:$6$zFZ8kavFcjTKEq9v$3eEDeLV42bSDjRvflGFRdXs23LjMbzHLJRxtjXFpAKlBBTKv2rg3mxmkgZSxhaxGx.W9k2xQFKRhxDyazVaP./::0:99999:7:::
复制代码
下面对每组的解释:
字段
含义
示例值
用户名
用户的登录名
root
加密后的暗码
使用
$id$salt$hashed
格式加密的暗码
$6$zFZ8kavFcjTKEq9v$3eEDeLV42bSDjRvflGFRdXs23LjMbzHLJRxtjXFpAKlBBTKv2rg3mxmkgZSxhaxGx.W9k2xQFKRhxDyazVaP./
暗码末了一次更改日期
从1970年1月1日算起的天数
::
(这里为占位符,现实值应为一个数字)
暗码最小年龄
暗码更改后必须保持的最小天数
0
暗码最大年龄
暗码到期前的天数(暗码有用期)
99999
(通常表现暗码永不过期)
暗码到期前的警告天数
暗码到期前多少天开始警告用户
7
暗码到期后账号的宽限期
暗码过期后用户还可以登录的天数
::
(这里为占位符,现实值应为一个数字)
账号失效日期
账号过期的日期(从1970年1月1日算起的天数)
::
(这里为占位符,现实值应为一个数字)
保留字段
保留给未来使用
::
(通常为空或占位符)
(1)暗码有用期的设置

新建用户可以通过修改login.defs文件修改暗码有用期
  1. PASS_MAX_DAYS   99999  
  2. PASS_MIN_DAYS   0  
  3. PASS_MIN_LEN    5  
  4. PASS_WARN_AGE   7
复制代码


  • PASS_MAX_DAYS 99999

    • 这个参数界说了暗码的最大有用期(天数)。在此例中,暗码的最大有用期被设置为 99999 天,这通常意味着暗码永不过期(除非手动更改)。

  • PASS_MIN_DAYS 0

    • 这个参数界说了用户更改暗码后必须等候的最小天数。在此例中,设置为 0 意味着用户可以随时更改他们的暗码,没有等候期。

  • PASS_MIN_LEN 5

    • 这个参数界说了暗码的最小长度。在此例中,用户设置的暗码长度必须至少为 5 个字符。这有助于提高暗码的安全性,因为较短的暗码更容易被推测或暴力破解。

  • PASS_WARN_AGE 7

    • 这个参数界说了从暗码到期日开始,系统开始警告用户暗码即将过期的天数。在此例中,假如用户的暗码设置了有用期(尽管在上面的 PASS_MAX_DAYS 中设置为 99999),那么系统会在用户暗码到期前 7 天开始发出警告。

PASS_MIN_LEN的值必要在/etc/pam.d/system-auth文件中设置,此处设置是不生效的,此参数由pam认证机制决定。
以下方式设置用户最短暗码策略
[root@localhost ~]# vim /etc/pam.d/system-auth
添加:
password requisite pam_cracklib.so try_first_pass retry=3 minlen=12
10.1.3 下令历史,自动注销的步骤

序号
操作目标
下令或配置
解释
1
为新登录的用户设置下令历史
vi /etc/profile
,添加
HISTSIZE=20
修改
/etc/profile
文件,为新登录用户设置下令历史记录的最大数量为20条。
2
为已登录的当前用户设置下令历史
export HISTSIZE=200
为当前已登录的shell会话设置下令历史记录的最大数量为200条。
3
清空历史下令
vi ~/.bash_logout
,添加
history -c

clear
在用户的
~/.bash_logout
文件中添加
history -c
下令以清空历史记录,
clear
下令用于扫除屏幕内容。但这并不是真正在注销时清空历史记录的正确方法,因为
history -c
通常在当前shell会话中有用,并不会影响已保存的历史文件(如
~/.bash_history
)。
4
检查下令历史的扫除结果
logout
后重新登录,
history
查看
在终端中输入
logout
注销用户,然后重新登录并使用
history
下令查看历史记录是否被清空。但如前所述,
history -c
的结果可能不会在重新登录时体现。
5
新登录用户设置空闲自动注销
vi /etc/profile
,添加
export TMOUT=600
修改
/etc/profile
文件,为新登录用户设置空闲时间达到600秒(10分钟)后自动注销。
6
当前已登录用户设置空闲自动注销
export TMOUT=600
为当前已登录的shell会话设置空闲时间达到600秒(10分钟)后自动注销。
10.2用户切换与提权

10.2.1.su下令

(1)su切换用户

  1. [root@localhost ~]# su lisi
  2. [lisi@localhost root]$
复制代码
(2)只允许指定的用户使用su进行切换

  1. [root@localhost ~]# gpasswd -a zhangsan wheel
  2. 正在将用户“zhangsan”加入到“wheel”组中
  3. [root@localhost ~]#
  4. [root@localhost ~]# vim /etc/pam.d/su
  5. #auth            required        pam_wheel.so use_uid
  6. 把这一行#去掉
复制代码
3:sudo下令提权

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

  1. [root@localhost ~]# visudo
  2. root    ALL=(ALL)       ALL
  3. zhangsan ALL=(ALL)     ALL
复制代码
 
10.3:系统引导和登录控制

10.3.1:开关机安全控制

1:调整 BIOS 引导设置

2:限定更改 GRUB 引导参数(为GRUB添加暗码)

(1)天生密文暗码
  1. [root@localhost ~]# grub2-mkpasswd-pbkdf2
  2. 输入口令:
  3. Reenter password:
  4. PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.6DB0943C2C7BDC916F4E86031380162FEC7C49BE39712405E74DC3F63A819DC032CA7B72C8908962C6ACE3B8DC0F757106A13FC7C39015DE2A76134C1763F68B.0E8C4E317C1835166C7B146923B4BA7AA5F3524D22FDE50A79E7F5190D0457D8077F771387CEB5DF8CA543B4CE7EAEB9210F8390AF1438A0129FC8DF0B1F926B
  5. [root@localhost ~]#
  6. [root@localhost ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
  7. [root@localhost ~]# cp /etc/grub.d/01_users /etc/grub.d/01_users.bak
  8. [root@localhost ~]# vim /etc/grub.d/01_users
  9. cat << EOF
  10. set superusers="root"
  11. export superusers
  12. password_pbkdf2 root grub.pbkdf2.sha512.10000.6DB0943C2C7BDC916F4E86031380162FEC7C49BE39712405E74DC3F63A819DC032CA7B72C8908962C6ACE3B8DC0F757106A13FC7C39015DE2A76134C1763F68B.0E8C4E317C1835166C7B146923B4BA7AA5F3524D22FDE50A79E7F5190D0457D8077F771387CEB5DF8CA543B4CE7EAEB9210F8390AF1438A0129FC8DF0B1F926B
  13. EOF
  14. [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
  15. 重启进入GRUB测试密码
  16. 在GRUB菜单处第一行按下字母e,提示输入账号和密码
复制代码
10.3.2:弱口令检测,端口扫描

1:弱口令检测-John the Ripper

  1. 在GRUB菜单处第一行按下字母e,提示输入账号和密码
  2. 三:弱口令检测,端口扫描
  3. 3.1:弱口令检测-John the Ripper
  4. # 安装 John the Ripper  
  5. tar zxf john-1.8.0.tar.gz  
  6. cd john-1.8.0/src/  
  7. yum -y install gcc libssl-devel libunistring-devel  
  8. make clean linux-x86-64  
  9.   
  10. # 复制 shadow 文件(注意:此操作可能存在安全风险,请确保你有权限这样做)  
  11. cp /etc/shadow /root/shadow.txt  
  12.   
  13. # 检测弱口令  
  14. cd /root/john-1.8.0/run/  
  15. ./john /root/shadow.txt  
  16.   
  17. # 查看检测结果  
  18. ./john --show /root/shadow.txt  
  19.   
  20. # 使用密码字典检测  
  21. vim /root/pass.list  
  22. ./john --wordlist=/root/pass.list /root/shadow.txt  
  23. ./john --show /root/shadow.txt
复制代码
2:网络扫描NMAP

  1. # 安装 NMAP  
  2. yum install -y nmap  
  3.   
  4. # 扫描本机  
  5. nmap 127.0.0.1  
  6.   
  7. # 扫描常用 UDP 端口  
  8. nmap -sU 127.0.0.1  
  9.   
  10. # 显示网络接口(仅为了确认IP地址)  
  11. ifconfig  
  12.   
  13. # 扫描网段中启用 21 端口的主机  
  14. nmap -p 21 192.168.10.0/24  
  15.   
  16. # 扫描存活主机  
  17. nmap -sn 192.168.10.0/24  
  18.   
  19. # 扫描主机是否开启 SMB 共享(139, 445 端口)  
  20. nmap -p 139,445 192.168.10.10-20  
  21.   
  22. # 扫描类型示例  
  23. # TCP SYN 扫描  
  24. nmap -sS 192.168.10.10  
  25.   
  26. # TCP 连接扫描  
  27. nmap -sT 192.168.10.10  
  28.   
  29. # TCP FIN 扫描  
  30. nmap -sF 192.168.10.10  
  31.   
  32. # UDP 扫描  
  33. nmap -sU 192.168.10.10  
  34.   
  35. # ICMP 扫描  
  36. nmap -sn 192.168.10.10  
  37.   
  38. # 跳过 ping 检测  
  39. nmap -Pn 192.168.10.103
复制代码
 
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宝塔山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表